NOMBRE¶
ioperm - establece permisos en los puertos de entrada/salida
SINOPSIS¶
#include <unistd.h> /* para libc5 */
#include <sys/io.h> /* para glibc */
int ioperm(unsigned long desde, unsigned long
num, int encender);
DESCRIPCIÓN¶
Ioperm establece los bits de permiso de acceso a los puertos para el
proceso para
num bytes, empezando desde la dirección del puerto
desde, al valor
encender. El empleo de
ioperm requiere
privilegios de root.
Solamente se pueden especificar de esta manera los primeros 0x3ff puertos de
E/S. Para más puertos, debe emplearse la función
iopl.
Los permisos no se heredan en un fork(), pero sí están en un
exec(). Esto es útil para proporcionar permisos de acceso a puertos a
tareas no privilegiadas.
VALOR DEVUELTO¶
En caso de éxito, se devuelve cero. En caso de error, se devuelve -1, y
se pone en
errno un valor apropiado.
ioperm es específico de Linux y no debería emplearse en
programas pretendidamente transportables.
OBSERVACIONES¶
Libc5 la trata como una llamada al sistema y posee un prototipo en
<unistd.h>. Glibc1 no tiene un prototipo. Glibc2 posee un
prototipo tanto en
<sys/io.h> como en
<sys/perm.h>.
Evite el último, sólo está disponible en la arquitectura
i386.
VÉASE TAMBIÉN¶
iopl(2)