File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / ntp / libparse / parse_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, 1 month ago) by misho
Branches: ntp, MAIN
CVS tags: v4_2_6p5p0, v4_2_6p5, HEAD
ntp 4.2.6p5

    1: /*
    2:  * /src/NTP/ntp4-dev/libparse/parse_conf.c,v 4.9 2005/04/16 17:32:10 kardel RELEASE_20050508_A
    3:  *  
    4:  * parse_conf.c,v 4.9 2005/04/16 17:32:10 kardel RELEASE_20050508_A
    5:  *
    6:  * Parser configuration module for reference clocks
    7:  *
    8:  * STREAM define switches between two personalities of the module
    9:  * if STREAM is defined this module can be used with dcf77sync.c as
   10:  * a STREAMS kernel module. In this case the time stamps will be
   11:  * a struct timeval.
   12:  * when STREAM is not defined NTP time stamps will be used.
   13:  *
   14:  * Copyright (c) 1995-2005 by Frank Kardel <kardel <AT> ntp.org>
   15:  * Copyright (c) 1989-1994 by Frank Kardel, Friedrich-Alexander Universität Erlangen-Nürnberg, Germany
   16:  *
   17:  * Redistribution and use in source and binary forms, with or without
   18:  * modification, are permitted provided that the following conditions
   19:  * are met:
   20:  * 1. Redistributions of source code must retain the above copyright
   21:  *    notice, this list of conditions and the following disclaimer.
   22:  * 2. Redistributions in binary form must reproduce the above copyright
   23:  *    notice, this list of conditions and the following disclaimer in the
   24:  *    documentation and/or other materials provided with the distribution.
   25:  * 3. Neither the name of the author nor the names of its contributors
   26:  *    may be used to endorse or promote products derived from this software
   27:  *    without specific prior written permission.
   28:  *
   29:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   30:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   31:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   32:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   33:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   34:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   35:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   36:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   37:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   38:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   39:  * SUCH DAMAGE.
   40:  *
   41:  */
   42: 
   43: #ifdef HAVE_CONFIG_H
   44: # include <config.h>
   45: #endif
   46: 
   47: #if defined(REFCLOCK) && defined(CLOCK_PARSE)
   48: 
   49: #include "ntp_fp.h"
   50: #include "ntp_unixtime.h"
   51: #include "ntp_calendar.h"
   52: 
   53: #include "parse.h"
   54: 
   55: #ifdef CLOCK_SCHMID
   56: extern clockformat_t clock_schmid;
   57: #endif
   58: 
   59: #ifdef CLOCK_DCF7000
   60: extern clockformat_t clock_dcf7000;
   61: #endif
   62: 
   63: #ifdef CLOCK_MEINBERG
   64: extern clockformat_t clock_meinberg[];
   65: #endif
   66: 
   67: #ifdef CLOCK_RAWDCF
   68: extern clockformat_t clock_rawdcf;
   69: #endif
   70: 
   71: #ifdef CLOCK_TRIMTAIP
   72: extern clockformat_t clock_trimtaip;
   73: #endif
   74: 
   75: #ifdef CLOCK_TRIMTSIP
   76: extern clockformat_t clock_trimtsip;
   77: #endif
   78: 
   79: #ifdef CLOCK_RCC8000
   80: extern clockformat_t clock_rcc8000;
   81: #endif
   82: 
   83: #ifdef CLOCK_HOPF6021
   84: extern clockformat_t clock_hopf6021;
   85: #endif
   86: 
   87: #ifdef CLOCK_COMPUTIME
   88: extern clockformat_t clock_computime;
   89: #endif
   90: 
   91: #ifdef CLOCK_WHARTON_400A
   92: extern clockformat_t clock_wharton_400a;
   93: #endif
   94: 
   95: #ifdef CLOCK_VARITEXT
   96: extern clockformat_t clock_varitext;
   97: #endif
   98: 
   99: /*
  100:  * format definitions
  101:  */
  102: clockformat_t *clockformats[] =
  103: {
  104: #ifdef CLOCK_MEINBERG
  105: 	&clock_meinberg[0],
  106: 	&clock_meinberg[1],
  107: 	&clock_meinberg[2],
  108: #endif
  109: #ifdef CLOCK_DCF7000
  110: 	&clock_dcf7000,
  111: #endif
  112: #ifdef CLOCK_SCHMID
  113: 	&clock_schmid,
  114: #endif
  115: #ifdef CLOCK_RAWDCF
  116: 	&clock_rawdcf,
  117: #endif
  118: #ifdef CLOCK_TRIMTAIP
  119: 	&clock_trimtaip,
  120: #endif
  121: #ifdef CLOCK_TRIMTSIP
  122: 	&clock_trimtsip,
  123: #endif
  124: #ifdef CLOCK_RCC8000
  125: 	&clock_rcc8000,
  126: #endif
  127: #ifdef CLOCK_HOPF6021
  128: 	&clock_hopf6021,
  129: #endif
  130: #ifdef CLOCK_COMPUTIME
  131: 	&clock_computime,
  132: #endif
  133: #ifdef CLOCK_WHARTON_400A
  134: 	&clock_wharton_400a,
  135: #endif
  136: #ifdef CLOCK_VARITEXT
  137:         &clock_varitext,
  138: #endif
  139: 	0};
  140: 
  141: unsigned short nformats = sizeof(clockformats) / sizeof(clockformats[0]) - 1;
  142: 
  143: #else /* not (REFCLOCK && CLOCK_PARSE) */
  144: int parse_conf_bs;
  145: #endif /* not (REFCLOCK && CLOCK_PARSE) */
  146: 
  147: /*
  148:  * History:
  149:  *
  150:  * parse_conf.c,v
  151:  * Revision 4.9  2005/04/16 17:32:10  kardel
  152:  * update copyright
  153:  *
  154:  * Revision 4.8  2004/11/14 15:29:41  kardel
  155:  * support PPSAPI, upgrade Copyright to Berkeley style
  156:  *
  157:  * Revision 4.5  1999/11/28 09:13:53  kardel
  158:  * RECON_4_0_98F
  159:  *
  160:  * Revision 4.4  1999/02/28 15:27:25  kardel
  161:  * wharton clock integration
  162:  *
  163:  * Revision 4.3  1998/08/16 18:52:15  kardel
  164:  * (clockformats): Trimble TSIP driver now also
  165:  * available for kernel operation
  166:  *
  167:  * Revision 4.2  1998/06/12 09:13:48  kardel
  168:  * conditional compile macros fixed
  169:  *
  170:  * Revision 4.1  1998/05/24 09:40:49  kardel
  171:  * adjustments of log messages
  172:  *
  173:  *
  174:  * from V3 3.24 log info deleted 1998/04/11 kardel
  175:  */

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