I386_IOPL(2) BSD Programmer's Manual (i386) I386_IOPL(2)
i386_iopl - change the i386 I/O privilege level
#include <sys/types.h> #include <machine/sysarch.h> int i386_iopl(int iopl);
i386_iopl() sets the i386 I/O privilege level to the value specified by iopl. This call is restricted to the superuser. Note: Code using the i386_iopl() function must be compiled using -li386.
Upon successful completion, i386_iopl() returns 0. Otherwise, a value of -1 is returned and the global variable errno is set to indicate the er- ror.
i386_iopl() will fail if: [EPERM] The caller was not the superuser.
i386_get_ioperm(2), i386_set_ioperm(2)
Intel, i386 Microprocessor Programmer's Reference Manual.
You can really hose your machine if you enable user-level I/O and write to hardware ports without care. MirBSD #10-current October 14, 1995 1