Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

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

SYNOPSIS

       #include <unistd.h> /* pour libc5 */
       #include <sys/io.h> /* pour glibc */

       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  permissions  ne  sont  pas  héritées  par le processus fils durant un fork(2) : le process fils doit
       activer les permissions dont il en a besoin. En revanche, elles le sont lors d'un execve(2). Ceci  permet
       de donner des autorisations d'accès à 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

       S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno en conséquence.

ERREURS

       EINVAL Valeur invalide pour from ou num.

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

       ENOMEM Plus de mémoire disponible.

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

CONFORMITÉ

       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.

       Libc5  considère  qu'il s'agit d'un appel système et fournit le prototype dans <unistd.h>. glibc1 n'offre
       pas de prototype. 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.

VOIR AUSSI

       iopl(2), outb(2), capabilities(7)

COLOPHON

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

TRADUCTION

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Christophe      Blaess      <http://www.blaess.fr/christophe/>      (1996-2003),       Alain       Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de  traduction de
       Debian (2006-2009).

       Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org>  ou  par
       un rapport de bogue sur le paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
       <section> <page_de_man> ».

Linux                                             12 mars 2013                                         IOPERM(2)