名 前
_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) を 使 っ て 呼 び 出 す こ と 。
関 連 項 目
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。