next up previous
次へ: コマンドの使用例 上へ: 情報システム実験(16) 戻る: デバイス・ドライバの格納

システムコールの実行(ioctl)

カーネル空間にドライバが格納されたので、次にユーザ空間側からシステムコー ルを利用して、このデバイスドライバを呼び出すことにする。

作成したdio_ioctlメソッドを呼び出すioctlシステムコールの具 体的な書式は、次のようになる

    ioctl(fd, cmd, *argp);

fdは、今までと同じようにopenシステムコールで生成されるファイ ルデスクリプタである。

cmdは、今回作成したヘッダファイルのdio_ioctl.hで定義した IOCTL_DIO_RESETIOCTL_DIO_INPUTIOCTL_DIO_OUTPUTなどのコマン ド番号である。

*argpは、今回作成したヘッダファイルのdio_ioctl.hで定義した DIO_POINT構造体型の変数のアドレスである。

戻り値(返り値)は、正常終了したばあいは、読み込んだバイト数を返す。 エラーのばあいは-1が返され、errnoに指定の値が格納される。



Subsections

MANOME Yoichi 平成19年1月6日