Provided by: manpages-fr-dev_4.18.1-1_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⟩.