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