diff options
Diffstat (limited to 'man2/ioctl.2')
-rw-r--r-- | man2/ioctl.2 | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/man2/ioctl.2 b/man2/ioctl.2 new file mode 100644 index 000000000..d847e7094 --- /dev/null +++ b/man2/ioctl.2 @@ -0,0 +1,133 @@ +.\" Copyright (c) 1980, 1991 Regents of the University of California. +.\" All rights reserved. +.\" +.\" 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. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. +.\" +.\" @(#)ioctl.2 6.4 (Berkeley) 3/10/91 +.\" +.\" Modified 1993-07-23 by Rik Faith <faith@cs.unc.edu> +.\" Modified 1996-10-22 by Eric S. Raymond <esr@thyrsus.com> +.\" Modified 1999-06-25 by Rachael Munns <vashti@dream.org.uk> +.\" Modified 2000-09-21 by Andries Brouwer <aeb@cwi.nl> +.\" +.TH IOCTL 2 2000-09-21 "BSD Man Page" "Linux Programmer's Manual" +.SH NAME +ioctl \- control device +.SH SYNOPSIS +.B #include <sys/ioctl.h> +.sp +.BI "int ioctl(int " d ", int " request ", ...);" +.SH DESCRIPTION +The +.B ioctl +function manipulates the underlying device parameters of special files. In +particular, many operating characteristics of character special files +(e.g. terminals) may be controlled with +.B ioctl +requests. The argument +.I d +must be an open file descriptor. +.PP +The second argument is a device-dependent request code. The third +argument is an untyped pointer to memory. It's traditionally +.BI "char *" argp +(from the days before +.B "void *" +was valid C), and will be so named for this discussion. +.PP +An ioctl +.I request +has encoded in it whether the argument is an +.I in +parameter or +.I out +parameter, and the size of the argument +.I argp +in bytes. Macros and defines used in specifying an ioctl +.I request +are located in the file +.IR <sys/ioctl.h> . +.SH "RETURN VALUE" +Usually, on success zero is returned. +A few ioctls use the return value as an output parameter +and return a nonnegative value on success. +On error, \-1 is returned, and +.I errno +is set appropriately. +.SH ERRORS +.TP 0.7i +.B EBADF +.I d +is not a valid descriptor. +.TP +.B EFAULT +.I argp +references an inaccessible memory area. +.TP +.B EINVAL +.I Request +or +.I argp +is not valid. +.TP +.B ENOTTY +.I d +is not associated with a character special device. +.TP +.B ENOTTY +The specified request does not apply to the kind of object that the +descriptor +.I d +references. +.SH NOTE +In order to use this call, one needs an open file descriptor. +Often the +.BR open (2) +call has unwanted side effects, that can be avoided under Linux +by giving it the O_NONBLOCK flag. +.SH "CONFORMING TO" +No single standard. Arguments, returns, and semantics of +.BR ioctl (2) +vary according to the device driver in question (the call is used as a +catch-all for operations that don't cleanly fit the Unix stream I/O +model). See +.BR ioctl_list (2) +for a list of many of the known +.B ioctl +calls. The +.B ioctl +function call appeared in Version 7 AT&T Unix. +.SH "SEE ALSO" +.BR execve (2), +.BR fcntl (2), +.BR ioctl_list (2), +.BR open (2), +.BR mt (4), +.BR sd (4), +.BR tty (4) |