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
SYNOPSIS¶
#include <sys/io.h>
unsigned char inb(unsigned short int port);
unsigned char inb_p(unsigned short int port);
unsigned short int inw(unsigned short int port);
unsigned short int inw_p(unsigned short int port);
unsigned int inl(unsigned short int port);
unsigned int inl_p(unsigned short int port);
void outb(unsigned char valeur, unsigned short int port);
void outb_p(unsigned char valeur, unsigned short int port);
void outw(unsigned short int valeur, unsigned short int port);
void outw_p(unsigned short int valeur, unsigned short int port);
void outl(unsigned int valeur, unsigned short int port);
void outl_p(unsigned int valeur, unsigned short int port);
void insb(unsigned short int port, void *addr,
unsigned long int compte);
void insw(unsigned short int port, void *addr,
unsigned long int compte);
void insl(unsigned short int port, void *addr,
unsigned long int compte);
void outsb(unsigned short int port, const void *addr,
unsigned long int compte);
void outsw(unsigned short int port, const void *addr,
unsigned long int compte);
void outsl(unsigned short int port, const void *addr,
unsigned long int compte);
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.
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)
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> ».