xref: /csrg-svn/lib/libc/sys/ioctl.2 (revision 20030)
Copyright (c) 1980 Regents of the University of California.
All rights reserved. The Berkeley software License Agreement
specifies the terms and conditions for redistribution.

@(#)ioctl.2 5.1 (Berkeley) 05/09/85

IOCTL 2 "7 July 1983"
C 4
NAME
ioctl - control device
SYNOPSIS
#include <sys/ioctl.h>

ioctl(d, request, argp) int d, request; char *argp;

DESCRIPTION
Ioctl performs a variety of functions on open descriptors. In particular, many operating characteristics of character special files (e.g. terminals) may be controlled with ioctl requests. The writeups of various devices in section 4 discuss how ioctl applies to them.

An ioctl request has encoded in it whether the argument is an \*(lqin\*(rq parameter or \*(lqout\*(rq 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 VALUE
If an error has occurred, a value of -1 is returned and errno is set to indicate the error.
ERRORS
Ioctl will fail if one or more of the following are true:

15 [EBADF] D is not a valid descriptor.

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

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

15 [EINVAL] Request or argp is not valid.

"SEE ALSO"
execve(2), fcntl(2), mt(4), tty(4), intro(4N)