Provided by: manpages-fr-dev_4.21.0-2_all bug

NOM

       ioperm - Positionner les autorisations d'entrée-sortie sur les ports

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <sys/io.h>

       int ioperm(unsigned long from, unsigned long num, int turn_on);

DESCRIPTION

       ioperm()  positionne  les  bits de permission d'accès du thread appelant aux ports commençant à l'adresse
       from étalés sur num bits. Si turn_on n'est pas nul, les autorisations correspondantes aux  bits  indiqués
       sont  activées,  sinon  désactivées.  Si  turn_on  est  non  nul, le thread appelant doit être privilégié
       (CAP_SYS_RAWIO).

       Avant Linux 2.6.8, seuls les 0x3ff premiers  ports  d'entrée-sortie  pouvaient  être  indiqués  de  cette
       manière. Pour d'autres ports, il fallait utiliser l'appel système iopl(2) (avec un paramètre level de 3).
       Depuis Linux 2.6.8, 65 536 ports d'entrée-sortie peuvent être indiqués.

       Les  droits sont récupérés par l'enfant créé par fork(2) (mais voir les NOTES). Les droits sont préservés
       pendant un execve(2) ; cela est utile pour donner les droits d'accès à un port pour  des  programmes  non
       privilégiés.

       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 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 Valeur non valable pour from ou num.

       EIO    (sur PowerPC) Cet appel n'est pas géré.

       ENOMEM Plus assez de mémoire.

       EPERM  L'appelant n'a pas les privilèges nécessaires.

STANDARDS

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

NOTES

       Le fichier /proc/ioports indique les ports d'entrée-sortie actuellement alloués sur le système.

       Avant Linux 2.4, les droits n'étaient pas récupérés par un enfant créé par fork(2).

       La glibc a un prototype ioperm() dans <sys/io.h> et <sys/perm.h>. Évitez ce dernier, il n'est  disponible
       que sur les i386.

VOIR AUSSI

       iopl(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> 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.03                    5 février 2023                                        ioperm(2)