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