i386_iopl
—
change the i386 I/O privilege level
i386 Architecture Library (libi386, -li386)
i386_iopl
() sets the i386 I/O privilege level to the
value specified by iopl. This call is restricted to the
super-user.
Upon successful completion, i386_iopl
() returns 0.
Otherwise, a value of -1 is returned and the global variable
errno is set to indicate the error.
i386_iopl
() will fail if:
- [
EPERM
]
- The caller was not the super-user, or the operation was not permitted at
the current security level.
i386 Microprocessor Programmer's Reference Manual, Intel
You can really hose your machine if you enable user-level I/O and write to
hardware ports without care.