ioctl man page on FreeBSD

Man page or keyword search:  
man Server   9747 pages
apropos Keyword Search (all sections)
Output format
FreeBSD logo
[printable version]

IOCTL(2)		    BSD System Calls Manual		      IOCTL(2)

     ioctl — control device

     Standard C Library (libc, -lc)

     #include <sys/ioctl.h>

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

     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()
     requests.	The argument d must be an open file descriptor.

     The third argument to ioctl() is traditionally named char *argp.  Most
     uses of ioctl(), 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”
     argument 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>.

     Some generic ioctls are not implemented for all types of file descrip‐
     tors.  These include:

     FIONREAD int
	     Get the number of bytes that are immediately available for read‐

     FIONWRITE int
	     Get the number of bytes in the descriptor's send queue.  These
	     bytes are data which has been written to the descriptor but which
	     are being held by the kernel for further processing.  The nature
	     of the required processing depends on the underlying device.  For
	     TCP sockets, these bytes have not yet been acknowledged by the
	     other side of the connection.

     FIONSPACE int
	     Get the free space in the descriptor's send queue.	 This value is
	     the size of the send queue minus the number of bytes being held
	     in the queue.  Note: while this value represents the number of
	     bytes that may be added to the queue, other resource limitations
	     may cause a write not larger than the send queue's space to be
	     blocked.  One such limitation would be a lack of network buffers
	     for a write to a network connection.

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

     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.

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

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

BSD				 May 11, 2010				   BSD

List of man pages available for FreeBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net