SINOPSIS
#include <sys/io.h>int iopl(int nivel);
DESCRIPCIÓN
iopl cambia el nivel de privilegio de E/S del proceso en curso, según se especifique en nivel.Esta llamada es necesaria para permitir a los servidores X compatibles con las tarjetas de vídeo 8514 ejecutarse en Linux. Puesto que estos servidores X Window requieren acceso a todos los 65536 puertos de E/S, la llamada a ioperm no basta.
Además de otorgar acceso sin restricciones a los puertos de E/S, la ejecución a un nivel de privilegio de E/S más alto también permite al proceso inhabilitar las interrupciones. Esto probablemente echará abajo el sistema, y no se recomienda pues.
Los permisos son heredados por fork() y exec().
El nivel de privilegio de E/S para un proceso normal es 0.
VALOR DEVUELTO
En caso de éxito, se devuelve cero. En caso de error, se devuelve -1, y se pone en errno un valor apropiado.ERRORES
- EINVAL
- nivel es mayor que 3.
- EPERM
- El usuario no es el súper-usuario.