PageRenderTime 41ms CodeModel.GetById 7ms app.highlight 27ms RepoModel.GetById 1ms app.codeStats 0ms

/contrib/ntp/ntpd/refclock_conf.c

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