outb, outw, outl, outsb, outsw, outsl, inb, inw, inl, insb, insw, insl, outb_p,
  outw_p, outl_p, inb_p, inw_p, inl_p -
  ポート入出力
#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 value, unsigned short int port);
void outb_p(unsigned char value, unsigned short int port);
void outw(unsigned short int value, unsigned short int port);
void outw_p(unsigned short int value, unsigned short int port);
void outl(unsigned int value, unsigned short int port);
void outl_p(unsigned int value, unsigned short int port);
void insb(unsigned short int port, void *addr,
           unsigned long int count);
void insw(unsigned short int port, void *addr,
           unsigned long int count);
void insl(unsigned short int port, void *addr,
           unsigned long int count);
void outsb(unsigned short int port, const void *addr,
           unsigned long int count);
void outsw(unsigned short int port, const void *addr,
           unsigned long int count);
void outsl(unsigned short int port, const void *addr,
           unsigned long int count);
この一連の関数はポートに対する低レベルの入出力に使用する。
  out*
  関数はポート出力、in*
  関数はポート入力を行う。
  語尾に b
  がついている関数はバイト単位、w
  がついている関数はワード単位である。
  _p がついている関数は
  I/O
  が終了するまで待つ。
これらの関数はもともとカーネル内部での使用を想定して設計されているが、
  ユーザー空間からでも使用できる。
-O や 
-O2
  などを指定してコンパイルしなければならない。
  これらの関数はインライン・マクロとして定義されており、
  最適化を行わないと関数の展開が行われず、
  リンクの時に「解決できない参照(unresolved
  reference)」が発生する。
ユーザー空間のアプリケーションが
  I/O
  ポートにアクセスすることを
  カーネルに教えるために
  
ioperm(2) もしくは 
iopl(2)
  を使用すること。これを忘れるとアプリケーションはセグメンテーション違反
  (segmentation fault)
  を受けとることになる。
outb()
  とその仲間はハードウェア特有である。
  
value
  引数が最初に渡され、
  
port
  引数が二番目に渡される。
  この順序はほとんどの
  DOS
  での実装とは逆である。
関連項目¶
ioperm(2), 
iopl(2)
この文書について¶
この man ページは Linux 
man-pages
  プロジェクトのリリース
  3.65 の一部
  である。プロジェクトの説明とバグ報告に関する情報は
  
http://www.kernel.org/doc/man-pages/
  に書かれている。