summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-03-21 19:56:14 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2007-03-21 19:56:14 +0000
commitafbd98ac2b65181e668993b3cec6ee372dd0660e (patch)
treebbe39309e7868c0149181e24e8d032022bdf56c3
parent382dc6d2d2665a517d041a4cdbe86d38fe54294b (diff)
downloadnuttx-afbd98ac2b65181e668993b3cec6ee372dd0660e.tar.gz
nuttx-afbd98ac2b65181e668993b3cec6ee372dd0660e.tar.bz2
nuttx-afbd98ac2b65181e668993b3cec6ee372dd0660e.zip
ioctl should be prototyped in sys/ioctl.h
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@114 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/Documentation/NuttxUserGuide.html30
-rw-r--r--nuttx/fs/fs_ioctl.c2
-rw-r--r--nuttx/include/stdio.h1
-rw-r--r--nuttx/include/sys/ioctl.h68
4 files changed, 86 insertions, 15 deletions
diff --git a/nuttx/Documentation/NuttxUserGuide.html b/nuttx/Documentation/NuttxUserGuide.html
index 09bad280c..18a33b93a 100644
--- a/nuttx/Documentation/NuttxUserGuide.html
+++ b/nuttx/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 &lt;sys/ioctl.h&gt;
+ 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 &lt;dirent.h&gt;
@@ -4833,8 +4838,8 @@ notify a task when a message is available on a queue.
#include &lt;stdio.h&gt;
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/nuttx/fs/fs_ioctl.c b/nuttx/fs/fs_ioctl.c
index c93311e63..01c7650bc 100644
--- a/nuttx/fs/fs_ioctl.c
+++ b/nuttx/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/nuttx/include/stdio.h b/nuttx/include/stdio.h
index eba23a9ce..b2937ed91 100644
--- a/nuttx/include/stdio.h
+++ b/nuttx/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/nuttx/include/sys/ioctl.h b/nuttx/include/sys/ioctl.h
new file mode 100644
index 000000000..642e64dd0
--- /dev/null
+++ b/nuttx/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 */