next up previous
次へ: dio_read関数の作成 上へ: システムコールの実装(その2: dio_read) 戻る: リソース情報の登録

readシステムコール

readシステムコールが呼び出す関数名をdio_readとする。 このdio_readの書式は、L.D.D.の「3.8 readとwrie]に合わせて、 次のようにする。


\begin{boxedminipage}{\textwidth}
\begin{verbatim}ssize_t dio_read(struct fil...
...ilp, char *buff, size_t count,
loff_t *offp);\end{verbatim}
\end{boxedminipage}

各引数(パラメータ)は次のような意味を持つ。

filpは、dio_opendio_releaseと同じくファイルポイン タ(file pointer)を示している。

buffは、デバイスのデータを格納してユーザ空間に渡すためのバッファ (buffer)である。

countは、読み込みを行うデータのサイズである。

offpは、ユーザアプリケーション側からアクセスしているファイルの位 置を示す。今回の実験はDIOボードの制御なので特には使用しない。

戻り値(返り値)は、readシステムコールの呼び出しを行ったアプリケー ション側で、以下のような意味となるように実装していくことにする。

今回の実験では、最初はdio_read関数を次のようなスペック(仕様)で作 成することにする。



MANOME Yoichi 平成18年12月26日