Loading

NOM

       iopl - Modifier le niveau de privilège d’entrée-sortie

SYNOPSIS

       #include <sys/io.h>

       int iopl(int level);

       iopl()  change  le  niveau  de  privilège  pour  les entrées-sorties du
       processus appelant, en utilisant la valeur spécifiée dans level.

       Cette  fonction  est  indispensable  pour  permettre  aux  serveurs   X
       compatibles  8514  de  fonctionner sous Linux. Comme ces serveurs X ont
       besoin  de  l’accès  aux  65536  ports  d’entrée-sortie,  la   fonction
       ioperm(2) ne serait pas suffisante.

       En  plus  de disposer d’un accès illimité aux ports d’entrée-sortie, un
       processus tournant à un niveau  de  privilège  élevé  pourra  également
       inhiber  les  interruptions.  Ceci  risque  d’engendrer  un plantage du
       système, et est fortement déconseillé.

       Les permissions sont héritées aussi bien par fork(2) que par execve(2).

       Le  niveau de privilège d’entrée-sortie pour un utilisateur normal vaut
       0.

       Cet appel existe principalement pour l’architecture i386. Sur  beaucoup
       d’autres  architectures,  il  est soit inexistant soit renvoie toujours
       une erreur.

VALEUR RENVOYÉE

       En cas de réussite, zéro est renvoyé, sinon -1  est  renvoyé  et  errno
       contient le code d’erreur.

ERREURS

       EINVAL level est plus grand que 3.

       ENOSYS Cet appel n’est pas implémenté.

       EPERM  Le  processus  appelant  n’a  pas  les privilèges suffisant pour
              appeler iopl() ; la capacité CAP_SYS_RAWIO est nécessaire.

CONFORMITÉ

       iopl() est spécifique à Linux et ne doit  pas  être  utilisé  dans  des
       programmes destinés à être portables.

NOTES

       Libc5 considère qu’il s’agit d’un appel système et fournit le prototype
       dans <unistd.h>. glibc1 n’offre pas de  prototype.  glibc2  fournit  un
       prototype  à  la  fois  dans <sys/io.h> et dans <sys/perm.h>. Évitez ce
       dernier, il n’est disponible que sur les i386.

VOIR AUSSI

       ioperm(2), capabilities(7)

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».