1*c9945492SAndroid Build Coastguard Worker #define _GNU_SOURCE 2*c9945492SAndroid Build Coastguard Worker #include <sys/stat.h> 3*c9945492SAndroid Build Coastguard Worker #include <sys/time.h> 4*c9945492SAndroid Build Coastguard Worker #include <fcntl.h> 5*c9945492SAndroid Build Coastguard Worker lutimes(const char * filename,const struct timeval tv[2])6*c9945492SAndroid Build Coastguard Workerint lutimes(const char *filename, const struct timeval tv[2]) 7*c9945492SAndroid Build Coastguard Worker { 8*c9945492SAndroid Build Coastguard Worker struct timespec times[2]; 9*c9945492SAndroid Build Coastguard Worker if (tv) { 10*c9945492SAndroid Build Coastguard Worker times[0].tv_sec = tv[0].tv_sec; 11*c9945492SAndroid Build Coastguard Worker times[0].tv_nsec = tv[0].tv_usec * 1000; 12*c9945492SAndroid Build Coastguard Worker times[1].tv_sec = tv[1].tv_sec; 13*c9945492SAndroid Build Coastguard Worker times[1].tv_nsec = tv[1].tv_usec * 1000; 14*c9945492SAndroid Build Coastguard Worker } 15*c9945492SAndroid Build Coastguard Worker return utimensat(AT_FDCWD, filename, tv ? times : 0, AT_SYMLINK_NOFOLLOW); 16*c9945492SAndroid Build Coastguard Worker } 17