add MOD_TAI to sys/timex.h and update STA_RONLY
[musl] / include / sys / timex.h
1 #ifndef _SYS_TIMEX_H
2 #define _SYS_TIMEX_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #define __NEED_clockid_t
9
10 #include <bits/alltypes.h>
11
12 #include <sys/time.h>
13
14 struct ntptimeval {
15         struct timeval time;
16         long maxerror, esterror;
17 };
18
19 struct timex {
20         unsigned modes;
21         long offset, freq, maxerror, esterror;
22         int status;
23         long constant, precision, tolerance;
24         struct timeval time;
25         long tick, ppsfreq, jitter;
26         int shift;
27         long stabil, jitcnt, calcnt, errcnt, stbcnt;
28         int tai;
29         int __padding[11];
30 };
31
32 #define ADJ_OFFSET              0x0001
33 #define ADJ_FREQUENCY           0x0002
34 #define ADJ_MAXERROR            0x0004
35 #define ADJ_ESTERROR            0x0008
36 #define ADJ_STATUS              0x0010
37 #define ADJ_TIMECONST           0x0020
38 #define ADJ_TAI                 0x0080
39 #define ADJ_MICRO               0x1000
40 #define ADJ_NANO                0x2000
41 #define ADJ_TICK                0x4000
42 #define ADJ_OFFSET_SINGLESHOT   0x8001
43 #define ADJ_OFFSET_SS_READ      0xa001
44
45 #define MOD_OFFSET      ADJ_OFFSET
46 #define MOD_FREQUENCY   ADJ_FREQUENCY
47 #define MOD_MAXERROR    ADJ_MAXERROR
48 #define MOD_ESTERROR    ADJ_ESTERROR
49 #define MOD_STATUS      ADJ_STATUS
50 #define MOD_TIMECONST   ADJ_TIMECONST
51 #define MOD_CLKB        ADJ_TICK
52 #define MOD_CLKA        ADJ_OFFSET_SINGLESHOT
53 #define MOD_TAI         ADJ_TAI
54 #define MOD_MICRO       ADJ_MICRO
55 #define MOD_NANO        ADJ_NANO
56
57 #define STA_PLL         0x0001
58 #define STA_PPSFREQ     0x0002
59 #define STA_PPSTIME     0x0004
60 #define STA_FLL         0x0008
61
62 #define STA_INS         0x0010
63 #define STA_DEL         0x0020
64 #define STA_UNSYNC      0x0040
65 #define STA_FREQHOLD    0x0080
66
67 #define STA_PPSSIGNAL   0x0100
68 #define STA_PPSJITTER   0x0200
69 #define STA_PPSWANDER   0x0400
70 #define STA_PPSERROR    0x0800
71
72 #define STA_CLOCKERR    0x1000
73 #define STA_NANO        0x2000
74 #define STA_MODE        0x4000
75 #define STA_CLK         0x8000
76
77 #define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \
78     STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)
79
80 #define TIME_OK         0
81 #define TIME_INS        1
82 #define TIME_DEL        2
83 #define TIME_OOP        3
84 #define TIME_WAIT       4
85 #define TIME_ERROR      5
86 #define TIME_BAD        TIME_ERROR
87
88 #define MAXTC           6
89
90 int adjtimex(struct timex *);
91 int clock_adjtime(clockid_t, struct timex *);
92
93 #ifdef __cplusplus
94 }
95 #endif
96
97 #endif