1. 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
2. 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);
3. 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.
4. CONFORMITÉ ▲
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.
5. VOIR AUSSI ▲
6. COLOPHON ▲
Cette page fait partie de la publication 3.52 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/.
7. 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 à <>.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».