sourCEntral - mobile manpages

pdf

outb

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 DOT rafin AT laposte DOT net>, Thierry Vignaud <tvignaud AT mandriva DOT com>, François Micaux, Alain Portal <aportal AT univ-montp2 DOT fr>, Jean-Philippe Guérard <fevrier AT tigreraye DOT org>, Jean-Luc Coulon (f5ibh) <jean-luc DOT coulon AT wanadoo DOT fr>, Julien Cristau <jcristau AT debian DOT org>, Thomas Huriaux <thomas DOT huriaux AT gmail DOT com>, Nicolas François <nicolas DOT francois AT centraliens DOT net>, Florentin Duneau <fduneau AT gmail DOT com>, Simon Paillard <simon DOT paillard AT resel DOT enst-bretagne DOT fr>, Denis Barbier <barbier AT debian DOT org>, David Prévot <david AT tilapin DOT org> et Jean-Philippe MENGUAL <jpmengual AT debian DOT org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 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.

pdf