Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / uapi / linux / time.h
1 #ifndef _UAPI_LINUX_TIME_H
2 #define _UAPI_LINUX_TIME_H
3
4 #include <linux/types.h>
5
6
7 #ifndef _STRUCT_TIMESPEC
8 #define _STRUCT_TIMESPEC
9 struct timespec {
10         __kernel_time_t tv_sec;                 /* seconds */
11         long            tv_nsec;                /* nanoseconds */
12 };
13 #endif
14
15 struct timeval {
16         __kernel_time_t         tv_sec;         /* seconds */
17         __kernel_suseconds_t    tv_usec;        /* microseconds */
18 };
19
20 struct timezone {
21         int     tz_minuteswest; /* minutes west of Greenwich */
22         int     tz_dsttime;     /* type of dst correction */
23 };
24
25
26 /*
27  * Names of the interval timers, and structure
28  * defining a timer setting:
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;    /* timer period */
36         struct timespec it_value;       /* timer expiration */
37 };
38
39 struct itimerval {
40         struct timeval it_interval;     /* timer interval */
41         struct timeval it_value;        /* current value */
42 };
43
44 /*
45  * The IDs of the various system clocks (for POSIX.1b interval timers):
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 #define CLOCK_SGI_CYCLE                 10      /* Hardware specific */
58 #define CLOCK_TAI                       11
59
60 #define MAX_CLOCKS                      16
61 #define CLOCKS_MASK                     (CLOCK_REALTIME | CLOCK_MONOTONIC)
62 #define CLOCKS_MONO                     CLOCK_MONOTONIC
63
64 /*
65  * The various flags for setting POSIX.1b interval timers:
66  */
67 #define TIMER_ABSTIME                   0x01
68
69 #endif /* _UAPI_LINUX_TIME_H */