NAME
iopl - change I/O privilege level
SYNOPSIS
#include <sys/io.h> int iopl(int level);
DESCRIPTION
iopl() changes the I/O privilege level of the calling process, as specified by the two least significant bits in level. This call is necessary to allow 8514-compatible X servers to run under Linux. Since these X servers require access to all 65536 I/O ports, the ioperm(2) call is not sufficient. In addition to granting unrestricted I/O port access, running at a higher I/O privilege level also allows the process to disable interrupts. This will probably crash the system, and is not recommended. Permissions are not inherited by the child process created by fork(2) and are not preserved across execve(2) (but see NOTES). The I/O privilege level for a normal process is 0. This call is mostly for the i386 architecture. On many other architectures it does not exist or will always return an error.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
ERRORS
EINVAL level is greater than 3. ENOSYS This call is unimplemented. EPERM The calling process has insufficient privilege to call iopl(); the CAP_SYS_RAWIO capability is required to raise the I/O privilege level above its current value.
CONFORMING TO
iopl() is Linux-specific and should not be used in programs that are intended to be portable.
NOTES
Glibc2 has a prototype both in <sys/io.h> and in <sys/perm.h>. Avoid the latter, it is available on i386 only. Prior to Linux 3.7, on some architectures (such as i386), permissions were inherited by the child produced by fork(2) and were preserved across execve(2). This behavior was inadvertently changed in Linux 3.7, and won't be reinstated.
SEE ALSO
ioperm(2), outb(2), capabilities(7)
COLOPHON
This page is part of release 4.09 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
More Linux Commands
manpages/statd.8.html
statd(8) - NSM service daemon (Admin - Linux man page)......
File locks are not part of persistent file system state. Lock state is thus lost when a host reboots. Network file systems must also detect when lock state is l
manpages/nohup.1.html
nohup(1) - run a command immune to hangups, with output to a
Run COMMAND, ignoring hangup signals. --help display this help and exit --version output version information and exit If standard input is a terminal, redirect
manpages/aa-audit.8.html
aa-audit(8) set an AppArmor security profile to audit mode.
aa-audit is used to set one or more profiles to audit mode. In this mode security policy is enforced and all access (successes and failures) are logged to the s
manpages/nc.1.html
nc(1) - arbitrary TCP and UDP connections and listens.......
The nc (or netcat) utility is used for just about anything under the sun involving TCP or UDP. It can open TCP connections, send UDP packets, listen on arbitrar
manpages/krb5-send-pr.1.html
krb5-send-pr(1) - send problem report (PR) to a central supp
krb5-send-pr is a tool used to submit problem reports (PRs) to a central support site. In most cases the correct site will be the default. This argument indicat
manpages/transport.5.html
transport(5) - Postfix transport table format (Man Page)....
The optional transport(5) table specifies a mapping from email addresses to message delivery transports and next-hop destinations. Message delivery transports s
manpages/audit_set_backlog_limit.3.html
audit_set_backlog_limit(3) - Set the audit backlog limit....
audit_set_backlog_limit sets the queue length for audit events awaiting transfer to the audit daemon. The default value is 64 which can potentially be overrun b
manpages/ausearch_next_event.3.html
ausearch_next_event(3) - find the next event that meets sear
ausearch_next_event will scan the input source and evaluate whether any record in an event contains the data being searched for. Evaluation is done at the recor
manpages/Shell.3pm.html
Shell(3pm) - run shell commands transparently within perl...
Caveats This package is included as a show case, illustrating a few Perl features. It shouldnt be used for production programs. Although it does provide a simpl
manpages/XScreenSaverQueryExtension.3.html
XScreenSaverQueryExtension(3) - X11 Screen Saver extension c
The X Window System provides support for changing the image on a display screen after a user-settable period of inactivity to avoid burning the cathode ray tube
manpages/glLightf.3gl.html
glLightf(3gl) - set light source parameters - Linux man page
glLight sets the values of individual light source parameters. light names the light and is a symbolic name of the form GL_LIGHT$i$, where 0 <= i < GL_MAX_LIGHT
manpages/gnome-keyring.1.html
gnome-keyring(1) The gnomekeyring commandline tool..........
The gnome-keyring tool can be used to interact with gnome-keyring-daemon. COMMANDS The following commands can be used: import FILE Import keys or certificates f
