SIMPLE SOLUTIONS

FUTIMESAT(2) - Linux manual

ディレクトリファイルディスクリプターに対する相対パスのファイルのタイムスタンプを変更する.

2012-05-10
FUTIMESAT(2) Linux Programmer's Manual FUTIMESAT(2)

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/ に書かれている。
Linux 2012-05-10 FUTIMESAT(2)
futimesat(2).txt (日本語 / Japanese)
Index English version of futimesat(2)
Go top