UTIME(2)

名前
utime, utimes - inode のアクセス時間/修正時間を変更する

書式
#include <sys/types.h>
#include <utime.h>

int utime(const char *filename, struct utimbuf *buf);

#include <sys/time.h>

int utimes(char *filename, struct timeval *tvp);

説明
utime は filename で示される inode のアクセス時間と変更時間を buf 中の actime と modtime にそれぞれ変更する。 もし buf が NULL であったらファイルのアクセス時間と変更時間は現在の時間にセットされる。 構造体 utimbuf は以下に示すようになっている。
    struct utimbuf {
            time_t actime;  /* access time */
            time_t modtime; /* modification time */
    };
Linux の DLL 4.1.1 ライブラリでは utimes は単に utime のラッパー(wrapper)で、 tvp[0].tv_sec を actime に tvp[1].tv_sec を modtime に使用する。 構造体 timeval は以下に示す通りである。
    struct timeval {
            long    tv_sec;         /* seconds */
            long    tv_usec;        /* microseconds */
    };

返り値
成功した場合 0 が返る。失敗した場合 -1 が返り、 errno がエラーの内容に従って設定される。

エラー
他のエラーが起こる可能性がある。

EACCES
    ファイルに対する書き込み許可が無い。

ENOENT
    filename が存在しない。

準拠
utime: SVr4, SVID, POSIX. SVr4 には他に EFAULT,EINTR, ELOOP, EMULTIHOP, ENAMETOOLONG, ENOLINK, ENOTDIR, ENOLINK, ENOTDIR, EPERM, EROFS のエラー コードについての記述がある。
utimes: BSD 4.3

関連項目
stat(2)