1 /* time.h 4.3 83/06/10 */ 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 20 /* 21 * Operations on timevals. 22 * 23 * NB: timercmp does not work for >= or <=. 24 */ 25 #define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) 26 #define timercmp(tvp, uvp, cmp) \ 27 ((tvp)->tv_sec cmp (uvp)->tv_sec || \ 28 (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec) 29 #define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0 30 31 /* 32 * Names of the interval timers, and structure 33 * defining a timer setting. 34 */ 35 #define ITIMER_REAL 0 36 #define ITIMER_VIRTUAL 1 37 #define ITIMER_PROF 2 38 39 struct itimerval { 40 struct timeval it_interval; /* timer interval */ 41 struct timeval it_value; /* current value */ 42 }; 43 44 /* 45 * Structure returned by gmtime and localtime calls (see ctime(3)). 46 */ 47 struct tm { 48 int tm_sec; 49 int tm_min; 50 int tm_hour; 51 int tm_mday; 52 int tm_mon; 53 int tm_year; 54 int tm_wday; 55 int tm_yday; 56 int tm_isdst; 57 }; 58 59 #ifndef KERNEL 60 extern struct tm *gmtime(), *localtime(); 61 extern char *asctime(), *ctime(); 62 #endif 63