diff --git a/Documentation/NuttxUserGuide.html b/Documentation/NuttxUserGuide.html index 09bad280c8a1774657010d6f6386e0df810e75bb..18a33b93a8c4156525732e4b3bb11b31a2cb77ca 100644 --- a/Documentation/NuttxUserGuide.html +++ b/Documentation/NuttxUserGuide.html @@ -4810,12 +4810,17 @@ notify a task when a message is available on a queue. int close(int fd); int dup(int fildes); int dup2(int fildes1, int fildes2); - off_t lseek(int fd, off_t offset, int whence); + off_t lseek(int fd, off_t offset, int whence); /* Prototyped but not implemented */ int read(int fd, void *buf, unsigned int nbytes); int unlink(const char *path); int write(int fd, const void *buf, unsigned int nbytes); </pre></ul> +<ul><pre> + #include <sys/ioctl.h> + int ioctl(int fd, int req, unsigned long arg); +</pre></ul> + <h2><a name="directoryoperations">2.10.2 Directory Operations</a></h2> <ul><pre> #include <dirent.h> @@ -4833,8 +4838,8 @@ notify a task when a message is available on a queue. #include <stdio.h> int fclose(FILE *stream); int fflush(FILE *stream); - int feof(FILE *stream); - int ferror(FILE *stream); + int feof(FILE *stream); /* Prototyped but not implemented */ + int ferror(FILE *stream); /* Prototyped but not implemented */ int fgetc(FILE *stream); char *fgets(char *s, int n, FILE *stream); FILE *fopen(const char *path, const char *type); @@ -4842,28 +4847,27 @@ notify a task when a message is available on a queue. int fputc(int c, FILE *stream); int fputs(const char *s, FILE *stream); size_t fread(void *ptr, size_t size, size_t n_items, FILE *stream); - int fseek(FILE *stream, long int offset, int whence); + int fseek(FILE *stream, long int offset, int whence); /* Prototyped but not implemented */ size_t fwrite(const void *ptr, size_t size, size_t n_items, FILE *stream); char *gets(char *s); int printf(const char *format, ...); int puts(const char *s); - int rename(const char *source, const char *target); + int rename(const char *source, const char *target); /* Prototyped but not implemented */ int sprintf(char *dest, const char *format, ...); int ungetc(int c, FILE *stream); int vprintf(const char *s, va_list ap); int vfprintf(FILE *stream, const char *s, va_list ap); int vsprintf(char *buf, const char *s, va_list ap); - int chdir(const char *path); + int chdir(const char *path); /* Prototyped but not implemented */ FILE *fdopen(int fd, const char *type); - int fstat(int fd, FAR struct stat *buf); - char *getcwd(FAR char *buf, size_t size); - int ioctl(int fd, int req, unsigned long arg); - int mkdir(const char *path, mode_t mode); - int rmdir(const char *path); - int stat(const char *path, FAR struct stat *buf); - int statfs(const char *path, FAR struct statfs *buf); + int fstat(int fd, FAR struct stat *buf); /* Prototyped but not implemented */ + char *getcwd(FAR char *buf, size_t size); /* Prototyped but not implemented */ + int mkdir(const char *path, mode_t mode); /* Prototyped but not implemented */ + int rmdir(const char *path); /* Prototyped but not implemented */ + int stat(const char *path, FAR struct stat *buf); /* Prototyped but not implemented */ + int statfs(const char *path, FAR struct statfs *buf); /* Prototyped but not implemented */ </pre></ul> <h1><a name="index">Index</a></h1> diff --git a/fs/fs_ioctl.c b/fs/fs_ioctl.c index c93311e638409b3910293eaa7e91e89d7c69d140..01c7650bc9f7d4c0d1367b0438307270905e1682 100644 --- a/fs/fs_ioctl.c +++ b/fs/fs_ioctl.c @@ -43,8 +43,8 @@ #include <nuttx/config.h> #include <sys/types.h> -#include <stdio.h> #include <errno.h> +#include <sys/ioctl.h> #include "fs_internal.h" /************************************************************ diff --git a/include/stdio.h b/include/stdio.h index eba23a9ce0ed0a4e67d9d87d6e99cd841337ff17..b2937ed91b32e2bbdd27f28b805fed6123c74bb9 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -168,7 +168,6 @@ EXTERN int chdir(const char *path); EXTERN FILE *fdopen(int fd, const char *type); EXTERN int fstat(int fd, FAR struct stat *buf); EXTERN char *getcwd(FAR char *buf, size_t size); -EXTERN int ioctl(int fd, int req, unsigned long arg); EXTERN int mkdir(const char *path, mode_t mode); EXTERN int rmdir(const char *path); EXTERN int stat(const char *path, FAR struct stat *buf); diff --git a/include/sys/ioctl.h b/include/sys/ioctl.h new file mode 100644 index 0000000000000000000000000000000000000000..642e64dd0a37b5ef6659599fac871a671549bc94 --- /dev/null +++ b/include/sys/ioctl.h @@ -0,0 +1,68 @@ +/************************************************************ + * ioctl.h + * + * Copyright (C) 2007 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <spudmonkey@racsa.co.cr> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name Gregory Nutt nor the names of its contributors may be + * used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + ************************************************************/ + +#ifndef __SYS_IOCTL_H +#define __SYS_IOCTL_H + +/************************************************************ + * Included Files + ************************************************************/ + +/************************************************************ + * Type Definitions + ************************************************************/ + +/************************************************************ + * Public Function Prototypes + ************************************************************/ + +#undef EXTERN +#if defined(__cplusplus) +#define EXTERN extern "C" +extern "C" { +#else +#define EXTERN extern +#endif + +/* ioctl() is a non-standard UNIX-like API */ + +EXTERN int ioctl(int fd, int req, unsigned long arg); + +#undef EXTERN +#if defined(__cplusplus) +} +#endif + +#endif /* __SYS_IOCTL_H */