Provided by: freebsd-manpages_12.0-1_all
i386_get_ioperm, i386_set_ioperm — manage per-process access to the i386 I/O port space
Standard C Library (libc, -lc)
#include <machine/sysarch.h> int i386_get_ioperm(unsigned int start, unsigned int *length, int *enable); int i386_set_ioperm(unsigned int start, unsigned int length, int enable);
The i386_get_ioperm() system call will return the permission for the process' I/O port space in the *enable argument. The port range starts at start and the number of contiguous entries will be returned in *length. The i386_set_ioperm() system call will set access to a range of I/O ports described by the start and length arguments to the state specified by the enable argument.
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
The i386_get_ioperm() and i386_set_ioperm() system calls will fail if: [EINVAL] An invalid range was specified by the start or length arguments. [EPERM] The caller of i386_set_ioperm was not the superuser.
This man page was written by Jonathan Lemon.