insert ANSI-mandated bogosity
[unix-history] / usr / src / lib / libc / sys / ioctl.2
.\" Copyright (c) 1980, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" %sccs.include.redist.man%
.\"
.\" @(#)ioctl.2 8.1 (Berkeley) %G%
.\"
.Dd
.Dt IOCTL 2
.Os BSD 4
.Sh NAME
.Nm ioctl
.Nd control device
.Sh SYNOPSIS
.Fd #include <sys/ioctl.h>
.Ft int
.Fn ioctl "int d" "unsigned long request" "char *argp"
.Sh DESCRIPTION
The
.Fn 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
.Fn ioctl
requests.
The argument
.Fa d
must be an open file descriptor.
.Pp
An ioctl
.Fa request
has encoded in it whether the argument is an
.Dq in
parameter
or
.Dq out
parameter, and the size of the argument
.Fa argp
in bytes.
Macros and defines used in specifying an ioctl
.Fa request
are located in the file
.Ao Pa sys/ioctl.h Ac .
.Sh RETURN VALUES
If an error has occurred, a value of -1 is returned and
.Va errno
is set to indicate the error.
.Sh ERRORS
.Fn Ioctl
will fail:
.Bl -tag -width [ENOTTY]
.It Bq Er EBADF
.Fa d
is not a valid descriptor.
.It Bq Er ENOTTY
.Fa d
is not associated with a character
special device.
.It Bq Er ENOTTY
The specified request does not apply to the kind
of object that the descriptor
.Fa d
references.
.It Bq Er EINVAL
.Fa Request
or
.Fa argp
is not valid.
.El
.Sh SEE ALSO
.Xr mt 1 ,
.Xr execve 2 ,
.Xr fcntl 2 ,
.Xr tty 4 ,
.Xr intro 4
.Sh HISTORY
An
.Nm
function call appeared in Version 7 AT&T UNIX.