sys_ioperm  [arch/i386/kernel/ioport.c]


Sets the port access permission bits for the process. The use of sys_ioperm requires root privileges.
Only the first 0x3ff I/O ports can be specified in this manner. For more ports, the sys_iopl function must be used. Permissions are not inherited on fork, but on exec they are. This is useful for giving port access permissions to non-privileged tasks.

Arguments

eax 101
ebx Starting port address.
ecx Number of bytes to set (range).
edx Value to set to.

Return values

If the system call succeeds the return value is 0.
If the system call fails the return value is one of the following errno values:

-EPERM The current user is not the super-user.
-EINVAL Either starting port address, range or both are wrong. May happen if final range exceeds IO_BITMAP_BITS.
-ENOMEM Failed allocating memory.

Remarks

See /samples/basic/ports.asm for an example.

Compatibility

n/a