Provided by: manpages-fr-dev_4.13-4_all bug

NOM

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

SYNOPSIS

       #include <sys/io.h>

       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 reçoit une valeur adéquate.

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.

CONFORMITÉ

       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)

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des
       instructions pour signaler des anomalies et la dernière version de cette page  peuvent  être  trouvées  à
       l'adresse https://www.kernel.org/doc/man-pages/.

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

Linux                                             13 août 2020                                           IOPL(2)