Provided by: manpages-fr-dev_4.27.0-1_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.

VERSIONS

       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.

STANDARDS

       Linux.

HISTORIQUE

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

Pages du manuel de Linux 6.9.1                     2 mai 2024                                            iopl(2)