Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
IOCTL(2)		    BSD	System Calls Manual		      IOCTL(2)

NAME
     ioctl -- control device

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <sys/ioctl.h>

     int
     ioctl(int d, unsigned long	request, ...);

DESCRIPTION
     The ioctl() system	call manipulates the underlying	device parameters of
     special files.  In	particular, many operating characteristics of charac-
     ter special files (e.g. terminals)	may be controlled with ioctl() re-
     quests.  The argument d must be an	open file descriptor.

     The third argument	to ioctl() is traditionally named char *argp.  Most
     uses of ioctl() in	FreeBSD	3.0, however, require the third	argument to be
     a caddr_t or an int.

     An	ioctl()	request	has encoded in it whether the argument is an "in" ar-
     gument or "out" argument, and the size of the argument argp in bytes.
     Macros and	defines	used in	specifying an ioctl request are	located	in the
     file <sys/ioctl.h>.

RETURN VALUES
     If	an error has occurred, a value of -1 is	returned and errno is set to
     indicate the error.

ERRORS
     The ioctl() system	call will fail if:

     [EBADF]		The d argument is not a	valid descriptor.

     [ENOTTY]		The d argument is not associated with a	character spe-
			cial device.

     [ENOTTY]		The specified request does not apply to	the kind of
			object that the	descriptor d references.

     [EINVAL]		The request or argp argument is	not valid.

     [EFAULT]		The argp argument points outside the process's allo-
			cated address space.

SEE ALSO
     execve(2),	fcntl(2), intro(4), tty(4)

HISTORY
     The ioctl() function appeared in Version 7	AT&T UNIX.

BSD			       December	11, 1993			   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ioctl&sektion=2&manpath=FreeBSD+6.0-RELEASE>

home | help