xref: /minix/minix/man/man2/ioctl.2 (revision 83133719)
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) 3/4/86

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

int ioctl(int d, int request, void *argp) (Minix)
int ioctl(int d, ioreq_t request, void *argp) (Minix-vmd)

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 (4).