zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

time.h (1751B) - Raw


      1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
      2 #ifndef _LINUX_TIME_H
      3 #define _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_old_time_t	tv_sec;		/* seconds */
     12 	long			tv_nsec;	/* nanoseconds */
     13 };
     14 #endif
     15 
     16 struct timeval {
     17 	__kernel_old_time_t	tv_sec;		/* seconds */
     18 	__kernel_suseconds_t	tv_usec;	/* microseconds */
     19 };
     20 
     21 struct itimerspec {
     22 	struct timespec it_interval;/* timer period */
     23 	struct timespec it_value;	/* timer expiration */
     24 };
     25 
     26 struct itimerval {
     27 	struct timeval it_interval;/* timer interval */
     28 	struct timeval it_value;	/* current value */
     29 };
     30 
     31 struct timezone {
     32 	int	tz_minuteswest;	/* minutes west of Greenwich */
     33 	int	tz_dsttime;	/* type of dst correction */
     34 };
     35 
     36 /*
     37  * Names of the interval timers, and structure
     38  * defining a timer setting:
     39  */
     40 #define	ITIMER_REAL		0
     41 #define	ITIMER_VIRTUAL		1
     42 #define	ITIMER_PROF		2
     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 /*
     58  * The driver implementing this got removed. The clock ID is kept as a
     59  * place holder. Do not reuse!
     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  * The various flags for setting POSIX.1b interval timers:
     70  */
     71 #define TIMER_ABSTIME			0x01
     72 
     73 #endif /* _LINUX_TIME_H */