/usr/include/time.h 
Linux, SuSE 7.3, gcc -v 2.95.3

/* Returned by `clock'. */ typedef __clock_t clock_t; /* Returned by `time'. */ typedef __time_t time_t; /* Clock ID used in clock and timer functions. */ typedef __clockid_t clockid_t; /* Timer ID returned by `timer_create'. */ typedef __timer_t timer_t; /* POSIX.1b structure for a time value. This is like a `struct timeval' but has nanoseconds instead of microseconds. */ struct timespec { long int tv_sec; /* Seconds. */ long int tv_nsec; /* Nanoseconds. */ }; /* Used by other time functions. */ struct tm { int tm_sec; /* Seconds. [0-60] (1 leap second) */ int tm_min; /* Minutes. [0-59]i */ int tm_hour; /* Hours. [0-23]i */ int tm_mday; /* Day. [1-31] */ int tm_mon; /* Month. [0-11] */ int tm_year; /* Year - 1900. */ int tm_wday; /* Day of week. [0-6] */ int tm_yday; /* Days in year. [0-365] */ int tm_isdst; /* DST. [-1/0/1] */ # ifdef __USE_BSD long int tm_gmtoff; /* Seconds east of UTC. */ __const char *tm_zone; /* Timezone abbreviation. */ # else long int __tm_gmtoff; /* Seconds east of UTC. */ __const char *__tm_zone; /* Timezone abbreviation. */ # endif }; #ifdef __USE_POSIX199309 /* POSIX.1b structure for timer start values and intervals. */ struct itimerspec { struct timespec it_interval; struct timespec it_value; }; /* We can use a simple forward declaration. */ struct sigevent;