Other Alias
futimes書式
#include <sys/time.h>
int futimes(int fd, const struct timeval tv[2]);
int lutimes(const char *filename, const struct timeval tv[2]);
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
futimes(), lutimes(): _BSD_SOURCE
説明
futimes() は utimes(2) と同じ方法でファイルのアクセス時刻と修正時刻を変更する。 違いは、タイムスタンプを変更するファイルを、 パス名ではなく、ファイルディスクリプタ fd を用いて指定する点である。lutimes() は utimes(2) と同じ方法でファイルのアクセス時刻と修正時刻を変更する。違いは、 filename がシンボリック・リンクを参照している場合に、リンクの展開を行わず、代わりにシンボリック・リンクのタイムスタンプを変更する点である。
返り値
成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。エラー
エラーは utimes(2) と同じだが、 futimes() では以下のエラーが追加になっている:- EBADF
- fd が有効なファイルディスクリプタでない。
- ENOSYS
- /proc ファイルシステムにアクセスできなかった。
lutimes() では以下のエラーが追加になっている:
- ENOSYS
- カーネルがこの関数をサポートしていない。 Linux 2.6.22 以降が必要である。
バージョン
futimes() は glibc 2.3 以降で利用可能である。 lutimes() は glibc 2.6 以降で利用可能であり、 utimensat(2) システムコールを使って実装されている。 utimensat(2) はカーネル 2.6.22 以降でサポートされている。属性
マルチスレッディング (pthreads(7) 参照)
関数 futimes() と lutimes() はスレッドセーフである。準拠
これらの関数はどの標準でも規定されていない。 Linux 以外では、これらは BSD でのみ利用可能である。この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。