Provided by: manpages-fr-dev_4.23.1-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  ⟨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⟩.