1da2e3ebdSchinhdr time 2da2e3ebdSchinlib clock_settime,gettimeofday,settimeofday,stime,utimes 3da2e3ebdSchinlib nanosleep,usleep 4*3e14f97fSRoger A. Faulknerlib utimensat -D_ATFILE_SOURCE sys/stat.h note{ complete utimensat implementation }end link{ 5*3e14f97fSRoger A. Faulkner #include <fcntl.h> 6*3e14f97fSRoger A. Faulkner static struct timespec ts[2]; 7*3e14f97fSRoger A. Faulkner int 8*3e14f97fSRoger A. Faulkner main() 9*3e14f97fSRoger A. Faulkner { 10*3e14f97fSRoger A. Faulkner ts[0].tv_nsec = UTIME_NOW; 11*3e14f97fSRoger A. Faulkner ts[1].tv_nsec = UTIME_OMIT; 12*3e14f97fSRoger A. Faulkner return utimensat(AT_FDCWD, ".", ts, AT_SYMLINK_NOFOLLOW) != 0; 13*3e14f97fSRoger A. Faulkner } 14*3e14f97fSRoger A. Faulkner}end 15da2e3ebdSchin 16da2e3ebdSchinif ! mem timeval.tv_sec sys/time.h { 17da2e3ebdSchin struct timeval 18da2e3ebdSchin { 19da2e3ebdSchin time_t tv_sec; 20da2e3ebdSchin time_t tv_usec; 21da2e3ebdSchin }; 22da2e3ebdSchin} 23da2e3ebdSchinendif 24da2e3ebdSchin 25da2e3ebdSchinlib clock_gettime execute{ 26da2e3ebdSchin #include <time.h> 27*3e14f97fSRoger A. Faulkner int 28da2e3ebdSchin main() 29da2e3ebdSchin { 30da2e3ebdSchin struct timespec tv; 31da2e3ebdSchin return clock_gettime(CLOCK_REALTIME, &tv) != 0; 32da2e3ebdSchin } 33da2e3ebdSchin}end 34da2e3ebdSchin 35da2e3ebdSchinlib utimets link{ 36da2e3ebdSchin #include <time.h> 37da2e3ebdSchin #include <sys/time.h> 38da2e3ebdSchin static struct timespec tv; 39*3e14f97fSRoger A. Faulkner int 40da2e3ebdSchin main() 41da2e3ebdSchin { 42da2e3ebdSchin return utimets(".", &tv) != 0; 43da2e3ebdSchin } 44da2e3ebdSchin}end 45da2e3ebdSchin 46da2e3ebdSchintst - -DN=1 - -DN=2 - -DN=3 - -DN=4 output{ 47da2e3ebdSchin #include <sys/types.h> 48da2e3ebdSchin #include <sys/time.h> 49da2e3ebdSchin int 50da2e3ebdSchin main() 51da2e3ebdSchin { 52da2e3ebdSchin struct timeval tv; 53da2e3ebdSchin#if N == 1 54da2e3ebdSchin struct timezone tz; 55da2e3ebdSchin if (gettimeofday(&tv, (struct timezone*)0) < 0) 56da2e3ebdSchin return 1; 57da2e3ebdSchin printf("#define tmgettimeofday(p) gettimeofday(p,(struct timezone*)0)\n"); 58da2e3ebdSchin#if _lib_settimeofday 59da2e3ebdSchin printf("#define tmsettimeofday(p) settimeofday(p,(struct timezone*)0)\n"); 60da2e3ebdSchin#endif 61da2e3ebdSchin#endif 62da2e3ebdSchin#if N == 2 63da2e3ebdSchin if (gettimeofday(&tv, (void*)0) < 0) 64da2e3ebdSchin return 1; 65da2e3ebdSchin printf("#define tmgettimeofday(p) gettimeofday(p,(void*)0)\n"); 66da2e3ebdSchin#if _lib_settimeofday 67da2e3ebdSchin printf("#define tmsettimeofday(p) gettimeofday(p,(void*)0)\n"); 68da2e3ebdSchin#endif 69da2e3ebdSchin#endif 70da2e3ebdSchin#if N == 3 71da2e3ebdSchin if (gettimeofday(&tv) < 0) 72da2e3ebdSchin return 1; 73da2e3ebdSchin printf("#define tmgettimeofday(p) gettimeofday(p)\n"); 74da2e3ebdSchin#if _lib_settimeofday 75da2e3ebdSchin printf("#define tmsettimeofday(p) settimeofday(p)\n"); 76da2e3ebdSchin#endif 77da2e3ebdSchin#endif 78da2e3ebdSchin return 0; 79da2e3ebdSchin } 80da2e3ebdSchin}end 81