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};
56#define ADJ_OFFSET 0x0001
57#define ADJ_FREQUENCY 0x0002
58#define ADJ_MAXERROR 0x0004
59#define ADJ_ESTERROR 0x0008
60#define ADJ_STATUS 0x0010
61#define ADJ_TIMECONST 0x0020
62#define ADJ_TAI 0x0080
63#define ADJ_SETOFFSET 0x0100
64#define ADJ_MICRO 0x1000
65#define ADJ_NANO 0x2000
66#define ADJ_TICK 0x4000
67#define ADJ_OFFSET_SINGLESHOT 0x8001
68#define ADJ_OFFSET_SS_READ 0xa001
69#define MOD_OFFSET ADJ_OFFSET
70#define MOD_FREQUENCY ADJ_FREQUENCY
71#define MOD_MAXERROR ADJ_MAXERROR
72#define MOD_ESTERROR ADJ_ESTERROR
73#define MOD_STATUS ADJ_STATUS
74#define MOD_TIMECONST ADJ_TIMECONST
75#define MOD_TAI ADJ_TAI
76#define MOD_MICRO ADJ_MICRO
77#define MOD_NANO ADJ_NANO
78#define STA_PLL 0x0001
79#define STA_PPSFREQ 0x0002
80#define STA_PPSTIME 0x0004
81#define STA_FLL 0x0008
82#define STA_INS 0x0010
83#define STA_DEL 0x0020
84#define STA_UNSYNC 0x0040
85#define STA_FREQHOLD 0x0080
86#define STA_PPSSIGNAL 0x0100
87#define STA_PPSJITTER 0x0200
88#define STA_PPSWANDER 0x0400
89#define STA_PPSERROR 0x0800
90#define STA_CLOCKERR 0x1000
91#define STA_NANO 0x2000
92#define STA_MODE 0x4000
93#define STA_CLK 0x8000
94#define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)
95#define TIME_OK 0
96#define TIME_INS 1
97#define TIME_DEL 2
98#define TIME_OOP 3
99#define TIME_WAIT 4
100#define TIME_ERROR 5
101#define TIME_BAD TIME_ERROR
102#endif
103