]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/ntp/libparse/parse_conf.c
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / ntp / libparse / parse_conf.c
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  */