2 * EDIT THIS FILE WITH CAUTION (ntpd-opts.c)
4 * It has been AutoGen-ed Sunday August 17, 2008 at 05:20:10 AM EDT
5 * From the definitions ntpd-opts.def
6 * and the template file options
8 * Generated from AutoOpts 29:0:4 templates.
12 * This file was produced by an AutoOpts template. AutoOpts is a
13 * copyrighted work. This source file is not encumbered by AutoOpts
14 * licensing, but is provided under the licensing terms chosen by the
15 * ntpd author or copyright holder. AutoOpts is licensed under
16 * the terms of the LGPL. The redistributable library (``libopts'') is
17 * licensed under the terms of either the LGPL or, at the users discretion,
18 * the BSD license. See the AutoOpts and/or libopts sources for details.
20 * This source file is copyrighted and licensed under the following terms:
22 * ntpd copyright 1970-2008 David L. Mills and/or others - all rights reserved
24 * see html/copyright.html
30 #define OPTION_CODE_COMPILE 1
31 #include "ntpd-opts.h"
37 "ntpd copyright (c) 1970-2008 David L. Mills and/or others, all rights reserved";
38 tSCC zCopyrightNotice
[] =
40 /* extracted from ../include/copyright.def near line 8 */
41 "see html/copyright.html";
42 extern tUsageProc optionUsage
;
45 * global included definitions
48 extern int atoi(const char*);
57 # define EXIT_SUCCESS 0
60 # define EXIT_FAILURE 1
63 * Ipv4 option description:
66 "Force IPv4 DNS name resolution";
67 tSCC zIpv4_NAME
[] = "IPV4";
68 tSCC zIpv4_Name
[] = "ipv4";
69 #define IPV4_FLAGS (OPTST_DISABLED)
72 * Ipv6 option description:
75 "Force IPv6 DNS name resolution";
76 tSCC zIpv6_NAME
[] = "IPV6";
77 tSCC zIpv6_Name
[] = "ipv6";
78 #define IPV6_FLAGS (OPTST_DISABLED)
81 * Authreq option description with
82 * "Must also have options" and "Incompatible options":
85 "Require crypto authentication";
86 tSCC zAuthreq_NAME
[] = "AUTHREQ";
87 tSCC zAuthreq_Name
[] = "authreq";
89 aAuthreqCantList
[] = {
90 INDEX_OPT_AUTHNOREQ
, NO_EQUIVALENT
};
91 #define AUTHREQ_FLAGS (OPTST_DISABLED)
94 * Authnoreq option description with
95 * "Must also have options" and "Incompatible options":
97 tSCC zAuthnoreqText
[] =
98 "Do not require crypto authentication";
99 tSCC zAuthnoreq_NAME
[] = "AUTHNOREQ";
100 tSCC zAuthnoreq_Name
[] = "authnoreq";
102 aAuthnoreqCantList
[] = {
103 INDEX_OPT_AUTHREQ
, NO_EQUIVALENT
};
104 #define AUTHNOREQ_FLAGS (OPTST_DISABLED)
107 * Bcastsync option description:
109 tSCC zBcastsyncText
[] =
110 "Allow us to sync to broadcast servers";
111 tSCC zBcastsync_NAME
[] = "BCASTSYNC";
112 tSCC zBcastsync_Name
[] = "bcastsync";
113 #define BCASTSYNC_FLAGS (OPTST_DISABLED)
116 * Configfile option description:
118 tSCC zConfigfileText
[] =
119 "configuration file name";
120 tSCC zConfigfile_NAME
[] = "CONFIGFILE";
121 tSCC zConfigfile_Name
[] = "configfile";
122 #define CONFIGFILE_FLAGS (OPTST_DISABLED \
123 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
126 * Debug_Level option description:
129 tSCC zDebug_LevelText
[] =
130 "Increase output debug message level";
131 tSCC zDebug_Level_NAME
[] = "DEBUG_LEVEL";
132 tSCC zDebug_Level_Name
[] = "debug-level";
133 #define DEBUG_LEVEL_FLAGS (OPTST_DISABLED)
135 #else /* disable Debug_Level */
136 #define VALUE_OPT_DEBUG_LEVEL NO_EQUIVALENT
137 #define DEBUG_LEVEL_FLAGS (OPTST_OMITTED | OPTST_NO_INIT)
138 #define zDebug_LevelText NULL
139 #define zDebug_Level_NAME NULL
140 #define zDebug_Level_Name NULL
144 * Set_Debug_Level option description:
147 tSCC zSet_Debug_LevelText
[] =
148 "Set the output debug message level";
149 tSCC zSet_Debug_Level_NAME
[] = "SET_DEBUG_LEVEL";
150 tSCC zSet_Debug_Level_Name
[] = "set-debug-level";
151 #define SET_DEBUG_LEVEL_FLAGS (OPTST_DISABLED \
152 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
154 #else /* disable Set_Debug_Level */
155 #define VALUE_OPT_SET_DEBUG_LEVEL NO_EQUIVALENT
156 #define SET_DEBUG_LEVEL_FLAGS (OPTST_OMITTED | OPTST_NO_INIT)
157 #define zSet_Debug_LevelText NULL
158 #define zSet_Debug_Level_NAME NULL
159 #define zSet_Debug_Level_Name NULL
163 * Driftfile option description:
165 tSCC zDriftfileText
[] =
166 "frequency drift file name";
167 tSCC zDriftfile_NAME
[] = "DRIFTFILE";
168 tSCC zDriftfile_Name
[] = "driftfile";
169 #define DRIFTFILE_FLAGS (OPTST_DISABLED \
170 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
173 * Panicgate option description:
175 tSCC zPanicgateText
[] =
176 "Allow the first adjustment to be Big";
177 tSCC zPanicgate_NAME
[] = "PANICGATE";
178 tSCC zPanicgate_Name
[] = "panicgate";
179 #define PANICGATE_FLAGS (OPTST_DISABLED)
182 * Jaildir option description:
184 tSCC zJaildirText
[] =
186 tSCC zJaildir_NAME
[] = "JAILDIR";
187 tSCC zJaildir_Name
[] = "jaildir";
188 #define JAILDIR_FLAGS (OPTST_DISABLED \
189 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
192 * Interface option description:
194 tSCC zInterfaceText
[] =
195 "Listen on interface";
196 tSCC zInterface_NAME
[] = "INTERFACE";
197 tSCC zInterface_Name
[] = "interface";
198 #define INTERFACE_FLAGS (OPTST_DISABLED | OPTST_STACKED \
199 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
202 * Keyfile option description:
204 tSCC zKeyfileText
[] =
205 "path to symmetric keys";
206 tSCC zKeyfile_NAME
[] = "KEYFILE";
207 tSCC zKeyfile_Name
[] = "keyfile";
208 #define KEYFILE_FLAGS (OPTST_DISABLED \
209 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
212 * Logfile option description:
214 tSCC zLogfileText
[] =
215 "path to the log file";
216 tSCC zLogfile_NAME
[] = "LOGFILE";
217 tSCC zLogfile_Name
[] = "logfile";
218 #define LOGFILE_FLAGS (OPTST_DISABLED \
219 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
222 * Novirtualips option description:
224 tSCC zNovirtualipsText
[] =
225 "Do not listen to virtual IPs";
226 tSCC zNovirtualips_NAME
[] = "NOVIRTUALIPS";
227 tSCC zNovirtualips_Name
[] = "novirtualips";
228 #define NOVIRTUALIPS_FLAGS (OPTST_DISABLED)
231 * Modifymmtimer option description:
234 tSCC zModifymmtimerText
[] =
235 "Modify Multimedia Timer (Windows only)";
236 tSCC zModifymmtimer_NAME
[] = "MODIFYMMTIMER";
237 tSCC zModifymmtimer_Name
[] = "modifymmtimer";
238 #define MODIFYMMTIMER_FLAGS (OPTST_DISABLED)
240 #else /* disable Modifymmtimer */
241 #define VALUE_OPT_MODIFYMMTIMER NO_EQUIVALENT
242 #define MODIFYMMTIMER_FLAGS (OPTST_OMITTED | OPTST_NO_INIT)
243 #define zModifymmtimerText NULL
244 #define zModifymmtimer_NAME NULL
245 #define zModifymmtimer_Name NULL
246 #endif /* SYS_WINNT */
249 * Nofork option description:
253 tSCC zNofork_NAME
[] = "NOFORK";
254 tSCC zNofork_Name
[] = "nofork";
255 #define NOFORK_FLAGS (OPTST_DISABLED)
258 * Nice option description:
261 "Run at high priority";
262 tSCC zNice_NAME
[] = "NICE";
263 tSCC zNice_Name
[] = "nice";
264 #define NICE_FLAGS (OPTST_DISABLED)
267 * Pidfile option description:
269 tSCC zPidfileText
[] =
270 "path to the PID file";
271 tSCC zPidfile_NAME
[] = "PIDFILE";
272 tSCC zPidfile_Name
[] = "pidfile";
273 #define PIDFILE_FLAGS (OPTST_DISABLED \
274 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
277 * Priority option description:
279 tSCC zPriorityText
[] =
281 tSCC zPriority_NAME
[] = "PRIORITY";
282 tSCC zPriority_Name
[] = "priority";
283 #define PRIORITY_FLAGS (OPTST_DISABLED \
284 | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
287 * Quit option description:
290 "Set the time and quit";
291 tSCC zQuit_NAME
[] = "QUIT";
292 tSCC zQuit_Name
[] = "quit";
293 #define QUIT_FLAGS (OPTST_DISABLED)
296 * Propagationdelay option description:
298 tSCC zPropagationdelayText
[] =
299 "Broadcast/propagation delay";
300 tSCC zPropagationdelay_NAME
[] = "PROPAGATIONDELAY";
301 tSCC zPropagationdelay_Name
[] = "propagationdelay";
302 #define PROPAGATIONDELAY_FLAGS (OPTST_DISABLED \
303 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
306 * Updateinterval option description:
308 tSCC zUpdateintervalText
[] =
309 "interval in seconds between scans for new or dropped interfaces";
310 tSCC zUpdateinterval_NAME
[] = "UPDATEINTERVAL";
311 tSCC zUpdateinterval_Name
[] = "updateinterval";
312 #define UPDATEINTERVAL_FLAGS (OPTST_DISABLED \
313 | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
316 * Statsdir option description:
318 tSCC zStatsdirText
[] =
319 "Statistics file location";
320 tSCC zStatsdir_NAME
[] = "STATSDIR";
321 tSCC zStatsdir_Name
[] = "statsdir";
322 #define STATSDIR_FLAGS (OPTST_DISABLED \
323 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
326 * Trustedkey option description:
328 tSCC zTrustedkeyText
[] =
329 "Trusted key number";
330 tSCC zTrustedkey_NAME
[] = "TRUSTEDKEY";
331 tSCC zTrustedkey_Name
[] = "trustedkey";
332 #define TRUSTEDKEY_FLAGS (OPTST_DISABLED | OPTST_STACKED \
333 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
336 * User option description:
339 "Run as userid (or userid:groupid)";
340 tSCC zUser_NAME
[] = "USER";
341 tSCC zUser_Name
[] = "user";
342 #define USER_FLAGS (OPTST_DISABLED \
343 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
346 * Var option description:
349 "make ARG an ntp variable (RW)";
350 tSCC zVar_NAME
[] = "VAR";
351 tSCC zVar_Name
[] = "var";
352 #define VAR_FLAGS (OPTST_DISABLED | OPTST_STACKED \
353 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
356 * Dvar option description:
359 "make ARG an ntp variable (RW|DEF)";
360 tSCC zDvar_NAME
[] = "DVAR";
361 tSCC zDvar_Name
[] = "dvar";
362 #define DVAR_FLAGS (OPTST_DISABLED | OPTST_STACKED \
363 | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
366 * Slew option description:
369 "Slew up to 600 seconds";
370 tSCC zSlew_NAME
[] = "SLEW";
371 tSCC zSlew_Name
[] = "slew";
372 #define SLEW_FLAGS (OPTST_DISABLED)
375 * Help/More_Help/Version option descriptions:
377 tSCC zHelpText
[] = "Display usage information and exit";
378 tSCC zHelp_Name
[] = "help";
380 tSCC zMore_HelpText
[] = "Extended usage information passed thru pager";
381 tSCC zMore_Help_Name
[] = "more-help";
383 tSCC zVersionText
[] = "Output version information and exit";
384 tSCC zVersion_Name
[] = "version";
386 * Declare option callback procedures
389 static tOptProc doOptSet_Debug_Level
;
390 #else /* not DEBUG */
391 # define doOptSet_Debug_Level NULL
392 #endif /* def/not DEBUG */
393 #if defined(TEST_NTPD_OPTS)
395 * Under test, omit argument processing, or call optionStackArg,
396 * if multiple copies are allowed.
399 optionNumericVal
, optionPagedUsage
, optionStackArg
,
405 * #define map the "normal" callout procs to the test ones...
407 #define SET_DEBUG_LEVEL_OPT_PROC optionStackArg
410 #else /* NOT defined TEST_NTPD_OPTS */
412 * When not under test, there are different procs to use
415 optionNumericVal
, optionPagedUsage
, optionPrintVersion
, optionStackArg
;
420 * #define map the "normal" callout procs
422 #define SET_DEBUG_LEVEL_OPT_PROC doOptSet_Debug_Level
424 #define SET_DEBUG_LEVEL_OPT_PROC doOptSet_Debug_Level
425 #endif /* defined(TEST_NTPD_OPTS) */
426 #ifdef TEST_NTPD_OPTS
427 # define DOVERPROC optionVersionStderr
429 # define DOVERPROC optionPrintVersion
430 #endif /* TEST_NTPD_OPTS */
432 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
434 * Define the Ntpd Option Descriptions.
436 static tOptDesc optDesc
[ OPTION_CT
] = {
437 { /* entry idx, value */ 0, VALUE_OPT_IPV4
,
438 /* equiv idx, value */ NO_EQUIVALENT
, 0,
439 /* equivalenced to */ NO_EQUIVALENT
,
440 /* min, max, act ct */ 0, 1, 0,
441 /* opt state flags */ IPV4_FLAGS
, 0,
442 /* last opt argumnt */ { NULL
},
443 /* arg list/cookie */ NULL
,
444 /* must/cannot opts */ NULL
, NULL
,
445 /* option proc */ NULL
,
446 /* desc, NAME, name */ zIpv4Text
, zIpv4_NAME
, zIpv4_Name
,
447 /* disablement strs */ NULL
, NULL
},
449 { /* entry idx, value */ 1, VALUE_OPT_IPV6
,
450 /* equiv idx, value */ NOLIMIT
, NOLIMIT
,
451 /* equivalenced to */ INDEX_OPT_IPV4
,
452 /* min, max, act ct */ 0, 1, 0,
453 /* opt state flags */ IPV6_FLAGS
, 0,
454 /* last opt argumnt */ { NULL
},
455 /* arg list/cookie */ NULL
,
456 /* must/cannot opts */ NULL
, NULL
,
457 /* option proc */ NULL
,
458 /* desc, NAME, name */ zIpv6Text
, zIpv6_NAME
, zIpv6_Name
,
459 /* disablement strs */ NULL
, NULL
},
461 { /* entry idx, value */ 2, VALUE_OPT_AUTHREQ
,
462 /* equiv idx, value */ 2, VALUE_OPT_AUTHREQ
,
463 /* equivalenced to */ NO_EQUIVALENT
,
464 /* min, max, act ct */ 0, 1, 0,
465 /* opt state flags */ AUTHREQ_FLAGS
, 0,
466 /* last opt argumnt */ { NULL
},
467 /* arg list/cookie */ NULL
,
468 /* must/cannot opts */ NULL
, aAuthreqCantList
,
469 /* option proc */ NULL
,
470 /* desc, NAME, name */ zAuthreqText
, zAuthreq_NAME
, zAuthreq_Name
,
471 /* disablement strs */ NULL
, NULL
},
473 { /* entry idx, value */ 3, VALUE_OPT_AUTHNOREQ
,
474 /* equiv idx, value */ 3, VALUE_OPT_AUTHNOREQ
,
475 /* equivalenced to */ NO_EQUIVALENT
,
476 /* min, max, act ct */ 0, 1, 0,
477 /* opt state flags */ AUTHNOREQ_FLAGS
, 0,
478 /* last opt argumnt */ { NULL
},
479 /* arg list/cookie */ NULL
,
480 /* must/cannot opts */ NULL
, aAuthnoreqCantList
,
481 /* option proc */ NULL
,
482 /* desc, NAME, name */ zAuthnoreqText
, zAuthnoreq_NAME
, zAuthnoreq_Name
,
483 /* disablement strs */ NULL
, NULL
},
485 { /* entry idx, value */ 4, VALUE_OPT_BCASTSYNC
,
486 /* equiv idx, value */ 4, VALUE_OPT_BCASTSYNC
,
487 /* equivalenced to */ NO_EQUIVALENT
,
488 /* min, max, act ct */ 0, 1, 0,
489 /* opt state flags */ BCASTSYNC_FLAGS
, 0,
490 /* last opt argumnt */ { NULL
},
491 /* arg list/cookie */ NULL
,
492 /* must/cannot opts */ NULL
, NULL
,
493 /* option proc */ NULL
,
494 /* desc, NAME, name */ zBcastsyncText
, zBcastsync_NAME
, zBcastsync_Name
,
495 /* disablement strs */ NULL
, NULL
},
497 { /* entry idx, value */ 5, VALUE_OPT_CONFIGFILE
,
498 /* equiv idx, value */ 5, VALUE_OPT_CONFIGFILE
,
499 /* equivalenced to */ NO_EQUIVALENT
,
500 /* min, max, act ct */ 0, 1, 0,
501 /* opt state flags */ CONFIGFILE_FLAGS
, 0,
502 /* last opt argumnt */ { NULL
},
503 /* arg list/cookie */ NULL
,
504 /* must/cannot opts */ NULL
, NULL
,
505 /* option proc */ NULL
,
506 /* desc, NAME, name */ zConfigfileText
, zConfigfile_NAME
, zConfigfile_Name
,
507 /* disablement strs */ NULL
, NULL
},
509 { /* entry idx, value */ 6, VALUE_OPT_DEBUG_LEVEL
,
510 /* equiv idx, value */ 6, VALUE_OPT_DEBUG_LEVEL
,
511 /* equivalenced to */ NO_EQUIVALENT
,
512 /* min, max, act ct */ 0, NOLIMIT
, 0,
513 /* opt state flags */ DEBUG_LEVEL_FLAGS
, 0,
514 /* last opt argumnt */ { NULL
},
515 /* arg list/cookie */ NULL
,
516 /* must/cannot opts */ NULL
, NULL
,
517 /* option proc */ NULL
,
518 /* desc, NAME, name */ zDebug_LevelText
, zDebug_Level_NAME
, zDebug_Level_Name
,
519 /* disablement strs */ NULL
, NULL
},
521 { /* entry idx, value */ 7, VALUE_OPT_SET_DEBUG_LEVEL
,
522 /* equiv idx, value */ 7, VALUE_OPT_SET_DEBUG_LEVEL
,
523 /* equivalenced to */ NO_EQUIVALENT
,
524 /* min, max, act ct */ 0, NOLIMIT
, 0,
525 /* opt state flags */ SET_DEBUG_LEVEL_FLAGS
, 0,
526 /* last opt argumnt */ { NULL
},
527 /* arg list/cookie */ NULL
,
528 /* must/cannot opts */ NULL
, NULL
,
529 /* option proc */ SET_DEBUG_LEVEL_OPT_PROC
,
530 /* desc, NAME, name */ zSet_Debug_LevelText
, zSet_Debug_Level_NAME
, zSet_Debug_Level_Name
,
531 /* disablement strs */ NULL
, NULL
},
533 { /* entry idx, value */ 8, VALUE_OPT_DRIFTFILE
,
534 /* equiv idx, value */ 8, VALUE_OPT_DRIFTFILE
,
535 /* equivalenced to */ NO_EQUIVALENT
,
536 /* min, max, act ct */ 0, 1, 0,
537 /* opt state flags */ DRIFTFILE_FLAGS
, 0,
538 /* last opt argumnt */ { NULL
},
539 /* arg list/cookie */ NULL
,
540 /* must/cannot opts */ NULL
, NULL
,
541 /* option proc */ NULL
,
542 /* desc, NAME, name */ zDriftfileText
, zDriftfile_NAME
, zDriftfile_Name
,
543 /* disablement strs */ NULL
, NULL
},
545 { /* entry idx, value */ 9, VALUE_OPT_PANICGATE
,
546 /* equiv idx, value */ 9, VALUE_OPT_PANICGATE
,
547 /* equivalenced to */ NO_EQUIVALENT
,
548 /* min, max, act ct */ 0, 1, 0,
549 /* opt state flags */ PANICGATE_FLAGS
, 0,
550 /* last opt argumnt */ { NULL
},
551 /* arg list/cookie */ NULL
,
552 /* must/cannot opts */ NULL
, NULL
,
553 /* option proc */ NULL
,
554 /* desc, NAME, name */ zPanicgateText
, zPanicgate_NAME
, zPanicgate_Name
,
555 /* disablement strs */ NULL
, NULL
},
557 { /* entry idx, value */ 10, VALUE_OPT_JAILDIR
,
558 /* equiv idx, value */ 10, VALUE_OPT_JAILDIR
,
559 /* equivalenced to */ NO_EQUIVALENT
,
560 /* min, max, act ct */ 0, 1, 0,
561 /* opt state flags */ JAILDIR_FLAGS
, 0,
562 /* last opt argumnt */ { NULL
},
563 /* arg list/cookie */ NULL
,
564 /* must/cannot opts */ NULL
, NULL
,
565 /* option proc */ NULL
,
566 /* desc, NAME, name */ zJaildirText
, zJaildir_NAME
, zJaildir_Name
,
567 /* disablement strs */ NULL
, NULL
},
569 { /* entry idx, value */ 11, VALUE_OPT_INTERFACE
,
570 /* equiv idx, value */ 11, VALUE_OPT_INTERFACE
,
571 /* equivalenced to */ NO_EQUIVALENT
,
572 /* min, max, act ct */ 0, NOLIMIT
, 0,
573 /* opt state flags */ INTERFACE_FLAGS
, 0,
574 /* last opt argumnt */ { NULL
},
575 /* arg list/cookie */ NULL
,
576 /* must/cannot opts */ NULL
, NULL
,
577 /* option proc */ optionStackArg
,
578 /* desc, NAME, name */ zInterfaceText
, zInterface_NAME
, zInterface_Name
,
579 /* disablement strs */ NULL
, NULL
},
581 { /* entry idx, value */ 12, VALUE_OPT_KEYFILE
,
582 /* equiv idx, value */ 12, VALUE_OPT_KEYFILE
,
583 /* equivalenced to */ NO_EQUIVALENT
,
584 /* min, max, act ct */ 0, 1, 0,
585 /* opt state flags */ KEYFILE_FLAGS
, 0,
586 /* last opt argumnt */ { NULL
},
587 /* arg list/cookie */ NULL
,
588 /* must/cannot opts */ NULL
, NULL
,
589 /* option proc */ NULL
,
590 /* desc, NAME, name */ zKeyfileText
, zKeyfile_NAME
, zKeyfile_Name
,
591 /* disablement strs */ NULL
, NULL
},
593 { /* entry idx, value */ 13, VALUE_OPT_LOGFILE
,
594 /* equiv idx, value */ 13, VALUE_OPT_LOGFILE
,
595 /* equivalenced to */ NO_EQUIVALENT
,
596 /* min, max, act ct */ 0, 1, 0,
597 /* opt state flags */ LOGFILE_FLAGS
, 0,
598 /* last opt argumnt */ { NULL
},
599 /* arg list/cookie */ NULL
,
600 /* must/cannot opts */ NULL
, NULL
,
601 /* option proc */ NULL
,
602 /* desc, NAME, name */ zLogfileText
, zLogfile_NAME
, zLogfile_Name
,
603 /* disablement strs */ NULL
, NULL
},
605 { /* entry idx, value */ 14, VALUE_OPT_NOVIRTUALIPS
,
606 /* equiv idx, value */ 14, VALUE_OPT_NOVIRTUALIPS
,
607 /* equivalenced to */ NO_EQUIVALENT
,
608 /* min, max, act ct */ 0, 1, 0,
609 /* opt state flags */ NOVIRTUALIPS_FLAGS
, 0,
610 /* last opt argumnt */ { NULL
},
611 /* arg list/cookie */ NULL
,
612 /* must/cannot opts */ NULL
, NULL
,
613 /* option proc */ NULL
,
614 /* desc, NAME, name */ zNovirtualipsText
, zNovirtualips_NAME
, zNovirtualips_Name
,
615 /* disablement strs */ NULL
, NULL
},
617 { /* entry idx, value */ 15, VALUE_OPT_MODIFYMMTIMER
,
618 /* equiv idx, value */ 15, VALUE_OPT_MODIFYMMTIMER
,
619 /* equivalenced to */ NO_EQUIVALENT
,
620 /* min, max, act ct */ 0, 1, 0,
621 /* opt state flags */ MODIFYMMTIMER_FLAGS
, 0,
622 /* last opt argumnt */ { NULL
},
623 /* arg list/cookie */ NULL
,
624 /* must/cannot opts */ NULL
, NULL
,
625 /* option proc */ NULL
,
626 /* desc, NAME, name */ zModifymmtimerText
, zModifymmtimer_NAME
, zModifymmtimer_Name
,
627 /* disablement strs */ NULL
, NULL
},
629 { /* entry idx, value */ 16, VALUE_OPT_NOFORK
,
630 /* equiv idx, value */ 16, VALUE_OPT_NOFORK
,
631 /* equivalenced to */ NO_EQUIVALENT
,
632 /* min, max, act ct */ 0, 1, 0,
633 /* opt state flags */ NOFORK_FLAGS
, 0,
634 /* last opt argumnt */ { NULL
},
635 /* arg list/cookie */ NULL
,
636 /* must/cannot opts */ NULL
, NULL
,
637 /* option proc */ NULL
,
638 /* desc, NAME, name */ zNoforkText
, zNofork_NAME
, zNofork_Name
,
639 /* disablement strs */ NULL
, NULL
},
641 { /* entry idx, value */ 17, VALUE_OPT_NICE
,
642 /* equiv idx, value */ 17, VALUE_OPT_NICE
,
643 /* equivalenced to */ NO_EQUIVALENT
,
644 /* min, max, act ct */ 0, 1, 0,
645 /* opt state flags */ NICE_FLAGS
, 0,
646 /* last opt argumnt */ { NULL
},
647 /* arg list/cookie */ NULL
,
648 /* must/cannot opts */ NULL
, NULL
,
649 /* option proc */ NULL
,
650 /* desc, NAME, name */ zNiceText
, zNice_NAME
, zNice_Name
,
651 /* disablement strs */ NULL
, NULL
},
653 { /* entry idx, value */ 18, VALUE_OPT_PIDFILE
,
654 /* equiv idx, value */ 18, VALUE_OPT_PIDFILE
,
655 /* equivalenced to */ NO_EQUIVALENT
,
656 /* min, max, act ct */ 0, 1, 0,
657 /* opt state flags */ PIDFILE_FLAGS
, 0,
658 /* last opt argumnt */ { NULL
},
659 /* arg list/cookie */ NULL
,
660 /* must/cannot opts */ NULL
, NULL
,
661 /* option proc */ NULL
,
662 /* desc, NAME, name */ zPidfileText
, zPidfile_NAME
, zPidfile_Name
,
663 /* disablement strs */ NULL
, NULL
},
665 { /* entry idx, value */ 19, VALUE_OPT_PRIORITY
,
666 /* equiv idx, value */ 19, VALUE_OPT_PRIORITY
,
667 /* equivalenced to */ NO_EQUIVALENT
,
668 /* min, max, act ct */ 0, 1, 0,
669 /* opt state flags */ PRIORITY_FLAGS
, 0,
670 /* last opt argumnt */ { NULL
},
671 /* arg list/cookie */ NULL
,
672 /* must/cannot opts */ NULL
, NULL
,
673 /* option proc */ optionNumericVal
,
674 /* desc, NAME, name */ zPriorityText
, zPriority_NAME
, zPriority_Name
,
675 /* disablement strs */ NULL
, NULL
},
677 { /* entry idx, value */ 20, VALUE_OPT_QUIT
,
678 /* equiv idx, value */ 20, VALUE_OPT_QUIT
,
679 /* equivalenced to */ NO_EQUIVALENT
,
680 /* min, max, act ct */ 0, 1, 0,
681 /* opt state flags */ QUIT_FLAGS
, 0,
682 /* last opt argumnt */ { NULL
},
683 /* arg list/cookie */ NULL
,
684 /* must/cannot opts */ NULL
, NULL
,
685 /* option proc */ NULL
,
686 /* desc, NAME, name */ zQuitText
, zQuit_NAME
, zQuit_Name
,
687 /* disablement strs */ NULL
, NULL
},
689 { /* entry idx, value */ 21, VALUE_OPT_PROPAGATIONDELAY
,
690 /* equiv idx, value */ 21, VALUE_OPT_PROPAGATIONDELAY
,
691 /* equivalenced to */ NO_EQUIVALENT
,
692 /* min, max, act ct */ 0, 1, 0,
693 /* opt state flags */ PROPAGATIONDELAY_FLAGS
, 0,
694 /* last opt argumnt */ { NULL
},
695 /* arg list/cookie */ NULL
,
696 /* must/cannot opts */ NULL
, NULL
,
697 /* option proc */ NULL
,
698 /* desc, NAME, name */ zPropagationdelayText
, zPropagationdelay_NAME
, zPropagationdelay_Name
,
699 /* disablement strs */ NULL
, NULL
},
701 { /* entry idx, value */ 22, VALUE_OPT_UPDATEINTERVAL
,
702 /* equiv idx, value */ 22, VALUE_OPT_UPDATEINTERVAL
,
703 /* equivalenced to */ NO_EQUIVALENT
,
704 /* min, max, act ct */ 0, 1, 0,
705 /* opt state flags */ UPDATEINTERVAL_FLAGS
, 0,
706 /* last opt argumnt */ { NULL
},
707 /* arg list/cookie */ NULL
,
708 /* must/cannot opts */ NULL
, NULL
,
709 /* option proc */ optionNumericVal
,
710 /* desc, NAME, name */ zUpdateintervalText
, zUpdateinterval_NAME
, zUpdateinterval_Name
,
711 /* disablement strs */ NULL
, NULL
},
713 { /* entry idx, value */ 23, VALUE_OPT_STATSDIR
,
714 /* equiv idx, value */ 23, VALUE_OPT_STATSDIR
,
715 /* equivalenced to */ NO_EQUIVALENT
,
716 /* min, max, act ct */ 0, 1, 0,
717 /* opt state flags */ STATSDIR_FLAGS
, 0,
718 /* last opt argumnt */ { NULL
},
719 /* arg list/cookie */ NULL
,
720 /* must/cannot opts */ NULL
, NULL
,
721 /* option proc */ NULL
,
722 /* desc, NAME, name */ zStatsdirText
, zStatsdir_NAME
, zStatsdir_Name
,
723 /* disablement strs */ NULL
, NULL
},
725 { /* entry idx, value */ 24, VALUE_OPT_TRUSTEDKEY
,
726 /* equiv idx, value */ 24, VALUE_OPT_TRUSTEDKEY
,
727 /* equivalenced to */ NO_EQUIVALENT
,
728 /* min, max, act ct */ 0, NOLIMIT
, 0,
729 /* opt state flags */ TRUSTEDKEY_FLAGS
, 0,
730 /* last opt argumnt */ { NULL
},
731 /* arg list/cookie */ NULL
,
732 /* must/cannot opts */ NULL
, NULL
,
733 /* option proc */ optionStackArg
,
734 /* desc, NAME, name */ zTrustedkeyText
, zTrustedkey_NAME
, zTrustedkey_Name
,
735 /* disablement strs */ NULL
, NULL
},
737 { /* entry idx, value */ 25, VALUE_OPT_USER
,
738 /* equiv idx, value */ 25, VALUE_OPT_USER
,
739 /* equivalenced to */ NO_EQUIVALENT
,
740 /* min, max, act ct */ 0, 1, 0,
741 /* opt state flags */ USER_FLAGS
, 0,
742 /* last opt argumnt */ { NULL
},
743 /* arg list/cookie */ NULL
,
744 /* must/cannot opts */ NULL
, NULL
,
745 /* option proc */ NULL
,
746 /* desc, NAME, name */ zUserText
, zUser_NAME
, zUser_Name
,
747 /* disablement strs */ NULL
, NULL
},
749 { /* entry idx, value */ 26, VALUE_OPT_VAR
,
750 /* equiv idx, value */ 26, VALUE_OPT_VAR
,
751 /* equivalenced to */ NO_EQUIVALENT
,
752 /* min, max, act ct */ 0, NOLIMIT
, 0,
753 /* opt state flags */ VAR_FLAGS
, 0,
754 /* last opt argumnt */ { NULL
},
755 /* arg list/cookie */ NULL
,
756 /* must/cannot opts */ NULL
, NULL
,
757 /* option proc */ optionStackArg
,
758 /* desc, NAME, name */ zVarText
, zVar_NAME
, zVar_Name
,
759 /* disablement strs */ NULL
, NULL
},
761 { /* entry idx, value */ 27, VALUE_OPT_DVAR
,
762 /* equiv idx, value */ 27, VALUE_OPT_DVAR
,
763 /* equivalenced to */ NO_EQUIVALENT
,
764 /* min, max, act ct */ 0, NOLIMIT
, 0,
765 /* opt state flags */ DVAR_FLAGS
, 0,
766 /* last opt argumnt */ { NULL
},
767 /* arg list/cookie */ NULL
,
768 /* must/cannot opts */ NULL
, NULL
,
769 /* option proc */ optionStackArg
,
770 /* desc, NAME, name */ zDvarText
, zDvar_NAME
, zDvar_Name
,
771 /* disablement strs */ NULL
, NULL
},
773 { /* entry idx, value */ 28, VALUE_OPT_SLEW
,
774 /* equiv idx, value */ 28, VALUE_OPT_SLEW
,
775 /* equivalenced to */ NO_EQUIVALENT
,
776 /* min, max, act ct */ 0, 1, 0,
777 /* opt state flags */ SLEW_FLAGS
, 0,
778 /* last opt argumnt */ { NULL
},
779 /* arg list/cookie */ NULL
,
780 /* must/cannot opts */ NULL
, NULL
,
781 /* option proc */ NULL
,
782 /* desc, NAME, name */ zSlewText
, zSlew_NAME
, zSlew_Name
,
783 /* disablement strs */ NULL
, NULL
},
785 #ifdef NO_OPTIONAL_OPT_ARGS
786 # define VERSION_OPT_FLAGS OPTST_IMM | OPTST_NO_INIT
788 # define VERSION_OPT_FLAGS OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \
789 OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT
792 { /* entry idx, value */ INDEX_OPT_VERSION
, VALUE_OPT_VERSION
,
793 /* equiv idx value */ NO_EQUIVALENT
, 0,
794 /* equivalenced to */ NO_EQUIVALENT
,
795 /* min, max, act ct */ 0, 1, 0,
796 /* opt state flags */ VERSION_OPT_FLAGS
, 0,
797 /* last opt argumnt */ { NULL
},
798 /* arg list/cookie */ NULL
,
799 /* must/cannot opts */ NULL
, NULL
,
800 /* option proc */ DOVERPROC
,
801 /* desc, NAME, name */ zVersionText
, NULL
, zVersion_Name
,
802 /* disablement strs */ NULL
, NULL
},
804 #undef VERSION_OPT_FLAGS
807 { /* entry idx, value */ INDEX_OPT_HELP
, VALUE_OPT_HELP
,
808 /* equiv idx value */ NO_EQUIVALENT
, 0,
809 /* equivalenced to */ NO_EQUIVALENT
,
810 /* min, max, act ct */ 0, 1, 0,
811 /* opt state flags */ OPTST_IMM
| OPTST_NO_INIT
, 0,
812 /* last opt argumnt */ { NULL
},
813 /* arg list/cookie */ NULL
,
814 /* must/cannot opts */ NULL
, NULL
,
815 /* option proc */ doUsageOpt
,
816 /* desc, NAME, name */ zHelpText
, NULL
, zHelp_Name
,
817 /* disablement strs */ NULL
, NULL
},
819 { /* entry idx, value */ INDEX_OPT_MORE_HELP
, VALUE_OPT_MORE_HELP
,
820 /* equiv idx value */ NO_EQUIVALENT
, 0,
821 /* equivalenced to */ NO_EQUIVALENT
,
822 /* min, max, act ct */ 0, 1, 0,
823 /* opt state flags */ OPTST_IMM
| OPTST_NO_INIT
, 0,
824 /* last opt argumnt */ { NULL
},
825 /* arg list/cookie */ NULL
,
826 /* must/cannot opts */ NULL
, NULL
,
827 /* option proc */ optionPagedUsage
,
828 /* desc, NAME, name */ zMore_HelpText
, NULL
, zMore_Help_Name
,
829 /* disablement strs */ NULL
, NULL
}
832 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
834 * Define the Ntpd Option Environment
836 tSCC zPROGNAME
[] = "NTPD";
838 "ntpd - NTP daemon program - Ver. 4.2.4p5\n\
839 USAGE: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n";
841 #define apzHomeList NULL
843 tSCC zBugsAddr
[] = "http://bugs.ntp.isc.org, bugs@ntp.org";
844 #define zExplain NULL
845 tSCC zDetail
[] = "\n\n";
846 tSCC zFullVersion
[] = NTPD_FULL_VERSION
;
847 /* extracted from /usr/local/gnu/share/autogen/optcode.tpl near line 408 */
849 #if defined(ENABLE_NLS)
850 # define OPTPROC_BASE OPTPROC_TRANSLATE
851 static tOptionXlateProc translate_option_strings
;
853 # define OPTPROC_BASE OPTPROC_NONE
854 # define translate_option_strings NULL
855 #endif /* ENABLE_NLS */
857 tOptions ntpdOptions
= {
858 OPTIONS_STRUCT_VERSION
,
859 0, NULL
, /* original argc + argv */
867 0, NULL
, /* current option index, current option */
868 NULL
, NULL
, zPROGNAME
,
869 zRcName
, zCopyright
, zCopyrightNotice
,
870 zFullVersion
, apzHomeList
, zUsageTitle
,
871 zExplain
, zDetail
, optDesc
,
872 zBugsAddr
, /* address to send bugs to */
873 NULL
, NULL
, /* extensions/saved state */
874 optionUsage
, /* usage procedure */
875 translate_option_strings
, /* translation procedure */
877 * Indexes to special options
879 { INDEX_OPT_MORE_HELP
,
880 0 /* no option state saving */,
881 NO_EQUIVALENT
/* index of '-#' option */,
882 NO_EQUIVALENT
/* index of default opt */
884 32 /* full option count */, 29 /* user option count */
888 * Create the static procedure(s) declared above.
895 USAGE( EXIT_SUCCESS
);
898 #if ! defined(TEST_NTPD_OPTS)
902 * For the set-debug-level option, when DEBUG is #define-d.
906 doOptSet_Debug_Level(
910 /* extracted from ../include/debug-opt.def, line 29 */
911 DESC(DEBUG_LEVEL
).optOccCt
= atoi( pOptDesc
->pzLastArg
);
913 #endif /* defined DEBUG */
915 #endif /* defined(TEST_NTPD_OPTS) */
917 /* extracted from /usr/local/gnu/share/autogen/optmain.tpl near line 92 */
919 #if defined(TEST_NTPD_OPTS) /* TEST MAIN PROCEDURE: */
922 main( int argc
, char** argv
)
924 int res
= EXIT_SUCCESS
;
925 (void)optionProcess( &ntpdOptions
, argc
, argv
);
927 void optionPutShell( tOptions
* );
928 optionPutShell( &ntpdOptions
);
932 #endif /* defined TEST_NTPD_OPTS */
933 /* extracted from /usr/local/gnu/share/autogen/optcode.tpl near line 514 */
940 #include <autoopts/usage-txt.h>
942 static char* AO_gettext( char const* pz
);
943 static void coerce_it(void** s
);
946 AO_gettext( char const* pz
)
954 pzRes
= strdup( pzRes
);
956 fputs( _("No memory for duping translated strings\n"), stderr
);
957 exit( EXIT_FAILURE
);
962 static void coerce_it(void** s
) { *s
= AO_gettext(*s
); }
963 #define COERSION(_f) \
964 coerce_it((void*)&(ntpdOptions._f))
967 * This invokes the translation code (e.g. gettext(3)).
970 translate_option_strings( void )
973 * Guard against re-translation. It won't work. The strings will have
974 * been changed by the first pass through this code. One shot only.
976 if (option_usage_text
.field_ct
== 0)
979 * Do the translations. The first pointer follows the field count field.
980 * The field count field is the size of a pointer.
983 char** ppz
= (char**)(void*)&(option_usage_text
);
984 int ix
= option_usage_text
.field_ct
;
988 *ppz
= AO_gettext(*ppz
);
991 option_usage_text
.field_ct
= 0;
994 tOptDesc
* pOD
= ntpdOptions
.pOptDesc
;
995 int ix
= ntpdOptions
.optCt
;
998 pOD
->pzText
= AO_gettext(pOD
->pzText
);
999 pOD
->pz_NAME
= AO_gettext(pOD
->pz_NAME
);
1000 pOD
->pz_Name
= AO_gettext(pOD
->pz_Name
);
1001 pOD
->pz_DisableName
= AO_gettext(pOD
->pz_DisableName
);
1002 pOD
->pz_DisablePfx
= AO_gettext(pOD
->pz_DisablePfx
);
1008 COERSION(pzCopyright
);
1009 COERSION(pzCopyNotice
);
1010 COERSION(pzFullVersion
);
1011 COERSION(pzUsageTitle
);
1012 COERSION(pzExplain
);
1016 #endif /* ENABLE_NLS */
1021 /* ntpd-opts.c ends here */