next up previous
次へ: dio_writeメソッドの作成 上へ: システムコールとメソッド(その3: dio_write) 戻る: システムコールとメソッド(その3: dio_write)

writeメソッド

writeシステムコールが呼び出すwriteメソッドの関数名をdio_writeとする。 このdio_writeの書式は、L.D.D.3の「3.7 readとwrite]に合わせて、 次のようにする。

ssize_t dio_write(struct file *filp, const char *buff, size_t count,
                  loff_t *offp);

データバッファ(buff)が読み込み専用のためにconstとなっている他は、 dio_read関数と同じ引数をとる。

const char *buffに関して言えば、このばあいのポインタbuffは、 定数でなく変数である。記憶しているアドレスは変更できる。しかしながら、そ のアドレスが指すデータは定数である。具体的にいえば、buff++は可能 であるが、*buff = 'X'は不可である。なお、char *const buff であるならば、逆に*buff = 'X'は可能であるが、buff++が不可 になる。



MANOME Yoichi 平成19年1月6日