ioctl

Name

ioctl -- control device

Synopsis

#include <sys/ioctl.h>

int ioctl (int fildes , int request , ...);

Description

The ioctl() function shall manipulate the underlying device parameters of special files. fildes shall be an open file descriptor referring to a special file. The ioctl() function shall take three parameters; the type and value of the third parameter is dependent on the device and request.

Conforming LSB applications shall not call ioctl() except in situations explicitly stated in this specification.

Return Value

On success, 0 is returned. An ioctl() may use the return value as an output parameter and return a non-negative value on success. On error, -1 is returned and the global variable errno is set appropriately.

Errors

EBADF 

fildes is not a valid descriptor.

EFAULT 

The third parameter references an inaccessible memory area.

ENOTTY 

fildes is not associated with a character special device.

ENOTTY  

The specified request does not apply to the kind of object that fildes references.

EINVAL  

request or the third parameter is not valid.

Relationship to POSIX (Informative)

It should be noted that ISO POSIX (2003) contains an interface named ioctl(). The LSB only defines behavior when fildes refers to a socket (see sockio) or terminal device (see ttyio), while ISO POSIX (2003) only defines behavior when fildes refers to a STREAMS device. An implementation may support both behaviors; the LSB does not require any STREAMS support.