xenial (2) ioperm.2.gz

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