summaryrefslogtreecommitdiff
path: root/nuttx/TODO
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-11-27 19:05:40 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-11-27 19:05:40 -0600
commitcf7f554cb05f58e45e0fd9a013dd9b2ff170e000 (patch)
tree998c676cbe3aa9c4950c62dddeebe9ff1d29c0e0 /nuttx/TODO
parent6546300d9e248ebdc870d7e8d51badc3eb60e4b0 (diff)
downloadpx4-nuttx-cf7f554cb05f58e45e0fd9a013dd9b2ff170e000.tar.gz
px4-nuttx-cf7f554cb05f58e45e0fd9a013dd9b2ff170e000.tar.bz2
px4-nuttx-cf7f554cb05f58e45e0fd9a013dd9b2ff170e000.zip
Update TODO
Diffstat (limited to 'nuttx/TODO')
-rw-r--r--nuttx/TODO42
1 files changed, 40 insertions, 2 deletions
diff --git a/nuttx/TODO b/nuttx/TODO
index 5475370f6..56f555da3 100644
--- a/nuttx/TODO
+++ b/nuttx/TODO
@@ -1,4 +1,4 @@
-NuttX TODO List (Last updated November 23, 2014)
+NuttX TODO List (Last updated November 27, 2014)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This file summarizes known NuttX bugs, limitations, inconsistencies with
@@ -18,7 +18,7 @@ nuttx/
(13) Network (net/, drivers/net)
(4) USB (drivers/usbdev, drivers/usbhost)
(10) Libraries (libc/, )
- (11) File system/Generic drivers (fs/, drivers/)
+ (12) File system/Generic drivers (fs/, drivers/)
(8) Graphics subystem (graphics/)
(1) Pascal add-on (pcode/)
(1) Documentation (Documentation/)
@@ -1172,6 +1172,44 @@ o File system / Generic drivers (fs/, drivers/)
Status: Open
Priority: Medium
+ Title: IOCTL() IS NO LONGER STANDARD
+ Description: The function prototype for ioctl() is no longer standard. It
+ was more-or-less standard at one time. The NuttX ioctl is the
+ historic System 7 Unix, three-parameter version.
+
+ int ioctl(int fd, int req, unsigned long arg);
+
+ Current definitions now allow for the third parameter to be
+ optional (and, I suppose, could accept additional arguments).
+ For example, OpenGroup
+ (http://pubs.opengroup.org/onlinepubs/009695399/functions/ioctl.html):
+
+ int ioctl(int fildes, int request, ... /* arg */);
+
+ Linux man page:
+
+ int ioctl(int d, unsigned long request, ...);
+
+ FreeBSD:
+
+ int ioctl(int fd, unsigned long request, ...);
+
+ I imagine that making the thread argument variadic, the logic
+ is rescued for the case with modern 64-bit computers where
+ sizeof(long) < sizeof(pointer).
+
+ Since NuttX relies on OpenGroup for interface definitions, the
+ current NuttX definition is incompatible with the standard in
+ any event.
+
+ Unfortunately, the change would be very extensive. If the
+ type of the argument depends on the 'request', then the third
+ argument would have to be decoded by every device device
+ driver. That would be an enormous job and will not happen soon.
+ Status: Open
+ Priority: Very low until I run into a machine with sizeof(long) <
+ sizeof(pointer)
+
o Graphics subsystem (graphics/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^