1 #ifndef _SYS_TIME_H
2 #define _SYS_TIME_H
3
4
5 struct timeval {
6 long tv_sec;
7 long tv_usec;
8 };
9
10 struct timezone {
11 int tz_minuteswest;
12 int tz_dsttime;
13 };
14
15 #define DST_NONE 0
16 #define DST_USA 1
17 #define DST_AUST 2
18 #define DST_WET 3
19 #define DST_MET 4
20 #define DST_EET 5
21 #define DST_CAN 6
22 #define DST_GB 7
23 #define DST_RUM 8
24 #define DST_TUR 9
25 #define DST_AUSTALT 10
26
27 #define FD_SETSIZE (8*sizeof(fd_set))
28 #define FD_SET(fd,fdsetp) (*(fdsetp) |= (1 << (fd)))
29 #define FD_CLR(fd,fdsetp) (*(fdsetp) &= ~(1 << (fd)))
30 #define FD_ISSET(fd,fdsetp) ((*(fdsetp) >> fd) & 1)
31 #define FD_ZERO(fdsetp) (*(fdsetp) = 0)
32
33
34
35
36
37
38 #define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
39 #define timercmp(tvp, uvp, cmp) \
40 ((tvp)->tv_sec cmp (uvp)->tv_sec || \
41 (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec)
42 #define timerclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0)
43
44
45
46
47
48 #define ITIMER_REAL 0
49 #define ITIMER_VIRTUAL 1
50 #define ITIMER_PROF 2
51
52 struct itimerval {
53 struct timeval it_interval;
54 struct timeval it_value;
55 };
56
57 #include <time.h>
58 #include <sys/types.h>
59
60 int gettimeofday(struct timeval * tp, struct timezone * tz);
61 int select(int width, fd_set * readfds, fd_set * writefds,
62 fd_set * exceptfds, struct timeval * timeout);
63
64 #endif