xref: /original-bsd/lib/libc/sys/ioctl.2 (revision f052b07a)
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 6.3 (Berkeley) 03/04/86

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

ioctl(d, request, argp) int d; unsigned long 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 that the descriptor d references.

15 [EINVAL] Request or argp is not valid.

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