1
2 #ifndef _UAPI_LINUX_TIME_H
3 #define _UAPI_LINUX_TIME_H
4
5 #include <linux/types.h>
6 #include <linux/time_types.h>
7
8 #ifndef _STRUCT_TIMESPEC
9 #define _STRUCT_TIMESPEC
10 struct timespec {
11 __kernel_time_t tv_sec;
12 long tv_nsec;
13 };
14 #endif
15
16 struct timeval {
17 __kernel_time_t tv_sec;
18 __kernel_suseconds_t tv_usec;
19 };
20
21 struct timezone {
22 int tz_minuteswest;
23 int tz_dsttime;
24 };
25
26
27
28
29
30 #define ITIMER_REAL 0
31 #define ITIMER_VIRTUAL 1
32 #define ITIMER_PROF 2
33
34 struct itimerspec {
35 struct timespec it_interval;
36 struct timespec it_value;
37 };
38
39 struct itimerval {
40 struct timeval it_interval;
41 struct timeval it_value;
42 };
43
44
45
46
47 #define CLOCK_REALTIME 0
48 #define CLOCK_MONOTONIC 1
49 #define CLOCK_PROCESS_CPUTIME_ID 2
50 #define CLOCK_THREAD_CPUTIME_ID 3
51 #define CLOCK_MONOTONIC_RAW 4
52 #define CLOCK_REALTIME_COARSE 5
53 #define CLOCK_MONOTONIC_COARSE 6
54 #define CLOCK_BOOTTIME 7
55 #define CLOCK_REALTIME_ALARM 8
56 #define CLOCK_BOOTTIME_ALARM 9
57
58
59
60
61 #define CLOCK_SGI_CYCLE 10
62 #define CLOCK_TAI 11
63
64 #define MAX_CLOCKS 16
65 #define CLOCKS_MASK (CLOCK_REALTIME | CLOCK_MONOTONIC)
66 #define CLOCKS_MONO CLOCK_MONOTONIC
67
68
69
70
71 #define TIMER_ABSTIME 0x01
72
73 #endif