Show page source of internal24-139-lseekシステムコール #25207

[[PageNavi(internal24-navi)]]

{{{ comment
h2w-title:lseekシステムコール
}}}
 

= lseekシステムコール = #SECTION031070000000000000000

ファイルポインタを設定する処理は、vfs llseek関数が行っている。ファイル構造体にllseekオペレーションが登録されている場合はそのオペレーションを実行し、登録されていない場合はデフォルト処理default_llseek関数を呼び出す。

ext2ファイルシステムの通常ファイルの場合、ext2_file_lseek関数が呼び出される。この関数は、ファイルポインタ値のエラーチェックを行っているのみで、あとは単純にファイル構造体の中のファイルポインタ値を指定された値に設定するのみである。ファイルシステム毎に扱えるファイルサイズの上限が決まっているため、各ファイルシステム側で処理できるようにしているものと思われる。

ディレクトリ、シンボリックリンクファイルの場合、このオペレーションは無登録であり、lseek処理としてデフォルトの関数default_llseek関数が呼び出される。これはエラーチェック無しでファイルポインタ値を進める関数である。

----

''(NIS)HirokazuTakahashi [[BR]]2000年12月09日 (土) 23時55分06秒 JST''1

[[PageNavi(internal24-navi)]]