*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> iopl (2)              



NAME    [Toc]    [Back]

       iopl - change I/O privilege level

SYNOPSIS    [Toc]    [Back]

       #include <sys/io.h>

       int iopl(int level);

DESCRIPTION    [Toc]    [Back]

       iopl  changes the I/O privilege level of the current process, as specified
 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 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 inherited by fork and exec.

       The I/O privilege level for a normal process is 0.

RETURN VALUE    [Toc]    [Back]

       On success, zero is returned.  On error, -1 is returned, and  errno  is
       set appropriately.

ERRORS    [Toc]    [Back]

       EINVAL level is greater than 3.

       EPERM  The current user is not the super-user.


       iopl  has  to  be used when you want to access the I/O ports beyond the
       0x3ff range: to get the full 65536 ports bitmapped you'd  need  8kB  of
       bitmaps/process, which is a bit excessive.

CONFORMING TO    [Toc]    [Back]

       iopl  is Linux specific and should not be used in processes intended to
       be portable.

COMPATIBILITY    [Toc]    [Back]

       Under libc5, the prototype for iopl() was given in <unistd.h>.

SEE ALSO    [Toc]    [Back]


Linux 0.99.11			  1993-07-24			       IOPL(2)
[ Back ]
 Similar pages
Name OS Title
amd64_iopl OpenBSD change the amd64 I/O privilege level
i386_iopl OpenBSD change the i386 I/O privilege level
i386_iopl NetBSD change the i386 I/O privilege level
addpriv IRIX add a privilege to the system administration privilege database
rmpriv IRIX remove a privilege from the privilege database
PrivilegeManager IRIX privilege manager
io FreeBSD I/O privilege file
privilege IRIX privilege database
WrapKeyP Tru64 Wrap a key with privilege (CDSA)
cap_socket IRIX create a socket with privilege
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service