Provided by: manpages-fr-dev_4.21.0-2_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.

STANDARDS

       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.

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