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 にお知らせください。 Privacy policy.

Hang in there, people suffering from natural disasters and deadly diseases - we're putting ribbons on our cars as fast as we can
— Artur Bagyants