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_SETOFFSET 0x0100
|
---|
40 | #define ADJ_MICRO 0x1000
|
---|
41 | #define ADJ_NANO 0x2000
|
---|
42 | #define ADJ_TICK 0x4000
|
---|
43 | #define ADJ_OFFSET_SINGLESHOT 0x8001
|
---|
44 | #define ADJ_OFFSET_SS_READ 0xa001
|
---|
45 |
|
---|
46 | #define MOD_OFFSET ADJ_OFFSET
|
---|
47 | #define MOD_FREQUENCY ADJ_FREQUENCY
|
---|
48 | #define MOD_MAXERROR ADJ_MAXERROR
|
---|
49 | #define MOD_ESTERROR ADJ_ESTERROR
|
---|
50 | #define MOD_STATUS ADJ_STATUS
|
---|
51 | #define MOD_TIMECONST ADJ_TIMECONST
|
---|
52 | #define MOD_CLKB ADJ_TICK
|
---|
53 | #define MOD_CLKA ADJ_OFFSET_SINGLESHOT
|
---|
54 | #define MOD_TAI ADJ_TAI
|
---|
55 | #define MOD_MICRO ADJ_MICRO
|
---|
56 | #define MOD_NANO ADJ_NANO
|
---|
57 |
|
---|
58 | #define STA_PLL 0x0001
|
---|
59 | #define STA_PPSFREQ 0x0002
|
---|
60 | #define STA_PPSTIME 0x0004
|
---|
61 | #define STA_FLL 0x0008
|
---|
62 |
|
---|
63 | #define STA_INS 0x0010
|
---|
64 | #define STA_DEL 0x0020
|
---|
65 | #define STA_UNSYNC 0x0040
|
---|
66 | #define STA_FREQHOLD 0x0080
|
---|
67 |
|
---|
68 | #define STA_PPSSIGNAL 0x0100
|
---|
69 | #define STA_PPSJITTER 0x0200
|
---|
70 | #define STA_PPSWANDER 0x0400
|
---|
71 | #define STA_PPSERROR 0x0800
|
---|
72 |
|
---|
73 | #define STA_CLOCKERR 0x1000
|
---|
74 | #define STA_NANO 0x2000
|
---|
75 | #define STA_MODE 0x4000
|
---|
76 | #define STA_CLK 0x8000
|
---|
77 |
|
---|
78 | #define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \
|
---|
79 | STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)
|
---|
80 |
|
---|
81 | #define TIME_OK 0
|
---|
82 | #define TIME_INS 1
|
---|
83 | #define TIME_DEL 2
|
---|
84 | #define TIME_OOP 3
|
---|
85 | #define TIME_WAIT 4
|
---|
86 | #define TIME_ERROR 5
|
---|
87 | #define TIME_BAD TIME_ERROR
|
---|
88 |
|
---|
89 | #define MAXTC 6
|
---|
90 |
|
---|
91 | int adjtimex(struct timex *);
|
---|
92 | int clock_adjtime(clockid_t, struct timex *);
|
---|
93 |
|
---|
94 | #ifdef __cplusplus
|
---|
95 | }
|
---|
96 | #endif
|
---|
97 |
|
---|
98 | #endif
|
---|