ioperm
IOPERM(2) Linux Programmer's Manual IOPERM(2)
NAME
ioperm - set port input/output permissions
SYNOPSIS
#include <unistd.h> /* for libc5 */
#include <sys/io.h> /* for glibc */
int ioperm(unsigned long from, unsigned long num, int turn_on);
DESCRIPTION
Ioperm sets the port access permission bits for the process for num
bytes starting from port address from to the value turn_on. The use of
ioperm requires root privileges.
Only the first 0x3ff I/O ports can be specified in this manner. For
more ports, the iopl function must be used. Permissions are not inher-
ited on fork, but on exec they are. This is useful for giving port
access permissions to non-privileged tasks.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is
set appropriately.
CONFORMING TO
ioperm is Linux specific and should not be used in programs intended to
be portable.
NOTES
Libc5 treats it as a system call and has a prototype in <unistd.h>.
Glibc1 does not have a prototype. Glibc2 has a prototype both in
<sys/io.h> and in <sys/perm.h>. Avoid the latter, it is available on
i386 only.
SEE ALSO
iopl(2)
Linux 1993-01-21 IOPERM(2)