kazmax - Linux で自宅サーバー

outb - システムコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 準拠
  4. 関連項目

名前

outb, outw, outl, outsb, outsw, outsl, inb, inw, inl, insb, insw, insl, outb_p, outw_p, outl_p, inb_p, inw_p, inl_p - ポート入出力

書式

この一連の関数はポートに対する低レベルの入出力に使用する。 out* 関数はポート出力、in* 関数はポート入力を行う。 語尾に b がついている関数はバイト単位、w がついている関数はワード単位である。 _p がついている関数は I/O が終了するまで待つ。

これらの関数はもともとカーネル内部での使用を想定して設計されているが、 ユーザー空間からでも使用できる。
-O-O2 などを指定してコンパイルすること。 これらの関数はインライン・マクロとして定義されており、 最適化を行わないと関数の展開が行われず、 リンクの時に「解決できない参照(unresolved reference)」が発生する。
ユーザー空間のアプリケーションが I/O ポートにアクセスすることを カーネルに教えるために   ioperm (2) もしくは   iopl (2) を使用すること。これを忘れるとアプリケーションはセグメンテーション違反 (segmentation fault) を受けとることになる。

準拠

outb () とその仲間はハードウェア特有である。 value 引数が最初に渡され、 port 引数が二番目に渡される。 この順序はほとんどの DOS での実装とは逆である。

関連項目