1/****************************************************************************
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_TIMEX_H
20#define _UAPI_LINUX_TIMEX_H
21#include <linux/time.h>
22#define NTP_API 4
23struct timex {
24  unsigned int modes;
25  __kernel_long_t offset;
26  __kernel_long_t freq;
27  __kernel_long_t maxerror;
28  __kernel_long_t esterror;
29  int status;
30  __kernel_long_t constant;
31  __kernel_long_t precision;
32  __kernel_long_t tolerance;
33  struct timeval time;
34  __kernel_long_t tick;
35  __kernel_long_t ppsfreq;
36  __kernel_long_t jitter;
37  int shift;
38  __kernel_long_t stabil;
39  __kernel_long_t jitcnt;
40  __kernel_long_t calcnt;
41  __kernel_long_t errcnt;
42  __kernel_long_t stbcnt;
43  int tai;
44  int : 32;
45  int : 32;
46  int : 32;
47  int : 32;
48  int : 32;
49  int : 32;
50  int : 32;
51  int : 32;
52  int : 32;
53  int : 32;
54  int : 32;
55};
56struct __kernel_timex_timeval {
57  __kernel_time64_t tv_sec;
58  long long tv_usec;
59};
60struct __kernel_timex {
61  unsigned int modes;
62  int : 32;
63  long long offset;
64  long long freq;
65  long long maxerror;
66  long long esterror;
67  int status;
68  int : 32;
69  long long constant;
70  long long precision;
71  long long tolerance;
72  struct __kernel_timex_timeval time;
73  long long tick;
74  long long ppsfreq;
75  long long jitter;
76  int shift;
77  int : 32;
78  long long stabil;
79  long long jitcnt;
80  long long calcnt;
81  long long errcnt;
82  long long stbcnt;
83  int tai;
84  int : 32;
85  int : 32;
86  int : 32;
87  int : 32;
88  int : 32;
89  int : 32;
90  int : 32;
91  int : 32;
92  int : 32;
93  int : 32;
94  int : 32;
95};
96#define ADJ_OFFSET 0x0001
97#define ADJ_FREQUENCY 0x0002
98#define ADJ_MAXERROR 0x0004
99#define ADJ_ESTERROR 0x0008
100#define ADJ_STATUS 0x0010
101#define ADJ_TIMECONST 0x0020
102#define ADJ_TAI 0x0080
103#define ADJ_SETOFFSET 0x0100
104#define ADJ_MICRO 0x1000
105#define ADJ_NANO 0x2000
106#define ADJ_TICK 0x4000
107#define ADJ_OFFSET_SINGLESHOT 0x8001
108#define ADJ_OFFSET_SS_READ 0xa001
109#define MOD_OFFSET ADJ_OFFSET
110#define MOD_FREQUENCY ADJ_FREQUENCY
111#define MOD_MAXERROR ADJ_MAXERROR
112#define MOD_ESTERROR ADJ_ESTERROR
113#define MOD_STATUS ADJ_STATUS
114#define MOD_TIMECONST ADJ_TIMECONST
115#define MOD_TAI ADJ_TAI
116#define MOD_MICRO ADJ_MICRO
117#define MOD_NANO ADJ_NANO
118#define STA_PLL 0x0001
119#define STA_PPSFREQ 0x0002
120#define STA_PPSTIME 0x0004
121#define STA_FLL 0x0008
122#define STA_INS 0x0010
123#define STA_DEL 0x0020
124#define STA_UNSYNC 0x0040
125#define STA_FREQHOLD 0x0080
126#define STA_PPSSIGNAL 0x0100
127#define STA_PPSJITTER 0x0200
128#define STA_PPSWANDER 0x0400
129#define STA_PPSERROR 0x0800
130#define STA_CLOCKERR 0x1000
131#define STA_NANO 0x2000
132#define STA_MODE 0x4000
133#define STA_CLK 0x8000
134#define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)
135#define TIME_OK 0
136#define TIME_INS 1
137#define TIME_DEL 2
138#define TIME_OOP 3
139#define TIME_WAIT 4
140#define TIME_ERROR 5
141#define TIME_BAD TIME_ERROR
142#endif
143