Provided by: manpages-fr-dev_4.23.1-1_all bug

NOM

       outb,  outw,  outl,  outsb, outsw, outsl, inb, inw, inl, insb, insw, insl, outb_p, outw_p,
       outl_p, inb_p, inw_p, inl_p - Lire/Écrire sur un port

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <sys/io.h>

       unsigned char inb(unsigned short port);
       unsigned char inb_p(unsigned short port);
       unsigned short inw(unsigned short port);
       unsigned short inw_p(unsigned short port);
       unsigned int inl(unsigned short port);
       unsigned int inl_p(unsigned short port);

       void outb(unsigned char value, unsigned short port);
       void outb_p(unsigned char value, unsigned short port);
       void outw(unsigned short value, unsigned short port);
       void outw_p(unsigned short value, unsigned short port);
       void outl(unsigned int value, unsigned short port);
       void outl_p(unsigned int value, unsigned short port);

       void insb(unsigned short port, void addr[.count],
                  unsigned long count);
       void insw(unsigned short port, void addr[.count],
                  unsigned long count);
       void insl(unsigned short port, void addr[.count],
                  unsigned long count);
       void outsb(unsigned short port, const void addr[.count],
                  unsigned long count);
       void outsw(unsigned short port, const void addr[.count],
                  unsigned long count);
       void outsl(unsigned short port, const void addr[.count],
                  unsigned long count);

DESCRIPTION

       Cette famille de fonctions est utilisée  pour  des  entrées-sorties  de  bas  niveau.  Les
       fonctions  out* effectuent une écriture sur un port alors que les fonctions in* effectuent
       une lecture. Les fonctions suffixées avec « b » travaillent sur des octets alors  que  les
       fonctions  suffixées  avec  « w »  travaillent  sur des mots. Les fonctions suffixées avec
       « _p » attendent que les entrées-sorties soient achevées.

       Elles ont principalement été conçues pour un usage interne au noyau, mais sont quand  même
       utilisables avec des processus utilisateurs.

       Le  programme  doit  être  compilé avec les options -O ou -O2 ou équivalent. Ces fonctions
       sont en réalité des macros développées en ligne, et ne seront pas substituées sans valider
       l'optimisation.  Cela  causerait  des  erreurs  de  références  non  résolues au moment de
       l'édition des liens.

       Utiliser  ioperm(2)  ou  éventuellement  iopl(2)  pour  demander  au   noyau   d'autoriser
       l'application  à  accéder  aux  ports d'entrées-sorties en question. Une omission de cette
       étape déclencherait une faute de segmentation.

VERSIONS

       outb() et les autres fonctions dépendent du matériel. Les arguments port  et  valeur  sont
       dans l'ordre inverse de la plupart des implémentations équivalentes sous DOS.

STANDARDS

       Aucun.

VOIR AUSSI

       ioperm(2), iopl(2)

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