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

FreeBSD Manual Pages

  
 
  

home | help
IOCTL(2)		  FreeBSD 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() function manipulates the underlying device parameters of spe-
     cial files.  In particular, many operating	characteristics	of character
     special files (e.g. terminals) may	be controlled with ioctl() requests.
     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''
     parameter or ``out'' parameter, 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
     ioctl() will fail if:

     [EBADF]		d is not a valid descriptor.

     [ENOTTY]		d is not associated with a character special device.

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

     [EINVAL]		request	or argp	is not valid.

     [EFAULT]		argp points outside the	process's allocated address
			space.

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

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

FreeBSD	11.1		       December	11, 1993		  FreeBSD 11.1

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

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

home | help