ioperm(2)


NAME

   ioperm - set port input/output permissions

SYNOPSIS

   #include <sys/io.h> /* for glibc */

   int ioperm(unsigned long from, unsigned long num, int turn_on);

DESCRIPTION

   ioperm()  sets  the  port access permission bits for the calling thread
   for num bits starting from port address from.  If turn_on  is  nonzero,
   then  permission  for  the  specified  bits is enabled; otherwise it is
   disabled.  If turn_on is nonzero, the calling thread must be privileged
   (CAP_SYS_RAWIO).

   Before  Linux  2.6.8, only the first 0x3ff I/O ports could be specified
   in this manner.  For more ports, the iopl(2) system call had to be used
   (with  a level argument of 3).  Since Linux 2.6.8, 65,536 I/O ports can
   be specified.

   Permissions are inherited by the child  created  by  fork(2)  (but  see
   NOTES).  Permissions are preserved across execve(2); this is useful for
   giving port access permissions to unprivileged programs.

   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 Invalid values for from or num.

   EIO    (on PowerPC) This call is not supported.

   ENOMEM Out of memory.

   EPERM  The calling thread has insufficient privilege.

CONFORMING TO

   ioperm() is Linux-specific and should not be used in programs  intended
   to be portable.

NOTES

   The /proc/ioports file shows the I/O ports that are currently allocated
   on the system.

   Before Linux 2.4, permissions were not inherited by a child created  by
   fork(2).

   Glibc has an ioperm() prototype both in <sys/io.h> and in <sys/perm.h>.
   Avoid the latter, it is available on i386 only.

SEE ALSO

   iopl(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/hunzip.1.html
hunzip(1) - decompress and decrypt hzip files to the standar
Hunzip is the decompression and decryption program of hzip format. OPTIONS -h Display short help description. EXAMPLE hunzip file.hz &gt;file NOTES Redirection of

manpages/ppmfade.1.html
ppmfade(1) - generate a transition between two image files u
This program is part of Netpbm(1) ppmfadegenerates a transition between either two input images or between one input image and black. You can use the 30 interme

manpages/glReadPixels.3gl.html
glReadPixels(3gl) - read a block of pixels from the frame bu
glReadPixels returns pixel data from the frame buffer, starting with the pixel whose lower left corner is at location (x, y), into client memory starting at loc

manpages/j1f.3.html
j1f(3) - Bessel functions of the first kind - Linux man page
The j0() and j1() functions return Bessel functions of x of the first kind of orders 0 and 1, respectively. The jn() function returns the Bessel function of x o

manpages/XtTranslateCoords.3.html
XtTranslateCoords(3) - translate widget coordinates.........
While XtTranslateCoords is similar to the Xlib XTranslateCoordinates function, it does not generate a server request because all the required information alread

manpages/automake.1.html
automake(1) - manual page for automake 1.11.1 (Man Page)....
Generate Makefile.in for configure from Makefile.am. Operation modes: --help print this help, then exit --version print version number, then exit -v, --verbose

manpages/tigetnum_sp.3ncurses.html
tigetnum_sp(3ncurses) - curses screen-pointer extension.....
This implementation can be configured to provide a set of functions which improve the ability to manage multiple screens. This feature can be added to any of th

manpages/groff_hdtbl.7.html
groff_hdtbl(7) - groff `hdtbl' macros for generation of tabl
The hdtbl macros consist of four base and three optional macros, controlled by about twenty arguments. The syntax is simple and similar to the HTML table model

manpages/y1.3.html
y1(3) - Bessel functions of the second kind - Linux man page
The y0() and y1() functions return Bessel functions of x of the second kind of orders 0 and 1, respectively. The yn() function returns the Bessel function of x

manpages/TAP::Parser::Result::Pragma.3pm.html
TAP::Parser::Result::Pragma(3pm) - TAP pragma token.........
This is a subclass of TAP::Parser::Result. A token of this class will be returned if a pragma is encountered. TAP version 13 pragma +strict, -foo Pragmas are on

manpages/winnwstr.3ncurses.html
winnwstr(3ncurses) - get a string of wchar_t characters from
These routines return a string of wchar_t characters in wstr, extracted starting at the current cursor position in the named window. Attributes are stripped fro

manpages/pnmtotiff.1.html
pnmtotiff(1) - replaced by pamtotiff - Linux manual page....
This program is part of Netpbm(1) In Netpbm 10.30 (October 2005), pnmtotiff was extended and renamed to pamtotiff(1) pamtotiff is backward compatible with pnmto





We can't live, work or learn in freedom unless the software we use is free.