linux/include/uapi/linux/time.h
<<
>>
Prefs
   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
   9struct timespec {
  10        __kernel_time_t tv_sec;                 /* seconds */
  11        long            tv_nsec;                /* nanoseconds */
  12};
  13#endif
  14
  15struct timeval {
  16        __kernel_time_t         tv_sec;         /* seconds */
  17        __kernel_suseconds_t    tv_usec;        /* microseconds */
  18};
  19
  20struct 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
  34struct itimerspec {
  35        struct timespec it_interval;    /* timer period */
  36        struct timespec it_value;       /* timer expiration */
  37};
  38
  39struct 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