76 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2#ifndef _UAPI_LINUX_TIME_H3#define _UAPI_LINUX_TIME_H4 5#include <linux/types.h>6#include <linux/time_types.h>7 8#ifndef __KERNEL__9#ifndef _STRUCT_TIMESPEC10#define _STRUCT_TIMESPEC11struct timespec {12 __kernel_old_time_t tv_sec; /* seconds */13 long tv_nsec; /* nanoseconds */14};15#endif16 17struct timeval {18 __kernel_old_time_t tv_sec; /* seconds */19 __kernel_suseconds_t tv_usec; /* microseconds */20};21 22struct itimerspec {23 struct timespec it_interval;/* timer period */24 struct timespec it_value; /* timer expiration */25};26 27struct itimerval {28 struct timeval it_interval;/* timer interval */29 struct timeval it_value; /* current value */30};31#endif32 33struct timezone {34 int tz_minuteswest; /* minutes west of Greenwich */35 int tz_dsttime; /* type of dst correction */36};37 38/*39 * Names of the interval timers, and structure40 * defining a timer setting:41 */42#define ITIMER_REAL 043#define ITIMER_VIRTUAL 144#define ITIMER_PROF 245 46/*47 * The IDs of the various system clocks (for POSIX.1b interval timers):48 */49#define CLOCK_REALTIME 050#define CLOCK_MONOTONIC 151#define CLOCK_PROCESS_CPUTIME_ID 252#define CLOCK_THREAD_CPUTIME_ID 353#define CLOCK_MONOTONIC_RAW 454#define CLOCK_REALTIME_COARSE 555#define CLOCK_MONOTONIC_COARSE 656#define CLOCK_BOOTTIME 757#define CLOCK_REALTIME_ALARM 858#define CLOCK_BOOTTIME_ALARM 959/*60 * The driver implementing this got removed. The clock ID is kept as a61 * place holder. Do not reuse!62 */63#define CLOCK_SGI_CYCLE 1064#define CLOCK_TAI 1165 66#define MAX_CLOCKS 1667#define CLOCKS_MASK (CLOCK_REALTIME | CLOCK_MONOTONIC)68#define CLOCKS_MONO CLOCK_MONOTONIC69 70/*71 * The various flags for setting POSIX.1b interval timers:72 */73#define TIMER_ABSTIME 0x0174 75#endif /* _UAPI_LINUX_TIME_H */76