root/include/uapi/linux/time.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   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;                 /* seconds */
  12         long            tv_nsec;                /* nanoseconds */
  13 };
  14 #endif
  15 
  16 struct timeval {
  17         __kernel_time_t         tv_sec;         /* seconds */
  18         __kernel_suseconds_t    tv_usec;        /* microseconds */
  19 };
  20 
  21 struct timezone {
  22         int     tz_minuteswest; /* minutes west of Greenwich */
  23         int     tz_dsttime;     /* type of dst correction */
  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 /*
  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 /* _UAPI_LINUX_TIME_H */

/* [<][>][^][v][top][bottom][index][help] */