Provided by: manpages-fr-dev_4.19.0-7_all bug

NOM

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

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <sys/io.h>

       [[obsolète]] int iopl(int level);

DESCRIPTION

       iopl()  modifie le niveau de droits pour les E/S du thread appelant, en utilisant les deux
       bits de poids faible indiqués dans level.

       Le niveau de privilège d'E/S pour un thread normal vaut 0. Les  droits  sont  hérités  des
       parents par les enfants.

       Cet  appel  est  obsolète,  il  est  significativement plus lent que ioperm(2) et il n'est
       fourni que pour d'anciens serveurs X qui doivent accéder aux 65536 ports d'E/S. Il  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 succès, zéro est renvoyé. En cas d'erreur, -1 est renvoyé et errno  est  définie
       pour préciser l'erreur.

ERREURS

       EINVAL level est plus grand que 3.

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

       EPERM  Le  thread  appelant  n'a  pas  assez  de  droits pour appeler iopl() ; la capacité
              CAP_SYS_RAWIO est nécessaire pour augmenter le niveau de droits d'E/S de sa  valeur
              actuelle.

STANDARDS

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

NOTES

       La 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.

       Avant  Linux  5.5,  iopl()  permettait  au  thread de désactiver les interruptions tout en
       s'exécutant à un niveau de droits E/S supérieur. Cela fera probablement planter le système
       et n'est pas recommandé.

       Avant  Linux  3.7,  sur  certaines  architectures  (telles  que  i386), les droits étaient
       récupérés  par  l'enfant  créé  avec  fork(2)  et  préservés  pendant  un  execve(2).   Ce
       comportement a été modifié par inadvertance dans Linux 3.7 et il ne sera pas rétabli.

VOIR AUSSI

       ioperm(2), outb(2), capabilities(7)

TRADUCTION

       La  traduction  française  de  cette  page  de  manuel  a  été créée par Christophe Blaess
       <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <stephan.rafin@laposte.net>,  Thierry
       Vignaud  <tvignaud@mandriva.com>,  François Micaux, Alain Portal <aportal@univ-montp2.fr>,
       Jean-Philippe   Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)    <jean-
       luc.coulon@wanadoo.fr>,    Julien    Cristau    <jcristau@debian.org>,    Thomas   Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau  <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis
       Barbier  <barbier@debian.org>,  David  Prévot   <david@tilapin.org>,   Cédric   Boutillier
       <cedric.boutillier@gmail.com>,  Frédéric  Hantrais  <fhantrais@gmail.com> et Jean-Philippe
       MENGUAL <jpmengual@debian.org>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.