next up previous
次へ: デバイス・ドライバの格納 上へ: システムコールとメソッド(その4: dio_ioctl) 戻る: dio_ioctlメソッドの作成

デバイス・ドライバの作成

最初にioctlのコマンドと引数構造体を定義したヘッダファイルを、次の ようにインクルードする。

      #include "dio_ioctl.h"

また、グローバル変数とその初期値を次のように宣言しておく。

      unsigned long predata = 0;

それから、ioctlシステムコールのdio_ioctlメソッド本体とそのサブ関数群 をfile_operations構造体の前に追加記述すればよい。プロトタイプ宣言 をするのでなければ呼び出される関数は、それを呼び出す関数の前に置かなけれ ばならない。

最後に、file_operations構造体のioctlフィールドに dio_ioctlを登録する。
\begin{boxedminipage}{\textwidth}
\begin{verbatim}struct file_operations dio_f...
... .open = dio_open,
.release = dio_release,
};\end{verbatim}
\end{boxedminipage}

機能拡張したドライバのソースコードを次のようにコンパイルする。

     # make clean
     # make



MANOME Yoichi 平成19年1月6日