Provided by: manpages-ja-dev_0.5.0.0.20140515+dfsg-2_all bug

名前

       lseek64 - ファイルの 64 ビットの読み書きオフセットの位置を変える

書式

       #define _LARGEFILE64_SOURCE /* feature_test_macros(7) 参照 */
       #include <sys/types.h>
       #include <unistd.h>

       off64_t lseek64(int fd, off64_t offset, int whence);

説明

       lseek(2)  関数ファミリーは、ファイルディスクリプタ fd に関連するオープンされたファイルのオ
       フセットを、  ファイルの開始位置・現在位置・終端から  offset   の位置へ変更する。   これは
       whence がそれぞれ SEEK_SET, SEEK_CUR, SEEK_END の場合に対応する。

       更に詳しい説明・返り値・エラーは、 lseek(2)  を参照すること。

       4  つのインタフェースが使用可能である:  lseek(2), lseek64(), llseek(2)  と元となるシステム
       コール _llseek(2)  である。

   lseek
       プロトタイプ:

           off_t lseek(int fd, off_t offset, int whence);

       lseek(2)  は型 off_t を使う。 これは 32 ビットアーキテクチャ上では 32 ビット符号付き型であ
       る。 ただし、

           #define _FILE_OFFSET_BITS 64

       を定義してコンパイルした場合は 64 ビット符号付き型である。

   lseek64
       プロトタイプ:

           off64_t lseek64(int fd, off64_t offset, int whence);

       ライブラリルーチン lseek64()  は off_t が 32 ビット型であっても 64 ビット型を使う。 このプ
       ロトタイプ (と型 off64_t)  は、以下の定義をしてコンパイルした場合にのみ使用可能である。

           #define _LARGEFILE64_SOURCE

       関数 lseek64()  は glibc 2.1 以降で使用可能であり、 llseek()  のエイリアスとして定義されて
       いる。

   llseek
       プロトタイプ:

           loff_t llseek(int fd, loff_t offset, int whence);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
       上記の全ての関数は、このシステムコールに基づいて実装される。 プロトタイプは以下の通り:

           int _llseek(int fd, off_t offset_hi, off_t offset_lo,
                       loff_t *result, int whence);

       更に詳しい情報は、 llseek(2)  を参照すること。

属性

   マルチスレッディング (pthreads(7) 参照)
       関数 lseek64() はスレッドセーフである。

関連項目

       llseek(2), lseek(2)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部  である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。