名 前
futimesat − デ ィ レ ク ト リ フ ァ イ ル デ ィ ス ク リ プ タ ー に 対 す る 相 対 パ ス の フ ァ イ ル の タ イ ム ス タ ン プ を 変 更 す る
書 式
#include
<fcntl.h> /* AT_* 定 数 の 定
義 */
#include <sys/time.h>
int
futimesat(int dirfd, const char
*pathname,
const struct timeval times[2]);
glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):
futimesat(): _GNU_SOURCE
説 明
こ の シ ス テ ム コ ー ル は 廃 止 予 定 で あ る 。 代 わ り に utimensat を 使 用 す る こ と 。
futimesat() シ ス テ ム コ ー ル は utimes() と 全 く 同 様 に 動 作 す る が 、 こ の マ ニ ュ ア ル ペ ー ジ で 説 明 す る 点 が 異 な る 。
pathname で 渡 さ れ た パ ス 名 が 相 対 パ ス の 場 合 、 パ ス 名 は フ ァ イ ル デ ィ ス ク リ プ タ ー dirfd が 参 照 す る デ ィ レ ク ト リ に 対 す る 相 対 パ ス と 解 釈 さ れ る (相 対 パ ス の 場 合 に utimes(2) で 行 わ れ る よ う に 、 呼 び 出 し た プ ロ セ ス の カ レ ン ト ワ ー キ ン グ デ ィ レ ク ト リ に 対 す る 相 対 パ ス と 解 釈 さ れ る わ け で は な い )。
pathname が 相 対 パ ス で dirfd が 特 別 な 値 AT_FDCWD の 場 合 、 pathname は (utimes(2) 同 様 ) 呼 び 出 し た プ ロ セ ス の カ レ ン ト ワ ー キ ン グ デ ィ レ ク ト リ に 対 す る 相 対 パ ス と 解 釈 さ れ る 。
pathname が 絶 対 パ ス の 場 合 、 dirfd は 無 視 さ れ る 。
返 り 値
成 功 す る と 、 futimesat() は 0 を 返 す 。 エ ラ ー の 場 合 、 −1 を 返 し 、 errno に エ ラ ー を 示 す 値 を セ ッ ト す る 。
エ ラ ー
utimes(2) で 発 生 す る 可 能 性 が あ る エ ラ ー の い く つ か は futimesat() で も 起 こ る こ と 可 能 性 が あ る 。 ま た 、 以 下 の エ ラ ー も futimesat() で は 発 生 す る こ と が あ る 。
EBADF |
dirfd が 有 効 な フ ァ イ ル デ ィ ス ク リ プ タ ー で な い 。 |
ENOTDIR
pathname が 相 対 パ ス で 、 dirfd が デ ィ レ ク ト リ 以 外 の フ ァ イ ル を 参 照 す る フ ァ イ ル デ ィ ス ク リ プ タ ー で あ る 。
バ ー ジ ョ ン
futimesat() は カ ー ネ ル 2.6.16 で Linux に 追 加 さ れ た 。 ラ イ ブ ラ リ の サ ポ ー ト は glibc バ ー ジ ョ ン 2.4 で 追 加 さ れ た 。
準 拠
こ の シ ス テ ム コ ー ル は 非 標 準 で あ る 。 POSIX.1 に 提 案 さ れ た 仕 様 に 基 づ い て 実 装 さ れ た が 、 そ の 仕 様 は utimensat(2) で 置 き 換 え れ た 。 同 様 の シ ス テ ム コ ー ル が Solaris に 存 在 す る 。
注 意
glibc
で の 注 意
pathname が NULL の 場 合
、 glibc の futimesat() の ラ
ッ パ ー 関 数 は
dirfd が 参 照 す る
フ ァ イ ル の 時
刻 情 報 を 更 新
す る 。
関 連 項 目
stat(2), utimensat(2), utimes(2), futimes(3), path_resolution(7)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。