SINOPSIS
#include <sys/ioctl.h>int ioctl(int d, int request, ...);
DESCRIPCIÓN
La función ioctl manipula los parámetros subyacentes de ficheros especiales. En particular, muchas características operacionales de los ficheros especiales de caracteres (verbigracia las terminales) pueden controlarse con llamadas a ioctl. El argumento d debe ser un descriptor de fichero abierto.El segundo argumento es un código de solicitud que depende del dispositivo. El tercer argumento es un puntero a memoria sin tipo. Es tradicionalmente char *argp (desde los días antes de que void * se considerara código C válido), y así se le llamará en este documento.
Una peticion de ioctl tiene codificada en sí misma si el argumento es un parámetro de entrada o de salida, y el tamaño del argumento argp en bytes. En el fichero de cabecera <sys/ioctl.h> se definen macros empleadas al especificar una peticion de ioctl.
VALOR DEVUELTO
Normalmente, se devuelve cero en caso de éxito. Unos pocos ioctls usan el valor de retorno como un parámetro de salida y devuelven un valor no negativo en caso de éxito. En caso de error, se devuelve -1, y se pone en errno un valor apropiado.ERRORES
- EBADF
- d no es un descriptor válido.
- EFAULT
- argp referencia a una zona de memoria inaccesible.
- ENOTTY
- d no está asociado con un dispositivo especial de caracteres.
- ENOTTY
- La petición especificada no se aplica a la clase de objeto que referencia el descriptor d.
- EINVAL
- Peticion o argp no es válido.