User manual - Cライブラリ解説書(2006年4月17日)
DT-930 Cライブラリ解説書
16
2.1.4. 低水準インタフェース
低水準インタフェースでは、ファイルについての処理(状態管理、書込み/読込み等)および、メ
モリ管理を行います。
以下に低水準で提供する関数についての機能を示します。
(1)openルーチン
引数で指定されたファイルのチェックを行い、正常な場合ハンドルNo.を返します。
以後のコマンド要求に対する妥当性をmodeにより判断します。
modeはOR指定し、読み/書きモード(bit0~2)はいずれかを必ず指定します。
mode ()
□□~□□□□□□□□□
31
76 543 210
O_RDONLY:1=読出し専用にします。
O_WRONLY:1=書込み専用にします。
O_RDWR:1=読込み/書込み両用にします。
O_CREAT:1=ファイルが存在しない場合は、新規ファイルとして作成します。
O_TRUNC:1=ファイルが存在する場合、ファイル内容を捨て、ファイルサイズ
を0にします。
O_APPEND:読込み/書込み位置の設定をするします。
0=ファイル先頭に設定
1=ファイル最後に設定
(2)closeルーチン
引数で指定されたハンドルNo.に対応したファイルのクローズ処理を行います。
(3)readルーチン
引数で指定されたハンドルNo.のファイルに対し、現在の読込み位置よりファイルデータを指定
バッファへ転送します。 転送後の読込み位置は、読出しバイト数だけ先に進みます。
(4)writeルーチン
引数で指定されたハンドルNo.のファイルに対し、書込みデータバッファの内容を現在の書込
み位置より書込みを開始します。 書込み終了後、ファイル管理テーブルの書込み位置を書込
みバイト数だけ先に進めます。
(5)lseekルーチン
引数で指定されたハンドルNo.のファイルに対し、読込み/書込み位置をバイト単位で要求位
置に変更します。
要求位置が負または、ファイルサイズをこえる場合はエラーとします。
読込み/書込み位置の設定は、引数により以下のように決定します。
第2引数 offset :読込み/書込みの位置を示すオフセット(バイト単位)。
第3引数 base :オフセットの起点。
・ base が0のとき:ファイルの先頭から offset バイトの位置に設定します。
・ base が1のとき:現在の位置に offset バイトを加えた位置に設定します。
・ base が2のとき:ファイルサイズに offset バイトを加えた位置に設定します。