blob: df52295db872428c9d59104ca7c58a90ab39881b [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_LINUX_TIME_H
20#define _UAPI_LINUX_TIME_H
21#include <linux/types.h>
Christopher Ferris24f97eb2019-05-20 12:58:13 -070022#include <linux/time_types.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070023#ifndef _STRUCT_TIMESPEC
Ben Cheng655a7c02013-10-16 16:09:24 -070024#define _STRUCT_TIMESPEC
25struct timespec {
Christopher Ferrisd32ca142020-02-04 16:16:51 -080026 __kernel_old_time_t tv_sec;
Tao Baod7db5942015-01-28 10:07:51 -080027 long tv_nsec;
Ben Cheng655a7c02013-10-16 16:09:24 -070028};
29#endif
30struct timeval {
Christopher Ferrisd32ca142020-02-04 16:16:51 -080031 __kernel_old_time_t tv_sec;
Tao Baod7db5942015-01-28 10:07:51 -080032 __kernel_suseconds_t tv_usec;
Ben Cheng655a7c02013-10-16 16:09:24 -070033};
Ben Cheng655a7c02013-10-16 16:09:24 -070034struct itimerspec {
Tao Baod7db5942015-01-28 10:07:51 -080035 struct timespec it_interval;
36 struct timespec it_value;
Ben Cheng655a7c02013-10-16 16:09:24 -070037};
38struct itimerval {
Tao Baod7db5942015-01-28 10:07:51 -080039 struct timeval it_interval;
40 struct timeval it_value;
Ben Cheng655a7c02013-10-16 16:09:24 -070041};
Christopher Ferrisbb9fcb42020-04-06 11:38:04 -070042struct timezone {
43 int tz_minuteswest;
44 int tz_dsttime;
45};
46#define ITIMER_REAL 0
47#define ITIMER_VIRTUAL 1
48#define ITIMER_PROF 2
Ben Cheng655a7c02013-10-16 16:09:24 -070049#define CLOCK_REALTIME 0
50#define CLOCK_MONOTONIC 1
51#define CLOCK_PROCESS_CPUTIME_ID 2
Ben Cheng655a7c02013-10-16 16:09:24 -070052#define CLOCK_THREAD_CPUTIME_ID 3
53#define CLOCK_MONOTONIC_RAW 4
54#define CLOCK_REALTIME_COARSE 5
55#define CLOCK_MONOTONIC_COARSE 6
Ben Cheng655a7c02013-10-16 16:09:24 -070056#define CLOCK_BOOTTIME 7
57#define CLOCK_REALTIME_ALARM 8
58#define CLOCK_BOOTTIME_ALARM 9
59#define CLOCK_SGI_CYCLE 10
Ben Cheng655a7c02013-10-16 16:09:24 -070060#define CLOCK_TAI 11
61#define MAX_CLOCKS 16
62#define CLOCKS_MASK (CLOCK_REALTIME | CLOCK_MONOTONIC)
63#define CLOCKS_MONO CLOCK_MONOTONIC
Ben Cheng655a7c02013-10-16 16:09:24 -070064#define TIMER_ABSTIME 0x01
65#endif