"Fossies" - the Fresh Open Source Software Archive 
Member "ntp-4.2.8p15/ntpd/ntpd-opts.h" (23 Jun 2020, 14922 Bytes) of package /linux/misc/ntp-4.2.8p15.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "ntpd-opts.h" see the
Fossies "Dox" file reference documentation and the latest
Fossies "Diffs" side-by-side code changes report:
4.2.8p14_vs_4.2.8p15.
1 /*
2 * EDIT THIS FILE WITH CAUTION (ntpd-opts.h)
3 *
4 * It has been AutoGen-ed June 23, 2020 at 02:20:04 AM by AutoGen 5.18.5
5 * From the definitions ntpd-opts.def
6 * and the template file options
7 *
8 * Generated from AutoOpts 41:1:16 templates.
9 *
10 * AutoOpts is a copyrighted work. This header file is not encumbered
11 * by AutoOpts licensing, but is provided under the licensing terms chosen
12 * by the ntpd author or copyright holder. AutoOpts is
13 * licensed under the terms of the LGPL. The redistributable library
14 * (``libopts'') is licensed under the terms of either the LGPL or, at the
15 * users discretion, the BSD license. See the AutoOpts and/or libopts sources
16 * for details.
17 *
18 * The ntpd program is copyrighted and licensed
19 * under the following terms:
20 *
21 * Copyright (C) 1992-2020 The University of Delaware and Network Time Foundation, all rights reserved.
22 * This is free software. It is licensed for use, modification and
23 * redistribution under the terms of the NTP License, copies of which
24 * can be seen at:
25 * <http://ntp.org/license>
26 * <http://opensource.org/licenses/ntp-license.php>
27 *
28 * Permission to use, copy, modify, and distribute this software and its
29 * documentation for any purpose with or without fee is hereby granted,
30 * provided that the above copyright notice appears in all copies and that
31 * both the copyright notice and this permission notice appear in
32 * supporting documentation, and that the name The University of Delaware not be used in
33 * advertising or publicity pertaining to distribution of the software
34 * without specific, written prior permission. The University of Delaware and Network Time Foundation makes no
35 * representations about the suitability this software for any purpose. It
36 * is provided "as is" without express or implied warranty.
37 */
38 /**
39 * This file contains the programmatic interface to the Automated
40 * Options generated for the ntpd program.
41 * These macros are documented in the AutoGen info file in the
42 * "AutoOpts" chapter. Please refer to that doc for usage help.
43 */
44 #ifndef AUTOOPTS_NTPD_OPTS_H_GUARD
45 #define AUTOOPTS_NTPD_OPTS_H_GUARD 1
46 #include "config.h"
47 #include <autoopts/options.h>
48
49 /**
50 * Ensure that the library used for compiling this generated header is at
51 * least as new as the version current when the header template was released
52 * (not counting patch version increments). Also ensure that the oldest
53 * tolerable version is at least as old as what was current when the header
54 * template was released.
55 */
56 #define AO_TEMPLATE_VERSION 167937
57 #if (AO_TEMPLATE_VERSION < OPTIONS_MINIMUM_VERSION) \
58 || (AO_TEMPLATE_VERSION > OPTIONS_STRUCT_VERSION)
59 # error option template version mismatches autoopts/options.h header
60 Choke Me.
61 #endif
62
63 /**
64 * Enumeration of each option type for ntpd
65 */
66 typedef enum {
67 INDEX_OPT_IPV4 = 0,
68 INDEX_OPT_IPV6 = 1,
69 INDEX_OPT_AUTHREQ = 2,
70 INDEX_OPT_AUTHNOREQ = 3,
71 INDEX_OPT_BCASTSYNC = 4,
72 INDEX_OPT_CONFIGFILE = 5,
73 INDEX_OPT_DEBUG_LEVEL = 6,
74 INDEX_OPT_SET_DEBUG_LEVEL = 7,
75 INDEX_OPT_DRIFTFILE = 8,
76 INDEX_OPT_PANICGATE = 9,
77 INDEX_OPT_FORCE_STEP_ONCE = 10,
78 INDEX_OPT_JAILDIR = 11,
79 INDEX_OPT_INTERFACE = 12,
80 INDEX_OPT_KEYFILE = 13,
81 INDEX_OPT_LOGFILE = 14,
82 INDEX_OPT_NOVIRTUALIPS = 15,
83 INDEX_OPT_MODIFYMMTIMER = 16,
84 INDEX_OPT_NOFORK = 17,
85 INDEX_OPT_NICE = 18,
86 INDEX_OPT_PIDFILE = 19,
87 INDEX_OPT_PRIORITY = 20,
88 INDEX_OPT_QUIT = 21,
89 INDEX_OPT_PROPAGATIONDELAY = 22,
90 INDEX_OPT_SAVECONFIGQUIT = 23,
91 INDEX_OPT_STATSDIR = 24,
92 INDEX_OPT_TRUSTEDKEY = 25,
93 INDEX_OPT_USER = 26,
94 INDEX_OPT_UPDATEINTERVAL = 27,
95 INDEX_OPT_VAR = 28,
96 INDEX_OPT_DVAR = 29,
97 INDEX_OPT_WAIT_SYNC = 30,
98 INDEX_OPT_SLEW = 31,
99 INDEX_OPT_USEPCC = 32,
100 INDEX_OPT_PCCFREQ = 33,
101 INDEX_OPT_MDNS = 34,
102 INDEX_OPT_VERSION = 35,
103 INDEX_OPT_HELP = 36,
104 INDEX_OPT_MORE_HELP = 37
105 } teOptIndex;
106 /** count of all options for ntpd */
107 #define OPTION_CT 38
108 /** ntpd version */
109 #define NTPD_VERSION "4.2.8p15"
110 /** Full ntpd version text */
111 #define NTPD_FULL_VERSION "ntpd 4.2.8p15"
112
113 /**
114 * Interface defines for all options. Replace "n" with the UPPER_CASED
115 * option name (as in the teOptIndex enumeration above).
116 * e.g. HAVE_OPT(IPV4)
117 */
118 #define DESC(n) (ntpdOptions.pOptDesc[INDEX_OPT_## n])
119 /** 'true' if an option has been specified in any way */
120 #define HAVE_OPT(n) (! UNUSED_OPT(& DESC(n)))
121 /** The string argument to an option. The argument type must be \"string\". */
122 #define OPT_ARG(n) (DESC(n).optArg.argString)
123 /** Mask the option state revealing how an option was specified.
124 * It will be one and only one of \a OPTST_SET, \a OPTST_PRESET,
125 * \a OPTST_DEFINED, \a OPTST_RESET or zero.
126 */
127 #define STATE_OPT(n) (DESC(n).fOptState & OPTST_SET_MASK)
128 /** Count of option's occurrances *on the command line*. */
129 #define COUNT_OPT(n) (DESC(n).optOccCt)
130 /** mask of \a OPTST_SET and \a OPTST_DEFINED. */
131 #define ISSEL_OPT(n) (SELECTED_OPT(&DESC(n)))
132 /** 'true' if \a HAVE_OPT would yield 'false'. */
133 #define ISUNUSED_OPT(n) (UNUSED_OPT(& DESC(n)))
134 /** 'true' if OPTST_DISABLED bit not set. */
135 #define ENABLED_OPT(n) (! DISABLED_OPT(& DESC(n)))
136 /** number of stacked option arguments.
137 * Valid only for stacked option arguments. */
138 #define STACKCT_OPT(n) (((tArgList*)(DESC(n).optCookie))->useCt)
139 /** stacked argument vector.
140 * Valid only for stacked option arguments. */
141 #define STACKLST_OPT(n) (((tArgList*)(DESC(n).optCookie))->apzArgs)
142 /** Reset an option. */
143 #define CLEAR_OPT(n) STMTS( \
144 DESC(n).fOptState &= OPTST_PERSISTENT_MASK; \
145 if ((DESC(n).fOptState & OPTST_INITENABLED) == 0) \
146 DESC(n).fOptState |= OPTST_DISABLED; \
147 DESC(n).optCookie = NULL )
148 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
149 /**
150 * Enumeration of ntpd exit codes
151 */
152 typedef enum {
153 NTPD_EXIT_SUCCESS = 0,
154 NTPD_EXIT_FAILURE = 1,
155 NTPD_EXIT_USAGE_ERROR = 64,
156 NTPD_EXIT_LIBOPTS_FAILURE = 70
157 } ntpd_exit_code_t;
158 /** @} */
159 /**
160 * Make sure there are no #define name conflicts with the option names
161 */
162 #ifndef NO_OPTION_NAME_WARNINGS
163 # ifdef IPV4
164 # warning undefining IPV4 due to option name conflict
165 # undef IPV4
166 # endif
167 # ifdef IPV6
168 # warning undefining IPV6 due to option name conflict
169 # undef IPV6
170 # endif
171 # ifdef AUTHREQ
172 # warning undefining AUTHREQ due to option name conflict
173 # undef AUTHREQ
174 # endif
175 # ifdef AUTHNOREQ
176 # warning undefining AUTHNOREQ due to option name conflict
177 # undef AUTHNOREQ
178 # endif
179 # ifdef BCASTSYNC
180 # warning undefining BCASTSYNC due to option name conflict
181 # undef BCASTSYNC
182 # endif
183 # ifdef CONFIGFILE
184 # warning undefining CONFIGFILE due to option name conflict
185 # undef CONFIGFILE
186 # endif
187 # ifdef DEBUG_LEVEL
188 # warning undefining DEBUG_LEVEL due to option name conflict
189 # undef DEBUG_LEVEL
190 # endif
191 # ifdef SET_DEBUG_LEVEL
192 # warning undefining SET_DEBUG_LEVEL due to option name conflict
193 # undef SET_DEBUG_LEVEL
194 # endif
195 # ifdef DRIFTFILE
196 # warning undefining DRIFTFILE due to option name conflict
197 # undef DRIFTFILE
198 # endif
199 # ifdef PANICGATE
200 # warning undefining PANICGATE due to option name conflict
201 # undef PANICGATE
202 # endif
203 # ifdef FORCE_STEP_ONCE
204 # warning undefining FORCE_STEP_ONCE due to option name conflict
205 # undef FORCE_STEP_ONCE
206 # endif
207 # ifdef JAILDIR
208 # warning undefining JAILDIR due to option name conflict
209 # undef JAILDIR
210 # endif
211 # ifdef INTERFACE
212 # warning undefining INTERFACE due to option name conflict
213 # undef INTERFACE
214 # endif
215 # ifdef KEYFILE
216 # warning undefining KEYFILE due to option name conflict
217 # undef KEYFILE
218 # endif
219 # ifdef LOGFILE
220 # warning undefining LOGFILE due to option name conflict
221 # undef LOGFILE
222 # endif
223 # ifdef NOVIRTUALIPS
224 # warning undefining NOVIRTUALIPS due to option name conflict
225 # undef NOVIRTUALIPS
226 # endif
227 # ifdef MODIFYMMTIMER
228 # warning undefining MODIFYMMTIMER due to option name conflict
229 # undef MODIFYMMTIMER
230 # endif
231 # ifdef NOFORK
232 # warning undefining NOFORK due to option name conflict
233 # undef NOFORK
234 # endif
235 # ifdef NICE
236 # warning undefining NICE due to option name conflict
237 # undef NICE
238 # endif
239 # ifdef PIDFILE
240 # warning undefining PIDFILE due to option name conflict
241 # undef PIDFILE
242 # endif
243 # ifdef PRIORITY
244 # warning undefining PRIORITY due to option name conflict
245 # undef PRIORITY
246 # endif
247 # ifdef QUIT
248 # warning undefining QUIT due to option name conflict
249 # undef QUIT
250 # endif
251 # ifdef PROPAGATIONDELAY
252 # warning undefining PROPAGATIONDELAY due to option name conflict
253 # undef PROPAGATIONDELAY
254 # endif
255 # ifdef SAVECONFIGQUIT
256 # warning undefining SAVECONFIGQUIT due to option name conflict
257 # undef SAVECONFIGQUIT
258 # endif
259 # ifdef STATSDIR
260 # warning undefining STATSDIR due to option name conflict
261 # undef STATSDIR
262 # endif
263 # ifdef TRUSTEDKEY
264 # warning undefining TRUSTEDKEY due to option name conflict
265 # undef TRUSTEDKEY
266 # endif
267 # ifdef USER
268 # warning undefining USER due to option name conflict
269 # undef USER
270 # endif
271 # ifdef UPDATEINTERVAL
272 # warning undefining UPDATEINTERVAL due to option name conflict
273 # undef UPDATEINTERVAL
274 # endif
275 # ifdef VAR
276 # warning undefining VAR due to option name conflict
277 # undef VAR
278 # endif
279 # ifdef DVAR
280 # warning undefining DVAR due to option name conflict
281 # undef DVAR
282 # endif
283 # ifdef WAIT_SYNC
284 # warning undefining WAIT_SYNC due to option name conflict
285 # undef WAIT_SYNC
286 # endif
287 # ifdef SLEW
288 # warning undefining SLEW due to option name conflict
289 # undef SLEW
290 # endif
291 # ifdef USEPCC
292 # warning undefining USEPCC due to option name conflict
293 # undef USEPCC
294 # endif
295 # ifdef PCCFREQ
296 # warning undefining PCCFREQ due to option name conflict
297 # undef PCCFREQ
298 # endif
299 # ifdef MDNS
300 # warning undefining MDNS due to option name conflict
301 # undef MDNS
302 # endif
303 #else /* NO_OPTION_NAME_WARNINGS */
304 # undef IPV4
305 # undef IPV6
306 # undef AUTHREQ
307 # undef AUTHNOREQ
308 # undef BCASTSYNC
309 # undef CONFIGFILE
310 # undef DEBUG_LEVEL
311 # undef SET_DEBUG_LEVEL
312 # undef DRIFTFILE
313 # undef PANICGATE
314 # undef FORCE_STEP_ONCE
315 # undef JAILDIR
316 # undef INTERFACE
317 # undef KEYFILE
318 # undef LOGFILE
319 # undef NOVIRTUALIPS
320 # undef MODIFYMMTIMER
321 # undef NOFORK
322 # undef NICE
323 # undef PIDFILE
324 # undef PRIORITY
325 # undef QUIT
326 # undef PROPAGATIONDELAY
327 # undef SAVECONFIGQUIT
328 # undef STATSDIR
329 # undef TRUSTEDKEY
330 # undef USER
331 # undef UPDATEINTERVAL
332 # undef VAR
333 # undef DVAR
334 # undef WAIT_SYNC
335 # undef SLEW
336 # undef USEPCC
337 # undef PCCFREQ
338 # undef MDNS
339 #endif /* NO_OPTION_NAME_WARNINGS */
340
341 /**
342 * Interface defines for specific options.
343 * @{
344 */
345 #define VALUE_OPT_IPV4 '4'
346 #define VALUE_OPT_IPV6 '6'
347 #define VALUE_OPT_AUTHREQ 'a'
348 #define VALUE_OPT_AUTHNOREQ 'A'
349 #define VALUE_OPT_BCASTSYNC 'b'
350 #define VALUE_OPT_CONFIGFILE 'c'
351 #define VALUE_OPT_DEBUG_LEVEL 'd'
352 #define VALUE_OPT_SET_DEBUG_LEVEL 'D'
353
354 #define OPT_VALUE_SET_DEBUG_LEVEL (DESC(SET_DEBUG_LEVEL).optArg.argInt)
355 #define VALUE_OPT_DRIFTFILE 'f'
356 #define VALUE_OPT_PANICGATE 'g'
357 #define VALUE_OPT_FORCE_STEP_ONCE 'G'
358 #define VALUE_OPT_JAILDIR 'i'
359 #define VALUE_OPT_INTERFACE 'I'
360 #define VALUE_OPT_KEYFILE 'k'
361 #define VALUE_OPT_LOGFILE 'l'
362 #define VALUE_OPT_NOVIRTUALIPS 'L'
363 #define VALUE_OPT_MODIFYMMTIMER 'M'
364 #define VALUE_OPT_NOFORK 'n'
365 #define VALUE_OPT_NICE 'N'
366 #define VALUE_OPT_PIDFILE 'p'
367 #define VALUE_OPT_PRIORITY 'P'
368
369 #define OPT_VALUE_PRIORITY (DESC(PRIORITY).optArg.argInt)
370 #define VALUE_OPT_QUIT 'q'
371 #define VALUE_OPT_PROPAGATIONDELAY 'r'
372 #define VALUE_OPT_SAVECONFIGQUIT 0x1001
373 #define VALUE_OPT_STATSDIR 's'
374 #define VALUE_OPT_TRUSTEDKEY 't'
375 #define VALUE_OPT_USER 'u'
376 #define VALUE_OPT_UPDATEINTERVAL 'U'
377
378 #define OPT_VALUE_UPDATEINTERVAL (DESC(UPDATEINTERVAL).optArg.argInt)
379 #define VALUE_OPT_VAR 0x1002
380 #define VALUE_OPT_DVAR 0x1003
381 #define VALUE_OPT_WAIT_SYNC 'w'
382 #ifdef HAVE_WORKING_FORK
383 #define OPT_VALUE_WAIT_SYNC (DESC(WAIT_SYNC).optArg.argInt)
384 #endif /* HAVE_WORKING_FORK */
385 #define VALUE_OPT_SLEW 'x'
386 #define VALUE_OPT_USEPCC 0x1004
387 #define VALUE_OPT_PCCFREQ 0x1005
388 #define VALUE_OPT_MDNS 'm'
389 /** option flag (value) for help-value option */
390 #define VALUE_OPT_HELP '?'
391 /** option flag (value) for more-help-value option */
392 #define VALUE_OPT_MORE_HELP '!'
393 /** option flag (value) for version-value option */
394 #define VALUE_OPT_VERSION 0x1006
395 /*
396 * Interface defines not associated with particular options
397 */
398 #define ERRSKIP_OPTERR STMTS(ntpdOptions.fOptSet &= ~OPTPROC_ERRSTOP)
399 #define ERRSTOP_OPTERR STMTS(ntpdOptions.fOptSet |= OPTPROC_ERRSTOP)
400 #define RESTART_OPT(n) STMTS( \
401 ntpdOptions.curOptIdx = (n); \
402 ntpdOptions.pzCurOpt = NULL )
403 #define START_OPT RESTART_OPT(1)
404 #define USAGE(c) (*ntpdOptions.pUsageProc)(&ntpdOptions, c)
405
406 #ifdef __cplusplus
407 extern "C" {
408 #endif
409
410
411 /* * * * * *
412 *
413 * Declare the ntpd option descriptor.
414 */
415 extern tOptions ntpdOptions;
416
417 #if defined(ENABLE_NLS)
418 # ifndef _
419 # include <stdio.h>
420 # ifndef HAVE_GETTEXT
421 extern char * gettext(char const *);
422 # else
423 # include <libintl.h>
424 # endif
425
426 # ifndef ATTRIBUTE_FORMAT_ARG
427 # define ATTRIBUTE_FORMAT_ARG(_a)
428 # endif
429
430 static inline char* aoGetsText(char const* pz) ATTRIBUTE_FORMAT_ARG(1);
431 static inline char* aoGetsText(char const* pz) {
432 if (pz == NULL) return NULL;
433 return (char*)gettext(pz);
434 }
435 # define _(s) aoGetsText(s)
436 # endif /* _() */
437
438 # define OPT_NO_XLAT_CFG_NAMES STMTS(ntpdOptions.fOptSet |= \
439 OPTPROC_NXLAT_OPT_CFG;)
440 # define OPT_NO_XLAT_OPT_NAMES STMTS(ntpdOptions.fOptSet |= \
441 OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG;)
442
443 # define OPT_XLAT_CFG_NAMES STMTS(ntpdOptions.fOptSet &= \
444 ~(OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG);)
445 # define OPT_XLAT_OPT_NAMES STMTS(ntpdOptions.fOptSet &= \
446 ~OPTPROC_NXLAT_OPT;)
447
448 #else /* ENABLE_NLS */
449 # define OPT_NO_XLAT_CFG_NAMES
450 # define OPT_NO_XLAT_OPT_NAMES
451
452 # define OPT_XLAT_CFG_NAMES
453 # define OPT_XLAT_OPT_NAMES
454
455 # ifndef _
456 # define _(_s) _s
457 # endif
458 #endif /* ENABLE_NLS */
459
460 #ifdef __cplusplus
461 }
462 #endif
463 #endif /* AUTOOPTS_NTPD_OPTS_H_GUARD */
464
465 /* ntpd-opts.h ends here */