Scroll to navigation

LLSEEK(2) Linux Programmer's Manual LLSEEK(2)

名前

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

書式

#include <sys/types.h>
#include <unistd.h>

int _llseek(unsigned int fd, unsigned long offset_high,
            unsigned long offset_low, loff_t *result,
            unsigned int whence);

: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。

説明

_llseek() 関数は、ファイルディスクリプター (descriptor) fd に関連づけられたオープンされたファイルのオフセットの位置を、相対的に (offset_high<<32) | offset_low バイトだけ変更する。 基準となる位置を表す whence には SEEK_SET, SEEK_CUR, SEEK_END のいずれかを指定し、それぞれ ファイルの先頭、ファイルの現在位置、 ファイルの最後を表す。 結果のファイル位置を result 引き数に返す。

返り値

成功した場合は、 _llseek() は 0 を返す。 そうでなれば -1 という値が返り、エラーを示す errno が設定される。

エラー

EBADF
fd がオープンされたファイルディスクリプターでない。
EFAULT
結果をユーザー空間にコピーするときに問題があった。
EINVAL
whence が不正である。

準拠

この関数は Linux 特有であり、移植性の必要なプログラムでは使用してはいけない。

注意

glibc はこのシステムコールに対するラッパー関数を提供していない。 syscall(2) を使って呼び出すこと。

関連項目

lseek(2), lseek64(3)

この文書について

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