Home | History | Annotate | Download | only in linux
      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 */
     70