xref: /original-bsd/sys/sys/time.h (revision 40192f2d)
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