1285612Sdelphij/*
2181834Sroberto *  EDIT THIS FILE WITH CAUTION  (ntpd-opts.c)
3285612Sdelphij *
4310419Sdelphij *  It has been AutoGen-ed  November 21, 2016 at 07:59:43 AM by AutoGen 5.18.5
5181834Sroberto *  From the definitions    ntpd-opts.def
6181834Sroberto *  and the template file   options
7181834Sroberto *
8285612Sdelphij * Generated from AutoOpts 41:0:16 templates.
9181834Sroberto *
10285612Sdelphij *  AutoOpts is a copyrighted work.  This source file is not encumbered
11285612Sdelphij *  by AutoOpts licensing, but is provided under the licensing terms chosen
12285612Sdelphij *  by the ntpd author or copyright holder.  AutoOpts is
13285612Sdelphij *  licensed under the terms of the LGPL.  The redistributable library
14285612Sdelphij *  (``libopts'') is licensed under the terms of either the LGPL or, at the
15285612Sdelphij *  users discretion, the BSD license.  See the AutoOpts and/or libopts sources
16285612Sdelphij *  for details.
17181834Sroberto *
18285612Sdelphij * The ntpd program is copyrighted and licensed
19285612Sdelphij * under the following terms:
20181834Sroberto *
21294904Sdelphij *  Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.
22285612Sdelphij *  This is free software. It is licensed for use, modification and
23285612Sdelphij *  redistribution under the terms of the NTP License, copies of which
24285612Sdelphij *  can be seen at:
25285612Sdelphij *    <http://ntp.org/license>
26285612Sdelphij *    <http://opensource.org/licenses/ntp-license.php>
27285612Sdelphij *
28285612Sdelphij *  Permission to use, copy, modify, and distribute this software and its
29285612Sdelphij *  documentation for any purpose with or without fee is hereby granted,
30285612Sdelphij *  provided that the above copyright notice appears in all copies and that
31285612Sdelphij *  both the copyright notice and this permission notice appear in
32285612Sdelphij *  supporting documentation, and that the name The University of Delaware not be used in
33285612Sdelphij *  advertising or publicity pertaining to distribution of the software
34285612Sdelphij *  without specific, written prior permission. The University of Delaware and Network Time Foundation makes no
35285612Sdelphij *  representations about the suitability this software for any purpose. It
36285612Sdelphij *  is provided "as is" without express or implied warranty.
37181834Sroberto */
38181834Sroberto
39285612Sdelphij#ifndef __doxygen__
40285612Sdelphij#define OPTION_CODE_COMPILE 1
41285612Sdelphij#include "ntpd-opts.h"
42285612Sdelphij#include <sys/types.h>
43181834Sroberto
44181834Sroberto#include <limits.h>
45285612Sdelphij#include <stdio.h>
46285612Sdelphij#include <stdlib.h>
47181834Sroberto
48181834Sroberto#ifdef  __cplusplus
49181834Srobertoextern "C" {
50181834Sroberto#endif
51285612Sdelphijextern FILE * option_usage_fp;
52285612Sdelphij#define zCopyright      (ntpd_opt_strs+0)
53285612Sdelphij#define zLicenseDescrip (ntpd_opt_strs+340)
54181834Sroberto
55181834Sroberto/*
56181834Sroberto *  global included definitions
57181834Sroberto */
58181834Sroberto#ifdef __windows
59285612Sdelphij  extern int atoi(const char *);
60285612Sdelphij#else
61285612Sdelphij# include <stdlib.h>
62285612Sdelphij#endif
63285612Sdelphij
64285612Sdelphij#ifdef __windows
65181834Sroberto  extern int atoi(const char*);
66181834Sroberto#else
67181834Sroberto# include <stdlib.h>
68181834Sroberto#endif
69181834Sroberto
70181834Sroberto#ifndef NULL
71181834Sroberto#  define NULL 0
72181834Sroberto#endif
73285612Sdelphij
74285612Sdelphij/**
75285612Sdelphij *  static const strings for ntpd options
76181834Sroberto */
77285612Sdelphijstatic char const ntpd_opt_strs[3129] =
78310419Sdelphij/*     0 */ "ntpd 4.2.8p9\n"
79294904Sdelphij            "Copyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n"
80285612Sdelphij            "This is free software. It is licensed for use, modification and\n"
81285612Sdelphij            "redistribution under the terms of the NTP License, copies of which\n"
82285612Sdelphij            "can be seen at:\n"
83285612Sdelphij            "  <http://ntp.org/license>\n"
84285612Sdelphij            "  <http://opensource.org/licenses/ntp-license.php>\n\0"
85285612Sdelphij/*   340 */ "Permission to use, copy, modify, and distribute this software and its\n"
86285612Sdelphij            "documentation for any purpose with or without fee is hereby granted,\n"
87285612Sdelphij            "provided that the above copyright notice appears in all copies and that\n"
88285612Sdelphij            "both the copyright notice and this permission notice appear in supporting\n"
89285612Sdelphij            "documentation, and that the name The University of Delaware not be used in\n"
90285612Sdelphij            "advertising or publicity pertaining to distribution of the software without\n"
91285612Sdelphij            "specific, written prior permission.  The University of Delaware and Network\n"
92285612Sdelphij            "Time Foundation makes no representations about the suitability this\n"
93285612Sdelphij            "software for any purpose.  It is provided \"as is\" without express or\n"
94285612Sdelphij            "implied warranty.\n\0"
95285612Sdelphij/*  1008 */ "Force IPv4 DNS name resolution\0"
96285612Sdelphij/*  1039 */ "IPV4\0"
97285612Sdelphij/*  1044 */ "ipv4\0"
98285612Sdelphij/*  1049 */ "Force IPv6 DNS name resolution\0"
99285612Sdelphij/*  1080 */ "IPV6\0"
100285612Sdelphij/*  1085 */ "ipv6\0"
101285612Sdelphij/*  1090 */ "Require crypto authentication\0"
102285612Sdelphij/*  1120 */ "AUTHREQ\0"
103285612Sdelphij/*  1128 */ "authreq\0"
104285612Sdelphij/*  1136 */ "Do not require crypto authentication\0"
105285612Sdelphij/*  1173 */ "AUTHNOREQ\0"
106285612Sdelphij/*  1183 */ "authnoreq\0"
107285612Sdelphij/*  1193 */ "Allow us to sync to broadcast servers\0"
108285612Sdelphij/*  1231 */ "BCASTSYNC\0"
109285612Sdelphij/*  1241 */ "bcastsync\0"
110285612Sdelphij/*  1251 */ "configuration file name\0"
111285612Sdelphij/*  1275 */ "CONFIGFILE\0"
112285612Sdelphij/*  1286 */ "configfile\0"
113285612Sdelphij/*  1297 */ "Increase debug verbosity level\0"
114285612Sdelphij/*  1328 */ "DEBUG_LEVEL\0"
115285612Sdelphij/*  1340 */ "debug-level\0"
116285612Sdelphij/*  1352 */ "Set the debug verbosity level\0"
117285612Sdelphij/*  1382 */ "SET_DEBUG_LEVEL\0"
118285612Sdelphij/*  1398 */ "set-debug-level\0"
119285612Sdelphij/*  1414 */ "frequency drift file name\0"
120285612Sdelphij/*  1440 */ "DRIFTFILE\0"
121285612Sdelphij/*  1450 */ "driftfile\0"
122285612Sdelphij/*  1460 */ "Allow the first adjustment to be Big\0"
123285612Sdelphij/*  1497 */ "PANICGATE\0"
124285612Sdelphij/*  1507 */ "panicgate\0"
125285612Sdelphij/*  1517 */ "Step any initial offset correction.\0"
126285612Sdelphij/*  1553 */ "FORCE_STEP_ONCE\0"
127285612Sdelphij/*  1569 */ "force-step-once\0"
128285612Sdelphij/*  1585 */ "Jail directory\0"
129285612Sdelphij/*  1600 */ "JAILDIR\0"
130285612Sdelphij/*  1608 */ "jaildir\0"
131285612Sdelphij/*  1616 */ "built without --enable-clockctl or --enable-linuxcaps or --enable-solarisprivs\0"
132285612Sdelphij/*  1695 */ "Listen on an interface name or address\0"
133285612Sdelphij/*  1734 */ "INTERFACE\0"
134285612Sdelphij/*  1744 */ "interface\0"
135285612Sdelphij/*  1754 */ "path to symmetric keys\0"
136285612Sdelphij/*  1777 */ "KEYFILE\0"
137285612Sdelphij/*  1785 */ "keyfile\0"
138285612Sdelphij/*  1793 */ "path to the log file\0"
139285612Sdelphij/*  1814 */ "LOGFILE\0"
140285612Sdelphij/*  1822 */ "logfile\0"
141285612Sdelphij/*  1830 */ "Do not listen to virtual interfaces\0"
142285612Sdelphij/*  1866 */ "NOVIRTUALIPS\0"
143285612Sdelphij/*  1879 */ "novirtualips\0"
144285612Sdelphij/*  1892 */ "Modify Multimedia Timer (Windows only)\0"
145285612Sdelphij/*  1931 */ "MODIFYMMTIMER\0"
146285612Sdelphij/*  1945 */ "modifymmtimer\0"
147285612Sdelphij/*  1959 */ "Do not fork\0"
148285612Sdelphij/*  1971 */ "NOFORK\0"
149285612Sdelphij/*  1978 */ "nofork\0"
150285612Sdelphij/*  1985 */ "Run at high priority\0"
151285612Sdelphij/*  2006 */ "NICE\0"
152285612Sdelphij/*  2011 */ "nice\0"
153285612Sdelphij/*  2016 */ "path to the PID file\0"
154285612Sdelphij/*  2037 */ "PIDFILE\0"
155285612Sdelphij/*  2045 */ "pidfile\0"
156285612Sdelphij/*  2053 */ "Process priority\0"
157285612Sdelphij/*  2070 */ "PRIORITY\0"
158285612Sdelphij/*  2079 */ "priority\0"
159285612Sdelphij/*  2088 */ "Set the time and quit\0"
160285612Sdelphij/*  2110 */ "QUIT\0"
161285612Sdelphij/*  2115 */ "quit\0"
162285612Sdelphij/*  2120 */ "Broadcast/propagation delay\0"
163285612Sdelphij/*  2148 */ "PROPAGATIONDELAY\0"
164285612Sdelphij/*  2165 */ "propagationdelay\0"
165285612Sdelphij/*  2182 */ "Save parsed configuration and quit\0"
166285612Sdelphij/*  2217 */ "SAVECONFIGQUIT\0"
167285612Sdelphij/*  2232 */ "saveconfigquit\0"
168285612Sdelphij/*  2247 */ "Statistics file location\0"
169285612Sdelphij/*  2272 */ "STATSDIR\0"
170285612Sdelphij/*  2281 */ "statsdir\0"
171285612Sdelphij/*  2290 */ "Trusted key number\0"
172285612Sdelphij/*  2309 */ "TRUSTEDKEY\0"
173285612Sdelphij/*  2320 */ "trustedkey\0"
174285612Sdelphij/*  2331 */ "Run as userid (or userid:groupid)\0"
175285612Sdelphij/*  2365 */ "USER\0"
176285612Sdelphij/*  2370 */ "user\0"
177285612Sdelphij/*  2375 */ "interval in seconds between scans for new or dropped interfaces\0"
178285612Sdelphij/*  2439 */ "UPDATEINTERVAL\0"
179285612Sdelphij/*  2454 */ "updateinterval\0"
180285612Sdelphij/*  2469 */ "make ARG an ntp variable (RW)\0"
181285612Sdelphij/*  2499 */ "VAR\0"
182285612Sdelphij/*  2503 */ "var\0"
183285612Sdelphij/*  2507 */ "make ARG an ntp variable (RW|DEF)\0"
184285612Sdelphij/*  2541 */ "DVAR\0"
185285612Sdelphij/*  2546 */ "dvar\0"
186285612Sdelphij/*  2551 */ "Seconds to wait for first clock sync\0"
187285612Sdelphij/*  2588 */ "WAIT_SYNC\0"
188285612Sdelphij/*  2598 */ "wait-sync\0"
189285612Sdelphij/*  2608 */ "Slew up to 600 seconds\0"
190285612Sdelphij/*  2631 */ "SLEW\0"
191285612Sdelphij/*  2636 */ "slew\0"
192285612Sdelphij/*  2641 */ "Use CPU cycle counter (Windows only)\0"
193285612Sdelphij/*  2678 */ "USEPCC\0"
194285612Sdelphij/*  2685 */ "usepcc\0"
195285612Sdelphij/*  2692 */ "Force CPU cycle counter use (Windows only)\0"
196285612Sdelphij/*  2735 */ "PCCFREQ\0"
197285612Sdelphij/*  2743 */ "pccfreq\0"
198285612Sdelphij/*  2751 */ "Register with mDNS as a NTP server\0"
199285612Sdelphij/*  2786 */ "MDNS\0"
200285612Sdelphij/*  2791 */ "mdns\0"
201285612Sdelphij/*  2796 */ "display extended usage information and exit\0"
202285612Sdelphij/*  2840 */ "help\0"
203285612Sdelphij/*  2845 */ "extended usage information passed thru pager\0"
204285612Sdelphij/*  2890 */ "more-help\0"
205285612Sdelphij/*  2900 */ "output version information and exit\0"
206285612Sdelphij/*  2936 */ "version\0"
207285612Sdelphij/*  2944 */ "NTPD\0"
208310419Sdelphij/*  2949 */ "ntpd - NTP daemon program - Ver. 4.2.8p9\n"
209285612Sdelphij            "Usage:  %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \\\n"
210285612Sdelphij            "\t\t[ <server1> ... <serverN> ]\n\0"
211285612Sdelphij/*  3080 */ "http://bugs.ntp.org, bugs@ntp.org\0"
212285612Sdelphij/*  3114 */ "\n\0"
213310419Sdelphij/*  3116 */ "ntpd 4.2.8p9";
214181834Sroberto
215285612Sdelphij/**
216285612Sdelphij *  ipv4 option description with
217285612Sdelphij *  "Must also have options" and "Incompatible options":
218181834Sroberto */
219285612Sdelphij/** Descriptive text for the ipv4 option */
220285612Sdelphij#define IPV4_DESC      (ntpd_opt_strs+1008)
221285612Sdelphij/** Upper-cased name for the ipv4 option */
222285612Sdelphij#define IPV4_NAME      (ntpd_opt_strs+1039)
223285612Sdelphij/** Name string for the ipv4 option */
224285612Sdelphij#define IPV4_name      (ntpd_opt_strs+1044)
225285612Sdelphij/** Other options that appear in conjunction with the ipv4 option */
226285612Sdelphijstatic int const aIpv4CantList[] = {
227285612Sdelphij    INDEX_OPT_IPV6, NO_EQUIVALENT };
228285612Sdelphij/** Compiled in flag settings for the ipv4 option */
229285612Sdelphij#define IPV4_FLAGS     (OPTST_DISABLED)
230181834Sroberto
231285612Sdelphij/**
232285612Sdelphij *  ipv6 option description with
233181834Sroberto *  "Must also have options" and "Incompatible options":
234181834Sroberto */
235285612Sdelphij/** Descriptive text for the ipv6 option */
236285612Sdelphij#define IPV6_DESC      (ntpd_opt_strs+1049)
237285612Sdelphij/** Upper-cased name for the ipv6 option */
238285612Sdelphij#define IPV6_NAME      (ntpd_opt_strs+1080)
239285612Sdelphij/** Name string for the ipv6 option */
240285612Sdelphij#define IPV6_name      (ntpd_opt_strs+1085)
241285612Sdelphij/** Other options that appear in conjunction with the ipv6 option */
242285612Sdelphijstatic int const aIpv6CantList[] = {
243285612Sdelphij    INDEX_OPT_IPV4, NO_EQUIVALENT };
244285612Sdelphij/** Compiled in flag settings for the ipv6 option */
245285612Sdelphij#define IPV6_FLAGS     (OPTST_DISABLED)
246285612Sdelphij
247285612Sdelphij/**
248285612Sdelphij *  authreq option description with
249285612Sdelphij *  "Must also have options" and "Incompatible options":
250285612Sdelphij */
251285612Sdelphij/** Descriptive text for the authreq option */
252285612Sdelphij#define AUTHREQ_DESC      (ntpd_opt_strs+1090)
253285612Sdelphij/** Upper-cased name for the authreq option */
254285612Sdelphij#define AUTHREQ_NAME      (ntpd_opt_strs+1120)
255285612Sdelphij/** Name string for the authreq option */
256285612Sdelphij#define AUTHREQ_name      (ntpd_opt_strs+1128)
257285612Sdelphij/** Other options that appear in conjunction with the authreq option */
258285612Sdelphijstatic int const aAuthreqCantList[] = {
259181834Sroberto    INDEX_OPT_AUTHNOREQ, NO_EQUIVALENT };
260285612Sdelphij/** Compiled in flag settings for the authreq option */
261285612Sdelphij#define AUTHREQ_FLAGS     (OPTST_DISABLED)
262181834Sroberto
263285612Sdelphij/**
264285612Sdelphij *  authnoreq option description with
265181834Sroberto *  "Must also have options" and "Incompatible options":
266181834Sroberto */
267285612Sdelphij/** Descriptive text for the authnoreq option */
268285612Sdelphij#define AUTHNOREQ_DESC      (ntpd_opt_strs+1136)
269285612Sdelphij/** Upper-cased name for the authnoreq option */
270285612Sdelphij#define AUTHNOREQ_NAME      (ntpd_opt_strs+1173)
271285612Sdelphij/** Name string for the authnoreq option */
272285612Sdelphij#define AUTHNOREQ_name      (ntpd_opt_strs+1183)
273285612Sdelphij/** Other options that appear in conjunction with the authnoreq option */
274285612Sdelphijstatic int const aAuthnoreqCantList[] = {
275181834Sroberto    INDEX_OPT_AUTHREQ, NO_EQUIVALENT };
276285612Sdelphij/** Compiled in flag settings for the authnoreq option */
277285612Sdelphij#define AUTHNOREQ_FLAGS     (OPTST_DISABLED)
278181834Sroberto
279285612Sdelphij/**
280285612Sdelphij *  bcastsync option description:
281181834Sroberto */
282285612Sdelphij/** Descriptive text for the bcastsync option */
283285612Sdelphij#define BCASTSYNC_DESC      (ntpd_opt_strs+1193)
284285612Sdelphij/** Upper-cased name for the bcastsync option */
285285612Sdelphij#define BCASTSYNC_NAME      (ntpd_opt_strs+1231)
286285612Sdelphij/** Name string for the bcastsync option */
287285612Sdelphij#define BCASTSYNC_name      (ntpd_opt_strs+1241)
288285612Sdelphij/** Compiled in flag settings for the bcastsync option */
289285612Sdelphij#define BCASTSYNC_FLAGS     (OPTST_DISABLED)
290181834Sroberto
291285612Sdelphij/**
292285612Sdelphij *  configfile option description:
293181834Sroberto */
294285612Sdelphij/** Descriptive text for the configfile option */
295285612Sdelphij#define CONFIGFILE_DESC      (ntpd_opt_strs+1251)
296285612Sdelphij/** Upper-cased name for the configfile option */
297285612Sdelphij#define CONFIGFILE_NAME      (ntpd_opt_strs+1275)
298285612Sdelphij/** Name string for the configfile option */
299285612Sdelphij#define CONFIGFILE_name      (ntpd_opt_strs+1286)
300285612Sdelphij/** Compiled in flag settings for the configfile option */
301285612Sdelphij#define CONFIGFILE_FLAGS     (OPTST_DISABLED \
302181834Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
303181834Sroberto
304285612Sdelphij/**
305285612Sdelphij *  debug-level option description:
306181834Sroberto */
307285612Sdelphij/** Descriptive text for the debug-level option */
308285612Sdelphij#define DEBUG_LEVEL_DESC      (ntpd_opt_strs+1297)
309285612Sdelphij/** Upper-cased name for the debug-level option */
310285612Sdelphij#define DEBUG_LEVEL_NAME      (ntpd_opt_strs+1328)
311285612Sdelphij/** Name string for the debug-level option */
312285612Sdelphij#define DEBUG_LEVEL_name      (ntpd_opt_strs+1340)
313285612Sdelphij/** Compiled in flag settings for the debug-level option */
314285612Sdelphij#define DEBUG_LEVEL_FLAGS     (OPTST_DISABLED)
315181834Sroberto
316285612Sdelphij/**
317285612Sdelphij *  set-debug-level option description:
318285612Sdelphij */
319285612Sdelphij/** Descriptive text for the set-debug-level option */
320285612Sdelphij#define SET_DEBUG_LEVEL_DESC      (ntpd_opt_strs+1352)
321285612Sdelphij/** Upper-cased name for the set-debug-level option */
322285612Sdelphij#define SET_DEBUG_LEVEL_NAME      (ntpd_opt_strs+1382)
323285612Sdelphij/** Name string for the set-debug-level option */
324285612Sdelphij#define SET_DEBUG_LEVEL_name      (ntpd_opt_strs+1398)
325285612Sdelphij/** Compiled in flag settings for the set-debug-level option */
326285612Sdelphij#define SET_DEBUG_LEVEL_FLAGS     (OPTST_DISABLED \
327285612Sdelphij        | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
328181834Sroberto
329285612Sdelphij/**
330285612Sdelphij *  driftfile option description:
331181834Sroberto */
332285612Sdelphij/** Descriptive text for the driftfile option */
333285612Sdelphij#define DRIFTFILE_DESC      (ntpd_opt_strs+1414)
334285612Sdelphij/** Upper-cased name for the driftfile option */
335285612Sdelphij#define DRIFTFILE_NAME      (ntpd_opt_strs+1440)
336285612Sdelphij/** Name string for the driftfile option */
337285612Sdelphij#define DRIFTFILE_name      (ntpd_opt_strs+1450)
338285612Sdelphij/** Compiled in flag settings for the driftfile option */
339285612Sdelphij#define DRIFTFILE_FLAGS     (OPTST_DISABLED \
340181834Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
341181834Sroberto
342285612Sdelphij/**
343285612Sdelphij *  panicgate option description:
344181834Sroberto */
345285612Sdelphij/** Descriptive text for the panicgate option */
346285612Sdelphij#define PANICGATE_DESC      (ntpd_opt_strs+1460)
347285612Sdelphij/** Upper-cased name for the panicgate option */
348285612Sdelphij#define PANICGATE_NAME      (ntpd_opt_strs+1497)
349285612Sdelphij/** Name string for the panicgate option */
350285612Sdelphij#define PANICGATE_name      (ntpd_opt_strs+1507)
351285612Sdelphij/** Compiled in flag settings for the panicgate option */
352285612Sdelphij#define PANICGATE_FLAGS     (OPTST_DISABLED)
353181834Sroberto
354285612Sdelphij/**
355285612Sdelphij *  force_step_once option description:
356181834Sroberto */
357285612Sdelphij/** Descriptive text for the force_step_once option */
358285612Sdelphij#define FORCE_STEP_ONCE_DESC      (ntpd_opt_strs+1517)
359285612Sdelphij/** Upper-cased name for the force_step_once option */
360285612Sdelphij#define FORCE_STEP_ONCE_NAME      (ntpd_opt_strs+1553)
361285612Sdelphij/** Name string for the force_step_once option */
362285612Sdelphij#define FORCE_STEP_ONCE_name      (ntpd_opt_strs+1569)
363285612Sdelphij/** Compiled in flag settings for the force_step_once option */
364285612Sdelphij#define FORCE_STEP_ONCE_FLAGS     (OPTST_DISABLED)
365181834Sroberto
366285612Sdelphij/**
367285612Sdelphij *  jaildir option description:
368181834Sroberto */
369285612Sdelphij#ifdef HAVE_DROPROOT
370285612Sdelphij/** Descriptive text for the jaildir option */
371285612Sdelphij#define JAILDIR_DESC      (ntpd_opt_strs+1585)
372285612Sdelphij/** Upper-cased name for the jaildir option */
373285612Sdelphij#define JAILDIR_NAME      (ntpd_opt_strs+1600)
374285612Sdelphij/** Name string for the jaildir option */
375285612Sdelphij#define JAILDIR_name      (ntpd_opt_strs+1608)
376285612Sdelphij/** Compiled in flag settings for the jaildir option */
377285612Sdelphij#define JAILDIR_FLAGS     (OPTST_DISABLED \
378181834Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
379181834Sroberto
380285612Sdelphij#else   /* disable jaildir */
381285612Sdelphij#define JAILDIR_FLAGS     (OPTST_OMITTED | OPTST_NO_INIT)
382285612Sdelphij#define JAILDIR_NAME      NULL
383285612Sdelphij/** Descriptive text for the jaildir option */
384285612Sdelphij#define JAILDIR_DESC      (ntpd_opt_strs+1616)
385285612Sdelphij#define JAILDIR_name      (ntpd_opt_strs+1608)
386285612Sdelphij#endif  /* HAVE_DROPROOT */
387285612Sdelphij
388285612Sdelphij/**
389285612Sdelphij *  interface option description:
390181834Sroberto */
391285612Sdelphij/** Descriptive text for the interface option */
392285612Sdelphij#define INTERFACE_DESC      (ntpd_opt_strs+1695)
393285612Sdelphij/** Upper-cased name for the interface option */
394285612Sdelphij#define INTERFACE_NAME      (ntpd_opt_strs+1734)
395285612Sdelphij/** Name string for the interface option */
396285612Sdelphij#define INTERFACE_name      (ntpd_opt_strs+1744)
397285612Sdelphij/** Compiled in flag settings for the interface option */
398285612Sdelphij#define INTERFACE_FLAGS     (OPTST_DISABLED | OPTST_STACKED \
399181834Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
400181834Sroberto
401285612Sdelphij/**
402285612Sdelphij *  keyfile option description:
403181834Sroberto */
404285612Sdelphij/** Descriptive text for the keyfile option */
405285612Sdelphij#define KEYFILE_DESC      (ntpd_opt_strs+1754)
406285612Sdelphij/** Upper-cased name for the keyfile option */
407285612Sdelphij#define KEYFILE_NAME      (ntpd_opt_strs+1777)
408285612Sdelphij/** Name string for the keyfile option */
409285612Sdelphij#define KEYFILE_name      (ntpd_opt_strs+1785)
410285612Sdelphij/** Compiled in flag settings for the keyfile option */
411285612Sdelphij#define KEYFILE_FLAGS     (OPTST_DISABLED \
412181834Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
413181834Sroberto
414285612Sdelphij/**
415285612Sdelphij *  logfile option description:
416181834Sroberto */
417285612Sdelphij/** Descriptive text for the logfile option */
418285612Sdelphij#define LOGFILE_DESC      (ntpd_opt_strs+1793)
419285612Sdelphij/** Upper-cased name for the logfile option */
420285612Sdelphij#define LOGFILE_NAME      (ntpd_opt_strs+1814)
421285612Sdelphij/** Name string for the logfile option */
422285612Sdelphij#define LOGFILE_name      (ntpd_opt_strs+1822)
423285612Sdelphij/** Compiled in flag settings for the logfile option */
424285612Sdelphij#define LOGFILE_FLAGS     (OPTST_DISABLED \
425181834Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
426181834Sroberto
427285612Sdelphij/**
428285612Sdelphij *  novirtualips option description:
429181834Sroberto */
430285612Sdelphij/** Descriptive text for the novirtualips option */
431285612Sdelphij#define NOVIRTUALIPS_DESC      (ntpd_opt_strs+1830)
432285612Sdelphij/** Upper-cased name for the novirtualips option */
433285612Sdelphij#define NOVIRTUALIPS_NAME      (ntpd_opt_strs+1866)
434285612Sdelphij/** Name string for the novirtualips option */
435285612Sdelphij#define NOVIRTUALIPS_name      (ntpd_opt_strs+1879)
436285612Sdelphij/** Compiled in flag settings for the novirtualips option */
437285612Sdelphij#define NOVIRTUALIPS_FLAGS     (OPTST_DISABLED)
438181834Sroberto
439285612Sdelphij/**
440285612Sdelphij *  modifymmtimer option description:
441181834Sroberto */
442181834Sroberto#ifdef SYS_WINNT
443285612Sdelphij/** Descriptive text for the modifymmtimer option */
444285612Sdelphij#define MODIFYMMTIMER_DESC      (ntpd_opt_strs+1892)
445285612Sdelphij/** Upper-cased name for the modifymmtimer option */
446285612Sdelphij#define MODIFYMMTIMER_NAME      (ntpd_opt_strs+1931)
447285612Sdelphij/** Name string for the modifymmtimer option */
448285612Sdelphij#define MODIFYMMTIMER_name      (ntpd_opt_strs+1945)
449285612Sdelphij/** Compiled in flag settings for the modifymmtimer option */
450285612Sdelphij#define MODIFYMMTIMER_FLAGS     (OPTST_DISABLED)
451181834Sroberto
452285612Sdelphij#else   /* disable modifymmtimer */
453285612Sdelphij#define MODIFYMMTIMER_FLAGS     (OPTST_OMITTED | OPTST_NO_INIT)
454285612Sdelphij#define MODIFYMMTIMER_NAME      NULL
455285612Sdelphij#define MODIFYMMTIMER_DESC      NULL
456285612Sdelphij#define MODIFYMMTIMER_name      NULL
457181834Sroberto#endif  /* SYS_WINNT */
458181834Sroberto
459285612Sdelphij/**
460285612Sdelphij *  nofork option description with
461285612Sdelphij *  "Must also have options" and "Incompatible options":
462181834Sroberto */
463285612Sdelphij/** Descriptive text for the nofork option */
464285612Sdelphij#define NOFORK_DESC      (ntpd_opt_strs+1959)
465285612Sdelphij/** Upper-cased name for the nofork option */
466285612Sdelphij#define NOFORK_NAME      (ntpd_opt_strs+1971)
467285612Sdelphij/** Name string for the nofork option */
468285612Sdelphij#define NOFORK_name      (ntpd_opt_strs+1978)
469285612Sdelphij/** Other options that appear in conjunction with the nofork option */
470285612Sdelphijstatic int const aNoforkCantList[] = {
471285612Sdelphij    INDEX_OPT_WAIT_SYNC, NO_EQUIVALENT };
472285612Sdelphij/** Compiled in flag settings for the nofork option */
473285612Sdelphij#define NOFORK_FLAGS     (OPTST_DISABLED)
474181834Sroberto
475285612Sdelphij/**
476285612Sdelphij *  nice option description:
477181834Sroberto */
478285612Sdelphij/** Descriptive text for the nice option */
479285612Sdelphij#define NICE_DESC      (ntpd_opt_strs+1985)
480285612Sdelphij/** Upper-cased name for the nice option */
481285612Sdelphij#define NICE_NAME      (ntpd_opt_strs+2006)
482285612Sdelphij/** Name string for the nice option */
483285612Sdelphij#define NICE_name      (ntpd_opt_strs+2011)
484285612Sdelphij/** Compiled in flag settings for the nice option */
485285612Sdelphij#define NICE_FLAGS     (OPTST_DISABLED)
486181834Sroberto
487285612Sdelphij/**
488285612Sdelphij *  pidfile option description:
489181834Sroberto */
490285612Sdelphij/** Descriptive text for the pidfile option */
491285612Sdelphij#define PIDFILE_DESC      (ntpd_opt_strs+2016)
492285612Sdelphij/** Upper-cased name for the pidfile option */
493285612Sdelphij#define PIDFILE_NAME      (ntpd_opt_strs+2037)
494285612Sdelphij/** Name string for the pidfile option */
495285612Sdelphij#define PIDFILE_name      (ntpd_opt_strs+2045)
496285612Sdelphij/** Compiled in flag settings for the pidfile option */
497285612Sdelphij#define PIDFILE_FLAGS     (OPTST_DISABLED \
498181834Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
499181834Sroberto
500285612Sdelphij/**
501285612Sdelphij *  priority option description:
502181834Sroberto */
503285612Sdelphij/** Descriptive text for the priority option */
504285612Sdelphij#define PRIORITY_DESC      (ntpd_opt_strs+2053)
505285612Sdelphij/** Upper-cased name for the priority option */
506285612Sdelphij#define PRIORITY_NAME      (ntpd_opt_strs+2070)
507285612Sdelphij/** Name string for the priority option */
508285612Sdelphij#define PRIORITY_name      (ntpd_opt_strs+2079)
509285612Sdelphij/** Compiled in flag settings for the priority option */
510285612Sdelphij#define PRIORITY_FLAGS     (OPTST_DISABLED \
511181834Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
512181834Sroberto
513285612Sdelphij/**
514285612Sdelphij *  quit option description with
515285612Sdelphij *  "Must also have options" and "Incompatible options":
516181834Sroberto */
517285612Sdelphij/** Descriptive text for the quit option */
518285612Sdelphij#define QUIT_DESC      (ntpd_opt_strs+2088)
519285612Sdelphij/** Upper-cased name for the quit option */
520285612Sdelphij#define QUIT_NAME      (ntpd_opt_strs+2110)
521285612Sdelphij/** Name string for the quit option */
522285612Sdelphij#define QUIT_name      (ntpd_opt_strs+2115)
523285612Sdelphij/** Other options that appear in conjunction with the quit option */
524285612Sdelphijstatic int const aQuitCantList[] = {
525285612Sdelphij    INDEX_OPT_SAVECONFIGQUIT,
526285612Sdelphij    INDEX_OPT_WAIT_SYNC, NO_EQUIVALENT };
527285612Sdelphij/** Compiled in flag settings for the quit option */
528285612Sdelphij#define QUIT_FLAGS     (OPTST_DISABLED)
529181834Sroberto
530285612Sdelphij/**
531285612Sdelphij *  propagationdelay option description:
532181834Sroberto */
533285612Sdelphij/** Descriptive text for the propagationdelay option */
534285612Sdelphij#define PROPAGATIONDELAY_DESC      (ntpd_opt_strs+2120)
535285612Sdelphij/** Upper-cased name for the propagationdelay option */
536285612Sdelphij#define PROPAGATIONDELAY_NAME      (ntpd_opt_strs+2148)
537285612Sdelphij/** Name string for the propagationdelay option */
538285612Sdelphij#define PROPAGATIONDELAY_name      (ntpd_opt_strs+2165)
539285612Sdelphij/** Compiled in flag settings for the propagationdelay option */
540285612Sdelphij#define PROPAGATIONDELAY_FLAGS     (OPTST_DISABLED \
541181834Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
542181834Sroberto
543285612Sdelphij/**
544285612Sdelphij *  saveconfigquit option description with
545285612Sdelphij *  "Must also have options" and "Incompatible options":
546181834Sroberto */
547285612Sdelphij#ifdef SAVECONFIG
548285612Sdelphij/** Descriptive text for the saveconfigquit option */
549285612Sdelphij#define SAVECONFIGQUIT_DESC      (ntpd_opt_strs+2182)
550285612Sdelphij/** Upper-cased name for the saveconfigquit option */
551285612Sdelphij#define SAVECONFIGQUIT_NAME      (ntpd_opt_strs+2217)
552285612Sdelphij/** Name string for the saveconfigquit option */
553285612Sdelphij#define SAVECONFIGQUIT_name      (ntpd_opt_strs+2232)
554285612Sdelphij/** Other options that appear in conjunction with the saveconfigquit option */
555285612Sdelphijstatic int const aSaveconfigquitCantList[] = {
556285612Sdelphij    INDEX_OPT_QUIT,
557285612Sdelphij    INDEX_OPT_WAIT_SYNC, NO_EQUIVALENT };
558285612Sdelphij/** Compiled in flag settings for the saveconfigquit option */
559285612Sdelphij#define SAVECONFIGQUIT_FLAGS     (OPTST_DISABLED \
560285612Sdelphij        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
561181834Sroberto
562285612Sdelphij#else   /* disable saveconfigquit */
563285612Sdelphij#define SAVECONFIGQUIT_FLAGS     (OPTST_OMITTED | OPTST_NO_INIT)
564285612Sdelphij#define aSaveconfigquitCantList   NULL
565285612Sdelphij#define SAVECONFIGQUIT_NAME      NULL
566285612Sdelphij#define SAVECONFIGQUIT_DESC      NULL
567285612Sdelphij#define SAVECONFIGQUIT_name      NULL
568285612Sdelphij#endif  /* SAVECONFIG */
569285612Sdelphij
570285612Sdelphij/**
571285612Sdelphij *  statsdir option description:
572181834Sroberto */
573285612Sdelphij/** Descriptive text for the statsdir option */
574285612Sdelphij#define STATSDIR_DESC      (ntpd_opt_strs+2247)
575285612Sdelphij/** Upper-cased name for the statsdir option */
576285612Sdelphij#define STATSDIR_NAME      (ntpd_opt_strs+2272)
577285612Sdelphij/** Name string for the statsdir option */
578285612Sdelphij#define STATSDIR_name      (ntpd_opt_strs+2281)
579285612Sdelphij/** Compiled in flag settings for the statsdir option */
580285612Sdelphij#define STATSDIR_FLAGS     (OPTST_DISABLED \
581181834Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
582181834Sroberto
583285612Sdelphij/**
584285612Sdelphij *  trustedkey option description:
585181834Sroberto */
586285612Sdelphij/** Descriptive text for the trustedkey option */
587285612Sdelphij#define TRUSTEDKEY_DESC      (ntpd_opt_strs+2290)
588285612Sdelphij/** Upper-cased name for the trustedkey option */
589285612Sdelphij#define TRUSTEDKEY_NAME      (ntpd_opt_strs+2309)
590285612Sdelphij/** Name string for the trustedkey option */
591285612Sdelphij#define TRUSTEDKEY_name      (ntpd_opt_strs+2320)
592285612Sdelphij/** Compiled in flag settings for the trustedkey option */
593285612Sdelphij#define TRUSTEDKEY_FLAGS     (OPTST_DISABLED | OPTST_STACKED \
594181834Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
595181834Sroberto
596285612Sdelphij/**
597285612Sdelphij *  user option description:
598181834Sroberto */
599285612Sdelphij#ifdef HAVE_DROPROOT
600285612Sdelphij/** Descriptive text for the user option */
601285612Sdelphij#define USER_DESC      (ntpd_opt_strs+2331)
602285612Sdelphij/** Upper-cased name for the user option */
603285612Sdelphij#define USER_NAME      (ntpd_opt_strs+2365)
604285612Sdelphij/** Name string for the user option */
605285612Sdelphij#define USER_name      (ntpd_opt_strs+2370)
606285612Sdelphij/** Compiled in flag settings for the user option */
607285612Sdelphij#define USER_FLAGS     (OPTST_DISABLED \
608181834Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
609181834Sroberto
610285612Sdelphij#else   /* disable user */
611285612Sdelphij#define USER_FLAGS     (OPTST_OMITTED | OPTST_NO_INIT)
612285612Sdelphij#define USER_NAME      NULL
613285612Sdelphij/** Descriptive text for the user option */
614285612Sdelphij#define USER_DESC      (ntpd_opt_strs+1616)
615285612Sdelphij#define USER_name      (ntpd_opt_strs+2370)
616285612Sdelphij#endif  /* HAVE_DROPROOT */
617285612Sdelphij
618285612Sdelphij/**
619285612Sdelphij *  updateinterval option description:
620181834Sroberto */
621285612Sdelphij/** Descriptive text for the updateinterval option */
622285612Sdelphij#define UPDATEINTERVAL_DESC      (ntpd_opt_strs+2375)
623285612Sdelphij/** Upper-cased name for the updateinterval option */
624285612Sdelphij#define UPDATEINTERVAL_NAME      (ntpd_opt_strs+2439)
625285612Sdelphij/** Name string for the updateinterval option */
626285612Sdelphij#define UPDATEINTERVAL_name      (ntpd_opt_strs+2454)
627285612Sdelphij/** Compiled in flag settings for the updateinterval option */
628285612Sdelphij#define UPDATEINTERVAL_FLAGS     (OPTST_DISABLED \
629285612Sdelphij        | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
630181834Sroberto
631285612Sdelphij/**
632285612Sdelphij *  var option description:
633181834Sroberto */
634285612Sdelphij/** Descriptive text for the var option */
635285612Sdelphij#define VAR_DESC      (ntpd_opt_strs+2469)
636285612Sdelphij/** Upper-cased name for the var option */
637285612Sdelphij#define VAR_NAME      (ntpd_opt_strs+2499)
638285612Sdelphij/** Name string for the var option */
639285612Sdelphij#define VAR_name      (ntpd_opt_strs+2503)
640285612Sdelphij/** Compiled in flag settings for the var option */
641285612Sdelphij#define VAR_FLAGS     (OPTST_DISABLED | OPTST_STACKED \
642181834Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
643181834Sroberto
644285612Sdelphij/**
645285612Sdelphij *  dvar option description:
646181834Sroberto */
647285612Sdelphij/** Descriptive text for the dvar option */
648285612Sdelphij#define DVAR_DESC      (ntpd_opt_strs+2507)
649285612Sdelphij/** Upper-cased name for the dvar option */
650285612Sdelphij#define DVAR_NAME      (ntpd_opt_strs+2541)
651285612Sdelphij/** Name string for the dvar option */
652285612Sdelphij#define DVAR_name      (ntpd_opt_strs+2546)
653285612Sdelphij/** Compiled in flag settings for the dvar option */
654285612Sdelphij#define DVAR_FLAGS     (OPTST_DISABLED | OPTST_STACKED \
655285612Sdelphij        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
656181834Sroberto
657285612Sdelphij/**
658285612Sdelphij *  wait-sync option description with
659285612Sdelphij *  "Must also have options" and "Incompatible options":
660181834Sroberto */
661285612Sdelphij#ifdef HAVE_WORKING_FORK
662285612Sdelphij/** Descriptive text for the wait-sync option */
663285612Sdelphij#define WAIT_SYNC_DESC      (ntpd_opt_strs+2551)
664285612Sdelphij/** Upper-cased name for the wait-sync option */
665285612Sdelphij#define WAIT_SYNC_NAME      (ntpd_opt_strs+2588)
666285612Sdelphij/** Name string for the wait-sync option */
667285612Sdelphij#define WAIT_SYNC_name      (ntpd_opt_strs+2598)
668285612Sdelphij/** Other options that appear in conjunction with the wait-sync option */
669285612Sdelphijstatic int const aWait_SyncCantList[] = {
670285612Sdelphij    INDEX_OPT_NOFORK,
671285612Sdelphij    INDEX_OPT_QUIT,
672285612Sdelphij    INDEX_OPT_SAVECONFIGQUIT, NO_EQUIVALENT };
673285612Sdelphij/** Compiled in flag settings for the wait-sync option */
674285612Sdelphij#define WAIT_SYNC_FLAGS     (OPTST_DISABLED \
675285612Sdelphij        | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
676181834Sroberto
677285612Sdelphij#else   /* disable wait-sync */
678285612Sdelphij#define WAIT_SYNC_FLAGS     (OPTST_OMITTED | OPTST_NO_INIT)
679285612Sdelphij#define aWait_SyncCantList   NULL
680285612Sdelphij#define WAIT_SYNC_NAME      NULL
681285612Sdelphij#define WAIT_SYNC_DESC      NULL
682285612Sdelphij#define WAIT_SYNC_name      NULL
683285612Sdelphij#endif  /* HAVE_WORKING_FORK */
684181834Sroberto
685285612Sdelphij/**
686285612Sdelphij *  slew option description:
687181834Sroberto */
688285612Sdelphij/** Descriptive text for the slew option */
689285612Sdelphij#define SLEW_DESC      (ntpd_opt_strs+2608)
690285612Sdelphij/** Upper-cased name for the slew option */
691285612Sdelphij#define SLEW_NAME      (ntpd_opt_strs+2631)
692285612Sdelphij/** Name string for the slew option */
693285612Sdelphij#define SLEW_name      (ntpd_opt_strs+2636)
694285612Sdelphij/** Compiled in flag settings for the slew option */
695285612Sdelphij#define SLEW_FLAGS     (OPTST_DISABLED)
696285612Sdelphij
697285612Sdelphij/**
698285612Sdelphij *  usepcc option description:
699181834Sroberto */
700285612Sdelphij#ifdef SYS_WINNT
701285612Sdelphij/** Descriptive text for the usepcc option */
702285612Sdelphij#define USEPCC_DESC      (ntpd_opt_strs+2641)
703285612Sdelphij/** Upper-cased name for the usepcc option */
704285612Sdelphij#define USEPCC_NAME      (ntpd_opt_strs+2678)
705285612Sdelphij/** Name string for the usepcc option */
706285612Sdelphij#define USEPCC_name      (ntpd_opt_strs+2685)
707285612Sdelphij/** Compiled in flag settings for the usepcc option */
708285612Sdelphij#define USEPCC_FLAGS     (OPTST_DISABLED)
709181834Sroberto
710285612Sdelphij#else   /* disable usepcc */
711285612Sdelphij#define USEPCC_FLAGS     (OPTST_OMITTED | OPTST_NO_INIT)
712285612Sdelphij#define USEPCC_NAME      NULL
713285612Sdelphij#define USEPCC_DESC      NULL
714285612Sdelphij#define USEPCC_name      NULL
715285612Sdelphij#endif  /* SYS_WINNT */
716285612Sdelphij
717285612Sdelphij/**
718285612Sdelphij *  pccfreq option description:
719181834Sroberto */
720285612Sdelphij#ifdef SYS_WINNT
721285612Sdelphij/** Descriptive text for the pccfreq option */
722285612Sdelphij#define PCCFREQ_DESC      (ntpd_opt_strs+2692)
723285612Sdelphij/** Upper-cased name for the pccfreq option */
724285612Sdelphij#define PCCFREQ_NAME      (ntpd_opt_strs+2735)
725285612Sdelphij/** Name string for the pccfreq option */
726285612Sdelphij#define PCCFREQ_name      (ntpd_opt_strs+2743)
727285612Sdelphij/** Compiled in flag settings for the pccfreq option */
728285612Sdelphij#define PCCFREQ_FLAGS     (OPTST_DISABLED \
729285612Sdelphij        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
730181834Sroberto
731285612Sdelphij#else   /* disable pccfreq */
732285612Sdelphij#define PCCFREQ_FLAGS     (OPTST_OMITTED | OPTST_NO_INIT)
733285612Sdelphij#define PCCFREQ_NAME      NULL
734285612Sdelphij#define PCCFREQ_DESC      NULL
735285612Sdelphij#define PCCFREQ_name      NULL
736285612Sdelphij#endif  /* SYS_WINNT */
737181834Sroberto
738285612Sdelphij/**
739285612Sdelphij *  mdns option description:
740181834Sroberto */
741285612Sdelphij#ifdef HAVE_DNSREGISTRATION
742285612Sdelphij/** Descriptive text for the mdns option */
743285612Sdelphij#define MDNS_DESC      (ntpd_opt_strs+2751)
744285612Sdelphij/** Upper-cased name for the mdns option */
745285612Sdelphij#define MDNS_NAME      (ntpd_opt_strs+2786)
746285612Sdelphij/** Name string for the mdns option */
747285612Sdelphij#define MDNS_name      (ntpd_opt_strs+2791)
748285612Sdelphij/** Compiled in flag settings for the mdns option */
749285612Sdelphij#define MDNS_FLAGS     (OPTST_DISABLED)
750181834Sroberto
751285612Sdelphij#else   /* disable mdns */
752285612Sdelphij#define MDNS_FLAGS     (OPTST_OMITTED | OPTST_NO_INIT)
753285612Sdelphij#define MDNS_NAME      NULL
754285612Sdelphij#define MDNS_DESC      NULL
755285612Sdelphij#define MDNS_name      NULL
756285612Sdelphij#endif  /* HAVE_DNSREGISTRATION */
757285612Sdelphij
758181834Sroberto/*
759285612Sdelphij *  Help/More_Help/Version option descriptions:
760181834Sroberto */
761285612Sdelphij#define HELP_DESC       (ntpd_opt_strs+2796)
762285612Sdelphij#define HELP_name       (ntpd_opt_strs+2840)
763285612Sdelphij#ifdef HAVE_WORKING_FORK
764285612Sdelphij#define MORE_HELP_DESC  (ntpd_opt_strs+2845)
765285612Sdelphij#define MORE_HELP_name  (ntpd_opt_strs+2890)
766285612Sdelphij#define MORE_HELP_FLAGS (OPTST_IMM | OPTST_NO_INIT)
767181834Sroberto#else
768285612Sdelphij#define MORE_HELP_DESC  HELP_DESC
769285612Sdelphij#define MORE_HELP_name  HELP_name
770285612Sdelphij#define MORE_HELP_FLAGS (OPTST_OMITTED | OPTST_NO_INIT)
771285612Sdelphij#endif
772285612Sdelphij#ifdef NO_OPTIONAL_OPT_ARGS
773285612Sdelphij#  define VER_FLAGS     (OPTST_IMM | OPTST_NO_INIT)
774285612Sdelphij#else
775285612Sdelphij#  define VER_FLAGS     (OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \
776285612Sdelphij                         OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT)
777285612Sdelphij#endif
778285612Sdelphij#define VER_DESC        (ntpd_opt_strs+2900)
779285612Sdelphij#define VER_name        (ntpd_opt_strs+2936)
780285612Sdelphij/**
781285612Sdelphij *  Declare option callback procedures
782285612Sdelphij */
783285612Sdelphijextern tOptProc
784285612Sdelphij    ntpOptionPrintVersion, optionBooleanVal,      optionNestedVal,
785285612Sdelphij    optionNumericVal,      optionPagedUsage,      optionResetOpt,
786285612Sdelphij    optionStackArg,        optionTimeDate,        optionTimeVal,
787285612Sdelphij    optionUnstackArg,      optionVendorOption;
788285612Sdelphijstatic tOptProc
789285612Sdelphij    doOptDebug_Level, doUsageOpt;
790285612Sdelphij#define VER_PROC        ntpOptionPrintVersion
791181834Sroberto
792285612Sdelphij/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
793285612Sdelphij/**
794285612Sdelphij *  Define the ntpd Option Descriptions.
795285612Sdelphij * This is an array of OPTION_CT entries, one for each
796285612Sdelphij * option that the ntpd program responds to.
797181834Sroberto */
798285612Sdelphijstatic tOptDesc optDesc[OPTION_CT] = {
799181834Sroberto  {  /* entry idx, value */ 0, VALUE_OPT_IPV4,
800285612Sdelphij     /* equiv idx, value */ 0, VALUE_OPT_IPV4,
801181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
802181834Sroberto     /* min, max, act ct */ 0, 1, 0,
803181834Sroberto     /* opt state flags  */ IPV4_FLAGS, 0,
804285612Sdelphij     /* last opt argumnt */ { NULL }, /* --ipv4 */
805181834Sroberto     /* arg list/cookie  */ NULL,
806285612Sdelphij     /* must/cannot opts */ NULL, aIpv4CantList,
807181834Sroberto     /* option proc      */ NULL,
808285612Sdelphij     /* desc, NAME, name */ IPV4_DESC, IPV4_NAME, IPV4_name,
809181834Sroberto     /* disablement strs */ NULL, NULL },
810181834Sroberto
811181834Sroberto  {  /* entry idx, value */ 1, VALUE_OPT_IPV6,
812285612Sdelphij     /* equiv idx, value */ 1, VALUE_OPT_IPV6,
813285612Sdelphij     /* equivalenced to  */ NO_EQUIVALENT,
814181834Sroberto     /* min, max, act ct */ 0, 1, 0,
815181834Sroberto     /* opt state flags  */ IPV6_FLAGS, 0,
816285612Sdelphij     /* last opt argumnt */ { NULL }, /* --ipv6 */
817181834Sroberto     /* arg list/cookie  */ NULL,
818285612Sdelphij     /* must/cannot opts */ NULL, aIpv6CantList,
819181834Sroberto     /* option proc      */ NULL,
820285612Sdelphij     /* desc, NAME, name */ IPV6_DESC, IPV6_NAME, IPV6_name,
821181834Sroberto     /* disablement strs */ NULL, NULL },
822181834Sroberto
823181834Sroberto  {  /* entry idx, value */ 2, VALUE_OPT_AUTHREQ,
824181834Sroberto     /* equiv idx, value */ 2, VALUE_OPT_AUTHREQ,
825181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
826181834Sroberto     /* min, max, act ct */ 0, 1, 0,
827181834Sroberto     /* opt state flags  */ AUTHREQ_FLAGS, 0,
828285612Sdelphij     /* last opt argumnt */ { NULL }, /* --authreq */
829181834Sroberto     /* arg list/cookie  */ NULL,
830181834Sroberto     /* must/cannot opts */ NULL, aAuthreqCantList,
831181834Sroberto     /* option proc      */ NULL,
832285612Sdelphij     /* desc, NAME, name */ AUTHREQ_DESC, AUTHREQ_NAME, AUTHREQ_name,
833181834Sroberto     /* disablement strs */ NULL, NULL },
834181834Sroberto
835181834Sroberto  {  /* entry idx, value */ 3, VALUE_OPT_AUTHNOREQ,
836181834Sroberto     /* equiv idx, value */ 3, VALUE_OPT_AUTHNOREQ,
837181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
838181834Sroberto     /* min, max, act ct */ 0, 1, 0,
839181834Sroberto     /* opt state flags  */ AUTHNOREQ_FLAGS, 0,
840285612Sdelphij     /* last opt argumnt */ { NULL }, /* --authnoreq */
841181834Sroberto     /* arg list/cookie  */ NULL,
842181834Sroberto     /* must/cannot opts */ NULL, aAuthnoreqCantList,
843181834Sroberto     /* option proc      */ NULL,
844285612Sdelphij     /* desc, NAME, name */ AUTHNOREQ_DESC, AUTHNOREQ_NAME, AUTHNOREQ_name,
845181834Sroberto     /* disablement strs */ NULL, NULL },
846181834Sroberto
847181834Sroberto  {  /* entry idx, value */ 4, VALUE_OPT_BCASTSYNC,
848181834Sroberto     /* equiv idx, value */ 4, VALUE_OPT_BCASTSYNC,
849181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
850181834Sroberto     /* min, max, act ct */ 0, 1, 0,
851181834Sroberto     /* opt state flags  */ BCASTSYNC_FLAGS, 0,
852285612Sdelphij     /* last opt argumnt */ { NULL }, /* --bcastsync */
853181834Sroberto     /* arg list/cookie  */ NULL,
854181834Sroberto     /* must/cannot opts */ NULL, NULL,
855181834Sroberto     /* option proc      */ NULL,
856285612Sdelphij     /* desc, NAME, name */ BCASTSYNC_DESC, BCASTSYNC_NAME, BCASTSYNC_name,
857181834Sroberto     /* disablement strs */ NULL, NULL },
858181834Sroberto
859181834Sroberto  {  /* entry idx, value */ 5, VALUE_OPT_CONFIGFILE,
860181834Sroberto     /* equiv idx, value */ 5, VALUE_OPT_CONFIGFILE,
861181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
862181834Sroberto     /* min, max, act ct */ 0, 1, 0,
863181834Sroberto     /* opt state flags  */ CONFIGFILE_FLAGS, 0,
864285612Sdelphij     /* last opt argumnt */ { NULL }, /* --configfile */
865181834Sroberto     /* arg list/cookie  */ NULL,
866181834Sroberto     /* must/cannot opts */ NULL, NULL,
867181834Sroberto     /* option proc      */ NULL,
868285612Sdelphij     /* desc, NAME, name */ CONFIGFILE_DESC, CONFIGFILE_NAME, CONFIGFILE_name,
869181834Sroberto     /* disablement strs */ NULL, NULL },
870181834Sroberto
871181834Sroberto  {  /* entry idx, value */ 6, VALUE_OPT_DEBUG_LEVEL,
872181834Sroberto     /* equiv idx, value */ 6, VALUE_OPT_DEBUG_LEVEL,
873181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
874181834Sroberto     /* min, max, act ct */ 0, NOLIMIT, 0,
875181834Sroberto     /* opt state flags  */ DEBUG_LEVEL_FLAGS, 0,
876285612Sdelphij     /* last opt argumnt */ { NULL }, /* --debug-level */
877181834Sroberto     /* arg list/cookie  */ NULL,
878181834Sroberto     /* must/cannot opts */ NULL, NULL,
879285612Sdelphij     /* option proc      */ doOptDebug_Level,
880285612Sdelphij     /* desc, NAME, name */ DEBUG_LEVEL_DESC, DEBUG_LEVEL_NAME, DEBUG_LEVEL_name,
881181834Sroberto     /* disablement strs */ NULL, NULL },
882181834Sroberto
883181834Sroberto  {  /* entry idx, value */ 7, VALUE_OPT_SET_DEBUG_LEVEL,
884181834Sroberto     /* equiv idx, value */ 7, VALUE_OPT_SET_DEBUG_LEVEL,
885181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
886181834Sroberto     /* min, max, act ct */ 0, NOLIMIT, 0,
887181834Sroberto     /* opt state flags  */ SET_DEBUG_LEVEL_FLAGS, 0,
888285612Sdelphij     /* last opt argumnt */ { NULL }, /* --set-debug-level */
889181834Sroberto     /* arg list/cookie  */ NULL,
890181834Sroberto     /* must/cannot opts */ NULL, NULL,
891285612Sdelphij     /* option proc      */ optionNumericVal,
892285612Sdelphij     /* desc, NAME, name */ SET_DEBUG_LEVEL_DESC, SET_DEBUG_LEVEL_NAME, SET_DEBUG_LEVEL_name,
893181834Sroberto     /* disablement strs */ NULL, NULL },
894181834Sroberto
895181834Sroberto  {  /* entry idx, value */ 8, VALUE_OPT_DRIFTFILE,
896181834Sroberto     /* equiv idx, value */ 8, VALUE_OPT_DRIFTFILE,
897181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
898181834Sroberto     /* min, max, act ct */ 0, 1, 0,
899181834Sroberto     /* opt state flags  */ DRIFTFILE_FLAGS, 0,
900285612Sdelphij     /* last opt argumnt */ { NULL }, /* --driftfile */
901181834Sroberto     /* arg list/cookie  */ NULL,
902181834Sroberto     /* must/cannot opts */ NULL, NULL,
903181834Sroberto     /* option proc      */ NULL,
904285612Sdelphij     /* desc, NAME, name */ DRIFTFILE_DESC, DRIFTFILE_NAME, DRIFTFILE_name,
905181834Sroberto     /* disablement strs */ NULL, NULL },
906181834Sroberto
907181834Sroberto  {  /* entry idx, value */ 9, VALUE_OPT_PANICGATE,
908181834Sroberto     /* equiv idx, value */ 9, VALUE_OPT_PANICGATE,
909181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
910285612Sdelphij     /* min, max, act ct */ 0, NOLIMIT, 0,
911181834Sroberto     /* opt state flags  */ PANICGATE_FLAGS, 0,
912285612Sdelphij     /* last opt argumnt */ { NULL }, /* --panicgate */
913181834Sroberto     /* arg list/cookie  */ NULL,
914181834Sroberto     /* must/cannot opts */ NULL, NULL,
915181834Sroberto     /* option proc      */ NULL,
916285612Sdelphij     /* desc, NAME, name */ PANICGATE_DESC, PANICGATE_NAME, PANICGATE_name,
917181834Sroberto     /* disablement strs */ NULL, NULL },
918181834Sroberto
919285612Sdelphij  {  /* entry idx, value */ 10, VALUE_OPT_FORCE_STEP_ONCE,
920285612Sdelphij     /* equiv idx, value */ 10, VALUE_OPT_FORCE_STEP_ONCE,
921181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
922181834Sroberto     /* min, max, act ct */ 0, 1, 0,
923285612Sdelphij     /* opt state flags  */ FORCE_STEP_ONCE_FLAGS, 0,
924285612Sdelphij     /* last opt argumnt */ { NULL }, /* --force_step_once */
925285612Sdelphij     /* arg list/cookie  */ NULL,
926285612Sdelphij     /* must/cannot opts */ NULL, NULL,
927285612Sdelphij     /* option proc      */ NULL,
928285612Sdelphij     /* desc, NAME, name */ FORCE_STEP_ONCE_DESC, FORCE_STEP_ONCE_NAME, FORCE_STEP_ONCE_name,
929285612Sdelphij     /* disablement strs */ NULL, NULL },
930285612Sdelphij
931285612Sdelphij  {  /* entry idx, value */ 11, VALUE_OPT_JAILDIR,
932285612Sdelphij     /* equiv idx, value */ 11, VALUE_OPT_JAILDIR,
933285612Sdelphij     /* equivalenced to  */ NO_EQUIVALENT,
934285612Sdelphij     /* min, max, act ct */ 0, 1, 0,
935181834Sroberto     /* opt state flags  */ JAILDIR_FLAGS, 0,
936285612Sdelphij     /* last opt argumnt */ { NULL }, /* --jaildir */
937181834Sroberto     /* arg list/cookie  */ NULL,
938181834Sroberto     /* must/cannot opts */ NULL, NULL,
939181834Sroberto     /* option proc      */ NULL,
940285612Sdelphij     /* desc, NAME, name */ JAILDIR_DESC, JAILDIR_NAME, JAILDIR_name,
941181834Sroberto     /* disablement strs */ NULL, NULL },
942181834Sroberto
943285612Sdelphij  {  /* entry idx, value */ 12, VALUE_OPT_INTERFACE,
944285612Sdelphij     /* equiv idx, value */ 12, VALUE_OPT_INTERFACE,
945181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
946181834Sroberto     /* min, max, act ct */ 0, NOLIMIT, 0,
947181834Sroberto     /* opt state flags  */ INTERFACE_FLAGS, 0,
948285612Sdelphij     /* last opt argumnt */ { NULL }, /* --interface */
949181834Sroberto     /* arg list/cookie  */ NULL,
950181834Sroberto     /* must/cannot opts */ NULL, NULL,
951181834Sroberto     /* option proc      */ optionStackArg,
952285612Sdelphij     /* desc, NAME, name */ INTERFACE_DESC, INTERFACE_NAME, INTERFACE_name,
953181834Sroberto     /* disablement strs */ NULL, NULL },
954181834Sroberto
955285612Sdelphij  {  /* entry idx, value */ 13, VALUE_OPT_KEYFILE,
956285612Sdelphij     /* equiv idx, value */ 13, VALUE_OPT_KEYFILE,
957181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
958181834Sroberto     /* min, max, act ct */ 0, 1, 0,
959181834Sroberto     /* opt state flags  */ KEYFILE_FLAGS, 0,
960285612Sdelphij     /* last opt argumnt */ { NULL }, /* --keyfile */
961181834Sroberto     /* arg list/cookie  */ NULL,
962181834Sroberto     /* must/cannot opts */ NULL, NULL,
963181834Sroberto     /* option proc      */ NULL,
964285612Sdelphij     /* desc, NAME, name */ KEYFILE_DESC, KEYFILE_NAME, KEYFILE_name,
965181834Sroberto     /* disablement strs */ NULL, NULL },
966181834Sroberto
967285612Sdelphij  {  /* entry idx, value */ 14, VALUE_OPT_LOGFILE,
968285612Sdelphij     /* equiv idx, value */ 14, VALUE_OPT_LOGFILE,
969181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
970181834Sroberto     /* min, max, act ct */ 0, 1, 0,
971181834Sroberto     /* opt state flags  */ LOGFILE_FLAGS, 0,
972285612Sdelphij     /* last opt argumnt */ { NULL }, /* --logfile */
973181834Sroberto     /* arg list/cookie  */ NULL,
974181834Sroberto     /* must/cannot opts */ NULL, NULL,
975181834Sroberto     /* option proc      */ NULL,
976285612Sdelphij     /* desc, NAME, name */ LOGFILE_DESC, LOGFILE_NAME, LOGFILE_name,
977181834Sroberto     /* disablement strs */ NULL, NULL },
978181834Sroberto
979285612Sdelphij  {  /* entry idx, value */ 15, VALUE_OPT_NOVIRTUALIPS,
980285612Sdelphij     /* equiv idx, value */ 15, VALUE_OPT_NOVIRTUALIPS,
981181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
982181834Sroberto     /* min, max, act ct */ 0, 1, 0,
983181834Sroberto     /* opt state flags  */ NOVIRTUALIPS_FLAGS, 0,
984285612Sdelphij     /* last opt argumnt */ { NULL }, /* --novirtualips */
985181834Sroberto     /* arg list/cookie  */ NULL,
986181834Sroberto     /* must/cannot opts */ NULL, NULL,
987181834Sroberto     /* option proc      */ NULL,
988285612Sdelphij     /* desc, NAME, name */ NOVIRTUALIPS_DESC, NOVIRTUALIPS_NAME, NOVIRTUALIPS_name,
989181834Sroberto     /* disablement strs */ NULL, NULL },
990181834Sroberto
991285612Sdelphij  {  /* entry idx, value */ 16, VALUE_OPT_MODIFYMMTIMER,
992285612Sdelphij     /* equiv idx, value */ 16, VALUE_OPT_MODIFYMMTIMER,
993181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
994181834Sroberto     /* min, max, act ct */ 0, 1, 0,
995181834Sroberto     /* opt state flags  */ MODIFYMMTIMER_FLAGS, 0,
996285612Sdelphij     /* last opt argumnt */ { NULL }, /* --modifymmtimer */
997181834Sroberto     /* arg list/cookie  */ NULL,
998181834Sroberto     /* must/cannot opts */ NULL, NULL,
999181834Sroberto     /* option proc      */ NULL,
1000285612Sdelphij     /* desc, NAME, name */ MODIFYMMTIMER_DESC, MODIFYMMTIMER_NAME, MODIFYMMTIMER_name,
1001181834Sroberto     /* disablement strs */ NULL, NULL },
1002181834Sroberto
1003285612Sdelphij  {  /* entry idx, value */ 17, VALUE_OPT_NOFORK,
1004285612Sdelphij     /* equiv idx, value */ 17, VALUE_OPT_NOFORK,
1005181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1006181834Sroberto     /* min, max, act ct */ 0, 1, 0,
1007181834Sroberto     /* opt state flags  */ NOFORK_FLAGS, 0,
1008285612Sdelphij     /* last opt argumnt */ { NULL }, /* --nofork */
1009181834Sroberto     /* arg list/cookie  */ NULL,
1010285612Sdelphij     /* must/cannot opts */ NULL, aNoforkCantList,
1011181834Sroberto     /* option proc      */ NULL,
1012285612Sdelphij     /* desc, NAME, name */ NOFORK_DESC, NOFORK_NAME, NOFORK_name,
1013181834Sroberto     /* disablement strs */ NULL, NULL },
1014181834Sroberto
1015285612Sdelphij  {  /* entry idx, value */ 18, VALUE_OPT_NICE,
1016285612Sdelphij     /* equiv idx, value */ 18, VALUE_OPT_NICE,
1017181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1018181834Sroberto     /* min, max, act ct */ 0, 1, 0,
1019181834Sroberto     /* opt state flags  */ NICE_FLAGS, 0,
1020285612Sdelphij     /* last opt argumnt */ { NULL }, /* --nice */
1021181834Sroberto     /* arg list/cookie  */ NULL,
1022181834Sroberto     /* must/cannot opts */ NULL, NULL,
1023181834Sroberto     /* option proc      */ NULL,
1024285612Sdelphij     /* desc, NAME, name */ NICE_DESC, NICE_NAME, NICE_name,
1025181834Sroberto     /* disablement strs */ NULL, NULL },
1026181834Sroberto
1027285612Sdelphij  {  /* entry idx, value */ 19, VALUE_OPT_PIDFILE,
1028285612Sdelphij     /* equiv idx, value */ 19, VALUE_OPT_PIDFILE,
1029181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1030181834Sroberto     /* min, max, act ct */ 0, 1, 0,
1031181834Sroberto     /* opt state flags  */ PIDFILE_FLAGS, 0,
1032285612Sdelphij     /* last opt argumnt */ { NULL }, /* --pidfile */
1033181834Sroberto     /* arg list/cookie  */ NULL,
1034181834Sroberto     /* must/cannot opts */ NULL, NULL,
1035181834Sroberto     /* option proc      */ NULL,
1036285612Sdelphij     /* desc, NAME, name */ PIDFILE_DESC, PIDFILE_NAME, PIDFILE_name,
1037181834Sroberto     /* disablement strs */ NULL, NULL },
1038181834Sroberto
1039285612Sdelphij  {  /* entry idx, value */ 20, VALUE_OPT_PRIORITY,
1040285612Sdelphij     /* equiv idx, value */ 20, VALUE_OPT_PRIORITY,
1041181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1042181834Sroberto     /* min, max, act ct */ 0, 1, 0,
1043181834Sroberto     /* opt state flags  */ PRIORITY_FLAGS, 0,
1044285612Sdelphij     /* last opt argumnt */ { NULL }, /* --priority */
1045181834Sroberto     /* arg list/cookie  */ NULL,
1046181834Sroberto     /* must/cannot opts */ NULL, NULL,
1047181834Sroberto     /* option proc      */ optionNumericVal,
1048285612Sdelphij     /* desc, NAME, name */ PRIORITY_DESC, PRIORITY_NAME, PRIORITY_name,
1049181834Sroberto     /* disablement strs */ NULL, NULL },
1050181834Sroberto
1051285612Sdelphij  {  /* entry idx, value */ 21, VALUE_OPT_QUIT,
1052285612Sdelphij     /* equiv idx, value */ 21, VALUE_OPT_QUIT,
1053181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1054181834Sroberto     /* min, max, act ct */ 0, 1, 0,
1055181834Sroberto     /* opt state flags  */ QUIT_FLAGS, 0,
1056285612Sdelphij     /* last opt argumnt */ { NULL }, /* --quit */
1057181834Sroberto     /* arg list/cookie  */ NULL,
1058285612Sdelphij     /* must/cannot opts */ NULL, aQuitCantList,
1059181834Sroberto     /* option proc      */ NULL,
1060285612Sdelphij     /* desc, NAME, name */ QUIT_DESC, QUIT_NAME, QUIT_name,
1061181834Sroberto     /* disablement strs */ NULL, NULL },
1062181834Sroberto
1063285612Sdelphij  {  /* entry idx, value */ 22, VALUE_OPT_PROPAGATIONDELAY,
1064285612Sdelphij     /* equiv idx, value */ 22, VALUE_OPT_PROPAGATIONDELAY,
1065181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1066181834Sroberto     /* min, max, act ct */ 0, 1, 0,
1067181834Sroberto     /* opt state flags  */ PROPAGATIONDELAY_FLAGS, 0,
1068285612Sdelphij     /* last opt argumnt */ { NULL }, /* --propagationdelay */
1069181834Sroberto     /* arg list/cookie  */ NULL,
1070181834Sroberto     /* must/cannot opts */ NULL, NULL,
1071181834Sroberto     /* option proc      */ NULL,
1072285612Sdelphij     /* desc, NAME, name */ PROPAGATIONDELAY_DESC, PROPAGATIONDELAY_NAME, PROPAGATIONDELAY_name,
1073181834Sroberto     /* disablement strs */ NULL, NULL },
1074181834Sroberto
1075285612Sdelphij  {  /* entry idx, value */ 23, VALUE_OPT_SAVECONFIGQUIT,
1076285612Sdelphij     /* equiv idx, value */ 23, VALUE_OPT_SAVECONFIGQUIT,
1077181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1078181834Sroberto     /* min, max, act ct */ 0, 1, 0,
1079285612Sdelphij     /* opt state flags  */ SAVECONFIGQUIT_FLAGS, 0,
1080285612Sdelphij     /* last opt argumnt */ { NULL }, /* --saveconfigquit */
1081181834Sroberto     /* arg list/cookie  */ NULL,
1082285612Sdelphij     /* must/cannot opts */ NULL, aSaveconfigquitCantList,
1083285612Sdelphij     /* option proc      */ NULL,
1084285612Sdelphij     /* desc, NAME, name */ SAVECONFIGQUIT_DESC, SAVECONFIGQUIT_NAME, SAVECONFIGQUIT_name,
1085181834Sroberto     /* disablement strs */ NULL, NULL },
1086181834Sroberto
1087285612Sdelphij  {  /* entry idx, value */ 24, VALUE_OPT_STATSDIR,
1088285612Sdelphij     /* equiv idx, value */ 24, VALUE_OPT_STATSDIR,
1089181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1090181834Sroberto     /* min, max, act ct */ 0, 1, 0,
1091181834Sroberto     /* opt state flags  */ STATSDIR_FLAGS, 0,
1092285612Sdelphij     /* last opt argumnt */ { NULL }, /* --statsdir */
1093181834Sroberto     /* arg list/cookie  */ NULL,
1094181834Sroberto     /* must/cannot opts */ NULL, NULL,
1095181834Sroberto     /* option proc      */ NULL,
1096285612Sdelphij     /* desc, NAME, name */ STATSDIR_DESC, STATSDIR_NAME, STATSDIR_name,
1097181834Sroberto     /* disablement strs */ NULL, NULL },
1098181834Sroberto
1099285612Sdelphij  {  /* entry idx, value */ 25, VALUE_OPT_TRUSTEDKEY,
1100285612Sdelphij     /* equiv idx, value */ 25, VALUE_OPT_TRUSTEDKEY,
1101181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1102181834Sroberto     /* min, max, act ct */ 0, NOLIMIT, 0,
1103181834Sroberto     /* opt state flags  */ TRUSTEDKEY_FLAGS, 0,
1104285612Sdelphij     /* last opt argumnt */ { NULL }, /* --trustedkey */
1105181834Sroberto     /* arg list/cookie  */ NULL,
1106181834Sroberto     /* must/cannot opts */ NULL, NULL,
1107181834Sroberto     /* option proc      */ optionStackArg,
1108285612Sdelphij     /* desc, NAME, name */ TRUSTEDKEY_DESC, TRUSTEDKEY_NAME, TRUSTEDKEY_name,
1109181834Sroberto     /* disablement strs */ NULL, NULL },
1110181834Sroberto
1111285612Sdelphij  {  /* entry idx, value */ 26, VALUE_OPT_USER,
1112285612Sdelphij     /* equiv idx, value */ 26, VALUE_OPT_USER,
1113181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1114181834Sroberto     /* min, max, act ct */ 0, 1, 0,
1115181834Sroberto     /* opt state flags  */ USER_FLAGS, 0,
1116285612Sdelphij     /* last opt argumnt */ { NULL }, /* --user */
1117181834Sroberto     /* arg list/cookie  */ NULL,
1118181834Sroberto     /* must/cannot opts */ NULL, NULL,
1119181834Sroberto     /* option proc      */ NULL,
1120285612Sdelphij     /* desc, NAME, name */ USER_DESC, USER_NAME, USER_name,
1121181834Sroberto     /* disablement strs */ NULL, NULL },
1122181834Sroberto
1123285612Sdelphij  {  /* entry idx, value */ 27, VALUE_OPT_UPDATEINTERVAL,
1124285612Sdelphij     /* equiv idx, value */ 27, VALUE_OPT_UPDATEINTERVAL,
1125181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1126285612Sdelphij     /* min, max, act ct */ 0, 1, 0,
1127285612Sdelphij     /* opt state flags  */ UPDATEINTERVAL_FLAGS, 0,
1128285612Sdelphij     /* last opt argumnt */ { NULL }, /* --updateinterval */
1129285612Sdelphij     /* arg list/cookie  */ NULL,
1130285612Sdelphij     /* must/cannot opts */ NULL, NULL,
1131285612Sdelphij     /* option proc      */ optionNumericVal,
1132285612Sdelphij     /* desc, NAME, name */ UPDATEINTERVAL_DESC, UPDATEINTERVAL_NAME, UPDATEINTERVAL_name,
1133285612Sdelphij     /* disablement strs */ NULL, NULL },
1134285612Sdelphij
1135285612Sdelphij  {  /* entry idx, value */ 28, VALUE_OPT_VAR,
1136285612Sdelphij     /* equiv idx, value */ 28, VALUE_OPT_VAR,
1137285612Sdelphij     /* equivalenced to  */ NO_EQUIVALENT,
1138181834Sroberto     /* min, max, act ct */ 0, NOLIMIT, 0,
1139181834Sroberto     /* opt state flags  */ VAR_FLAGS, 0,
1140285612Sdelphij     /* last opt argumnt */ { NULL }, /* --var */
1141181834Sroberto     /* arg list/cookie  */ NULL,
1142181834Sroberto     /* must/cannot opts */ NULL, NULL,
1143181834Sroberto     /* option proc      */ optionStackArg,
1144285612Sdelphij     /* desc, NAME, name */ VAR_DESC, VAR_NAME, VAR_name,
1145181834Sroberto     /* disablement strs */ NULL, NULL },
1146181834Sroberto
1147285612Sdelphij  {  /* entry idx, value */ 29, VALUE_OPT_DVAR,
1148285612Sdelphij     /* equiv idx, value */ 29, VALUE_OPT_DVAR,
1149181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1150181834Sroberto     /* min, max, act ct */ 0, NOLIMIT, 0,
1151181834Sroberto     /* opt state flags  */ DVAR_FLAGS, 0,
1152285612Sdelphij     /* last opt argumnt */ { NULL }, /* --dvar */
1153181834Sroberto     /* arg list/cookie  */ NULL,
1154181834Sroberto     /* must/cannot opts */ NULL, NULL,
1155181834Sroberto     /* option proc      */ optionStackArg,
1156285612Sdelphij     /* desc, NAME, name */ DVAR_DESC, DVAR_NAME, DVAR_name,
1157181834Sroberto     /* disablement strs */ NULL, NULL },
1158181834Sroberto
1159285612Sdelphij  {  /* entry idx, value */ 30, VALUE_OPT_WAIT_SYNC,
1160285612Sdelphij     /* equiv idx, value */ 30, VALUE_OPT_WAIT_SYNC,
1161181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1162181834Sroberto     /* min, max, act ct */ 0, 1, 0,
1163285612Sdelphij     /* opt state flags  */ WAIT_SYNC_FLAGS, 0,
1164285612Sdelphij     /* last opt argumnt */ { NULL }, /* --wait-sync */
1165285612Sdelphij     /* arg list/cookie  */ NULL,
1166285612Sdelphij     /* must/cannot opts */ NULL, aWait_SyncCantList,
1167285612Sdelphij     /* option proc      */ optionNumericVal,
1168285612Sdelphij     /* desc, NAME, name */ WAIT_SYNC_DESC, WAIT_SYNC_NAME, WAIT_SYNC_name,
1169285612Sdelphij     /* disablement strs */ NULL, NULL },
1170285612Sdelphij
1171285612Sdelphij  {  /* entry idx, value */ 31, VALUE_OPT_SLEW,
1172285612Sdelphij     /* equiv idx, value */ 31, VALUE_OPT_SLEW,
1173285612Sdelphij     /* equivalenced to  */ NO_EQUIVALENT,
1174285612Sdelphij     /* min, max, act ct */ 0, 1, 0,
1175181834Sroberto     /* opt state flags  */ SLEW_FLAGS, 0,
1176285612Sdelphij     /* last opt argumnt */ { NULL }, /* --slew */
1177181834Sroberto     /* arg list/cookie  */ NULL,
1178181834Sroberto     /* must/cannot opts */ NULL, NULL,
1179181834Sroberto     /* option proc      */ NULL,
1180285612Sdelphij     /* desc, NAME, name */ SLEW_DESC, SLEW_NAME, SLEW_name,
1181181834Sroberto     /* disablement strs */ NULL, NULL },
1182181834Sroberto
1183285612Sdelphij  {  /* entry idx, value */ 32, VALUE_OPT_USEPCC,
1184285612Sdelphij     /* equiv idx, value */ 32, VALUE_OPT_USEPCC,
1185285612Sdelphij     /* equivalenced to  */ NO_EQUIVALENT,
1186285612Sdelphij     /* min, max, act ct */ 0, 1, 0,
1187285612Sdelphij     /* opt state flags  */ USEPCC_FLAGS, 0,
1188285612Sdelphij     /* last opt argumnt */ { NULL }, /* --usepcc */
1189285612Sdelphij     /* arg list/cookie  */ NULL,
1190285612Sdelphij     /* must/cannot opts */ NULL, NULL,
1191285612Sdelphij     /* option proc      */ NULL,
1192285612Sdelphij     /* desc, NAME, name */ USEPCC_DESC, USEPCC_NAME, USEPCC_name,
1193285612Sdelphij     /* disablement strs */ NULL, NULL },
1194181834Sroberto
1195285612Sdelphij  {  /* entry idx, value */ 33, VALUE_OPT_PCCFREQ,
1196285612Sdelphij     /* equiv idx, value */ 33, VALUE_OPT_PCCFREQ,
1197285612Sdelphij     /* equivalenced to  */ NO_EQUIVALENT,
1198285612Sdelphij     /* min, max, act ct */ 0, 1, 0,
1199285612Sdelphij     /* opt state flags  */ PCCFREQ_FLAGS, 0,
1200285612Sdelphij     /* last opt argumnt */ { NULL }, /* --pccfreq */
1201285612Sdelphij     /* arg list/cookie  */ NULL,
1202285612Sdelphij     /* must/cannot opts */ NULL, NULL,
1203285612Sdelphij     /* option proc      */ NULL,
1204285612Sdelphij     /* desc, NAME, name */ PCCFREQ_DESC, PCCFREQ_NAME, PCCFREQ_name,
1205285612Sdelphij     /* disablement strs */ NULL, NULL },
1206285612Sdelphij
1207285612Sdelphij  {  /* entry idx, value */ 34, VALUE_OPT_MDNS,
1208285612Sdelphij     /* equiv idx, value */ 34, VALUE_OPT_MDNS,
1209285612Sdelphij     /* equivalenced to  */ NO_EQUIVALENT,
1210285612Sdelphij     /* min, max, act ct */ 0, 1, 0,
1211285612Sdelphij     /* opt state flags  */ MDNS_FLAGS, 0,
1212285612Sdelphij     /* last opt argumnt */ { NULL }, /* --mdns */
1213285612Sdelphij     /* arg list/cookie  */ NULL,
1214285612Sdelphij     /* must/cannot opts */ NULL, NULL,
1215285612Sdelphij     /* option proc      */ NULL,
1216285612Sdelphij     /* desc, NAME, name */ MDNS_DESC, MDNS_NAME, MDNS_name,
1217285612Sdelphij     /* disablement strs */ NULL, NULL },
1218285612Sdelphij
1219181834Sroberto  {  /* entry idx, value */ INDEX_OPT_VERSION, VALUE_OPT_VERSION,
1220285612Sdelphij     /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_VERSION,
1221181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1222181834Sroberto     /* min, max, act ct */ 0, 1, 0,
1223285612Sdelphij     /* opt state flags  */ VER_FLAGS, AOUSE_VERSION,
1224181834Sroberto     /* last opt argumnt */ { NULL },
1225181834Sroberto     /* arg list/cookie  */ NULL,
1226181834Sroberto     /* must/cannot opts */ NULL, NULL,
1227285612Sdelphij     /* option proc      */ VER_PROC,
1228285612Sdelphij     /* desc, NAME, name */ VER_DESC, NULL, VER_name,
1229181834Sroberto     /* disablement strs */ NULL, NULL },
1230181834Sroberto
1231181834Sroberto
1232181834Sroberto
1233181834Sroberto  {  /* entry idx, value */ INDEX_OPT_HELP, VALUE_OPT_HELP,
1234285612Sdelphij     /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_HELP,
1235181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1236181834Sroberto     /* min, max, act ct */ 0, 1, 0,
1237285612Sdelphij     /* opt state flags  */ OPTST_IMM | OPTST_NO_INIT, AOUSE_HELP,
1238181834Sroberto     /* last opt argumnt */ { NULL },
1239181834Sroberto     /* arg list/cookie  */ NULL,
1240181834Sroberto     /* must/cannot opts */ NULL, NULL,
1241181834Sroberto     /* option proc      */ doUsageOpt,
1242285612Sdelphij     /* desc, NAME, name */ HELP_DESC, NULL, HELP_name,
1243181834Sroberto     /* disablement strs */ NULL, NULL },
1244181834Sroberto
1245181834Sroberto  {  /* entry idx, value */ INDEX_OPT_MORE_HELP, VALUE_OPT_MORE_HELP,
1246285612Sdelphij     /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_MORE_HELP,
1247181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
1248181834Sroberto     /* min, max, act ct */ 0, 1, 0,
1249285612Sdelphij     /* opt state flags  */ MORE_HELP_FLAGS, AOUSE_MORE_HELP,
1250181834Sroberto     /* last opt argumnt */ { NULL },
1251181834Sroberto     /* arg list/cookie  */ NULL,
1252181834Sroberto     /* must/cannot opts */ NULL,  NULL,
1253181834Sroberto     /* option proc      */ optionPagedUsage,
1254285612Sdelphij     /* desc, NAME, name */ MORE_HELP_DESC, NULL, MORE_HELP_name,
1255181834Sroberto     /* disablement strs */ NULL, NULL }
1256181834Sroberto};
1257181834Sroberto
1258181834Sroberto
1259285612Sdelphij/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1260285612Sdelphij/** Reference to the upper cased version of ntpd. */
1261285612Sdelphij#define zPROGNAME       (ntpd_opt_strs+2944)
1262285612Sdelphij/** Reference to the title line for ntpd usage. */
1263285612Sdelphij#define zUsageTitle     (ntpd_opt_strs+2949)
1264285612Sdelphij/** There is no ntpd configuration file. */
1265285612Sdelphij#define zRcName         NULL
1266285612Sdelphij/** There are no directories to search for ntpd config files. */
1267285612Sdelphij#define apzHomeList     NULL
1268285612Sdelphij/** The ntpd program bug email address. */
1269285612Sdelphij#define zBugsAddr       (ntpd_opt_strs+3080)
1270285612Sdelphij/** Clarification/explanation of what ntpd does. */
1271285612Sdelphij#define zExplain        (ntpd_opt_strs+3114)
1272285612Sdelphij/** Extra detail explaining what ntpd does. */
1273285612Sdelphij#define zDetail         (NULL)
1274285612Sdelphij/** The full version string for ntpd. */
1275285612Sdelphij#define zFullVersion    (ntpd_opt_strs+3116)
1276285612Sdelphij/* extracted from optcode.tlib near line 364 */
1277181834Sroberto
1278181834Sroberto#if defined(ENABLE_NLS)
1279181834Sroberto# define OPTPROC_BASE OPTPROC_TRANSLATE
1280181834Sroberto  static tOptionXlateProc translate_option_strings;
1281181834Sroberto#else
1282181834Sroberto# define OPTPROC_BASE OPTPROC_NONE
1283181834Sroberto# define translate_option_strings NULL
1284181834Sroberto#endif /* ENABLE_NLS */
1285181834Sroberto
1286285612Sdelphij#define ntpd_full_usage (NULL)
1287285612Sdelphij#define ntpd_short_usage (NULL)
1288285612Sdelphij
1289285612Sdelphij#endif /* not defined __doxygen__ */
1290285612Sdelphij
1291285612Sdelphij/*
1292285612Sdelphij *  Create the static procedure(s) declared above.
1293285612Sdelphij */
1294285612Sdelphij/**
1295285612Sdelphij * The callout function that invokes the optionUsage function.
1296285612Sdelphij *
1297285612Sdelphij * @param[in] opts the AutoOpts option description structure
1298285612Sdelphij * @param[in] od   the descriptor for the "help" (usage) option.
1299285612Sdelphij * @noreturn
1300285612Sdelphij */
1301285612Sdelphijstatic void
1302285612SdelphijdoUsageOpt(tOptions * opts, tOptDesc * od)
1303285612Sdelphij{
1304285612Sdelphij    int ex_code;
1305285612Sdelphij    ex_code = NTPD_EXIT_SUCCESS;
1306285612Sdelphij    optionUsage(&ntpdOptions, ex_code);
1307285612Sdelphij    /* NOTREACHED */
1308285612Sdelphij    exit(1);
1309285612Sdelphij    (void)opts;
1310285612Sdelphij    (void)od;
1311285612Sdelphij}
1312285612Sdelphij
1313285612Sdelphij/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1314285612Sdelphij/**
1315285612Sdelphij * Code to handle the debug-level option.
1316285612Sdelphij *
1317285612Sdelphij * @param[in] pOptions the ntpd options data structure
1318285612Sdelphij * @param[in,out] pOptDesc the option descriptor for this option.
1319285612Sdelphij */
1320285612Sdelphijstatic void
1321285612SdelphijdoOptDebug_Level(tOptions* pOptions, tOptDesc* pOptDesc)
1322285612Sdelphij{
1323285612Sdelphij    /*
1324285612Sdelphij     * Be sure the flag-code[0] handles special values for the options pointer
1325285612Sdelphij     * viz. (poptions <= OPTPROC_EMIT_LIMIT) *and also* the special flag bit
1326285612Sdelphij     * ((poptdesc->fOptState & OPTST_RESET) != 0) telling the option to
1327285612Sdelphij     * reset its state.
1328285612Sdelphij     */
1329285612Sdelphij    /* extracted from debug-opt.def, line 15 */
1330285612SdelphijOPT_VALUE_SET_DEBUG_LEVEL++;
1331285612Sdelphij    (void)pOptDesc;
1332285612Sdelphij    (void)pOptions;
1333285612Sdelphij}
1334285612Sdelphij/* extracted from optmain.tlib near line 1250 */
1335285612Sdelphij
1336285612Sdelphij/**
1337285612Sdelphij * The directory containing the data associated with ntpd.
1338285612Sdelphij */
1339285612Sdelphij#ifndef  PKGDATADIR
1340285612Sdelphij# define PKGDATADIR ""
1341285612Sdelphij#endif
1342285612Sdelphij
1343285612Sdelphij/**
1344285612Sdelphij * Information about the person or institution that packaged ntpd
1345285612Sdelphij * for the current distribution.
1346285612Sdelphij */
1347285612Sdelphij#ifndef  WITH_PACKAGER
1348285612Sdelphij# define ntpd_packager_info NULL
1349285612Sdelphij#else
1350285612Sdelphij/** Packager information for ntpd. */
1351285612Sdelphijstatic char const ntpd_packager_info[] =
1352285612Sdelphij    "Packaged by " WITH_PACKAGER
1353285612Sdelphij
1354285612Sdelphij# ifdef WITH_PACKAGER_VERSION
1355285612Sdelphij        " ("WITH_PACKAGER_VERSION")"
1356285612Sdelphij# endif
1357285612Sdelphij
1358285612Sdelphij# ifdef WITH_PACKAGER_BUG_REPORTS
1359285612Sdelphij    "\nReport ntpd bugs to " WITH_PACKAGER_BUG_REPORTS
1360285612Sdelphij# endif
1361285612Sdelphij    "\n";
1362285612Sdelphij#endif
1363285612Sdelphij#ifndef __doxygen__
1364285612Sdelphij
1365285612Sdelphij#endif /* __doxygen__ */
1366285612Sdelphij/**
1367285612Sdelphij * The option definitions for ntpd.  The one structure that
1368285612Sdelphij * binds them all.
1369285612Sdelphij */
1370181834SrobertotOptions ntpdOptions = {
1371181834Sroberto    OPTIONS_STRUCT_VERSION,
1372181834Sroberto    0, NULL,                    /* original argc + argv    */
1373181834Sroberto    ( OPTPROC_BASE
1374181834Sroberto    + OPTPROC_ERRSTOP
1375181834Sroberto    + OPTPROC_SHORTOPT
1376181834Sroberto    + OPTPROC_LONGOPT
1377181834Sroberto    + OPTPROC_NO_REQ_OPT
1378181834Sroberto    + OPTPROC_ENVIRON
1379285612Sdelphij    + OPTPROC_MISUSE ),
1380181834Sroberto    0, NULL,                    /* current option index, current option */
1381181834Sroberto    NULL,         NULL,         zPROGNAME,
1382285612Sdelphij    zRcName,      zCopyright,   zLicenseDescrip,
1383181834Sroberto    zFullVersion, apzHomeList,  zUsageTitle,
1384181834Sroberto    zExplain,     zDetail,      optDesc,
1385181834Sroberto    zBugsAddr,                  /* address to send bugs to */
1386181834Sroberto    NULL, NULL,                 /* extensions/saved state  */
1387285612Sdelphij    optionUsage, /* usage procedure */
1388181834Sroberto    translate_option_strings,   /* translation procedure */
1389181834Sroberto    /*
1390181834Sroberto     *  Indexes to special options
1391181834Sroberto     */
1392285612Sdelphij    { INDEX_OPT_MORE_HELP, /* more-help option index */
1393285612Sdelphij      NO_EQUIVALENT, /* save option index */
1394285612Sdelphij      NO_EQUIVALENT, /* '-#' option index */
1395181834Sroberto      NO_EQUIVALENT /* index of default opt */
1396181834Sroberto    },
1397285612Sdelphij    38 /* full option count */, 35 /* user option count */,
1398285612Sdelphij    ntpd_full_usage, ntpd_short_usage,
1399285612Sdelphij    NULL, NULL,
1400285612Sdelphij    PKGDATADIR, ntpd_packager_info
1401181834Sroberto};
1402181834Sroberto
1403285612Sdelphij#if ENABLE_NLS
1404285612Sdelphij/**
1405285612Sdelphij * This code is designed to translate translatable option text for the
1406285612Sdelphij * ntpd program.  These translations happen upon entry
1407285612Sdelphij * to optionProcess().
1408181834Sroberto */
1409181834Sroberto#include <stdio.h>
1410181834Sroberto#include <stdlib.h>
1411181834Sroberto#include <string.h>
1412181834Sroberto#include <unistd.h>
1413285612Sdelphij#ifdef HAVE_DCGETTEXT
1414285612Sdelphij# include <gettext.h>
1415285612Sdelphij#endif
1416181834Sroberto#include <autoopts/usage-txt.h>
1417181834Sroberto
1418285612Sdelphijstatic char * AO_gettext(char const * pz);
1419285612Sdelphijstatic void   coerce_it(void ** s);
1420181834Sroberto
1421285612Sdelphij/**
1422285612Sdelphij * AutoGen specific wrapper function for gettext.  It relies on the macro _()
1423285612Sdelphij * to convert from English to the target language, then strdup-duplicates the
1424285612Sdelphij * result string.  It tries the "libopts" domain first, then whatever has been
1425285612Sdelphij * set via the \a textdomain(3) call.
1426285612Sdelphij *
1427285612Sdelphij * @param[in] pz the input text used as a lookup key.
1428285612Sdelphij * @returns the translated text (if there is one),
1429285612Sdelphij *   or the original text (if not).
1430285612Sdelphij */
1431285612Sdelphijstatic char *
1432285612SdelphijAO_gettext(char const * pz)
1433181834Sroberto{
1434285612Sdelphij    char * res;
1435181834Sroberto    if (pz == NULL)
1436181834Sroberto        return NULL;
1437285612Sdelphij#ifdef HAVE_DCGETTEXT
1438285612Sdelphij    /*
1439285612Sdelphij     * While processing the option_xlateable_txt data, try to use the
1440285612Sdelphij     * "libopts" domain.  Once we switch to the option descriptor data,
1441285612Sdelphij     * do *not* use that domain.
1442285612Sdelphij     */
1443285612Sdelphij    if (option_xlateable_txt.field_ct != 0) {
1444285612Sdelphij        res = dgettext("libopts", pz);
1445285612Sdelphij        if (res == pz)
1446285612Sdelphij            res = (char *)VOIDP(_(pz));
1447285612Sdelphij    } else
1448285612Sdelphij        res = (char *)VOIDP(_(pz));
1449285612Sdelphij#else
1450285612Sdelphij    res = (char *)VOIDP(_(pz));
1451285612Sdelphij#endif
1452285612Sdelphij    if (res == pz)
1453285612Sdelphij        return res;
1454285612Sdelphij    res = strdup(res);
1455285612Sdelphij    if (res == NULL) {
1456285612Sdelphij        fputs(_("No memory for duping translated strings\n"), stderr);
1457285612Sdelphij        exit(NTPD_EXIT_FAILURE);
1458181834Sroberto    }
1459285612Sdelphij    return res;
1460181834Sroberto}
1461181834Sroberto
1462285612Sdelphij/**
1463285612Sdelphij * All the pointers we use are marked "* const", but they are stored in
1464285612Sdelphij * writable memory.  Coerce the mutability and set the pointer.
1465285612Sdelphij */
1466285612Sdelphijstatic void coerce_it(void ** s) { *s = AO_gettext(*s);
1467285612Sdelphij}
1468181834Sroberto
1469285612Sdelphij/**
1470285612Sdelphij * Translate all the translatable strings in the ntpdOptions
1471285612Sdelphij * structure defined above.  This is done only once.
1472181834Sroberto */
1473181834Srobertostatic void
1474285612Sdelphijtranslate_option_strings(void)
1475181834Sroberto{
1476285612Sdelphij    tOptions * const opts = &ntpdOptions;
1477285612Sdelphij
1478181834Sroberto    /*
1479181834Sroberto     *  Guard against re-translation.  It won't work.  The strings will have
1480181834Sroberto     *  been changed by the first pass through this code.  One shot only.
1481181834Sroberto     */
1482285612Sdelphij    if (option_xlateable_txt.field_ct != 0) {
1483285612Sdelphij        /*
1484285612Sdelphij         *  Do the translations.  The first pointer follows the field count
1485285612Sdelphij         *  field.  The field count field is the size of a pointer.
1486285612Sdelphij         */
1487285612Sdelphij        char ** ppz = (char**)VOIDP(&(option_xlateable_txt));
1488285612Sdelphij        int     ix  = option_xlateable_txt.field_ct;
1489181834Sroberto
1490181834Sroberto        do {
1491285612Sdelphij            ppz++; /* skip over field_ct */
1492181834Sroberto            *ppz = AO_gettext(*ppz);
1493181834Sroberto        } while (--ix > 0);
1494285612Sdelphij        /* prevent re-translation and disable "libopts" domain lookup */
1495285612Sdelphij        option_xlateable_txt.field_ct = 0;
1496181834Sroberto
1497285612Sdelphij        coerce_it(VOIDP(&(opts->pzCopyright)));
1498285612Sdelphij        coerce_it(VOIDP(&(opts->pzCopyNotice)));
1499285612Sdelphij        coerce_it(VOIDP(&(opts->pzFullVersion)));
1500285612Sdelphij        coerce_it(VOIDP(&(opts->pzUsageTitle)));
1501285612Sdelphij        coerce_it(VOIDP(&(opts->pzExplain)));
1502285612Sdelphij        coerce_it(VOIDP(&(opts->pzDetail)));
1503285612Sdelphij        {
1504285612Sdelphij            tOptDesc * od = opts->pOptDesc;
1505285612Sdelphij            for (ix = opts->optCt; ix > 0; ix--, od++)
1506285612Sdelphij                coerce_it(VOIDP(&(od->pzText)));
1507181834Sroberto        }
1508181834Sroberto    }
1509181834Sroberto}
1510181834Sroberto#endif /* ENABLE_NLS */
1511181834Sroberto
1512285612Sdelphij#ifdef DO_NOT_COMPILE_THIS_CODE_IT_IS_FOR_GETTEXT
1513285612Sdelphij/** I18N function strictly for xgettext.  Do not compile. */
1514285612Sdelphijstatic void bogus_function(void) {
1515285612Sdelphij  /* TRANSLATORS:
1516285612Sdelphij
1517285612Sdelphij     The following dummy function was crated solely so that xgettext can
1518285612Sdelphij     extract the correct strings.  These strings are actually referenced
1519285612Sdelphij     by a field name in the ntpdOptions structure noted in the
1520285612Sdelphij     comments below.  The literal text is defined in ntpd_opt_strs.
1521285612Sdelphij
1522285612Sdelphij     NOTE: the strings below are segmented with respect to the source string
1523285612Sdelphij     ntpd_opt_strs.  The strings above are handed off for translation
1524285612Sdelphij     at run time a paragraph at a time.  Consequently, they are presented here
1525285612Sdelphij     for translation a paragraph at a time.
1526285612Sdelphij
1527285612Sdelphij     ALSO: often the description for an option will reference another option
1528285612Sdelphij     by name.  These are set off with apostrophe quotes (I hope).  Do not
1529285612Sdelphij     translate option names.
1530285612Sdelphij   */
1531285612Sdelphij  /* referenced via ntpdOptions.pzCopyright */
1532310419Sdelphij  puts(_("ntpd 4.2.8p9\n\
1533294904SdelphijCopyright (C) 1992-2016 The University of Delaware and Network Time Foundation, all rights reserved.\n\
1534285612SdelphijThis is free software. It is licensed for use, modification and\n\
1535285612Sdelphijredistribution under the terms of the NTP License, copies of which\n\
1536285612Sdelphijcan be seen at:\n"));
1537285612Sdelphij  puts(_("  <http://ntp.org/license>\n\
1538285612Sdelphij  <http://opensource.org/licenses/ntp-license.php>\n"));
1539285612Sdelphij
1540285612Sdelphij  /* referenced via ntpdOptions.pzCopyNotice */
1541285612Sdelphij  puts(_("Permission to use, copy, modify, and distribute this software and its\n\
1542285612Sdelphijdocumentation for any purpose with or without fee is hereby granted,\n\
1543285612Sdelphijprovided that the above copyright notice appears in all copies and that\n\
1544285612Sdelphijboth the copyright notice and this permission notice appear in supporting\n\
1545285612Sdelphijdocumentation, and that the name The University of Delaware not be used in\n\
1546285612Sdelphijadvertising or publicity pertaining to distribution of the software without\n\
1547285612Sdelphijspecific, written prior permission.  The University of Delaware and Network\n\
1548285612SdelphijTime Foundation makes no representations about the suitability this\n\
1549285612Sdelphijsoftware for any purpose.  It is provided \"as is\" without express or\n\
1550285612Sdelphijimplied warranty.\n"));
1551285612Sdelphij
1552285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1553285612Sdelphij  puts(_("Force IPv4 DNS name resolution"));
1554285612Sdelphij
1555285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1556285612Sdelphij  puts(_("Force IPv6 DNS name resolution"));
1557285612Sdelphij
1558285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1559285612Sdelphij  puts(_("Require crypto authentication"));
1560285612Sdelphij
1561285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1562285612Sdelphij  puts(_("Do not require crypto authentication"));
1563285612Sdelphij
1564285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1565285612Sdelphij  puts(_("Allow us to sync to broadcast servers"));
1566285612Sdelphij
1567285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1568285612Sdelphij  puts(_("configuration file name"));
1569285612Sdelphij
1570285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1571285612Sdelphij  puts(_("Increase debug verbosity level"));
1572285612Sdelphij
1573285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1574285612Sdelphij  puts(_("Set the debug verbosity level"));
1575285612Sdelphij
1576285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1577285612Sdelphij  puts(_("frequency drift file name"));
1578285612Sdelphij
1579285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1580285612Sdelphij  puts(_("Allow the first adjustment to be Big"));
1581285612Sdelphij
1582285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1583285612Sdelphij  puts(_("Step any initial offset correction."));
1584285612Sdelphij
1585285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1586285612Sdelphij  puts(_("Jail directory"));
1587285612Sdelphij
1588285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1589285612Sdelphij  puts(_("built without --enable-clockctl or --enable-linuxcaps or --enable-solarisprivs"));
1590285612Sdelphij
1591285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1592285612Sdelphij  puts(_("Listen on an interface name or address"));
1593285612Sdelphij
1594285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1595285612Sdelphij  puts(_("path to symmetric keys"));
1596285612Sdelphij
1597285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1598285612Sdelphij  puts(_("path to the log file"));
1599285612Sdelphij
1600285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1601285612Sdelphij  puts(_("Do not listen to virtual interfaces"));
1602285612Sdelphij
1603285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1604285612Sdelphij  puts(_("Modify Multimedia Timer (Windows only)"));
1605285612Sdelphij
1606285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1607285612Sdelphij  puts(_("Do not fork"));
1608285612Sdelphij
1609285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1610285612Sdelphij  puts(_("Run at high priority"));
1611285612Sdelphij
1612285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1613285612Sdelphij  puts(_("path to the PID file"));
1614285612Sdelphij
1615285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1616285612Sdelphij  puts(_("Process priority"));
1617285612Sdelphij
1618285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1619285612Sdelphij  puts(_("Set the time and quit"));
1620285612Sdelphij
1621285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1622285612Sdelphij  puts(_("Broadcast/propagation delay"));
1623285612Sdelphij
1624285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1625285612Sdelphij  puts(_("Save parsed configuration and quit"));
1626285612Sdelphij
1627285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1628285612Sdelphij  puts(_("Statistics file location"));
1629285612Sdelphij
1630285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1631285612Sdelphij  puts(_("Trusted key number"));
1632285612Sdelphij
1633285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1634285612Sdelphij  puts(_("Run as userid (or userid:groupid)"));
1635285612Sdelphij
1636285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1637285612Sdelphij  puts(_("built without --enable-clockctl or --enable-linuxcaps or --enable-solarisprivs"));
1638285612Sdelphij
1639285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1640285612Sdelphij  puts(_("interval in seconds between scans for new or dropped interfaces"));
1641285612Sdelphij
1642285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1643285612Sdelphij  puts(_("make ARG an ntp variable (RW)"));
1644285612Sdelphij
1645285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1646285612Sdelphij  puts(_("make ARG an ntp variable (RW|DEF)"));
1647285612Sdelphij
1648285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1649285612Sdelphij  puts(_("Seconds to wait for first clock sync"));
1650285612Sdelphij
1651285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1652285612Sdelphij  puts(_("Slew up to 600 seconds"));
1653285612Sdelphij
1654285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1655285612Sdelphij  puts(_("Use CPU cycle counter (Windows only)"));
1656285612Sdelphij
1657285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1658285612Sdelphij  puts(_("Force CPU cycle counter use (Windows only)"));
1659285612Sdelphij
1660285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1661285612Sdelphij  puts(_("Register with mDNS as a NTP server"));
1662285612Sdelphij
1663285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1664285612Sdelphij  puts(_("display extended usage information and exit"));
1665285612Sdelphij
1666285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1667285612Sdelphij  puts(_("extended usage information passed thru pager"));
1668285612Sdelphij
1669285612Sdelphij  /* referenced via ntpdOptions.pOptDesc->pzText */
1670285612Sdelphij  puts(_("output version information and exit"));
1671285612Sdelphij
1672285612Sdelphij  /* referenced via ntpdOptions.pzUsageTitle */
1673310419Sdelphij  puts(_("ntpd - NTP daemon program - Ver. 4.2.8p9\n\
1674285612SdelphijUsage:  %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \\\n\
1675285612Sdelphij\t\t[ <server1> ... <serverN> ]\n"));
1676285612Sdelphij
1677285612Sdelphij  /* referenced via ntpdOptions.pzExplain */
1678285612Sdelphij  puts(_("\n"));
1679285612Sdelphij
1680285612Sdelphij  /* referenced via ntpdOptions.pzFullVersion */
1681310419Sdelphij  puts(_("ntpd 4.2.8p9"));
1682285612Sdelphij
1683285612Sdelphij  /* referenced via ntpdOptions.pzFullUsage */
1684285612Sdelphij  puts(_("<<<NOT-FOUND>>>"));
1685285612Sdelphij
1686285612Sdelphij  /* referenced via ntpdOptions.pzShortUsage */
1687285612Sdelphij  puts(_("<<<NOT-FOUND>>>"));
1688285612Sdelphij  /* LIBOPTS-MESSAGES: */
1689285612Sdelphij#line 67 "../autoopts.c"
1690285612Sdelphij  puts(_("allocation of %d bytes failed\n"));
1691285612Sdelphij#line 93 "../autoopts.c"
1692285612Sdelphij  puts(_("allocation of %d bytes failed\n"));
1693285612Sdelphij#line 53 "../init.c"
1694285612Sdelphij  puts(_("AutoOpts function called without option descriptor\n"));
1695285612Sdelphij#line 86 "../init.c"
1696285612Sdelphij  puts(_("\tThis exceeds the compiled library version:  "));
1697285612Sdelphij#line 84 "../init.c"
1698285612Sdelphij  puts(_("Automated Options Processing Error!\n"
1699285612Sdelphij       "\t%s called AutoOpts function with structure version %d:%d:%d.\n"));
1700285612Sdelphij#line 80 "../autoopts.c"
1701285612Sdelphij  puts(_("realloc of %d bytes at 0x%p failed\n"));
1702285612Sdelphij#line 88 "../init.c"
1703285612Sdelphij  puts(_("\tThis is less than the minimum library version:  "));
1704285612Sdelphij#line 121 "../version.c"
1705285612Sdelphij  puts(_("Automated Options version %s\n"
1706285612Sdelphij       "\tCopyright (C) 1999-2014 by Bruce Korb - all rights reserved\n"));
1707285612Sdelphij#line 87 "../makeshell.c"
1708285612Sdelphij  puts(_("(AutoOpts bug):  %s.\n"));
1709285612Sdelphij#line 90 "../reset.c"
1710285612Sdelphij  puts(_("optionResetOpt() called, but reset-option not configured"));
1711285612Sdelphij#line 292 "../usage.c"
1712285612Sdelphij  puts(_("could not locate the 'help' option"));
1713285612Sdelphij#line 336 "../autoopts.c"
1714285612Sdelphij  puts(_("optionProcess() was called with invalid data"));
1715285612Sdelphij#line 748 "../usage.c"
1716285612Sdelphij  puts(_("invalid argument type specified"));
1717285612Sdelphij#line 598 "../find.c"
1718285612Sdelphij  puts(_("defaulted to option with optional arg"));
1719285612Sdelphij#line 76 "../alias.c"
1720285612Sdelphij  puts(_("aliasing option is out of range."));
1721285612Sdelphij#line 234 "../enum.c"
1722285612Sdelphij  puts(_("%s error:  the keyword '%s' is ambiguous for %s\n"));
1723285612Sdelphij#line 108 "../find.c"
1724285612Sdelphij  puts(_("  The following options match:\n"));
1725285612Sdelphij#line 293 "../find.c"
1726285612Sdelphij  puts(_("%s: ambiguous option name: %s (matches %d options)\n"));
1727285612Sdelphij#line 161 "../check.c"
1728285612Sdelphij  puts(_("%s: Command line arguments required\n"));
1729285612Sdelphij#line 43 "../alias.c"
1730285612Sdelphij  puts(_("%d %s%s options allowed\n"));
1731285612Sdelphij#line 94 "../makeshell.c"
1732285612Sdelphij  puts(_("%s error %d (%s) calling %s for '%s'\n"));
1733285612Sdelphij#line 306 "../makeshell.c"
1734285612Sdelphij  puts(_("interprocess pipe"));
1735285612Sdelphij#line 168 "../version.c"
1736285612Sdelphij  puts(_("error: version option argument '%c' invalid.  Use:\n"
1737285612Sdelphij       "\t'v' - version only\n"
1738285612Sdelphij       "\t'c' - version and copyright\n"
1739285612Sdelphij       "\t'n' - version and full copyright notice\n"));
1740285612Sdelphij#line 58 "../check.c"
1741285612Sdelphij  puts(_("%s error:  the '%s' and '%s' options conflict\n"));
1742285612Sdelphij#line 217 "../find.c"
1743285612Sdelphij  puts(_("%s: The '%s' option has been disabled."));
1744285612Sdelphij#line 430 "../find.c"
1745285612Sdelphij  puts(_("%s: The '%s' option has been disabled."));
1746285612Sdelphij#line 38 "../alias.c"
1747285612Sdelphij  puts(_("-equivalence"));
1748285612Sdelphij#line 469 "../find.c"
1749285612Sdelphij  puts(_("%s: illegal option -- %c\n"));
1750285612Sdelphij#line 110 "../reset.c"
1751285612Sdelphij  puts(_("%s: illegal option -- %c\n"));
1752285612Sdelphij#line 271 "../find.c"
1753285612Sdelphij  puts(_("%s: illegal option -- %s\n"));
1754285612Sdelphij#line 755 "../find.c"
1755285612Sdelphij  puts(_("%s: illegal option -- %s\n"));
1756285612Sdelphij#line 118 "../reset.c"
1757285612Sdelphij  puts(_("%s: illegal option -- %s\n"));
1758285612Sdelphij#line 335 "../find.c"
1759285612Sdelphij  puts(_("%s: unknown vendor extension option -- %s\n"));
1760285612Sdelphij#line 159 "../enum.c"
1761285612Sdelphij  puts(_("  or an integer from %d through %d\n"));
1762285612Sdelphij#line 169 "../enum.c"
1763285612Sdelphij  puts(_("  or an integer from %d through %d\n"));
1764285612Sdelphij#line 747 "../usage.c"
1765285612Sdelphij  puts(_("%s error:  invalid option descriptor for %s\n"));
1766285612Sdelphij#line 1081 "../usage.c"
1767285612Sdelphij  puts(_("%s error:  invalid option descriptor for %s\n"));
1768285612Sdelphij#line 385 "../find.c"
1769285612Sdelphij  puts(_("%s: invalid option name: %s\n"));
1770285612Sdelphij#line 527 "../find.c"
1771285612Sdelphij  puts(_("%s: The '%s' option requires an argument.\n"));
1772285612Sdelphij#line 156 "../autoopts.c"
1773285612Sdelphij  puts(_("(AutoOpts bug):  Equivalenced option '%s' was equivalenced to both\n"
1774285612Sdelphij       "\t'%s' and '%s'."));
1775285612Sdelphij#line 94 "../check.c"
1776285612Sdelphij  puts(_("%s error:  The %s option is required\n"));
1777285612Sdelphij#line 632 "../find.c"
1778285612Sdelphij  puts(_("%s: The '%s' option cannot have an argument.\n"));
1779285612Sdelphij#line 151 "../check.c"
1780285612Sdelphij  puts(_("%s: Command line arguments are not allowed.\n"));
1781285612Sdelphij#line 535 "../save.c"
1782285612Sdelphij  puts(_("error %d (%s) creating %s\n"));
1783285612Sdelphij#line 234 "../enum.c"
1784285612Sdelphij  puts(_("%s error:  '%s' does not match any %s keywords.\n"));
1785285612Sdelphij#line 93 "../reset.c"
1786285612Sdelphij  puts(_("%s error: The '%s' option requires an argument.\n"));
1787285612Sdelphij#line 184 "../save.c"
1788285612Sdelphij  puts(_("error %d (%s) stat-ing %s\n"));
1789285612Sdelphij#line 238 "../save.c"
1790285612Sdelphij  puts(_("error %d (%s) stat-ing %s\n"));
1791285612Sdelphij#line 143 "../restore.c"
1792285612Sdelphij  puts(_("%s error: no saved option state\n"));
1793285612Sdelphij#line 231 "../autoopts.c"
1794285612Sdelphij  puts(_("'%s' is not a command line option.\n"));
1795285612Sdelphij#line 111 "../time.c"
1796285612Sdelphij  puts(_("%s error:  '%s' is not a recognizable date/time.\n"));
1797285612Sdelphij#line 132 "../save.c"
1798285612Sdelphij  puts(_("'%s' not defined\n"));
1799285612Sdelphij#line 50 "../time.c"
1800285612Sdelphij  puts(_("%s error:  '%s' is not a recognizable time duration.\n"));
1801285612Sdelphij#line 92 "../check.c"
1802285612Sdelphij  puts(_("%s error:  The %s option must appear %d times.\n"));
1803285612Sdelphij#line 164 "../numeric.c"
1804285612Sdelphij  puts(_("%s error:  '%s' is not a recognizable number.\n"));
1805285612Sdelphij#line 200 "../enum.c"
1806285612Sdelphij  puts(_("%s error:  %s exceeds %s keyword count\n"));
1807285612Sdelphij#line 330 "../usage.c"
1808285612Sdelphij  puts(_("Try '%s %s' for more information.\n"));
1809285612Sdelphij#line 45 "../alias.c"
1810285612Sdelphij  puts(_("one %s%s option allowed\n"));
1811285612Sdelphij#line 208 "../makeshell.c"
1812285612Sdelphij  puts(_("standard output"));
1813285612Sdelphij#line 943 "../makeshell.c"
1814285612Sdelphij  puts(_("standard output"));
1815285612Sdelphij#line 274 "../usage.c"
1816285612Sdelphij  puts(_("standard output"));
1817285612Sdelphij#line 415 "../usage.c"
1818285612Sdelphij  puts(_("standard output"));
1819285612Sdelphij#line 625 "../usage.c"
1820285612Sdelphij  puts(_("standard output"));
1821285612Sdelphij#line 175 "../version.c"
1822285612Sdelphij  puts(_("standard output"));
1823285612Sdelphij#line 274 "../usage.c"
1824285612Sdelphij  puts(_("standard error"));
1825285612Sdelphij#line 415 "../usage.c"
1826285612Sdelphij  puts(_("standard error"));
1827285612Sdelphij#line 625 "../usage.c"
1828285612Sdelphij  puts(_("standard error"));
1829285612Sdelphij#line 175 "../version.c"
1830285612Sdelphij  puts(_("standard error"));
1831285612Sdelphij#line 208 "../makeshell.c"
1832285612Sdelphij  puts(_("write"));
1833285612Sdelphij#line 943 "../makeshell.c"
1834285612Sdelphij  puts(_("write"));
1835285612Sdelphij#line 273 "../usage.c"
1836285612Sdelphij  puts(_("write"));
1837285612Sdelphij#line 414 "../usage.c"
1838285612Sdelphij  puts(_("write"));
1839285612Sdelphij#line 624 "../usage.c"
1840285612Sdelphij  puts(_("write"));
1841285612Sdelphij#line 174 "../version.c"
1842285612Sdelphij  puts(_("write"));
1843285612Sdelphij#line 60 "../numeric.c"
1844285612Sdelphij  puts(_("%s error:  %s option value %ld is out of range.\n"));
1845285612Sdelphij#line 44 "../check.c"
1846285612Sdelphij  puts(_("%s error:  %s option requires the %s option\n"));
1847285612Sdelphij#line 131 "../save.c"
1848285612Sdelphij  puts(_("%s warning:  cannot save options - %s not regular file\n"));
1849285612Sdelphij#line 183 "../save.c"
1850285612Sdelphij  puts(_("%s warning:  cannot save options - %s not regular file\n"));
1851285612Sdelphij#line 237 "../save.c"
1852285612Sdelphij  puts(_("%s warning:  cannot save options - %s not regular file\n"));
1853285612Sdelphij#line 256 "../save.c"
1854285612Sdelphij  puts(_("%s warning:  cannot save options - %s not regular file\n"));
1855285612Sdelphij#line 534 "../save.c"
1856285612Sdelphij  puts(_("%s warning:  cannot save options - %s not regular file\n"));
1857285612Sdelphij  /* END-LIBOPTS-MESSAGES */
1858285612Sdelphij
1859285612Sdelphij  /* USAGE-TEXT: */
1860285612Sdelphij#line 873 "../usage.c"
1861285612Sdelphij  puts(_("\t\t\t\t- an alternate for '%s'\n"));
1862285612Sdelphij#line 1148 "../usage.c"
1863285612Sdelphij  puts(_("Version, usage and configuration options:"));
1864285612Sdelphij#line 924 "../usage.c"
1865285612Sdelphij  puts(_("\t\t\t\t- default option for unnamed options\n"));
1866285612Sdelphij#line 837 "../usage.c"
1867285612Sdelphij  puts(_("\t\t\t\t- disabled as '--%s'\n"));
1868285612Sdelphij#line 1117 "../usage.c"
1869285612Sdelphij  puts(_(" --- %-14s %s\n"));
1870285612Sdelphij#line 1115 "../usage.c"
1871285612Sdelphij  puts(_("This option has been disabled"));
1872285612Sdelphij#line 864 "../usage.c"
1873285612Sdelphij  puts(_("\t\t\t\t- enabled by default\n"));
1874285612Sdelphij#line 40 "../alias.c"
1875285612Sdelphij  puts(_("%s error:  only "));
1876285612Sdelphij#line 1194 "../usage.c"
1877285612Sdelphij  puts(_(" - examining environment variables named %s_*\n"));
1878285612Sdelphij#line 168 "../file.c"
1879285612Sdelphij  puts(_("\t\t\t\t- file must not pre-exist\n"));
1880285612Sdelphij#line 172 "../file.c"
1881285612Sdelphij  puts(_("\t\t\t\t- file must pre-exist\n"));
1882285612Sdelphij#line 380 "../usage.c"
1883285612Sdelphij  puts(_("Options are specified by doubled hyphens and their name or by a single\n"
1884285612Sdelphij       "hyphen and the flag character.\n"));
1885285612Sdelphij#line 921 "../makeshell.c"
1886285612Sdelphij  puts(_("\n"
1887285612Sdelphij       "= = = = = = = =\n\n"
1888285612Sdelphij       "This incarnation of genshell will produce\n"
1889285612Sdelphij       "a shell script to parse the options for %s:\n\n"));
1890285612Sdelphij#line 166 "../enum.c"
1891285612Sdelphij  puts(_("  or an integer mask with any of the lower %d bits set\n"));
1892285612Sdelphij#line 897 "../usage.c"
1893285612Sdelphij  puts(_("\t\t\t\t- is a set membership option\n"));
1894285612Sdelphij#line 918 "../usage.c"
1895285612Sdelphij  puts(_("\t\t\t\t- must appear between %d and %d times\n"));
1896285612Sdelphij#line 382 "../usage.c"
1897285612Sdelphij  puts(_("Options are specified by single or double hyphens and their name.\n"));
1898285612Sdelphij#line 904 "../usage.c"
1899285612Sdelphij  puts(_("\t\t\t\t- may appear multiple times\n"));
1900285612Sdelphij#line 891 "../usage.c"
1901285612Sdelphij  puts(_("\t\t\t\t- may not be preset\n"));
1902285612Sdelphij#line 1309 "../usage.c"
1903285612Sdelphij  puts(_("   Arg Option-Name    Description\n"));
1904285612Sdelphij#line 1245 "../usage.c"
1905285612Sdelphij  puts(_("  Flg Arg Option-Name    Description\n"));
1906285612Sdelphij#line 1303 "../usage.c"
1907285612Sdelphij  puts(_("  Flg Arg Option-Name    Description\n"));
1908285612Sdelphij#line 1304 "../usage.c"
1909285612Sdelphij  puts(_(" %3s %s"));
1910285612Sdelphij#line 1310 "../usage.c"
1911285612Sdelphij  puts(_(" %3s %s"));
1912285612Sdelphij#line 387 "../usage.c"
1913285612Sdelphij  puts(_("The '-#<number>' option may omit the hash char\n"));
1914285612Sdelphij#line 383 "../usage.c"
1915285612Sdelphij  puts(_("All arguments are named options.\n"));
1916285612Sdelphij#line 971 "../usage.c"
1917285612Sdelphij  puts(_(" - reading file %s"));
1918285612Sdelphij#line 409 "../usage.c"
1919285612Sdelphij  puts(_("\n"
1920285612Sdelphij       "Please send bug reports to:  <%s>\n"));
1921285612Sdelphij#line 100 "../version.c"
1922285612Sdelphij  puts(_("\n"
1923285612Sdelphij       "Please send bug reports to:  <%s>\n"));
1924285612Sdelphij#line 129 "../version.c"
1925285612Sdelphij  puts(_("\n"
1926285612Sdelphij       "Please send bug reports to:  <%s>\n"));
1927285612Sdelphij#line 903 "../usage.c"
1928285612Sdelphij  puts(_("\t\t\t\t- may NOT appear - preset only\n"));
1929285612Sdelphij#line 944 "../usage.c"
1930285612Sdelphij  puts(_("\n"
1931285612Sdelphij       "The following option preset mechanisms are supported:\n"));
1932285612Sdelphij#line 1192 "../usage.c"
1933285612Sdelphij  puts(_("\n"
1934285612Sdelphij       "The following option preset mechanisms are supported:\n"));
1935285612Sdelphij#line 682 "../usage.c"
1936285612Sdelphij  puts(_("prohibits these options:\n"));
1937285612Sdelphij#line 677 "../usage.c"
1938285612Sdelphij  puts(_("prohibits the option '%s'\n"));
1939285612Sdelphij#line 81 "../numeric.c"
1940285612Sdelphij  puts(_("%s%ld to %ld"));
1941285612Sdelphij#line 79 "../numeric.c"
1942285612Sdelphij  puts(_("%sgreater than or equal to %ld"));
1943285612Sdelphij#line 75 "../numeric.c"
1944285612Sdelphij  puts(_("%s%ld exactly"));
1945285612Sdelphij#line 68 "../numeric.c"
1946285612Sdelphij  puts(_("%sit must lie in one of the ranges:\n"));
1947285612Sdelphij#line 68 "../numeric.c"
1948285612Sdelphij  puts(_("%sit must be in the range:\n"));
1949285612Sdelphij#line 88 "../numeric.c"
1950285612Sdelphij  puts(_(", or\n"));
1951285612Sdelphij#line 66 "../numeric.c"
1952285612Sdelphij  puts(_("%sis scalable with a suffix: k/K/m/M/g/G/t/T\n"));
1953285612Sdelphij#line 77 "../numeric.c"
1954285612Sdelphij  puts(_("%sless than or equal to %ld"));
1955285612Sdelphij#line 390 "../usage.c"
1956285612Sdelphij  puts(_("Operands and options may be intermixed.  They will be reordered.\n"));
1957285612Sdelphij#line 652 "../usage.c"
1958285612Sdelphij  puts(_("requires the option '%s'\n"));
1959285612Sdelphij#line 655 "../usage.c"
1960285612Sdelphij  puts(_("requires these options:\n"));
1961285612Sdelphij#line 1321 "../usage.c"
1962285612Sdelphij  puts(_("   Arg Option-Name   Req?  Description\n"));
1963285612Sdelphij#line 1315 "../usage.c"
1964285612Sdelphij  puts(_("  Flg Arg Option-Name   Req?  Description\n"));
1965285612Sdelphij#line 167 "../enum.c"
1966285612Sdelphij  puts(_("or you may use a numeric representation.  Preceding these with a '!'\n"
1967285612Sdelphij       "will clear the bits, specifying 'none' will clear all bits, and 'all'\n"
1968285612Sdelphij       "will set them all.  Multiple entries may be passed as an option\n"
1969285612Sdelphij       "argument list.\n"));
1970285612Sdelphij#line 910 "../usage.c"
1971285612Sdelphij  puts(_("\t\t\t\t- may appear up to %d times\n"));
1972285612Sdelphij#line 77 "../enum.c"
1973285612Sdelphij  puts(_("The valid \"%s\" option keywords are:\n"));
1974285612Sdelphij#line 1152 "../usage.c"
1975285612Sdelphij  puts(_("The next option supports vendor supported extra options:"));
1976285612Sdelphij#line 773 "../usage.c"
1977285612Sdelphij  puts(_("These additional options are:"));
1978285612Sdelphij  /* END-USAGE-TEXT */
1979285612Sdelphij}
1980285612Sdelphij#endif /* uncompilable code */
1981181834Sroberto#ifdef  __cplusplus
1982181834Sroberto}
1983181834Sroberto#endif
1984181834Sroberto/* ntpd-opts.c ends here */
1985