LSEEK64

Section: Linux Programmer's Manual (3)
Updated: 2014-08-19
Index JM Home Page roff page
 

名前

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() は glibc で利用可能であり、 特別な定義なしに動作する。 しかしながら、 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.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。


 

Index

名前
書式
説明
lseek
lseek64
llseek
_llseek
属性
マルチスレッディング (pthreads(7) 参照)
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 03:33:24 GMT, March 14, 2018