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