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 |