1 /* time.h 6.2 85/03/13 */ 2 3 /* 4 * Structure returned by gettimeofday(2) system call, 5 * and used in other calls. 6 */ 7 struct timeval { 8 long tv_sec; /* seconds */ 9 long tv_usec; /* and microseconds */ 10 }; 11 12 struct timezone { 13 int tz_minuteswest; /* minutes west of Greenwich */ 14 int tz_dsttime; /* type of dst correction */ 15 }; 16 #define DST_NONE 0 /* not on dst */ 17 #define DST_USA 1 /* USA style dst */ 18 #define DST_AUST 2 /* Australian style dst */ 19 #define DST_WET 3 /* Western European dst */ 20 #define DST_MET 4 /* Middle European dst */ 21 #define DST_EET 5 /* Eastern European dst */ 22 23 /* 24 * Operations on timevals. 25 * 26 * NB: timercmp does not work for >= or <=. 27 */ 28 #define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) 29 #define timercmp(tvp, uvp, cmp) \ 30 ((tvp)->tv_sec cmp (uvp)->tv_sec || \ 31 (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec) 32 #define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0 33 34 /* 35 * Names of the interval timers, and structure 36 * defining a timer setting. 37 */ 38 #define ITIMER_REAL 0 39 #define ITIMER_VIRTUAL 1 40 #define ITIMER_PROF 2 41 42 struct itimerval { 43 struct timeval it_interval; /* timer interval */ 44 struct timeval it_value; /* current value */ 45 }; 46 47 #ifndef KERNEL 48 #include <time.h> 49 #endif 50