File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / ntp / ntpd / refclock_conf.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue May 29 12:08:38 2012 UTC (12 years, 2 months ago) by misho
Branches: ntp, MAIN
CVS tags: v4_2_6p5p0, v4_2_6p5, HEAD
ntp 4.2.6p5

    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: 
   17: static struct refclock refclock_none = {
   18: 	noentry, noentry, noentry, noentry, noentry, noentry, NOFLAGS
   19: };
   20: 
   21: #ifdef CLOCK_LOCAL
   22: extern	struct refclock	refclock_local;
   23: #else
   24: #define	refclock_local	refclock_none
   25: #endif
   26: 
   27: #if 0 && defined(CLOCK_TRAK) && defined(PPS)
   28: extern	struct refclock	refclock_trak;
   29: #else
   30: #define	refclock_trak	refclock_none
   31: #endif
   32: 
   33: #ifdef CLOCK_PST
   34: extern	struct refclock	refclock_pst;
   35: #else
   36: #define	refclock_pst	refclock_none
   37: #endif
   38: 
   39: #ifdef CLOCK_CHU
   40: extern	struct refclock	refclock_chu;
   41: #else
   42: #define	refclock_chu	refclock_none
   43: #endif
   44: 
   45: #ifdef CLOCK_WWV
   46: extern  struct refclock refclock_wwv;
   47: #else
   48: #define refclock_wwv    refclock_none
   49: #endif
   50: 
   51: #ifdef CLOCK_SPECTRACOM
   52: extern	struct refclock	refclock_wwvb;
   53: #else
   54: #define	refclock_wwvb	refclock_none
   55: #endif
   56: 
   57: #ifdef CLOCK_PARSE
   58: extern	struct refclock	refclock_parse;
   59: #else
   60: #define	refclock_parse	refclock_none
   61: #endif
   62: 
   63: #if defined(CLOCK_MX4200) && defined(HAVE_PPSAPI)
   64: extern	struct refclock	refclock_mx4200;
   65: #else
   66: #define	refclock_mx4200	refclock_none
   67: #endif
   68: 
   69: #ifdef CLOCK_AS2201
   70: extern	struct refclock	refclock_as2201;
   71: #else
   72: #define	refclock_as2201	refclock_none
   73: #endif
   74: 
   75: #ifdef CLOCK_ARBITER
   76: extern  struct refclock refclock_arbiter;
   77: #else
   78: #define refclock_arbiter refclock_none
   79: #endif
   80: 
   81: #ifdef CLOCK_TPRO
   82: extern	struct refclock	refclock_tpro;
   83: #else
   84: #define	refclock_tpro	refclock_none
   85: #endif
   86: 
   87: #ifdef CLOCK_LEITCH
   88: extern	struct refclock	refclock_leitch;
   89: #else
   90: #define	refclock_leitch	refclock_none
   91: #endif
   92: 
   93: #ifdef CLOCK_IRIG
   94: extern	struct refclock	refclock_irig;
   95: #else
   96: #define refclock_irig	refclock_none
   97: #endif
   98: 
   99: #if 0 && defined(CLOCK_MSFEES) && defined(PPS)
  100: extern	struct refclock	refclock_msfees;
  101: #else
  102: #define refclock_msfees	refclock_none
  103: #endif
  104: 
  105: #ifdef CLOCK_BANC
  106: extern	struct refclock refclock_bancomm;
  107: #else
  108: #define refclock_bancomm refclock_none
  109: #endif
  110: 
  111: #ifdef CLOCK_TRUETIME
  112: extern	struct refclock	refclock_true;
  113: #else
  114: #define	refclock_true	refclock_none
  115: #endif
  116: 
  117: #ifdef CLOCK_DATUM
  118: extern	struct refclock	refclock_datum;
  119: #else
  120: #define refclock_datum	refclock_none
  121: #endif
  122: 
  123: #ifdef CLOCK_ACTS
  124: extern	struct refclock	refclock_acts;
  125: #else
  126: #define refclock_acts	refclock_none
  127: #endif
  128: 
  129: #ifdef CLOCK_HEATH
  130: extern	struct refclock	refclock_heath;
  131: #else
  132: #define refclock_heath	refclock_none
  133: #endif
  134: 
  135: #ifdef CLOCK_NMEA
  136: extern	struct refclock refclock_nmea;
  137: #else
  138: #define	refclock_nmea	refclock_none
  139: #endif
  140: 
  141: #if defined (CLOCK_ATOM) && defined(HAVE_PPSAPI)
  142: extern	struct refclock	refclock_atom;
  143: #else
  144: #define refclock_atom	refclock_none
  145: #endif
  146: 
  147: #ifdef CLOCK_HPGPS
  148: extern	struct refclock	refclock_hpgps;
  149: #else
  150: #define	refclock_hpgps	refclock_none
  151: #endif
  152: 
  153: #ifdef CLOCK_GPSVME
  154: extern	struct refclock refclock_gpsvme;
  155: #else
  156: #define refclock_gpsvme refclock_none
  157: #endif
  158: 
  159: #ifdef CLOCK_ARCRON_MSF
  160: extern	struct refclock refclock_arc;
  161: #else
  162: #define refclock_arc refclock_none
  163: #endif
  164: 
  165: #ifdef CLOCK_SHM
  166: extern	struct refclock refclock_shm;
  167: #else
  168: #define refclock_shm refclock_none
  169: #endif
  170: 
  171: #ifdef CLOCK_PALISADE 
  172: extern	struct refclock refclock_palisade;
  173: #else
  174: #define refclock_palisade refclock_none
  175: #endif
  176: 
  177: #if defined(CLOCK_ONCORE)
  178: extern	struct refclock refclock_oncore;
  179: #else
  180: #define refclock_oncore refclock_none
  181: #endif
  182: 
  183: #if defined(CLOCK_JUPITER) && defined(HAVE_PPSAPI)
  184: extern	struct refclock refclock_jupiter;
  185: #else
  186: #define refclock_jupiter refclock_none
  187: #endif
  188: 
  189: #if defined(CLOCK_CHRONOLOG)
  190: extern struct refclock refclock_chronolog;
  191: #else
  192: #define refclock_chronolog refclock_none
  193: #endif
  194: 
  195: #if defined(CLOCK_DUMBCLOCK)
  196: extern struct refclock refclock_dumbclock;
  197: #else
  198: #define refclock_dumbclock refclock_none
  199: #endif
  200: 
  201: #ifdef CLOCK_ULINK
  202: extern	struct refclock	refclock_ulink;
  203: #else
  204: #define	refclock_ulink	refclock_none
  205: #endif
  206: 
  207: #ifdef CLOCK_PCF
  208: extern	struct refclock	refclock_pcf;
  209: #else
  210: #define	refclock_pcf	refclock_none
  211: #endif
  212: 
  213: #ifdef CLOCK_FG
  214: extern	struct refclock	refclock_fg;
  215: #else
  216: #define	refclock_fg	refclock_none
  217: #endif
  218: 
  219: #ifdef CLOCK_HOPF_SERIAL
  220: extern	struct refclock	refclock_hopfser;
  221: #else
  222: #define	refclock_hopfser refclock_none
  223: #endif
  224: 
  225: #ifdef CLOCK_HOPF_PCI
  226: extern	struct refclock	refclock_hopfpci;
  227: #else
  228: #define	refclock_hopfpci refclock_none
  229: #endif
  230: 
  231: #ifdef CLOCK_JJY
  232: extern	struct refclock	refclock_jjy;
  233: #else
  234: #define	refclock_jjy refclock_none
  235: #endif
  236: 
  237: #ifdef CLOCK_TT560
  238: extern	struct refclock	refclock_tt560;
  239: #else
  240: #define	refclock_tt560 refclock_none
  241: #endif
  242: 
  243: #ifdef CLOCK_ZYFER
  244: extern	struct refclock	refclock_zyfer;
  245: #else
  246: #define	refclock_zyfer refclock_none
  247: #endif
  248: 
  249: #ifdef CLOCK_RIPENCC
  250: extern struct refclock refclock_ripencc;
  251: #else
  252: #define refclock_ripencc refclock_none
  253: #endif
  254: 
  255: #ifdef CLOCK_NEOCLOCK4X
  256: extern	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:  */
  267: struct refclock * const 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: 
  315: u_char num_refclock_conf = sizeof(refclock_conf)/sizeof(struct refclock *);
  316: 
  317: #else
  318: int refclock_conf_bs;
  319: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>