|
HOME > Linux Tips ( 目次 ) > Linux コマンド 一覧表 > l > lseek64 - ライブラリコールの説明 lseek64 - ライブラリコールの説明 - Linux コマンド集 一覧表名前lseek64 - ファイルの 64 ビットの読み書きオフセットの位置を変える 書式
#define _LARGEFILE64_SOURCE
説明lseek (2) 関数ファミリーは、ファイルディスクリプタ fd に関連するオープンされたファイルのオフセットを、 ファイルの開始位置・現在位置・終端から offset の位置へ変更する。 これは whence がそれぞれ SEEK_SET , SEEK_CUR , SEEK_END の場合に対応する。 更に詳しい説明・返り値・エラーは、 lseek (2) を参照すること。 4 つのインタフェースが使用可能である: lseek (), lseek64 (), llseek ()と元となるシステムコール _llseek ()である。 lseekプロトタイプ:
ライブラリルーチン lseek ()は型 off_t を使う。 これは 32 ビットアーキテクチャ上では 32 ビット符号付き型である。 ただし、 を定義してコンパイルした場合は 64 ビット符号付き型である。 lseek64プロトタイプ:
ライブラリルーチン lseek64 ()は off_t が 32 ビット型であっても 64 ビット型を使う。 このプロトタイプ (と型 off64_t )は、以下の定義をしてコンパイルした場合にのみ使用可能である。 関数 lseek64 ()は glibc 2.1 以降で使用可能であり、 llseek ()のエイリアスとして定義されている。 llseekプロトタイプ:
型 loff_t は 64 ビット符号付き型である。 ライブラリルーチン llseek ()は libc5 と glibc で使用可能であり、特別な定義なしに動作する。 このプロトタイプは、libc5 では <unistd.h> で与えられるが、glibc はプロトタイプを提供しない。 これはプロトタイプが必要になるので良くない。 ユーザは上記のプロトタイプまたはそれと同等のものを、 自身のソースに追加しなければならない。 このデータがないことによって e2fsck (8) のコンパイルが失敗するという苦情がユーザから出たので、 glibc 2.1.3 では以下のようなリンク時の警告が追加された。 "the llseek function may be dangerous; use lseek64 instead." これにより、警告なしでコンパイルしたい場合には、この関数を使用不可にできる。 _llseek上記の全ての関数は、このシステムコールに基づいて実装される。 プロトタイプは以下の通り:
更に詳しい情報は、 llseek (2) を参照すること。 関連項目
|
|