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++が不可
になる。