12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <html>
- <head>
- <title>ioctl</title>
- <body bgcolor=#ffffff>
- <h2 align=center>ioctl</h2>
- <h4 align=center>OS/161 Reference Manual</h4>
- <h3>Name</h3>
- ioctl - miscellaneous device I/O operations
- <h3>Library</h3>
- Standard C Library (libc, -lc)
- <h3>Synopsis</h3>
- #include <sys/ioctl.h><br>
- <br>
- int<br>
- ioctl(int <em>fd</em>, int <em>code</em>, void *<em>data</em>);
- <h3>Description</h3>
- ioctl performs an object-specific operation <em>code</em> on the
- object referred to by the file handle <em>fd</em>. The <em>data</em>
- argument may point to supplemental data required or returned by the
- operation. The size of buffer required, if any, and other such matters
- are operation-specific.
- <p>
- Traditionally, ioctl is a catchall function for performing operations
- that don't fit neatly into any other model.
- <p>
- The ioctl codes are defined in <kern/ioctl.h>, which should be
- included via <sys/ioctl.h> by user-level code. As of this
- writing, the base OS/161 system defines no ioctls. However, it may
- prove useful to implement some, particularly in connection with some
- less conventional possible projects.
- <p>
- <h3>Return Values</h3>
- On success, ioctl returns 0. On error, -1 is returned, and
- <A HREF=errno.html>errno</A> is set according to the error
- encountered.
- <h3>Errors</h3>
- The following error codes should be returned under the conditions
- given. Other error codes may be returned for other errors not
- mentioned here.
- <blockquote><table width=90%>
- <td width=10%> </td><td> </td></tr>
- <tr><td>EBADF</td> <td><em>fd</em> was not a valid file handle.</td></tr>
- <tr><td>EIOCTL</td> <td><em>code</em> was an invalid ioctl for the
- object referenced.</td></tr>
- <tr><td>EFAULT</td> <td><em>data</em> was required by the operation
- requested, but was an invalid pointer.</td></tr>
- </table></blockquote>
- </body>
- </html>
|