#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);
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.
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 à