1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
|
/*
* refclock_conf.c - reference clock configuration
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <stdio.h>
#include <sys/types.h>
#include "ntpd.h"
#include "ntp_refclock.h"
#include "ntp_stdlib.h"
#ifdef REFCLOCK
static struct refclock refclock_none = {
noentry, noentry, noentry, noentry, noentry, noentry, NOFLAGS
};
#ifdef CLOCK_LOCAL
extern struct refclock refclock_local;
#else
#define refclock_local refclock_none
#endif
#ifdef CLOCK_PST
extern struct refclock refclock_pst;
#else
#define refclock_pst refclock_none
#endif
#ifdef CLOCK_CHU
extern struct refclock refclock_chu;
#else
#define refclock_chu refclock_none
#endif
#ifdef CLOCK_WWV
extern struct refclock refclock_wwv;
#else
#define refclock_wwv refclock_none
#endif
#ifdef CLOCK_SPECTRACOM
extern struct refclock refclock_wwvb;
#else
#define refclock_wwvb refclock_none
#endif
#ifdef CLOCK_PARSE
extern struct refclock refclock_parse;
#else
#define refclock_parse refclock_none
#endif
#if defined(CLOCK_MX4200) && defined(HAVE_PPSAPI)
extern struct refclock refclock_mx4200;
#else
#define refclock_mx4200 refclock_none
#endif
#ifdef CLOCK_AS2201
extern struct refclock refclock_as2201;
#else
#define refclock_as2201 refclock_none
#endif
#ifdef CLOCK_ARBITER
extern struct refclock refclock_arbiter;
#else
#define refclock_arbiter refclock_none
#endif
#ifdef CLOCK_TPRO
extern struct refclock refclock_tpro;
#else
#define refclock_tpro refclock_none
#endif
#ifdef CLOCK_LEITCH
extern struct refclock refclock_leitch;
#else
#define refclock_leitch refclock_none
#endif
#ifdef CLOCK_IRIG
extern struct refclock refclock_irig;
#else
#define refclock_irig refclock_none
#endif
#if 0 && defined(CLOCK_MSFEES) && defined(PPS)
extern struct refclock refclock_msfees;
#else
#define refclock_msfees refclock_none
#endif
#ifdef CLOCK_BANC
extern struct refclock refclock_bancomm;
#else
#define refclock_bancomm refclock_none
#endif
#ifdef CLOCK_TRUETIME
extern struct refclock refclock_true;
#else
#define refclock_true refclock_none
#endif
#ifdef CLOCK_DATUM
extern struct refclock refclock_datum;
#else
#define refclock_datum refclock_none
#endif
#ifdef CLOCK_ACTS
extern struct refclock refclock_acts;
#else
#define refclock_acts refclock_none
#endif
#ifdef CLOCK_HEATH
extern struct refclock refclock_heath;
#else
#define refclock_heath refclock_none
#endif
#ifdef CLOCK_NMEA
extern struct refclock refclock_nmea;
#else
#define refclock_nmea refclock_none
#endif
#if defined (CLOCK_ATOM) && defined(HAVE_PPSAPI)
extern struct refclock refclock_atom;
#else
#define refclock_atom refclock_none
#endif
#ifdef CLOCK_HPGPS
extern struct refclock refclock_hpgps;
#else
#define refclock_hpgps refclock_none
#endif
#ifdef CLOCK_GPSVME
extern struct refclock refclock_gpsvme;
#else
#define refclock_gpsvme refclock_none
#endif
#ifdef CLOCK_ARCRON_MSF
extern struct refclock refclock_arc;
#else
#define refclock_arc refclock_none
#endif
#ifdef CLOCK_SHM
extern struct refclock refclock_shm;
#else
#define refclock_shm refclock_none
#endif
#ifdef CLOCK_PALISADE
extern struct refclock refclock_palisade;
#else
#define refclock_palisade refclock_none
#endif
#if defined(CLOCK_ONCORE)
extern struct refclock refclock_oncore;
#else
#define refclock_oncore refclock_none
#endif
#if defined(CLOCK_JUPITER) && defined(HAVE_PPSAPI)
extern struct refclock refclock_jupiter;
#else
#define refclock_jupiter refclock_none
#endif
#if defined(CLOCK_CHRONOLOG)
extern struct refclock refclock_chronolog;
#else
#define refclock_chronolog refclock_none
#endif
#if defined(CLOCK_DUMBCLOCK)
extern struct refclock refclock_dumbclock;
#else
#define refclock_dumbclock refclock_none
#endif
#ifdef CLOCK_ULINK
extern struct refclock refclock_ulink;
#else
#define refclock_ulink refclock_none
#endif
#ifdef CLOCK_PCF
extern struct refclock refclock_pcf;
#else
#define refclock_pcf refclock_none
#endif
#ifdef CLOCK_FG
extern struct refclock refclock_fg;
#else
#define refclock_fg refclock_none
#endif
#ifdef CLOCK_HOPF_SERIAL
extern struct refclock refclock_hopfser;
#else
#define refclock_hopfser refclock_none
#endif
#ifdef CLOCK_HOPF_PCI
extern struct refclock refclock_hopfpci;
#else
#define refclock_hopfpci refclock_none
#endif
#ifdef CLOCK_JJY
extern struct refclock refclock_jjy;
#else
#define refclock_jjy refclock_none
#endif
#ifdef CLOCK_TT560
extern struct refclock refclock_tt560;
#else
#define refclock_tt560 refclock_none
#endif
#ifdef CLOCK_ZYFER
extern struct refclock refclock_zyfer;
#else
#define refclock_zyfer refclock_none
#endif
#ifdef CLOCK_RIPENCC
extern struct refclock refclock_ripencc;
#else
#define refclock_ripencc refclock_none
#endif
#ifdef CLOCK_NEOCLOCK4X
extern struct refclock refclock_neoclock4x;
#else
#define refclock_neoclock4x refclock_none
#endif
#ifdef CLOCK_TSYNCPCI
extern struct refclock refclock_tsyncpci;
#else
#define refclock_tsyncpci refclock_none
#endif
#if defined(CLOCK_GPSDJSON) && !defined(SYS_WINNT)
extern struct refclock refclock_gpsdjson;
#else
#define refclock_gpsdjson refclock_none
#endif
/*
* Order is clock_start(), clock_shutdown(), clock_poll(),
* clock_control(), clock_init(), clock_buginfo, clock_flags;
*
* Types are defined in ntp.h. The index must match this.
*/
struct refclock * const refclock_conf[] = {
&refclock_none, /* 0 REFCLK_NONE */
&refclock_local, /* 1 REFCLK_LOCAL */
&refclock_none, /* 2 deprecated: REFCLK_GPS_TRAK */
&refclock_pst, /* 3 REFCLK_WWV_PST */
&refclock_wwvb, /* 4 REFCLK_SPECTRACOM */
&refclock_true, /* 5 REFCLK_TRUETIME */
&refclock_irig, /* 6 REFCLK_IRIG_AUDIO */
&refclock_chu, /* 7 REFCLK_CHU_AUDIO */
&refclock_parse, /* 8 REFCLK_PARSE */
&refclock_mx4200, /* 9 REFCLK_GPS_MX4200 */
&refclock_as2201, /* 10 REFCLK_GPS_AS2201 */
&refclock_arbiter, /* 11 REFCLK_GPS_ARBITER */
&refclock_tpro, /* 12 REFCLK_IRIG_TPRO */
&refclock_leitch, /* 13 REFCLK_ATOM_LEITCH */
&refclock_none, /* 14 deprecated: REFCLK_MSF_EES */
&refclock_none, /* 15 not used */
&refclock_bancomm, /* 16 REFCLK_IRIG_BANCOMM */
&refclock_datum, /* 17 REFCLK_GPS_DATUM */
&refclock_acts, /* 18 REFCLK_ACTS */
&refclock_heath, /* 19 REFCLK_WWV_HEATH */
&refclock_nmea, /* 20 REFCLK_GPS_NMEA */
&refclock_gpsvme, /* 21 REFCLK_GPS_VME */
&refclock_atom, /* 22 REFCLK_ATOM_PPS */
&refclock_none, /* 23 not used */
&refclock_none, /* 24 not used */
&refclock_none, /* 25 not used */
&refclock_hpgps, /* 26 REFCLK_GPS_HP */
&refclock_arc, /* 27 REFCLK_ARCRON_MSF */
&refclock_shm, /* 28 REFCLK_SHM */
&refclock_palisade, /* 29 REFCLK_PALISADE */
&refclock_oncore, /* 30 REFCLK_ONCORE */
&refclock_jupiter, /* 31 REFCLK_GPS_JUPITER */
&refclock_chronolog, /* 32 REFCLK_CHRONOLOG */
&refclock_dumbclock, /* 33 REFCLK_DUMBCLOCK */
&refclock_ulink, /* 34 REFCLOCK_ULINK */
&refclock_pcf, /* 35 REFCLOCK_PCF */
&refclock_wwv, /* 36 REFCLOCK_WWV_AUDIO */
&refclock_fg, /* 37 REFCLOCK_FG */
&refclock_hopfser, /* 38 REFCLK_HOPF_SERIAL */
&refclock_hopfpci, /* 39 REFCLK_HOPF_PCI */
&refclock_jjy, /* 40 REFCLK_JJY */
&refclock_tt560, /* 41 REFCLK_TT560 */
&refclock_zyfer, /* 42 REFCLK_ZYFER */
&refclock_ripencc, /* 43 REFCLK_RIPENCC */
&refclock_neoclock4x, /* 44 REFCLK_NEOCLOCK4X */
&refclock_tsyncpci, /* 45 REFCLK_TSYNCPCI */
&refclock_gpsdjson /* 46 REFCLK_GPSDJSON */
};
u_char num_refclock_conf = sizeof(refclock_conf)/sizeof(struct refclock *);
#else
int refclock_conf_bs;
#endif
|