日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
IOCTL(2) FreeBSD システムコールマニュアル IOCTL(2)
名称
ioctl -- デバイスを制御する
ライブラリ
標準 C ライブラリ (libc, -lc)
書式
#include <sys/ioctl.h>
int
ioctl(int fd, unsigned long request, ...);
解説
ioctl() システムコールは、特別なファイルの基本的なデバイスのパラメータを
操作します。特に、キャラクタ特殊ファイル (例えば、端末) の多くの操作の特
性は、ioctl() 要求で制御されます。引数 fd は、オープンしているファイル記
述子でなければなりません。
ioctl() への 3 番目の引数は、伝統的に char *argp で指定されます。しかしな
がら、ioctl() のほとんどの使用は、caddr_t または int となる 3 番目の引数
を要求します。
ioctl() 要求は、引数が、``in'' 引数であろうと ``out'' 引数であろうと、そ
してバイト単位の引数 argp のサイズでエンコードされます。ioctl 要求の指定
で使用されるマクロと定義は、ファイル <sys/ioctl.h> に置かれます。
一般的な IOCTL
いくつかの一般的な ioctl は、ファイル記述子のすべてのタイプに対して実装さ
れていません。これらは、次を含んでいます:
FIONREAD int
読み込みのために直ちに利用可能なバイトの数を取得します。
FIONWRITE int
記述子の送信キューのバイトの数を取得します。これらのバイトは、記
述子に書き込まれているデータですが、さらなる処理のためにカーネル
によって保持されています。必要な処理の本質は、基本的なデバイスに
依存しています。TCP ソケットについて、これらのバイトは、接続の他
の側によって、まだ承認されていません。
FIONSPACE int
記述子の送信キューの空き空間を取得します。この値は、キューに保持
されているバイトの数を引いた送信キューのサイズです。注: この値
が、キューに追加されるバイトの数を表していますが、他のリソースの
制限は、ブロックされている送信キューの空間より大きくない書き込み
を引き起こします。1 つのそのような制限は、ネットワーク接続への書
き込みのためのネットワークバッファの不足です。
戻り値
エラーが起こったなら、-1 の値が返され、errno は、エラーを示す値に設定され
ます。
エラー
ioctl() システムコールは、次の場合に失敗します:
[EBADF] fd 引数が、有効な記述子ではありません。
[ENOTTY] fd 引数が、キャラクタ特殊デバイスに関連していません。
[ENOTTY] 指定された要求が、記述子 fd が参照するオブジェクトの種
類に適用しません。
[EINVAL] request または argp 引数が、有効ではありません。
[EFAULT] argp 引数が、プロセスの割り付けられたアドレス空間の外
側を指しています。
関連項目
execve(2), fcntl(2), intro(4), tty(4)
歴史
ioctl() 関数は、Version 7 AT&T UNIX で登場しました。
FreeBSD 13.2 September 11, 2013 FreeBSD 13.2