Manpages

名 前

_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/ に 書 か れ て い る 。