tail head cat sleep
QR code linking to this page

manページ  — IOCTL

名称

ioctl – デバイスを制御する

内容

ライブラリ

Standard C Library (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]
  d 引数がキャラクタ型特殊デバイスに対応していません。
[ENOTTY]
  指定された要求は記述子 d が参照する種類のオブジェクトには適用されません。
[EINVAL]
  request または argp 引数が有効ではありません。
[EFAULT]
  argp 引数がプロセッサが割り当てたアドレス範囲外を指しています。

関連項目

execve(2), fcntl(2), intro(4), tty(4)

歴史

ioctl() 関数は AT&T v7 ではじめて登場しました。

IOCTL (2) December 11, 1993

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。