f37c13cefee8f2a02e1b30ea995b4102b24f3ac1
[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_MICRO       ADJ_MICRO
54 #define MOD_NANO        ADJ_NANO
55
56 #define STA_PLL         0x0001
57 #define STA_PPSFREQ     0x0002
58 #define STA_PPSTIME     0x0004
59 #define STA_FLL         0x0008
60
61 #define STA_INS         0x0010
62 #define STA_DEL         0x0020
63 #define STA_UNSYNC      0x0040
64 #define STA_FREQHOLD    0x0080
65
66 #define STA_PPSSIGNAL   0x0100
67 #define STA_PPSJITTER   0x0200
68 #define STA_PPSWANDER   0x0400
69 #define STA_PPSERROR    0x0800
70
71 #define STA_CLOCKERR    0x1000
72 #define STA_NANO        0x2000
73 #define STA_MODE        0x4000
74 #define STA_CLK         0x8000
75
76 #define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \
77     STA_PPSERROR | STA_CLOCKERR)
78
79 #define TIME_OK         0
80 #define TIME_INS        1
81 #define TIME_DEL        2
82 #define TIME_OOP        3
83 #define TIME_WAIT       4
84 #define TIME_ERROR      5
85 #define TIME_BAD        TIME_ERROR
86
87 #define MAXTC           6
88
89 int adjtimex(struct timex *);
90 int clock_adjtime(clockid_t, struct timex *);
91
92 #ifdef __cplusplus
93 }
94 #endif
95
96 #endif