blob: 803eaece28de3e714dcc756b55a8cd85f0cd91dd [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_TIMEX_H
20#define _UAPI_LINUX_TIMEX_H
21#include <linux/time.h>
22#define NTP_API 4
Ben Cheng655a7c02013-10-16 16:09:24 -070023struct timex {
Tao Baod7db5942015-01-28 10:07:51 -080024 unsigned int modes;
25 __kernel_long_t offset;
26 __kernel_long_t freq;
Tao Baod7db5942015-01-28 10:07:51 -080027 __kernel_long_t maxerror;
28 __kernel_long_t esterror;
29 int status;
30 __kernel_long_t constant;
Tao Baod7db5942015-01-28 10:07:51 -080031 __kernel_long_t precision;
32 __kernel_long_t tolerance;
33 struct timeval time;
34 __kernel_long_t tick;
Tao Baod7db5942015-01-28 10:07:51 -080035 __kernel_long_t ppsfreq;
36 __kernel_long_t jitter;
37 int shift;
38 __kernel_long_t stabil;
Tao Baod7db5942015-01-28 10:07:51 -080039 __kernel_long_t jitcnt;
40 __kernel_long_t calcnt;
41 __kernel_long_t errcnt;
42 __kernel_long_t stbcnt;
Tao Baod7db5942015-01-28 10:07:51 -080043 int tai;
44 int : 32;
45 int : 32;
46 int : 32;
Tao Baod7db5942015-01-28 10:07:51 -080047 int : 32;
48 int : 32;
49 int : 32;
50 int : 32;
Tao Baod7db5942015-01-28 10:07:51 -080051 int : 32;
52 int : 32;
53 int : 32;
54 int : 32;
Ben Cheng655a7c02013-10-16 16:09:24 -070055};
Christopher Ferris24f97eb2019-05-20 12:58:13 -070056struct __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};
Ben Cheng655a7c02013-10-16 16:09:24 -070096#define ADJ_OFFSET 0x0001
97#define ADJ_FREQUENCY 0x0002
98#define ADJ_MAXERROR 0x0004
Ben Cheng655a7c02013-10-16 16:09:24 -070099#define ADJ_ESTERROR 0x0008
100#define ADJ_STATUS 0x0010
101#define ADJ_TIMECONST 0x0020
102#define ADJ_TAI 0x0080
Ben Cheng655a7c02013-10-16 16:09:24 -0700103#define ADJ_SETOFFSET 0x0100
104#define ADJ_MICRO 0x1000
105#define ADJ_NANO 0x2000
106#define ADJ_TICK 0x4000
Ben Cheng655a7c02013-10-16 16:09:24 -0700107#define ADJ_OFFSET_SINGLESHOT 0x8001
108#define ADJ_OFFSET_SS_READ 0xa001
109#define MOD_OFFSET ADJ_OFFSET
110#define MOD_FREQUENCY ADJ_FREQUENCY
Ben Cheng655a7c02013-10-16 16:09:24 -0700111#define MOD_MAXERROR ADJ_MAXERROR
112#define MOD_ESTERROR ADJ_ESTERROR
113#define MOD_STATUS ADJ_STATUS
114#define MOD_TIMECONST ADJ_TIMECONST
Ben Cheng655a7c02013-10-16 16:09:24 -0700115#define MOD_TAI ADJ_TAI
116#define MOD_MICRO ADJ_MICRO
117#define MOD_NANO ADJ_NANO
118#define STA_PLL 0x0001
Ben Cheng655a7c02013-10-16 16:09:24 -0700119#define STA_PPSFREQ 0x0002
120#define STA_PPSTIME 0x0004
121#define STA_FLL 0x0008
122#define STA_INS 0x0010
Ben Cheng655a7c02013-10-16 16:09:24 -0700123#define STA_DEL 0x0020
124#define STA_UNSYNC 0x0040
125#define STA_FREQHOLD 0x0080
126#define STA_PPSSIGNAL 0x0100
Ben Cheng655a7c02013-10-16 16:09:24 -0700127#define STA_PPSJITTER 0x0200
128#define STA_PPSWANDER 0x0400
129#define STA_PPSERROR 0x0800
130#define STA_CLOCKERR 0x1000
Ben Cheng655a7c02013-10-16 16:09:24 -0700131#define STA_NANO 0x2000
132#define STA_MODE 0x4000
133#define STA_CLK 0x8000
Tao Baod7db5942015-01-28 10:07:51 -0800134#define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)
Ben Cheng655a7c02013-10-16 16:09:24 -0700135#define TIME_OK 0
136#define TIME_INS 1
137#define TIME_DEL 2
138#define TIME_OOP 3
Ben Cheng655a7c02013-10-16 16:09:24 -0700139#define TIME_WAIT 4
140#define TIME_ERROR 5
141#define TIME_BAD TIME_ERROR
142#endif