#include #include #include #include #include static void print_tod(const struct timeval *tv, const struct timezone *tz) { if (tv) printf(" tv=%10ld.%06ld us", tv->tv_sec, tv->tv_usec); else fputs(" (tv null)", stdout); if (tz) printf(" tz=%d/%d", tz->tz_minuteswest, tz->tz_dsttime); else fputs(" (tz null)", stdout); fputc('\n', stdout); } static time_t t1, t2; static struct timeval tv1, tv2; static struct timezone tz1, tz2; int main(void) { int ret; fputs("Checking vtime with NULL param\n", stdout); t1 = time(NULL); printf(" %ld\n", t1); sleep(1); t2 = time(NULL); printf(" %ld (should be t1 + 1)\n", t2); fputs("Checking vtime with non NULL param\n", stdout); time(&t1); printf(" %ld\n", t1); sleep(1); time(&t2); printf(" %ld (should be t1 + 1)\n", t2); fputc('\n', stdout); fputs("Checking gettimeofday\n", stdout); ret = gettimeofday(&tv1, &tz1); printf(" ret=%d", ret); print_tod(&tv1, &tz1); sleep(1); ret = gettimeofday(&tv2, &tz2); printf(" ret=%d", ret); print_tod(&tv2, &tz2); fputs("Checking gettimeofday (tv NULL)\n", stdout); ret = gettimeofday(NULL, &tz1); printf(" ret=%d", ret); print_tod(NULL, &tz1); sleep(1); ret = gettimeofday(NULL, &tz2); printf(" ret=%d", ret); print_tod(NULL, &tz2); fputs("Checking gettimeofday (tz NULL)\n", stdout); ret = gettimeofday(&tv1, NULL); printf(" ret=%d", ret); print_tod(&tv1, NULL); sleep(1); ret = gettimeofday(&tv2, NULL); printf(" ret=%d", ret); print_tod(&tv2, NULL); fputs("Checking gettimeofday (tv and tz NULL)\n", stdout); ret = gettimeofday(NULL, NULL); printf(" ret=%d", ret); print_tod(NULL, NULL); sleep(1); ret = gettimeofday(NULL, NULL); printf(" ret=%d", ret); print_tod(NULL, NULL); return 0; }