1285612Sdelphij/*
2181834Sroberto *  EDIT THIS FILE WITH CAUTION  (ntpdc-opts.c)
3285612Sdelphij *
4330567Sgordon *  It has been AutoGen-ed  February 27, 2018 at 05:14:56 PM by AutoGen 5.18.5
5181834Sroberto *  From the definitions    ntpdc-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 ntpdc 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 ntpdc program is copyrighted and licensed
19285612Sdelphij * under the following terms:
20181834Sroberto *
21316722Sdelphij *  Copyright (C) 1992-2017 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 "ntpdc-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      (ntpdc_opt_strs+0)
53316722Sdelphij#define zLicenseDescrip (ntpdc_opt_strs+342)
54181834Sroberto
55181834Sroberto/*
56181834Sroberto *  global included definitions
57181834Sroberto */
58181834Sroberto#ifdef __windows
59181834Sroberto  extern int atoi(const char*);
60181834Sroberto#else
61181834Sroberto# include <stdlib.h>
62181834Sroberto#endif
63181834Sroberto
64181834Sroberto#ifndef NULL
65181834Sroberto#  define NULL 0
66181834Sroberto#endif
67181834Sroberto
68285612Sdelphij/**
69285612Sdelphij *  static const strings for ntpdc options
70181834Sroberto */
71316722Sdelphijstatic char const ntpdc_opt_strs[1914] =
72330567Sgordon/*     0 */ "ntpdc 4.2.8p11\n"
73316722Sdelphij            "Copyright (C) 1992-2017 The University of Delaware and Network Time Foundation, all rights reserved.\n"
74285612Sdelphij            "This is free software. It is licensed for use, modification and\n"
75285612Sdelphij            "redistribution under the terms of the NTP License, copies of which\n"
76285612Sdelphij            "can be seen at:\n"
77285612Sdelphij            "  <http://ntp.org/license>\n"
78285612Sdelphij            "  <http://opensource.org/licenses/ntp-license.php>\n\0"
79316722Sdelphij/*   342 */ "Permission to use, copy, modify, and distribute this software and its\n"
80285612Sdelphij            "documentation for any purpose with or without fee is hereby granted,\n"
81285612Sdelphij            "provided that the above copyright notice appears in all copies and that\n"
82285612Sdelphij            "both the copyright notice and this permission notice appear in supporting\n"
83285612Sdelphij            "documentation, and that the name The University of Delaware not be used in\n"
84285612Sdelphij            "advertising or publicity pertaining to distribution of the software without\n"
85285612Sdelphij            "specific, written prior permission.  The University of Delaware and Network\n"
86285612Sdelphij            "Time Foundation makes no representations about the suitability this\n"
87285612Sdelphij            "software for any purpose.  It is provided \"as is\" without express or\n"
88285612Sdelphij            "implied warranty.\n\0"
89316722Sdelphij/*  1010 */ "Force IPv4 DNS name resolution\0"
90316722Sdelphij/*  1041 */ "IPV4\0"
91316722Sdelphij/*  1046 */ "ipv4\0"
92316722Sdelphij/*  1051 */ "Force IPv6 DNS name resolution\0"
93316722Sdelphij/*  1082 */ "IPV6\0"
94316722Sdelphij/*  1087 */ "ipv6\0"
95316722Sdelphij/*  1092 */ "run a command and exit\0"
96316722Sdelphij/*  1115 */ "COMMAND\0"
97316722Sdelphij/*  1123 */ "command\0"
98316722Sdelphij/*  1131 */ "Increase debug verbosity level\0"
99316722Sdelphij/*  1162 */ "DEBUG_LEVEL\0"
100316722Sdelphij/*  1174 */ "debug-level\0"
101316722Sdelphij/*  1186 */ "Set the debug verbosity level\0"
102316722Sdelphij/*  1216 */ "SET_DEBUG_LEVEL\0"
103316722Sdelphij/*  1232 */ "set-debug-level\0"
104316722Sdelphij/*  1248 */ "Force ntpq to operate in interactive mode\0"
105316722Sdelphij/*  1290 */ "INTERACTIVE\0"
106316722Sdelphij/*  1302 */ "interactive\0"
107316722Sdelphij/*  1314 */ "Print a list of the peers\0"
108316722Sdelphij/*  1340 */ "LISTPEERS\0"
109316722Sdelphij/*  1350 */ "listpeers\0"
110316722Sdelphij/*  1360 */ "numeric host addresses\0"
111316722Sdelphij/*  1383 */ "NUMERIC\0"
112316722Sdelphij/*  1391 */ "numeric\0"
113316722Sdelphij/*  1399 */ "PEERS\0"
114316722Sdelphij/*  1405 */ "peers\0"
115316722Sdelphij/*  1411 */ "Show a list of the peers\0"
116316722Sdelphij/*  1436 */ "SHOWPEERS\0"
117316722Sdelphij/*  1446 */ "showpeers\0"
118316722Sdelphij/*  1456 */ "display extended usage information and exit\0"
119316722Sdelphij/*  1500 */ "help\0"
120316722Sdelphij/*  1505 */ "extended usage information passed thru pager\0"
121316722Sdelphij/*  1550 */ "more-help\0"
122316722Sdelphij/*  1560 */ "output version information and exit\0"
123316722Sdelphij/*  1596 */ "version\0"
124316722Sdelphij/*  1604 */ "save the option state to a config file\0"
125316722Sdelphij/*  1643 */ "save-opts\0"
126316722Sdelphij/*  1653 */ "load options from a config file\0"
127316722Sdelphij/*  1685 */ "LOAD_OPTS\0"
128316722Sdelphij/*  1695 */ "no-load-opts\0"
129316722Sdelphij/*  1708 */ "no\0"
130316722Sdelphij/*  1711 */ "NTPDC\0"
131330567Sgordon/*  1717 */ "ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p11\n"
132285612Sdelphij            "Usage:  %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [ host ...]\n\0"
133316722Sdelphij/*  1848 */ "$HOME\0"
134316722Sdelphij/*  1854 */ ".\0"
135316722Sdelphij/*  1856 */ ".ntprc\0"
136316722Sdelphij/*  1863 */ "http://bugs.ntp.org, bugs@ntp.org\0"
137316722Sdelphij/*  1897 */ "\n\0"
138330567Sgordon/*  1899 */ "ntpdc 4.2.8p11";
139181834Sroberto
140285612Sdelphij/**
141285612Sdelphij *  ipv4 option description with
142285612Sdelphij *  "Must also have options" and "Incompatible options":
143181834Sroberto */
144285612Sdelphij/** Descriptive text for the ipv4 option */
145316722Sdelphij#define IPV4_DESC      (ntpdc_opt_strs+1010)
146285612Sdelphij/** Upper-cased name for the ipv4 option */
147316722Sdelphij#define IPV4_NAME      (ntpdc_opt_strs+1041)
148285612Sdelphij/** Name string for the ipv4 option */
149316722Sdelphij#define IPV4_name      (ntpdc_opt_strs+1046)
150285612Sdelphij/** Other options that appear in conjunction with the ipv4 option */
151285612Sdelphijstatic int const aIpv4CantList[] = {
152285612Sdelphij    INDEX_OPT_IPV6, NO_EQUIVALENT };
153285612Sdelphij/** Compiled in flag settings for the ipv4 option */
154285612Sdelphij#define IPV4_FLAGS     (OPTST_DISABLED)
155181834Sroberto
156285612Sdelphij/**
157285612Sdelphij *  ipv6 option description with
158181834Sroberto *  "Must also have options" and "Incompatible options":
159181834Sroberto */
160285612Sdelphij/** Descriptive text for the ipv6 option */
161316722Sdelphij#define IPV6_DESC      (ntpdc_opt_strs+1051)
162285612Sdelphij/** Upper-cased name for the ipv6 option */
163316722Sdelphij#define IPV6_NAME      (ntpdc_opt_strs+1082)
164285612Sdelphij/** Name string for the ipv6 option */
165316722Sdelphij#define IPV6_name      (ntpdc_opt_strs+1087)
166285612Sdelphij/** Other options that appear in conjunction with the ipv6 option */
167285612Sdelphijstatic int const aIpv6CantList[] = {
168285612Sdelphij    INDEX_OPT_IPV4, NO_EQUIVALENT };
169285612Sdelphij/** Compiled in flag settings for the ipv6 option */
170285612Sdelphij#define IPV6_FLAGS     (OPTST_DISABLED)
171181834Sroberto
172285612Sdelphij/**
173285612Sdelphij *  command option description:
174181834Sroberto */
175285612Sdelphij/** Descriptive text for the command option */
176316722Sdelphij#define COMMAND_DESC      (ntpdc_opt_strs+1092)
177285612Sdelphij/** Upper-cased name for the command option */
178316722Sdelphij#define COMMAND_NAME      (ntpdc_opt_strs+1115)
179285612Sdelphij/** Name string for the command option */
180316722Sdelphij#define COMMAND_name      (ntpdc_opt_strs+1123)
181285612Sdelphij/** Compiled in flag settings for the command option */
182285612Sdelphij#define COMMAND_FLAGS     (OPTST_DISABLED | OPTST_STACKED \
183285612Sdelphij        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
184181834Sroberto
185285612Sdelphij/**
186285612Sdelphij *  debug-level option description:
187181834Sroberto */
188285612Sdelphij/** Descriptive text for the debug-level option */
189316722Sdelphij#define DEBUG_LEVEL_DESC      (ntpdc_opt_strs+1131)
190285612Sdelphij/** Upper-cased name for the debug-level option */
191316722Sdelphij#define DEBUG_LEVEL_NAME      (ntpdc_opt_strs+1162)
192285612Sdelphij/** Name string for the debug-level option */
193316722Sdelphij#define DEBUG_LEVEL_name      (ntpdc_opt_strs+1174)
194285612Sdelphij/** Compiled in flag settings for the debug-level option */
195285612Sdelphij#define DEBUG_LEVEL_FLAGS     (OPTST_DISABLED)
196181834Sroberto
197285612Sdelphij/**
198285612Sdelphij *  set-debug-level option description:
199285612Sdelphij */
200285612Sdelphij/** Descriptive text for the set-debug-level option */
201316722Sdelphij#define SET_DEBUG_LEVEL_DESC      (ntpdc_opt_strs+1186)
202285612Sdelphij/** Upper-cased name for the set-debug-level option */
203316722Sdelphij#define SET_DEBUG_LEVEL_NAME      (ntpdc_opt_strs+1216)
204285612Sdelphij/** Name string for the set-debug-level option */
205316722Sdelphij#define SET_DEBUG_LEVEL_name      (ntpdc_opt_strs+1232)
206285612Sdelphij/** Compiled in flag settings for the set-debug-level option */
207285612Sdelphij#define SET_DEBUG_LEVEL_FLAGS     (OPTST_DISABLED \
208285612Sdelphij        | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
209285612Sdelphij
210285612Sdelphij/**
211285612Sdelphij *  interactive option description with
212181834Sroberto *  "Must also have options" and "Incompatible options":
213181834Sroberto */
214285612Sdelphij/** Descriptive text for the interactive option */
215316722Sdelphij#define INTERACTIVE_DESC      (ntpdc_opt_strs+1248)
216285612Sdelphij/** Upper-cased name for the interactive option */
217316722Sdelphij#define INTERACTIVE_NAME      (ntpdc_opt_strs+1290)
218285612Sdelphij/** Name string for the interactive option */
219316722Sdelphij#define INTERACTIVE_name      (ntpdc_opt_strs+1302)
220285612Sdelphij/** Other options that appear in conjunction with the interactive option */
221285612Sdelphijstatic int const aInteractiveCantList[] = {
222181834Sroberto    INDEX_OPT_COMMAND,
223181834Sroberto    INDEX_OPT_LISTPEERS,
224181834Sroberto    INDEX_OPT_PEERS,
225181834Sroberto    INDEX_OPT_SHOWPEERS, NO_EQUIVALENT };
226285612Sdelphij/** Compiled in flag settings for the interactive option */
227285612Sdelphij#define INTERACTIVE_FLAGS     (OPTST_DISABLED)
228181834Sroberto
229285612Sdelphij/**
230285612Sdelphij *  listpeers option description with
231285612Sdelphij *  "Must also have options" and "Incompatible options":
232181834Sroberto */
233285612Sdelphij/** Descriptive text for the listpeers option */
234316722Sdelphij#define LISTPEERS_DESC      (ntpdc_opt_strs+1314)
235285612Sdelphij/** Upper-cased name for the listpeers option */
236316722Sdelphij#define LISTPEERS_NAME      (ntpdc_opt_strs+1340)
237285612Sdelphij/** Name string for the listpeers option */
238316722Sdelphij#define LISTPEERS_name      (ntpdc_opt_strs+1350)
239285612Sdelphij/** Other options that appear in conjunction with the listpeers option */
240285612Sdelphijstatic int const aListpeersCantList[] = {
241285612Sdelphij    INDEX_OPT_COMMAND, NO_EQUIVALENT };
242285612Sdelphij/** Compiled in flag settings for the listpeers option */
243285612Sdelphij#define LISTPEERS_FLAGS     (OPTST_DISABLED)
244181834Sroberto
245285612Sdelphij/**
246285612Sdelphij *  numeric option description:
247285612Sdelphij */
248285612Sdelphij/** Descriptive text for the numeric option */
249316722Sdelphij#define NUMERIC_DESC      (ntpdc_opt_strs+1360)
250285612Sdelphij/** Upper-cased name for the numeric option */
251316722Sdelphij#define NUMERIC_NAME      (ntpdc_opt_strs+1383)
252285612Sdelphij/** Name string for the numeric option */
253316722Sdelphij#define NUMERIC_name      (ntpdc_opt_strs+1391)
254285612Sdelphij/** Compiled in flag settings for the numeric option */
255285612Sdelphij#define NUMERIC_FLAGS     (OPTST_DISABLED)
256181834Sroberto
257285612Sdelphij/**
258285612Sdelphij *  peers option description with
259285612Sdelphij *  "Must also have options" and "Incompatible options":
260181834Sroberto */
261285612Sdelphij/** Descriptive text for the peers option */
262316722Sdelphij#define PEERS_DESC      (ntpdc_opt_strs+1314)
263285612Sdelphij/** Upper-cased name for the peers option */
264316722Sdelphij#define PEERS_NAME      (ntpdc_opt_strs+1399)
265285612Sdelphij/** Name string for the peers option */
266316722Sdelphij#define PEERS_name      (ntpdc_opt_strs+1405)
267285612Sdelphij/** Other options that appear in conjunction with the peers option */
268285612Sdelphijstatic int const aPeersCantList[] = {
269285612Sdelphij    INDEX_OPT_COMMAND, NO_EQUIVALENT };
270285612Sdelphij/** Compiled in flag settings for the peers option */
271285612Sdelphij#define PEERS_FLAGS     (OPTST_DISABLED)
272181834Sroberto
273285612Sdelphij/**
274285612Sdelphij *  showpeers option description with
275285612Sdelphij *  "Must also have options" and "Incompatible options":
276181834Sroberto */
277285612Sdelphij/** Descriptive text for the showpeers option */
278316722Sdelphij#define SHOWPEERS_DESC      (ntpdc_opt_strs+1411)
279285612Sdelphij/** Upper-cased name for the showpeers option */
280316722Sdelphij#define SHOWPEERS_NAME      (ntpdc_opt_strs+1436)
281285612Sdelphij/** Name string for the showpeers option */
282316722Sdelphij#define SHOWPEERS_name      (ntpdc_opt_strs+1446)
283285612Sdelphij/** Other options that appear in conjunction with the showpeers option */
284285612Sdelphijstatic int const aShowpeersCantList[] = {
285285612Sdelphij    INDEX_OPT_COMMAND, NO_EQUIVALENT };
286285612Sdelphij/** Compiled in flag settings for the showpeers option */
287285612Sdelphij#define SHOWPEERS_FLAGS     (OPTST_DISABLED)
288181834Sroberto
289181834Sroberto/*
290181834Sroberto *  Help/More_Help/Version option descriptions:
291181834Sroberto */
292316722Sdelphij#define HELP_DESC       (ntpdc_opt_strs+1456)
293316722Sdelphij#define HELP_name       (ntpdc_opt_strs+1500)
294285612Sdelphij#ifdef HAVE_WORKING_FORK
295316722Sdelphij#define MORE_HELP_DESC  (ntpdc_opt_strs+1505)
296316722Sdelphij#define MORE_HELP_name  (ntpdc_opt_strs+1550)
297285612Sdelphij#define MORE_HELP_FLAGS (OPTST_IMM | OPTST_NO_INIT)
298285612Sdelphij#else
299285612Sdelphij#define MORE_HELP_DESC  HELP_DESC
300285612Sdelphij#define MORE_HELP_name  HELP_name
301285612Sdelphij#define MORE_HELP_FLAGS (OPTST_OMITTED | OPTST_NO_INIT)
302285612Sdelphij#endif
303285612Sdelphij#ifdef NO_OPTIONAL_OPT_ARGS
304285612Sdelphij#  define VER_FLAGS     (OPTST_IMM | OPTST_NO_INIT)
305285612Sdelphij#else
306285612Sdelphij#  define VER_FLAGS     (OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \
307285612Sdelphij                         OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT)
308285612Sdelphij#endif
309316722Sdelphij#define VER_DESC        (ntpdc_opt_strs+1560)
310316722Sdelphij#define VER_name        (ntpdc_opt_strs+1596)
311316722Sdelphij#define SAVE_OPTS_DESC  (ntpdc_opt_strs+1604)
312316722Sdelphij#define SAVE_OPTS_name  (ntpdc_opt_strs+1643)
313316722Sdelphij#define LOAD_OPTS_DESC     (ntpdc_opt_strs+1653)
314316722Sdelphij#define LOAD_OPTS_NAME     (ntpdc_opt_strs+1685)
315316722Sdelphij#define NO_LOAD_OPTS_name  (ntpdc_opt_strs+1695)
316316722Sdelphij#define LOAD_OPTS_pfx      (ntpdc_opt_strs+1708)
317285612Sdelphij#define LOAD_OPTS_name     (NO_LOAD_OPTS_name + 3)
318285612Sdelphij/**
319181834Sroberto *  Declare option callback procedures
320181834Sroberto */
321181834Srobertoextern tOptProc
322285612Sdelphij    ntpOptionPrintVersion, optionBooleanVal,      optionNestedVal,
323285612Sdelphij    optionNumericVal,      optionPagedUsage,      optionResetOpt,
324285612Sdelphij    optionStackArg,        optionTimeDate,        optionTimeVal,
325285612Sdelphij    optionUnstackArg,      optionVendorOption;
326181834Srobertostatic tOptProc
327285612Sdelphij    doOptDebug_Level, doUsageOpt;
328285612Sdelphij#define VER_PROC        ntpOptionPrintVersion
329181834Sroberto
330285612Sdelphij/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
331285612Sdelphij/**
332285612Sdelphij *  Define the ntpdc Option Descriptions.
333285612Sdelphij * This is an array of OPTION_CT entries, one for each
334285612Sdelphij * option that the ntpdc program responds to.
335181834Sroberto */
336285612Sdelphijstatic tOptDesc optDesc[OPTION_CT] = {
337181834Sroberto  {  /* entry idx, value */ 0, VALUE_OPT_IPV4,
338285612Sdelphij     /* equiv idx, value */ 0, VALUE_OPT_IPV4,
339181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
340181834Sroberto     /* min, max, act ct */ 0, 1, 0,
341181834Sroberto     /* opt state flags  */ IPV4_FLAGS, 0,
342285612Sdelphij     /* last opt argumnt */ { NULL }, /* --ipv4 */
343181834Sroberto     /* arg list/cookie  */ NULL,
344285612Sdelphij     /* must/cannot opts */ NULL, aIpv4CantList,
345181834Sroberto     /* option proc      */ NULL,
346285612Sdelphij     /* desc, NAME, name */ IPV4_DESC, IPV4_NAME, IPV4_name,
347181834Sroberto     /* disablement strs */ NULL, NULL },
348181834Sroberto
349181834Sroberto  {  /* entry idx, value */ 1, VALUE_OPT_IPV6,
350285612Sdelphij     /* equiv idx, value */ 1, VALUE_OPT_IPV6,
351285612Sdelphij     /* equivalenced to  */ NO_EQUIVALENT,
352181834Sroberto     /* min, max, act ct */ 0, 1, 0,
353181834Sroberto     /* opt state flags  */ IPV6_FLAGS, 0,
354285612Sdelphij     /* last opt argumnt */ { NULL }, /* --ipv6 */
355181834Sroberto     /* arg list/cookie  */ NULL,
356285612Sdelphij     /* must/cannot opts */ NULL, aIpv6CantList,
357181834Sroberto     /* option proc      */ NULL,
358285612Sdelphij     /* desc, NAME, name */ IPV6_DESC, IPV6_NAME, IPV6_name,
359181834Sroberto     /* disablement strs */ NULL, NULL },
360181834Sroberto
361181834Sroberto  {  /* entry idx, value */ 2, VALUE_OPT_COMMAND,
362181834Sroberto     /* equiv idx, value */ 2, VALUE_OPT_COMMAND,
363181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
364181834Sroberto     /* min, max, act ct */ 0, NOLIMIT, 0,
365181834Sroberto     /* opt state flags  */ COMMAND_FLAGS, 0,
366285612Sdelphij     /* last opt argumnt */ { NULL }, /* --command */
367181834Sroberto     /* arg list/cookie  */ NULL,
368181834Sroberto     /* must/cannot opts */ NULL, NULL,
369181834Sroberto     /* option proc      */ optionStackArg,
370285612Sdelphij     /* desc, NAME, name */ COMMAND_DESC, COMMAND_NAME, COMMAND_name,
371181834Sroberto     /* disablement strs */ NULL, NULL },
372181834Sroberto
373285612Sdelphij  {  /* entry idx, value */ 3, VALUE_OPT_DEBUG_LEVEL,
374285612Sdelphij     /* equiv idx, value */ 3, VALUE_OPT_DEBUG_LEVEL,
375181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
376285612Sdelphij     /* min, max, act ct */ 0, NOLIMIT, 0,
377285612Sdelphij     /* opt state flags  */ DEBUG_LEVEL_FLAGS, 0,
378285612Sdelphij     /* last opt argumnt */ { NULL }, /* --debug-level */
379181834Sroberto     /* arg list/cookie  */ NULL,
380285612Sdelphij     /* must/cannot opts */ NULL, NULL,
381285612Sdelphij     /* option proc      */ doOptDebug_Level,
382285612Sdelphij     /* desc, NAME, name */ DEBUG_LEVEL_DESC, DEBUG_LEVEL_NAME, DEBUG_LEVEL_name,
383181834Sroberto     /* disablement strs */ NULL, NULL },
384181834Sroberto
385285612Sdelphij  {  /* entry idx, value */ 4, VALUE_OPT_SET_DEBUG_LEVEL,
386285612Sdelphij     /* equiv idx, value */ 4, VALUE_OPT_SET_DEBUG_LEVEL,
387181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
388285612Sdelphij     /* min, max, act ct */ 0, NOLIMIT, 0,
389285612Sdelphij     /* opt state flags  */ SET_DEBUG_LEVEL_FLAGS, 0,
390285612Sdelphij     /* last opt argumnt */ { NULL }, /* --set-debug-level */
391181834Sroberto     /* arg list/cookie  */ NULL,
392285612Sdelphij     /* must/cannot opts */ NULL, NULL,
393285612Sdelphij     /* option proc      */ optionNumericVal,
394285612Sdelphij     /* desc, NAME, name */ SET_DEBUG_LEVEL_DESC, SET_DEBUG_LEVEL_NAME, SET_DEBUG_LEVEL_name,
395181834Sroberto     /* disablement strs */ NULL, NULL },
396181834Sroberto
397285612Sdelphij  {  /* entry idx, value */ 5, VALUE_OPT_INTERACTIVE,
398285612Sdelphij     /* equiv idx, value */ 5, VALUE_OPT_INTERACTIVE,
399181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
400181834Sroberto     /* min, max, act ct */ 0, 1, 0,
401285612Sdelphij     /* opt state flags  */ INTERACTIVE_FLAGS, 0,
402285612Sdelphij     /* last opt argumnt */ { NULL }, /* --interactive */
403181834Sroberto     /* arg list/cookie  */ NULL,
404285612Sdelphij     /* must/cannot opts */ NULL, aInteractiveCantList,
405181834Sroberto     /* option proc      */ NULL,
406285612Sdelphij     /* desc, NAME, name */ INTERACTIVE_DESC, INTERACTIVE_NAME, INTERACTIVE_name,
407181834Sroberto     /* disablement strs */ NULL, NULL },
408181834Sroberto
409285612Sdelphij  {  /* entry idx, value */ 6, VALUE_OPT_LISTPEERS,
410285612Sdelphij     /* equiv idx, value */ 6, VALUE_OPT_LISTPEERS,
411181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
412181834Sroberto     /* min, max, act ct */ 0, 1, 0,
413285612Sdelphij     /* opt state flags  */ LISTPEERS_FLAGS, 0,
414285612Sdelphij     /* last opt argumnt */ { NULL }, /* --listpeers */
415181834Sroberto     /* arg list/cookie  */ NULL,
416285612Sdelphij     /* must/cannot opts */ NULL, aListpeersCantList,
417181834Sroberto     /* option proc      */ NULL,
418285612Sdelphij     /* desc, NAME, name */ LISTPEERS_DESC, LISTPEERS_NAME, LISTPEERS_name,
419181834Sroberto     /* disablement strs */ NULL, NULL },
420181834Sroberto
421285612Sdelphij  {  /* entry idx, value */ 7, VALUE_OPT_NUMERIC,
422285612Sdelphij     /* equiv idx, value */ 7, VALUE_OPT_NUMERIC,
423181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
424285612Sdelphij     /* min, max, act ct */ 0, 1, 0,
425285612Sdelphij     /* opt state flags  */ NUMERIC_FLAGS, 0,
426285612Sdelphij     /* last opt argumnt */ { NULL }, /* --numeric */
427181834Sroberto     /* arg list/cookie  */ NULL,
428181834Sroberto     /* must/cannot opts */ NULL, NULL,
429181834Sroberto     /* option proc      */ NULL,
430285612Sdelphij     /* desc, NAME, name */ NUMERIC_DESC, NUMERIC_NAME, NUMERIC_name,
431181834Sroberto     /* disablement strs */ NULL, NULL },
432181834Sroberto
433285612Sdelphij  {  /* entry idx, value */ 8, VALUE_OPT_PEERS,
434285612Sdelphij     /* equiv idx, value */ 8, VALUE_OPT_PEERS,
435181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
436285612Sdelphij     /* min, max, act ct */ 0, 1, 0,
437285612Sdelphij     /* opt state flags  */ PEERS_FLAGS, 0,
438285612Sdelphij     /* last opt argumnt */ { NULL }, /* --peers */
439181834Sroberto     /* arg list/cookie  */ NULL,
440285612Sdelphij     /* must/cannot opts */ NULL, aPeersCantList,
441285612Sdelphij     /* option proc      */ NULL,
442285612Sdelphij     /* desc, NAME, name */ PEERS_DESC, PEERS_NAME, PEERS_name,
443181834Sroberto     /* disablement strs */ NULL, NULL },
444181834Sroberto
445285612Sdelphij  {  /* entry idx, value */ 9, VALUE_OPT_SHOWPEERS,
446285612Sdelphij     /* equiv idx, value */ 9, VALUE_OPT_SHOWPEERS,
447181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
448181834Sroberto     /* min, max, act ct */ 0, 1, 0,
449285612Sdelphij     /* opt state flags  */ SHOWPEERS_FLAGS, 0,
450285612Sdelphij     /* last opt argumnt */ { NULL }, /* --showpeers */
451181834Sroberto     /* arg list/cookie  */ NULL,
452285612Sdelphij     /* must/cannot opts */ NULL, aShowpeersCantList,
453181834Sroberto     /* option proc      */ NULL,
454285612Sdelphij     /* desc, NAME, name */ SHOWPEERS_DESC, SHOWPEERS_NAME, SHOWPEERS_name,
455181834Sroberto     /* disablement strs */ NULL, NULL },
456181834Sroberto
457181834Sroberto  {  /* entry idx, value */ INDEX_OPT_VERSION, VALUE_OPT_VERSION,
458285612Sdelphij     /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_VERSION,
459181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
460181834Sroberto     /* min, max, act ct */ 0, 1, 0,
461285612Sdelphij     /* opt state flags  */ VER_FLAGS, AOUSE_VERSION,
462181834Sroberto     /* last opt argumnt */ { NULL },
463181834Sroberto     /* arg list/cookie  */ NULL,
464181834Sroberto     /* must/cannot opts */ NULL, NULL,
465285612Sdelphij     /* option proc      */ VER_PROC,
466285612Sdelphij     /* desc, NAME, name */ VER_DESC, NULL, VER_name,
467181834Sroberto     /* disablement strs */ NULL, NULL },
468181834Sroberto
469181834Sroberto
470181834Sroberto
471181834Sroberto  {  /* entry idx, value */ INDEX_OPT_HELP, VALUE_OPT_HELP,
472285612Sdelphij     /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_HELP,
473181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
474181834Sroberto     /* min, max, act ct */ 0, 1, 0,
475285612Sdelphij     /* opt state flags  */ OPTST_IMM | OPTST_NO_INIT, AOUSE_HELP,
476181834Sroberto     /* last opt argumnt */ { NULL },
477181834Sroberto     /* arg list/cookie  */ NULL,
478181834Sroberto     /* must/cannot opts */ NULL, NULL,
479181834Sroberto     /* option proc      */ doUsageOpt,
480285612Sdelphij     /* desc, NAME, name */ HELP_DESC, NULL, HELP_name,
481181834Sroberto     /* disablement strs */ NULL, NULL },
482181834Sroberto
483181834Sroberto  {  /* entry idx, value */ INDEX_OPT_MORE_HELP, VALUE_OPT_MORE_HELP,
484285612Sdelphij     /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_MORE_HELP,
485181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
486181834Sroberto     /* min, max, act ct */ 0, 1, 0,
487285612Sdelphij     /* opt state flags  */ MORE_HELP_FLAGS, AOUSE_MORE_HELP,
488181834Sroberto     /* last opt argumnt */ { NULL },
489181834Sroberto     /* arg list/cookie  */ NULL,
490181834Sroberto     /* must/cannot opts */ NULL,  NULL,
491181834Sroberto     /* option proc      */ optionPagedUsage,
492285612Sdelphij     /* desc, NAME, name */ MORE_HELP_DESC, NULL, MORE_HELP_name,
493181834Sroberto     /* disablement strs */ NULL, NULL },
494181834Sroberto
495181834Sroberto  {  /* entry idx, value */ INDEX_OPT_SAVE_OPTS, VALUE_OPT_SAVE_OPTS,
496285612Sdelphij     /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_SAVE_OPTS,
497181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
498181834Sroberto     /* min, max, act ct */ 0, 1, 0,
499181834Sroberto     /* opt state flags  */ OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)
500285612Sdelphij                       | OPTST_ARG_OPTIONAL | OPTST_NO_INIT, AOUSE_SAVE_OPTS,
501181834Sroberto     /* last opt argumnt */ { NULL },
502181834Sroberto     /* arg list/cookie  */ NULL,
503181834Sroberto     /* must/cannot opts */ NULL,  NULL,
504181834Sroberto     /* option proc      */ NULL,
505285612Sdelphij     /* desc, NAME, name */ SAVE_OPTS_DESC, NULL, SAVE_OPTS_name,
506181834Sroberto     /* disablement strs */ NULL, NULL },
507181834Sroberto
508181834Sroberto  {  /* entry idx, value */ INDEX_OPT_LOAD_OPTS, VALUE_OPT_LOAD_OPTS,
509285612Sdelphij     /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_LOAD_OPTS,
510181834Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
511181834Sroberto     /* min, max, act ct */ 0, NOLIMIT, 0,
512285612Sdelphij     /* opt state flags  */ OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)
513285612Sdelphij			  | OPTST_DISABLE_IMM, AOUSE_LOAD_OPTS,
514181834Sroberto     /* last opt argumnt */ { NULL },
515181834Sroberto     /* arg list/cookie  */ NULL,
516181834Sroberto     /* must/cannot opts */ NULL, NULL,
517181834Sroberto     /* option proc      */ optionLoadOpt,
518285612Sdelphij     /* desc, NAME, name */ LOAD_OPTS_DESC, LOAD_OPTS_NAME, LOAD_OPTS_name,
519285612Sdelphij     /* disablement strs */ NO_LOAD_OPTS_name, LOAD_OPTS_pfx }
520181834Sroberto};
521181834Sroberto
522181834Sroberto
523285612Sdelphij/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
524285612Sdelphij/** Reference to the upper cased version of ntpdc. */
525316722Sdelphij#define zPROGNAME       (ntpdc_opt_strs+1711)
526285612Sdelphij/** Reference to the title line for ntpdc usage. */
527316722Sdelphij#define zUsageTitle     (ntpdc_opt_strs+1717)
528285612Sdelphij/** ntpdc configuration file name. */
529316722Sdelphij#define zRcName         (ntpdc_opt_strs+1856)
530285612Sdelphij/** Directories to search for ntpdc config files. */
531285612Sdelphijstatic char const * const apzHomeList[3] = {
532316722Sdelphij    ntpdc_opt_strs+1848,
533316722Sdelphij    ntpdc_opt_strs+1854,
534285612Sdelphij    NULL };
535285612Sdelphij/** The ntpdc program bug email address. */
536316722Sdelphij#define zBugsAddr       (ntpdc_opt_strs+1863)
537285612Sdelphij/** Clarification/explanation of what ntpdc does. */
538316722Sdelphij#define zExplain        (ntpdc_opt_strs+1897)
539285612Sdelphij/** Extra detail explaining what ntpdc does. */
540285612Sdelphij#define zDetail         (NULL)
541285612Sdelphij/** The full version string for ntpdc. */
542316722Sdelphij#define zFullVersion    (ntpdc_opt_strs+1899)
543285612Sdelphij/* extracted from optcode.tlib near line 364 */
544181834Sroberto
545181834Sroberto#if defined(ENABLE_NLS)
546181834Sroberto# define OPTPROC_BASE OPTPROC_TRANSLATE
547181834Sroberto  static tOptionXlateProc translate_option_strings;
548181834Sroberto#else
549181834Sroberto# define OPTPROC_BASE OPTPROC_NONE
550181834Sroberto# define translate_option_strings NULL
551181834Sroberto#endif /* ENABLE_NLS */
552181834Sroberto
553285612Sdelphij#define ntpdc_full_usage (NULL)
554285612Sdelphij#define ntpdc_short_usage (NULL)
555285612Sdelphij
556285612Sdelphij#endif /* not defined __doxygen__ */
557285612Sdelphij
558285612Sdelphij/*
559285612Sdelphij *  Create the static procedure(s) declared above.
560285612Sdelphij */
561285612Sdelphij/**
562285612Sdelphij * The callout function that invokes the optionUsage function.
563285612Sdelphij *
564285612Sdelphij * @param[in] opts the AutoOpts option description structure
565285612Sdelphij * @param[in] od   the descriptor for the "help" (usage) option.
566285612Sdelphij * @noreturn
567285612Sdelphij */
568285612Sdelphijstatic void
569285612SdelphijdoUsageOpt(tOptions * opts, tOptDesc * od)
570285612Sdelphij{
571285612Sdelphij    int ex_code;
572285612Sdelphij    ex_code = NTPDC_EXIT_SUCCESS;
573285612Sdelphij    optionUsage(&ntpdcOptions, ex_code);
574285612Sdelphij    /* NOTREACHED */
575285612Sdelphij    exit(1);
576285612Sdelphij    (void)opts;
577285612Sdelphij    (void)od;
578285612Sdelphij}
579285612Sdelphij
580285612Sdelphij/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
581285612Sdelphij/**
582285612Sdelphij * Code to handle the debug-level option.
583285612Sdelphij *
584285612Sdelphij * @param[in] pOptions the ntpdc options data structure
585285612Sdelphij * @param[in,out] pOptDesc the option descriptor for this option.
586285612Sdelphij */
587285612Sdelphijstatic void
588285612SdelphijdoOptDebug_Level(tOptions* pOptions, tOptDesc* pOptDesc)
589285612Sdelphij{
590285612Sdelphij    /*
591285612Sdelphij     * Be sure the flag-code[0] handles special values for the options pointer
592285612Sdelphij     * viz. (poptions <= OPTPROC_EMIT_LIMIT) *and also* the special flag bit
593285612Sdelphij     * ((poptdesc->fOptState & OPTST_RESET) != 0) telling the option to
594285612Sdelphij     * reset its state.
595285612Sdelphij     */
596285612Sdelphij    /* extracted from debug-opt.def, line 15 */
597285612SdelphijOPT_VALUE_SET_DEBUG_LEVEL++;
598285612Sdelphij    (void)pOptDesc;
599285612Sdelphij    (void)pOptions;
600285612Sdelphij}
601285612Sdelphij/* extracted from optmain.tlib near line 1250 */
602285612Sdelphij
603285612Sdelphij/**
604285612Sdelphij * The directory containing the data associated with ntpdc.
605285612Sdelphij */
606285612Sdelphij#ifndef  PKGDATADIR
607285612Sdelphij# define PKGDATADIR ""
608285612Sdelphij#endif
609285612Sdelphij
610285612Sdelphij/**
611285612Sdelphij * Information about the person or institution that packaged ntpdc
612285612Sdelphij * for the current distribution.
613285612Sdelphij */
614285612Sdelphij#ifndef  WITH_PACKAGER
615285612Sdelphij# define ntpdc_packager_info NULL
616285612Sdelphij#else
617285612Sdelphij/** Packager information for ntpdc. */
618285612Sdelphijstatic char const ntpdc_packager_info[] =
619285612Sdelphij    "Packaged by " WITH_PACKAGER
620285612Sdelphij
621285612Sdelphij# ifdef WITH_PACKAGER_VERSION
622285612Sdelphij        " ("WITH_PACKAGER_VERSION")"
623285612Sdelphij# endif
624285612Sdelphij
625285612Sdelphij# ifdef WITH_PACKAGER_BUG_REPORTS
626285612Sdelphij    "\nReport ntpdc bugs to " WITH_PACKAGER_BUG_REPORTS
627285612Sdelphij# endif
628285612Sdelphij    "\n";
629285612Sdelphij#endif
630285612Sdelphij#ifndef __doxygen__
631285612Sdelphij
632285612Sdelphij#endif /* __doxygen__ */
633285612Sdelphij/**
634285612Sdelphij * The option definitions for ntpdc.  The one structure that
635285612Sdelphij * binds them all.
636285612Sdelphij */
637181834SrobertotOptions ntpdcOptions = {
638181834Sroberto    OPTIONS_STRUCT_VERSION,
639181834Sroberto    0, NULL,                    /* original argc + argv    */
640181834Sroberto    ( OPTPROC_BASE
641181834Sroberto    + OPTPROC_ERRSTOP
642181834Sroberto    + OPTPROC_SHORTOPT
643181834Sroberto    + OPTPROC_LONGOPT
644181834Sroberto    + OPTPROC_NO_REQ_OPT
645181834Sroberto    + OPTPROC_ENVIRON
646285612Sdelphij    + OPTPROC_MISUSE ),
647181834Sroberto    0, NULL,                    /* current option index, current option */
648181834Sroberto    NULL,         NULL,         zPROGNAME,
649285612Sdelphij    zRcName,      zCopyright,   zLicenseDescrip,
650181834Sroberto    zFullVersion, apzHomeList,  zUsageTitle,
651181834Sroberto    zExplain,     zDetail,      optDesc,
652181834Sroberto    zBugsAddr,                  /* address to send bugs to */
653181834Sroberto    NULL, NULL,                 /* extensions/saved state  */
654285612Sdelphij    optionUsage, /* usage procedure */
655181834Sroberto    translate_option_strings,   /* translation procedure */
656181834Sroberto    /*
657181834Sroberto     *  Indexes to special options
658181834Sroberto     */
659285612Sdelphij    { INDEX_OPT_MORE_HELP, /* more-help option index */
660285612Sdelphij      INDEX_OPT_SAVE_OPTS, /* save option index */
661285612Sdelphij      NO_EQUIVALENT, /* '-#' option index */
662181834Sroberto      NO_EQUIVALENT /* index of default opt */
663181834Sroberto    },
664285612Sdelphij    15 /* full option count */, 10 /* user option count */,
665285612Sdelphij    ntpdc_full_usage, ntpdc_short_usage,
666285612Sdelphij    NULL, NULL,
667285612Sdelphij    PKGDATADIR, ntpdc_packager_info
668181834Sroberto};
669181834Sroberto
670285612Sdelphij#if ENABLE_NLS
671285612Sdelphij/**
672285612Sdelphij * This code is designed to translate translatable option text for the
673285612Sdelphij * ntpdc program.  These translations happen upon entry
674285612Sdelphij * to optionProcess().
675181834Sroberto */
676181834Sroberto#include <stdio.h>
677181834Sroberto#include <stdlib.h>
678181834Sroberto#include <string.h>
679181834Sroberto#include <unistd.h>
680285612Sdelphij#ifdef HAVE_DCGETTEXT
681285612Sdelphij# include <gettext.h>
682285612Sdelphij#endif
683181834Sroberto#include <autoopts/usage-txt.h>
684181834Sroberto
685285612Sdelphijstatic char * AO_gettext(char const * pz);
686285612Sdelphijstatic void   coerce_it(void ** s);
687181834Sroberto
688285612Sdelphij/**
689285612Sdelphij * AutoGen specific wrapper function for gettext.  It relies on the macro _()
690285612Sdelphij * to convert from English to the target language, then strdup-duplicates the
691285612Sdelphij * result string.  It tries the "libopts" domain first, then whatever has been
692285612Sdelphij * set via the \a textdomain(3) call.
693285612Sdelphij *
694285612Sdelphij * @param[in] pz the input text used as a lookup key.
695285612Sdelphij * @returns the translated text (if there is one),
696285612Sdelphij *   or the original text (if not).
697285612Sdelphij */
698285612Sdelphijstatic char *
699285612SdelphijAO_gettext(char const * pz)
700181834Sroberto{
701285612Sdelphij    char * res;
702181834Sroberto    if (pz == NULL)
703181834Sroberto        return NULL;
704285612Sdelphij#ifdef HAVE_DCGETTEXT
705285612Sdelphij    /*
706285612Sdelphij     * While processing the option_xlateable_txt data, try to use the
707285612Sdelphij     * "libopts" domain.  Once we switch to the option descriptor data,
708285612Sdelphij     * do *not* use that domain.
709285612Sdelphij     */
710285612Sdelphij    if (option_xlateable_txt.field_ct != 0) {
711285612Sdelphij        res = dgettext("libopts", pz);
712285612Sdelphij        if (res == pz)
713285612Sdelphij            res = (char *)VOIDP(_(pz));
714285612Sdelphij    } else
715285612Sdelphij        res = (char *)VOIDP(_(pz));
716285612Sdelphij#else
717285612Sdelphij    res = (char *)VOIDP(_(pz));
718285612Sdelphij#endif
719285612Sdelphij    if (res == pz)
720285612Sdelphij        return res;
721285612Sdelphij    res = strdup(res);
722285612Sdelphij    if (res == NULL) {
723285612Sdelphij        fputs(_("No memory for duping translated strings\n"), stderr);
724285612Sdelphij        exit(NTPDC_EXIT_FAILURE);
725181834Sroberto    }
726285612Sdelphij    return res;
727181834Sroberto}
728181834Sroberto
729285612Sdelphij/**
730285612Sdelphij * All the pointers we use are marked "* const", but they are stored in
731285612Sdelphij * writable memory.  Coerce the mutability and set the pointer.
732285612Sdelphij */
733285612Sdelphijstatic void coerce_it(void ** s) { *s = AO_gettext(*s);
734285612Sdelphij}
735181834Sroberto
736285612Sdelphij/**
737285612Sdelphij * Translate all the translatable strings in the ntpdcOptions
738285612Sdelphij * structure defined above.  This is done only once.
739181834Sroberto */
740181834Srobertostatic void
741285612Sdelphijtranslate_option_strings(void)
742181834Sroberto{
743285612Sdelphij    tOptions * const opts = &ntpdcOptions;
744285612Sdelphij
745181834Sroberto    /*
746181834Sroberto     *  Guard against re-translation.  It won't work.  The strings will have
747181834Sroberto     *  been changed by the first pass through this code.  One shot only.
748181834Sroberto     */
749285612Sdelphij    if (option_xlateable_txt.field_ct != 0) {
750285612Sdelphij        /*
751285612Sdelphij         *  Do the translations.  The first pointer follows the field count
752285612Sdelphij         *  field.  The field count field is the size of a pointer.
753285612Sdelphij         */
754285612Sdelphij        char ** ppz = (char**)VOIDP(&(option_xlateable_txt));
755285612Sdelphij        int     ix  = option_xlateable_txt.field_ct;
756181834Sroberto
757181834Sroberto        do {
758285612Sdelphij            ppz++; /* skip over field_ct */
759181834Sroberto            *ppz = AO_gettext(*ppz);
760181834Sroberto        } while (--ix > 0);
761285612Sdelphij        /* prevent re-translation and disable "libopts" domain lookup */
762285612Sdelphij        option_xlateable_txt.field_ct = 0;
763181834Sroberto
764285612Sdelphij        coerce_it(VOIDP(&(opts->pzCopyright)));
765285612Sdelphij        coerce_it(VOIDP(&(opts->pzCopyNotice)));
766285612Sdelphij        coerce_it(VOIDP(&(opts->pzFullVersion)));
767285612Sdelphij        coerce_it(VOIDP(&(opts->pzUsageTitle)));
768285612Sdelphij        coerce_it(VOIDP(&(opts->pzExplain)));
769285612Sdelphij        coerce_it(VOIDP(&(opts->pzDetail)));
770285612Sdelphij        {
771285612Sdelphij            tOptDesc * od = opts->pOptDesc;
772285612Sdelphij            for (ix = opts->optCt; ix > 0; ix--, od++)
773285612Sdelphij                coerce_it(VOIDP(&(od->pzText)));
774181834Sroberto        }
775181834Sroberto    }
776181834Sroberto}
777181834Sroberto#endif /* ENABLE_NLS */
778181834Sroberto
779285612Sdelphij#ifdef DO_NOT_COMPILE_THIS_CODE_IT_IS_FOR_GETTEXT
780285612Sdelphij/** I18N function strictly for xgettext.  Do not compile. */
781285612Sdelphijstatic void bogus_function(void) {
782285612Sdelphij  /* TRANSLATORS:
783285612Sdelphij
784285612Sdelphij     The following dummy function was crated solely so that xgettext can
785285612Sdelphij     extract the correct strings.  These strings are actually referenced
786285612Sdelphij     by a field name in the ntpdcOptions structure noted in the
787285612Sdelphij     comments below.  The literal text is defined in ntpdc_opt_strs.
788285612Sdelphij
789285612Sdelphij     NOTE: the strings below are segmented with respect to the source string
790285612Sdelphij     ntpdc_opt_strs.  The strings above are handed off for translation
791285612Sdelphij     at run time a paragraph at a time.  Consequently, they are presented here
792285612Sdelphij     for translation a paragraph at a time.
793285612Sdelphij
794285612Sdelphij     ALSO: often the description for an option will reference another option
795285612Sdelphij     by name.  These are set off with apostrophe quotes (I hope).  Do not
796285612Sdelphij     translate option names.
797285612Sdelphij   */
798285612Sdelphij  /* referenced via ntpdcOptions.pzCopyright */
799330567Sgordon  puts(_("ntpdc 4.2.8p11\n\
800316722SdelphijCopyright (C) 1992-2017 The University of Delaware and Network Time Foundation, all rights reserved.\n\
801285612SdelphijThis is free software. It is licensed for use, modification and\n\
802285612Sdelphijredistribution under the terms of the NTP License, copies of which\n\
803285612Sdelphijcan be seen at:\n"));
804285612Sdelphij  puts(_("  <http://ntp.org/license>\n\
805285612Sdelphij  <http://opensource.org/licenses/ntp-license.php>\n"));
806285612Sdelphij
807285612Sdelphij  /* referenced via ntpdcOptions.pzCopyNotice */
808285612Sdelphij  puts(_("Permission to use, copy, modify, and distribute this software and its\n\
809285612Sdelphijdocumentation for any purpose with or without fee is hereby granted,\n\
810285612Sdelphijprovided that the above copyright notice appears in all copies and that\n\
811285612Sdelphijboth the copyright notice and this permission notice appear in supporting\n\
812285612Sdelphijdocumentation, and that the name The University of Delaware not be used in\n\
813285612Sdelphijadvertising or publicity pertaining to distribution of the software without\n\
814285612Sdelphijspecific, written prior permission.  The University of Delaware and Network\n\
815285612SdelphijTime Foundation makes no representations about the suitability this\n\
816285612Sdelphijsoftware for any purpose.  It is provided \"as is\" without express or\n\
817285612Sdelphijimplied warranty.\n"));
818285612Sdelphij
819285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
820285612Sdelphij  puts(_("Force IPv4 DNS name resolution"));
821285612Sdelphij
822285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
823285612Sdelphij  puts(_("Force IPv6 DNS name resolution"));
824285612Sdelphij
825285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
826285612Sdelphij  puts(_("run a command and exit"));
827285612Sdelphij
828285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
829285612Sdelphij  puts(_("Increase debug verbosity level"));
830285612Sdelphij
831285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
832285612Sdelphij  puts(_("Set the debug verbosity level"));
833285612Sdelphij
834285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
835285612Sdelphij  puts(_("Force ntpq to operate in interactive mode"));
836285612Sdelphij
837285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
838285612Sdelphij  puts(_("Print a list of the peers"));
839285612Sdelphij
840285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
841285612Sdelphij  puts(_("numeric host addresses"));
842285612Sdelphij
843285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
844285612Sdelphij  puts(_("Print a list of the peers"));
845285612Sdelphij
846285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
847285612Sdelphij  puts(_("Show a list of the peers"));
848285612Sdelphij
849285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
850285612Sdelphij  puts(_("display extended usage information and exit"));
851285612Sdelphij
852285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
853285612Sdelphij  puts(_("extended usage information passed thru pager"));
854285612Sdelphij
855285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
856285612Sdelphij  puts(_("output version information and exit"));
857285612Sdelphij
858285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
859285612Sdelphij  puts(_("save the option state to a config file"));
860285612Sdelphij
861285612Sdelphij  /* referenced via ntpdcOptions.pOptDesc->pzText */
862285612Sdelphij  puts(_("load options from a config file"));
863285612Sdelphij
864285612Sdelphij  /* referenced via ntpdcOptions.pzUsageTitle */
865330567Sgordon  puts(_("ntpdc - vendor-specific NTPD control program - Ver. 4.2.8p11\n\
866285612SdelphijUsage:  %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [ host ...]\n"));
867285612Sdelphij
868285612Sdelphij  /* referenced via ntpdcOptions.pzExplain */
869285612Sdelphij  puts(_("\n"));
870285612Sdelphij
871285612Sdelphij  /* referenced via ntpdcOptions.pzFullVersion */
872330567Sgordon  puts(_("ntpdc 4.2.8p11"));
873285612Sdelphij
874285612Sdelphij  /* referenced via ntpdcOptions.pzFullUsage */
875285612Sdelphij  puts(_("<<<NOT-FOUND>>>"));
876285612Sdelphij
877285612Sdelphij  /* referenced via ntpdcOptions.pzShortUsage */
878285612Sdelphij  puts(_("<<<NOT-FOUND>>>"));
879285612Sdelphij  /* LIBOPTS-MESSAGES: */
880285612Sdelphij#line 67 "../autoopts.c"
881285612Sdelphij  puts(_("allocation of %d bytes failed\n"));
882285612Sdelphij#line 93 "../autoopts.c"
883285612Sdelphij  puts(_("allocation of %d bytes failed\n"));
884285612Sdelphij#line 53 "../init.c"
885285612Sdelphij  puts(_("AutoOpts function called without option descriptor\n"));
886285612Sdelphij#line 86 "../init.c"
887285612Sdelphij  puts(_("\tThis exceeds the compiled library version:  "));
888285612Sdelphij#line 84 "../init.c"
889285612Sdelphij  puts(_("Automated Options Processing Error!\n"
890285612Sdelphij       "\t%s called AutoOpts function with structure version %d:%d:%d.\n"));
891285612Sdelphij#line 80 "../autoopts.c"
892285612Sdelphij  puts(_("realloc of %d bytes at 0x%p failed\n"));
893285612Sdelphij#line 88 "../init.c"
894285612Sdelphij  puts(_("\tThis is less than the minimum library version:  "));
895285612Sdelphij#line 121 "../version.c"
896285612Sdelphij  puts(_("Automated Options version %s\n"
897285612Sdelphij       "\tCopyright (C) 1999-2014 by Bruce Korb - all rights reserved\n"));
898285612Sdelphij#line 87 "../makeshell.c"
899285612Sdelphij  puts(_("(AutoOpts bug):  %s.\n"));
900285612Sdelphij#line 90 "../reset.c"
901285612Sdelphij  puts(_("optionResetOpt() called, but reset-option not configured"));
902285612Sdelphij#line 292 "../usage.c"
903285612Sdelphij  puts(_("could not locate the 'help' option"));
904285612Sdelphij#line 336 "../autoopts.c"
905285612Sdelphij  puts(_("optionProcess() was called with invalid data"));
906285612Sdelphij#line 748 "../usage.c"
907285612Sdelphij  puts(_("invalid argument type specified"));
908285612Sdelphij#line 598 "../find.c"
909285612Sdelphij  puts(_("defaulted to option with optional arg"));
910285612Sdelphij#line 76 "../alias.c"
911285612Sdelphij  puts(_("aliasing option is out of range."));
912285612Sdelphij#line 234 "../enum.c"
913285612Sdelphij  puts(_("%s error:  the keyword '%s' is ambiguous for %s\n"));
914285612Sdelphij#line 108 "../find.c"
915285612Sdelphij  puts(_("  The following options match:\n"));
916285612Sdelphij#line 293 "../find.c"
917285612Sdelphij  puts(_("%s: ambiguous option name: %s (matches %d options)\n"));
918285612Sdelphij#line 161 "../check.c"
919285612Sdelphij  puts(_("%s: Command line arguments required\n"));
920285612Sdelphij#line 43 "../alias.c"
921285612Sdelphij  puts(_("%d %s%s options allowed\n"));
922285612Sdelphij#line 94 "../makeshell.c"
923285612Sdelphij  puts(_("%s error %d (%s) calling %s for '%s'\n"));
924285612Sdelphij#line 306 "../makeshell.c"
925285612Sdelphij  puts(_("interprocess pipe"));
926285612Sdelphij#line 168 "../version.c"
927285612Sdelphij  puts(_("error: version option argument '%c' invalid.  Use:\n"
928285612Sdelphij       "\t'v' - version only\n"
929285612Sdelphij       "\t'c' - version and copyright\n"
930285612Sdelphij       "\t'n' - version and full copyright notice\n"));
931285612Sdelphij#line 58 "../check.c"
932285612Sdelphij  puts(_("%s error:  the '%s' and '%s' options conflict\n"));
933285612Sdelphij#line 217 "../find.c"
934285612Sdelphij  puts(_("%s: The '%s' option has been disabled."));
935285612Sdelphij#line 430 "../find.c"
936285612Sdelphij  puts(_("%s: The '%s' option has been disabled."));
937285612Sdelphij#line 38 "../alias.c"
938285612Sdelphij  puts(_("-equivalence"));
939285612Sdelphij#line 469 "../find.c"
940285612Sdelphij  puts(_("%s: illegal option -- %c\n"));
941285612Sdelphij#line 110 "../reset.c"
942285612Sdelphij  puts(_("%s: illegal option -- %c\n"));
943285612Sdelphij#line 271 "../find.c"
944285612Sdelphij  puts(_("%s: illegal option -- %s\n"));
945285612Sdelphij#line 755 "../find.c"
946285612Sdelphij  puts(_("%s: illegal option -- %s\n"));
947285612Sdelphij#line 118 "../reset.c"
948285612Sdelphij  puts(_("%s: illegal option -- %s\n"));
949285612Sdelphij#line 335 "../find.c"
950285612Sdelphij  puts(_("%s: unknown vendor extension option -- %s\n"));
951285612Sdelphij#line 159 "../enum.c"
952285612Sdelphij  puts(_("  or an integer from %d through %d\n"));
953285612Sdelphij#line 169 "../enum.c"
954285612Sdelphij  puts(_("  or an integer from %d through %d\n"));
955285612Sdelphij#line 747 "../usage.c"
956285612Sdelphij  puts(_("%s error:  invalid option descriptor for %s\n"));
957285612Sdelphij#line 1081 "../usage.c"
958285612Sdelphij  puts(_("%s error:  invalid option descriptor for %s\n"));
959285612Sdelphij#line 385 "../find.c"
960285612Sdelphij  puts(_("%s: invalid option name: %s\n"));
961285612Sdelphij#line 527 "../find.c"
962285612Sdelphij  puts(_("%s: The '%s' option requires an argument.\n"));
963285612Sdelphij#line 156 "../autoopts.c"
964285612Sdelphij  puts(_("(AutoOpts bug):  Equivalenced option '%s' was equivalenced to both\n"
965285612Sdelphij       "\t'%s' and '%s'."));
966285612Sdelphij#line 94 "../check.c"
967285612Sdelphij  puts(_("%s error:  The %s option is required\n"));
968285612Sdelphij#line 632 "../find.c"
969285612Sdelphij  puts(_("%s: The '%s' option cannot have an argument.\n"));
970285612Sdelphij#line 151 "../check.c"
971285612Sdelphij  puts(_("%s: Command line arguments are not allowed.\n"));
972285612Sdelphij#line 535 "../save.c"
973285612Sdelphij  puts(_("error %d (%s) creating %s\n"));
974285612Sdelphij#line 234 "../enum.c"
975285612Sdelphij  puts(_("%s error:  '%s' does not match any %s keywords.\n"));
976285612Sdelphij#line 93 "../reset.c"
977285612Sdelphij  puts(_("%s error: The '%s' option requires an argument.\n"));
978285612Sdelphij#line 184 "../save.c"
979285612Sdelphij  puts(_("error %d (%s) stat-ing %s\n"));
980285612Sdelphij#line 238 "../save.c"
981285612Sdelphij  puts(_("error %d (%s) stat-ing %s\n"));
982285612Sdelphij#line 143 "../restore.c"
983285612Sdelphij  puts(_("%s error: no saved option state\n"));
984285612Sdelphij#line 231 "../autoopts.c"
985285612Sdelphij  puts(_("'%s' is not a command line option.\n"));
986285612Sdelphij#line 111 "../time.c"
987285612Sdelphij  puts(_("%s error:  '%s' is not a recognizable date/time.\n"));
988285612Sdelphij#line 132 "../save.c"
989285612Sdelphij  puts(_("'%s' not defined\n"));
990285612Sdelphij#line 50 "../time.c"
991285612Sdelphij  puts(_("%s error:  '%s' is not a recognizable time duration.\n"));
992285612Sdelphij#line 92 "../check.c"
993285612Sdelphij  puts(_("%s error:  The %s option must appear %d times.\n"));
994285612Sdelphij#line 164 "../numeric.c"
995285612Sdelphij  puts(_("%s error:  '%s' is not a recognizable number.\n"));
996285612Sdelphij#line 200 "../enum.c"
997285612Sdelphij  puts(_("%s error:  %s exceeds %s keyword count\n"));
998285612Sdelphij#line 330 "../usage.c"
999285612Sdelphij  puts(_("Try '%s %s' for more information.\n"));
1000285612Sdelphij#line 45 "../alias.c"
1001285612Sdelphij  puts(_("one %s%s option allowed\n"));
1002285612Sdelphij#line 208 "../makeshell.c"
1003285612Sdelphij  puts(_("standard output"));
1004285612Sdelphij#line 943 "../makeshell.c"
1005285612Sdelphij  puts(_("standard output"));
1006285612Sdelphij#line 274 "../usage.c"
1007285612Sdelphij  puts(_("standard output"));
1008285612Sdelphij#line 415 "../usage.c"
1009285612Sdelphij  puts(_("standard output"));
1010285612Sdelphij#line 625 "../usage.c"
1011285612Sdelphij  puts(_("standard output"));
1012285612Sdelphij#line 175 "../version.c"
1013285612Sdelphij  puts(_("standard output"));
1014285612Sdelphij#line 274 "../usage.c"
1015285612Sdelphij  puts(_("standard error"));
1016285612Sdelphij#line 415 "../usage.c"
1017285612Sdelphij  puts(_("standard error"));
1018285612Sdelphij#line 625 "../usage.c"
1019285612Sdelphij  puts(_("standard error"));
1020285612Sdelphij#line 175 "../version.c"
1021285612Sdelphij  puts(_("standard error"));
1022285612Sdelphij#line 208 "../makeshell.c"
1023285612Sdelphij  puts(_("write"));
1024285612Sdelphij#line 943 "../makeshell.c"
1025285612Sdelphij  puts(_("write"));
1026285612Sdelphij#line 273 "../usage.c"
1027285612Sdelphij  puts(_("write"));
1028285612Sdelphij#line 414 "../usage.c"
1029285612Sdelphij  puts(_("write"));
1030285612Sdelphij#line 624 "../usage.c"
1031285612Sdelphij  puts(_("write"));
1032285612Sdelphij#line 174 "../version.c"
1033285612Sdelphij  puts(_("write"));
1034285612Sdelphij#line 60 "../numeric.c"
1035285612Sdelphij  puts(_("%s error:  %s option value %ld is out of range.\n"));
1036285612Sdelphij#line 44 "../check.c"
1037285612Sdelphij  puts(_("%s error:  %s option requires the %s option\n"));
1038285612Sdelphij#line 131 "../save.c"
1039285612Sdelphij  puts(_("%s warning:  cannot save options - %s not regular file\n"));
1040285612Sdelphij#line 183 "../save.c"
1041285612Sdelphij  puts(_("%s warning:  cannot save options - %s not regular file\n"));
1042285612Sdelphij#line 237 "../save.c"
1043285612Sdelphij  puts(_("%s warning:  cannot save options - %s not regular file\n"));
1044285612Sdelphij#line 256 "../save.c"
1045285612Sdelphij  puts(_("%s warning:  cannot save options - %s not regular file\n"));
1046285612Sdelphij#line 534 "../save.c"
1047285612Sdelphij  puts(_("%s warning:  cannot save options - %s not regular file\n"));
1048285612Sdelphij  /* END-LIBOPTS-MESSAGES */
1049285612Sdelphij
1050285612Sdelphij  /* USAGE-TEXT: */
1051285612Sdelphij#line 873 "../usage.c"
1052285612Sdelphij  puts(_("\t\t\t\t- an alternate for '%s'\n"));
1053285612Sdelphij#line 1148 "../usage.c"
1054285612Sdelphij  puts(_("Version, usage and configuration options:"));
1055285612Sdelphij#line 924 "../usage.c"
1056285612Sdelphij  puts(_("\t\t\t\t- default option for unnamed options\n"));
1057285612Sdelphij#line 837 "../usage.c"
1058285612Sdelphij  puts(_("\t\t\t\t- disabled as '--%s'\n"));
1059285612Sdelphij#line 1117 "../usage.c"
1060285612Sdelphij  puts(_(" --- %-14s %s\n"));
1061285612Sdelphij#line 1115 "../usage.c"
1062285612Sdelphij  puts(_("This option has been disabled"));
1063285612Sdelphij#line 864 "../usage.c"
1064285612Sdelphij  puts(_("\t\t\t\t- enabled by default\n"));
1065285612Sdelphij#line 40 "../alias.c"
1066285612Sdelphij  puts(_("%s error:  only "));
1067285612Sdelphij#line 1194 "../usage.c"
1068285612Sdelphij  puts(_(" - examining environment variables named %s_*\n"));
1069285612Sdelphij#line 168 "../file.c"
1070285612Sdelphij  puts(_("\t\t\t\t- file must not pre-exist\n"));
1071285612Sdelphij#line 172 "../file.c"
1072285612Sdelphij  puts(_("\t\t\t\t- file must pre-exist\n"));
1073285612Sdelphij#line 380 "../usage.c"
1074285612Sdelphij  puts(_("Options are specified by doubled hyphens and their name or by a single\n"
1075285612Sdelphij       "hyphen and the flag character.\n"));
1076285612Sdelphij#line 921 "../makeshell.c"
1077285612Sdelphij  puts(_("\n"
1078285612Sdelphij       "= = = = = = = =\n\n"
1079285612Sdelphij       "This incarnation of genshell will produce\n"
1080285612Sdelphij       "a shell script to parse the options for %s:\n\n"));
1081285612Sdelphij#line 166 "../enum.c"
1082285612Sdelphij  puts(_("  or an integer mask with any of the lower %d bits set\n"));
1083285612Sdelphij#line 897 "../usage.c"
1084285612Sdelphij  puts(_("\t\t\t\t- is a set membership option\n"));
1085285612Sdelphij#line 918 "../usage.c"
1086285612Sdelphij  puts(_("\t\t\t\t- must appear between %d and %d times\n"));
1087285612Sdelphij#line 382 "../usage.c"
1088285612Sdelphij  puts(_("Options are specified by single or double hyphens and their name.\n"));
1089285612Sdelphij#line 904 "../usage.c"
1090285612Sdelphij  puts(_("\t\t\t\t- may appear multiple times\n"));
1091285612Sdelphij#line 891 "../usage.c"
1092285612Sdelphij  puts(_("\t\t\t\t- may not be preset\n"));
1093285612Sdelphij#line 1309 "../usage.c"
1094285612Sdelphij  puts(_("   Arg Option-Name    Description\n"));
1095285612Sdelphij#line 1245 "../usage.c"
1096285612Sdelphij  puts(_("  Flg Arg Option-Name    Description\n"));
1097285612Sdelphij#line 1303 "../usage.c"
1098285612Sdelphij  puts(_("  Flg Arg Option-Name    Description\n"));
1099285612Sdelphij#line 1304 "../usage.c"
1100285612Sdelphij  puts(_(" %3s %s"));
1101285612Sdelphij#line 1310 "../usage.c"
1102285612Sdelphij  puts(_(" %3s %s"));
1103285612Sdelphij#line 387 "../usage.c"
1104285612Sdelphij  puts(_("The '-#<number>' option may omit the hash char\n"));
1105285612Sdelphij#line 383 "../usage.c"
1106285612Sdelphij  puts(_("All arguments are named options.\n"));
1107285612Sdelphij#line 971 "../usage.c"
1108285612Sdelphij  puts(_(" - reading file %s"));
1109285612Sdelphij#line 409 "../usage.c"
1110285612Sdelphij  puts(_("\n"
1111285612Sdelphij       "Please send bug reports to:  <%s>\n"));
1112285612Sdelphij#line 100 "../version.c"
1113285612Sdelphij  puts(_("\n"
1114285612Sdelphij       "Please send bug reports to:  <%s>\n"));
1115285612Sdelphij#line 129 "../version.c"
1116285612Sdelphij  puts(_("\n"
1117285612Sdelphij       "Please send bug reports to:  <%s>\n"));
1118285612Sdelphij#line 903 "../usage.c"
1119285612Sdelphij  puts(_("\t\t\t\t- may NOT appear - preset only\n"));
1120285612Sdelphij#line 944 "../usage.c"
1121285612Sdelphij  puts(_("\n"
1122285612Sdelphij       "The following option preset mechanisms are supported:\n"));
1123285612Sdelphij#line 1192 "../usage.c"
1124285612Sdelphij  puts(_("\n"
1125285612Sdelphij       "The following option preset mechanisms are supported:\n"));
1126285612Sdelphij#line 682 "../usage.c"
1127285612Sdelphij  puts(_("prohibits these options:\n"));
1128285612Sdelphij#line 677 "../usage.c"
1129285612Sdelphij  puts(_("prohibits the option '%s'\n"));
1130285612Sdelphij#line 81 "../numeric.c"
1131285612Sdelphij  puts(_("%s%ld to %ld"));
1132285612Sdelphij#line 79 "../numeric.c"
1133285612Sdelphij  puts(_("%sgreater than or equal to %ld"));
1134285612Sdelphij#line 75 "../numeric.c"
1135285612Sdelphij  puts(_("%s%ld exactly"));
1136285612Sdelphij#line 68 "../numeric.c"
1137285612Sdelphij  puts(_("%sit must lie in one of the ranges:\n"));
1138285612Sdelphij#line 68 "../numeric.c"
1139285612Sdelphij  puts(_("%sit must be in the range:\n"));
1140285612Sdelphij#line 88 "../numeric.c"
1141285612Sdelphij  puts(_(", or\n"));
1142285612Sdelphij#line 66 "../numeric.c"
1143285612Sdelphij  puts(_("%sis scalable with a suffix: k/K/m/M/g/G/t/T\n"));
1144285612Sdelphij#line 77 "../numeric.c"
1145285612Sdelphij  puts(_("%sless than or equal to %ld"));
1146285612Sdelphij#line 390 "../usage.c"
1147285612Sdelphij  puts(_("Operands and options may be intermixed.  They will be reordered.\n"));
1148285612Sdelphij#line 652 "../usage.c"
1149285612Sdelphij  puts(_("requires the option '%s'\n"));
1150285612Sdelphij#line 655 "../usage.c"
1151285612Sdelphij  puts(_("requires these options:\n"));
1152285612Sdelphij#line 1321 "../usage.c"
1153285612Sdelphij  puts(_("   Arg Option-Name   Req?  Description\n"));
1154285612Sdelphij#line 1315 "../usage.c"
1155285612Sdelphij  puts(_("  Flg Arg Option-Name   Req?  Description\n"));
1156285612Sdelphij#line 167 "../enum.c"
1157285612Sdelphij  puts(_("or you may use a numeric representation.  Preceding these with a '!'\n"
1158285612Sdelphij       "will clear the bits, specifying 'none' will clear all bits, and 'all'\n"
1159285612Sdelphij       "will set them all.  Multiple entries may be passed as an option\n"
1160285612Sdelphij       "argument list.\n"));
1161285612Sdelphij#line 910 "../usage.c"
1162285612Sdelphij  puts(_("\t\t\t\t- may appear up to %d times\n"));
1163285612Sdelphij#line 77 "../enum.c"
1164285612Sdelphij  puts(_("The valid \"%s\" option keywords are:\n"));
1165285612Sdelphij#line 1152 "../usage.c"
1166285612Sdelphij  puts(_("The next option supports vendor supported extra options:"));
1167285612Sdelphij#line 773 "../usage.c"
1168285612Sdelphij  puts(_("These additional options are:"));
1169285612Sdelphij  /* END-USAGE-TEXT */
1170285612Sdelphij}
1171285612Sdelphij#endif /* uncompilable code */
1172181834Sroberto#ifdef  __cplusplus
1173181834Sroberto}
1174181834Sroberto#endif
1175181834Sroberto/* ntpdc-opts.c ends here */
1176