IOCTL(2) FreeBSD システムコールマニュアル IOCTL(2)
名称
ioctl − デバイスを制御する |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <sys/ioctl.h> int |
ioctl(int d, unsigned long request, ...); |
解説 |
ioctl() システムコールは特殊ファイルの下層となっているデバイスのパラメー タを操作します。特に、キャラクタ型特殊ファイル (たとえば、端末) の多数の 操作属性は ioctl() で制御できます。引数 d は開いているファイル記述子であ る必要があります。 ioctl() への 3 番めの引数は従来から char *argp と名前付けられています。し かし、 FreeBSD 3.0 での ioctl() のほとんどの使用法では、3 番めの引数が caddr_t または int である必要があります。 ioctl() の request は、引数が ‘‘in’’ 引数なのか ‘‘out’’ 引数なのかという ことと、引数 argp のサイズ (バイト単位) をエンコードします。 ioctl の request を指定するのに使用されるマクロと定義はファイル <sys/ioctl.h> の中 にあります。 |
戻り値
エラーが起きた場合は -1 が返され、エラーを示すために errno が設定されま す。 |
エラー
ioctl() システムコールは次の場合に失敗します: |
[EBADF]
d 引数が有効な記述子ではありません。 [ENOTTY] [ENOTTY] [EINVAL] [EFAULT] 関連項目 |
歴史
ioctl() 関数は Version 7 AT&T UNIX ではじめて登場しました。 FreeBSD 10.0 December 11, 1993 FreeBSD 10.0 |