1280849Scy/*
2258945Sroberto *  EDIT THIS FILE WITH CAUTION  (ntpsnmpd-opts.c)
3280849Scy *
4362716Scy *  It has been AutoGen-ed  June 23, 2020 at 02:20:57 AM by AutoGen 5.18.5
5258945Sroberto *  From the definitions    ntpsnmpd-opts.def
6258945Sroberto *  and the template file   options
7258945Sroberto *
8344884Scy * Generated from AutoOpts 41:1:16 templates.
9258945Sroberto *
10258945Sroberto *  AutoOpts is a copyrighted work.  This source file is not encumbered
11258945Sroberto *  by AutoOpts licensing, but is provided under the licensing terms chosen
12258945Sroberto *  by the ntpsnmpd author or copyright holder.  AutoOpts is
13258945Sroberto *  licensed under the terms of the LGPL.  The redistributable library
14258945Sroberto *  (``libopts'') is licensed under the terms of either the LGPL or, at the
15258945Sroberto *  users discretion, the BSD license.  See the AutoOpts and/or libopts sources
16258945Sroberto *  for details.
17258945Sroberto *
18280849Scy * The ntpsnmpd program is copyrighted and licensed
19280849Scy * under the following terms:
20258945Sroberto *
21358659Scy *  Copyright (C) 1992-2020 The University of Delaware and Network Time Foundation, all rights reserved.
22280849Scy *  This is free software. It is licensed for use, modification and
23280849Scy *  redistribution under the terms of the NTP License, copies of which
24280849Scy *  can be seen at:
25280849Scy *    <http://ntp.org/license>
26280849Scy *    <http://opensource.org/licenses/ntp-license.php>
27280849Scy *
28280849Scy *  Permission to use, copy, modify, and distribute this software and its
29280849Scy *  documentation for any purpose with or without fee is hereby granted,
30280849Scy *  provided that the above copyright notice appears in all copies and that
31280849Scy *  both the copyright notice and this permission notice appear in
32280849Scy *  supporting documentation, and that the name The University of Delaware not be used in
33280849Scy *  advertising or publicity pertaining to distribution of the software
34280849Scy *  without specific, written prior permission. The University of Delaware and Network Time Foundation makes no
35280849Scy *  representations about the suitability this software for any purpose. It
36280849Scy *  is provided "as is" without express or implied warranty.
37258945Sroberto */
38258945Sroberto
39280849Scy#ifndef __doxygen__
40280849Scy#define OPTION_CODE_COMPILE 1
41280849Scy#include "ntpsnmpd-opts.h"
42258945Sroberto#include <sys/types.h>
43258945Sroberto
44258945Sroberto#include <limits.h>
45258945Sroberto#include <stdio.h>
46258945Sroberto#include <stdlib.h>
47258945Sroberto
48258945Sroberto#ifdef  __cplusplus
49258945Srobertoextern "C" {
50258945Sroberto#endif
51258945Srobertoextern FILE * option_usage_fp;
52280849Scy#define zCopyright      (ntpsnmpd_opt_strs+0)
53316068Sdelphij#define zLicenseDescrip (ntpsnmpd_opt_strs+345)
54258945Sroberto
55258945Sroberto
56258945Sroberto#ifndef NULL
57258945Sroberto#  define NULL 0
58258945Sroberto#endif
59258945Sroberto
60280849Scy/**
61280849Scy *  static const strings for ntpsnmpd options
62258945Sroberto */
63316068Sdelphijstatic char const ntpsnmpd_opt_strs[1613] =
64362716Scy/*     0 */ "ntpsnmpd 4.2.8p15\n"
65358659Scy            "Copyright (C) 1992-2020 The University of Delaware and Network Time Foundation, all rights reserved.\n"
66280849Scy            "This is free software. It is licensed for use, modification and\n"
67280849Scy            "redistribution under the terms of the NTP License, copies of which\n"
68280849Scy            "can be seen at:\n"
69280849Scy            "  <http://ntp.org/license>\n"
70280849Scy            "  <http://opensource.org/licenses/ntp-license.php>\n\0"
71316068Sdelphij/*   345 */ "Permission to use, copy, modify, and distribute this software and its\n"
72280849Scy            "documentation for any purpose with or without fee is hereby granted,\n"
73280849Scy            "provided that the above copyright notice appears in all copies and that\n"
74280849Scy            "both the copyright notice and this permission notice appear in supporting\n"
75280849Scy            "documentation, and that the name The University of Delaware not be used in\n"
76280849Scy            "advertising or publicity pertaining to distribution of the software without\n"
77280849Scy            "specific, written prior permission.  The University of Delaware and Network\n"
78280849Scy            "Time Foundation makes no representations about the suitability this\n"
79280849Scy            "software for any purpose.  It is provided \"as is\" without express or\n"
80280849Scy            "implied warranty.\n\0"
81316068Sdelphij/*  1013 */ "Do not fork\0"
82316068Sdelphij/*  1025 */ "NOFORK\0"
83316068Sdelphij/*  1032 */ "nofork\0"
84316068Sdelphij/*  1039 */ "Log to syslog()\0"
85316068Sdelphij/*  1055 */ "SYSLOG\0"
86316068Sdelphij/*  1062 */ "syslog\0"
87316068Sdelphij/*  1069 */ "The socket address ntpsnmpd uses to connect to net-snmpd\0"
88316068Sdelphij/*  1126 */ "AGENTXSOCKET\0"
89316068Sdelphij/*  1139 */ "agentxsocket\0"
90316068Sdelphij/*  1152 */ "unix:/var/agentx/master\0"
91316068Sdelphij/*  1176 */ "display extended usage information and exit\0"
92316068Sdelphij/*  1220 */ "help\0"
93316068Sdelphij/*  1225 */ "extended usage information passed thru pager\0"
94316068Sdelphij/*  1270 */ "more-help\0"
95316068Sdelphij/*  1280 */ "output version information and exit\0"
96316068Sdelphij/*  1316 */ "version\0"
97316068Sdelphij/*  1324 */ "save the option state to a config file\0"
98316068Sdelphij/*  1363 */ "save-opts\0"
99316068Sdelphij/*  1373 */ "load options from a config file\0"
100316068Sdelphij/*  1405 */ "LOAD_OPTS\0"
101316068Sdelphij/*  1415 */ "no-load-opts\0"
102316068Sdelphij/*  1428 */ "no\0"
103316068Sdelphij/*  1431 */ "NTPSNMPD\0"
104362716Scy/*  1440 */ "ntpsnmpd - NTP SNMP MIB agent - Ver. 4.2.8p15\n"
105280849Scy            "Usage:  %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n\0"
106316068Sdelphij/*  1544 */ "$HOME\0"
107316068Sdelphij/*  1550 */ ".\0"
108316068Sdelphij/*  1552 */ ".ntprc\0"
109316068Sdelphij/*  1559 */ "http://bugs.ntp.org, bugs@ntp.org\0"
110316068Sdelphij/*  1593 */ "\n\0"
111362716Scy/*  1595 */ "ntpsnmpd 4.2.8p15";
112258945Sroberto
113280849Scy/**
114280849Scy *  nofork option description:
115258945Sroberto */
116280849Scy/** Descriptive text for the nofork option */
117316068Sdelphij#define NOFORK_DESC      (ntpsnmpd_opt_strs+1013)
118280849Scy/** Upper-cased name for the nofork option */
119316068Sdelphij#define NOFORK_NAME      (ntpsnmpd_opt_strs+1025)
120280849Scy/** Name string for the nofork option */
121316068Sdelphij#define NOFORK_name      (ntpsnmpd_opt_strs+1032)
122280849Scy/** Compiled in flag settings for the nofork option */
123280849Scy#define NOFORK_FLAGS     (OPTST_DISABLED)
124258945Sroberto
125280849Scy/**
126280849Scy *  syslog option description:
127258945Sroberto */
128280849Scy/** Descriptive text for the syslog option */
129316068Sdelphij#define SYSLOG_DESC      (ntpsnmpd_opt_strs+1039)
130280849Scy/** Upper-cased name for the syslog option */
131316068Sdelphij#define SYSLOG_NAME      (ntpsnmpd_opt_strs+1055)
132280849Scy/** Name string for the syslog option */
133316068Sdelphij#define SYSLOG_name      (ntpsnmpd_opt_strs+1062)
134280849Scy/** Compiled in flag settings for the syslog option */
135280849Scy#define SYSLOG_FLAGS     (OPTST_DISABLED)
136280849Scy
137280849Scy/**
138280849Scy *  agentXSocket option description:
139280849Scy */
140280849Scy/** Descriptive text for the agentXSocket option */
141316068Sdelphij#define AGENTXSOCKET_DESC      (ntpsnmpd_opt_strs+1069)
142280849Scy/** Upper-cased name for the agentXSocket option */
143316068Sdelphij#define AGENTXSOCKET_NAME      (ntpsnmpd_opt_strs+1126)
144280849Scy/** Name string for the agentXSocket option */
145316068Sdelphij#define AGENTXSOCKET_name      (ntpsnmpd_opt_strs+1139)
146280849Scy/** The compiled in default value for the agentXSocket option argument */
147316068Sdelphij#define AGENTXSOCKET_DFT_ARG   (ntpsnmpd_opt_strs+1152)
148280849Scy/** Compiled in flag settings for the agentXSocket option */
149280849Scy#define AGENTXSOCKET_FLAGS     (OPTST_DISABLED \
150258945Sroberto        | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
151258945Sroberto
152258945Sroberto/*
153258945Sroberto *  Help/More_Help/Version option descriptions:
154258945Sroberto */
155316068Sdelphij#define HELP_DESC       (ntpsnmpd_opt_strs+1176)
156316068Sdelphij#define HELP_name       (ntpsnmpd_opt_strs+1220)
157258945Sroberto#ifdef HAVE_WORKING_FORK
158316068Sdelphij#define MORE_HELP_DESC  (ntpsnmpd_opt_strs+1225)
159316068Sdelphij#define MORE_HELP_name  (ntpsnmpd_opt_strs+1270)
160280849Scy#define MORE_HELP_FLAGS (OPTST_IMM | OPTST_NO_INIT)
161258945Sroberto#else
162280849Scy#define MORE_HELP_DESC  HELP_DESC
163280849Scy#define MORE_HELP_name  HELP_name
164280849Scy#define MORE_HELP_FLAGS (OPTST_OMITTED | OPTST_NO_INIT)
165258945Sroberto#endif
166258945Sroberto#ifdef NO_OPTIONAL_OPT_ARGS
167280849Scy#  define VER_FLAGS     (OPTST_IMM | OPTST_NO_INIT)
168258945Sroberto#else
169280849Scy#  define VER_FLAGS     (OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \
170280849Scy                         OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT)
171258945Sroberto#endif
172316068Sdelphij#define VER_DESC        (ntpsnmpd_opt_strs+1280)
173316068Sdelphij#define VER_name        (ntpsnmpd_opt_strs+1316)
174316068Sdelphij#define SAVE_OPTS_DESC  (ntpsnmpd_opt_strs+1324)
175316068Sdelphij#define SAVE_OPTS_name  (ntpsnmpd_opt_strs+1363)
176316068Sdelphij#define LOAD_OPTS_DESC     (ntpsnmpd_opt_strs+1373)
177316068Sdelphij#define LOAD_OPTS_NAME     (ntpsnmpd_opt_strs+1405)
178316068Sdelphij#define NO_LOAD_OPTS_name  (ntpsnmpd_opt_strs+1415)
179316068Sdelphij#define LOAD_OPTS_pfx      (ntpsnmpd_opt_strs+1428)
180280849Scy#define LOAD_OPTS_name     (NO_LOAD_OPTS_name + 3)
181280849Scy/**
182258945Sroberto *  Declare option callback procedures
183258945Sroberto */
184258945Srobertoextern tOptProc
185280849Scy    ntpOptionPrintVersion, optionBooleanVal,      optionNestedVal,
186280849Scy    optionNumericVal,      optionPagedUsage,      optionResetOpt,
187280849Scy    optionStackArg,        optionTimeDate,        optionTimeVal,
188280849Scy    optionUnstackArg,      optionVendorOption;
189258945Srobertostatic tOptProc
190258945Sroberto    doUsageOpt;
191280849Scy#define VER_PROC        ntpOptionPrintVersion
192258945Sroberto
193280849Scy/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
194280849Scy/**
195280849Scy *  Define the ntpsnmpd Option Descriptions.
196280849Scy * This is an array of OPTION_CT entries, one for each
197280849Scy * option that the ntpsnmpd program responds to.
198258945Sroberto */
199258945Srobertostatic tOptDesc optDesc[OPTION_CT] = {
200258945Sroberto  {  /* entry idx, value */ 0, VALUE_OPT_NOFORK,
201258945Sroberto     /* equiv idx, value */ 0, VALUE_OPT_NOFORK,
202258945Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
203258945Sroberto     /* min, max, act ct */ 0, 1, 0,
204258945Sroberto     /* opt state flags  */ NOFORK_FLAGS, 0,
205280849Scy     /* last opt argumnt */ { NULL }, /* --nofork */
206258945Sroberto     /* arg list/cookie  */ NULL,
207258945Sroberto     /* must/cannot opts */ NULL, NULL,
208258945Sroberto     /* option proc      */ NULL,
209280849Scy     /* desc, NAME, name */ NOFORK_DESC, NOFORK_NAME, NOFORK_name,
210258945Sroberto     /* disablement strs */ NULL, NULL },
211258945Sroberto
212258945Sroberto  {  /* entry idx, value */ 1, VALUE_OPT_SYSLOG,
213258945Sroberto     /* equiv idx, value */ 1, VALUE_OPT_SYSLOG,
214258945Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
215258945Sroberto     /* min, max, act ct */ 0, 1, 0,
216258945Sroberto     /* opt state flags  */ SYSLOG_FLAGS, 0,
217280849Scy     /* last opt argumnt */ { NULL }, /* --syslog */
218258945Sroberto     /* arg list/cookie  */ NULL,
219258945Sroberto     /* must/cannot opts */ NULL, NULL,
220258945Sroberto     /* option proc      */ NULL,
221280849Scy     /* desc, NAME, name */ SYSLOG_DESC, SYSLOG_NAME, SYSLOG_name,
222258945Sroberto     /* disablement strs */ NULL, NULL },
223258945Sroberto
224258945Sroberto  {  /* entry idx, value */ 2, VALUE_OPT_AGENTXSOCKET,
225258945Sroberto     /* equiv idx, value */ 2, VALUE_OPT_AGENTXSOCKET,
226258945Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
227258945Sroberto     /* min, max, act ct */ 0, 1, 0,
228258945Sroberto     /* opt state flags  */ AGENTXSOCKET_FLAGS, 0,
229280849Scy     /* last opt argumnt */ { AGENTXSOCKET_DFT_ARG },
230258945Sroberto     /* arg list/cookie  */ NULL,
231258945Sroberto     /* must/cannot opts */ NULL, NULL,
232258945Sroberto     /* option proc      */ NULL,
233280849Scy     /* desc, NAME, name */ AGENTXSOCKET_DESC, AGENTXSOCKET_NAME, AGENTXSOCKET_name,
234258945Sroberto     /* disablement strs */ NULL, NULL },
235258945Sroberto
236258945Sroberto  {  /* entry idx, value */ INDEX_OPT_VERSION, VALUE_OPT_VERSION,
237280849Scy     /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_VERSION,
238258945Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
239258945Sroberto     /* min, max, act ct */ 0, 1, 0,
240280849Scy     /* opt state flags  */ VER_FLAGS, AOUSE_VERSION,
241258945Sroberto     /* last opt argumnt */ { NULL },
242258945Sroberto     /* arg list/cookie  */ NULL,
243258945Sroberto     /* must/cannot opts */ NULL, NULL,
244280849Scy     /* option proc      */ VER_PROC,
245280849Scy     /* desc, NAME, name */ VER_DESC, NULL, VER_name,
246258945Sroberto     /* disablement strs */ NULL, NULL },
247258945Sroberto
248258945Sroberto
249258945Sroberto
250258945Sroberto  {  /* entry idx, value */ INDEX_OPT_HELP, VALUE_OPT_HELP,
251280849Scy     /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_HELP,
252258945Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
253258945Sroberto     /* min, max, act ct */ 0, 1, 0,
254280849Scy     /* opt state flags  */ OPTST_IMM | OPTST_NO_INIT, AOUSE_HELP,
255258945Sroberto     /* last opt argumnt */ { NULL },
256258945Sroberto     /* arg list/cookie  */ NULL,
257258945Sroberto     /* must/cannot opts */ NULL, NULL,
258258945Sroberto     /* option proc      */ doUsageOpt,
259280849Scy     /* desc, NAME, name */ HELP_DESC, NULL, HELP_name,
260258945Sroberto     /* disablement strs */ NULL, NULL },
261258945Sroberto
262258945Sroberto  {  /* entry idx, value */ INDEX_OPT_MORE_HELP, VALUE_OPT_MORE_HELP,
263280849Scy     /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_MORE_HELP,
264258945Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
265258945Sroberto     /* min, max, act ct */ 0, 1, 0,
266280849Scy     /* opt state flags  */ MORE_HELP_FLAGS, AOUSE_MORE_HELP,
267258945Sroberto     /* last opt argumnt */ { NULL },
268258945Sroberto     /* arg list/cookie  */ NULL,
269258945Sroberto     /* must/cannot opts */ NULL,  NULL,
270258945Sroberto     /* option proc      */ optionPagedUsage,
271280849Scy     /* desc, NAME, name */ MORE_HELP_DESC, NULL, MORE_HELP_name,
272258945Sroberto     /* disablement strs */ NULL, NULL },
273258945Sroberto
274258945Sroberto  {  /* entry idx, value */ INDEX_OPT_SAVE_OPTS, VALUE_OPT_SAVE_OPTS,
275280849Scy     /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_SAVE_OPTS,
276258945Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
277258945Sroberto     /* min, max, act ct */ 0, 1, 0,
278258945Sroberto     /* opt state flags  */ OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)
279280849Scy                       | OPTST_ARG_OPTIONAL | OPTST_NO_INIT, AOUSE_SAVE_OPTS,
280258945Sroberto     /* last opt argumnt */ { NULL },
281258945Sroberto     /* arg list/cookie  */ NULL,
282258945Sroberto     /* must/cannot opts */ NULL,  NULL,
283258945Sroberto     /* option proc      */ NULL,
284280849Scy     /* desc, NAME, name */ SAVE_OPTS_DESC, NULL, SAVE_OPTS_name,
285258945Sroberto     /* disablement strs */ NULL, NULL },
286258945Sroberto
287258945Sroberto  {  /* entry idx, value */ INDEX_OPT_LOAD_OPTS, VALUE_OPT_LOAD_OPTS,
288280849Scy     /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_LOAD_OPTS,
289258945Sroberto     /* equivalenced to  */ NO_EQUIVALENT,
290258945Sroberto     /* min, max, act ct */ 0, NOLIMIT, 0,
291258945Sroberto     /* opt state flags  */ OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)
292280849Scy			  | OPTST_DISABLE_IMM, AOUSE_LOAD_OPTS,
293258945Sroberto     /* last opt argumnt */ { NULL },
294258945Sroberto     /* arg list/cookie  */ NULL,
295258945Sroberto     /* must/cannot opts */ NULL, NULL,
296258945Sroberto     /* option proc      */ optionLoadOpt,
297280849Scy     /* desc, NAME, name */ LOAD_OPTS_DESC, LOAD_OPTS_NAME, LOAD_OPTS_name,
298280849Scy     /* disablement strs */ NO_LOAD_OPTS_name, LOAD_OPTS_pfx }
299258945Sroberto};
300258945Sroberto
301280849Scy
302280849Scy/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
303280849Scy/** Reference to the upper cased version of ntpsnmpd. */
304316068Sdelphij#define zPROGNAME       (ntpsnmpd_opt_strs+1431)
305280849Scy/** Reference to the title line for ntpsnmpd usage. */
306316068Sdelphij#define zUsageTitle     (ntpsnmpd_opt_strs+1440)
307280849Scy/** ntpsnmpd configuration file name. */
308316068Sdelphij#define zRcName         (ntpsnmpd_opt_strs+1552)
309280849Scy/** Directories to search for ntpsnmpd config files. */
310258945Srobertostatic char const * const apzHomeList[3] = {
311316068Sdelphij    ntpsnmpd_opt_strs+1544,
312316068Sdelphij    ntpsnmpd_opt_strs+1550,
313258945Sroberto    NULL };
314280849Scy/** The ntpsnmpd program bug email address. */
315316068Sdelphij#define zBugsAddr       (ntpsnmpd_opt_strs+1559)
316280849Scy/** Clarification/explanation of what ntpsnmpd does. */
317316068Sdelphij#define zExplain        (ntpsnmpd_opt_strs+1593)
318280849Scy/** Extra detail explaining what ntpsnmpd does. */
319280849Scy#define zDetail         (NULL)
320280849Scy/** The full version string for ntpsnmpd. */
321316068Sdelphij#define zFullVersion    (ntpsnmpd_opt_strs+1595)
322280849Scy/* extracted from optcode.tlib near line 364 */
323258945Sroberto
324258945Sroberto#if defined(ENABLE_NLS)
325258945Sroberto# define OPTPROC_BASE OPTPROC_TRANSLATE
326258945Sroberto  static tOptionXlateProc translate_option_strings;
327258945Sroberto#else
328258945Sroberto# define OPTPROC_BASE OPTPROC_NONE
329258945Sroberto# define translate_option_strings NULL
330258945Sroberto#endif /* ENABLE_NLS */
331258945Sroberto
332280849Scy#define ntpsnmpd_full_usage (NULL)
333280849Scy#define ntpsnmpd_short_usage (NULL)
334258945Sroberto
335280849Scy#endif /* not defined __doxygen__ */
336280849Scy
337280849Scy/*
338280849Scy *  Create the static procedure(s) declared above.
339280849Scy */
340280849Scy/**
341280849Scy * The callout function that invokes the optionUsage function.
342280849Scy *
343280849Scy * @param[in] opts the AutoOpts option description structure
344280849Scy * @param[in] od   the descriptor for the "help" (usage) option.
345280849Scy * @noreturn
346280849Scy */
347280849Scystatic void
348280849ScydoUsageOpt(tOptions * opts, tOptDesc * od)
349280849Scy{
350280849Scy    int ex_code;
351280849Scy    ex_code = NTPSNMPD_EXIT_SUCCESS;
352280849Scy    optionUsage(&ntpsnmpdOptions, ex_code);
353280849Scy    /* NOTREACHED */
354280849Scy    exit(1);
355280849Scy    (void)opts;
356280849Scy    (void)od;
357280849Scy}
358285169Scy/* extracted from optmain.tlib near line 1250 */
359280849Scy
360280849Scy/**
361280849Scy * The directory containing the data associated with ntpsnmpd.
362280849Scy */
363258945Sroberto#ifndef  PKGDATADIR
364258945Sroberto# define PKGDATADIR ""
365258945Sroberto#endif
366258945Sroberto
367280849Scy/**
368280849Scy * Information about the person or institution that packaged ntpsnmpd
369280849Scy * for the current distribution.
370280849Scy */
371258945Sroberto#ifndef  WITH_PACKAGER
372258945Sroberto# define ntpsnmpd_packager_info NULL
373258945Sroberto#else
374280849Scy/** Packager information for ntpsnmpd. */
375258945Srobertostatic char const ntpsnmpd_packager_info[] =
376258945Sroberto    "Packaged by " WITH_PACKAGER
377258945Sroberto
378258945Sroberto# ifdef WITH_PACKAGER_VERSION
379258945Sroberto        " ("WITH_PACKAGER_VERSION")"
380258945Sroberto# endif
381258945Sroberto
382258945Sroberto# ifdef WITH_PACKAGER_BUG_REPORTS
383258945Sroberto    "\nReport ntpsnmpd bugs to " WITH_PACKAGER_BUG_REPORTS
384258945Sroberto# endif
385258945Sroberto    "\n";
386258945Sroberto#endif
387280849Scy#ifndef __doxygen__
388258945Sroberto
389280849Scy#endif /* __doxygen__ */
390280849Scy/**
391280849Scy * The option definitions for ntpsnmpd.  The one structure that
392280849Scy * binds them all.
393280849Scy */
394258945SrobertotOptions ntpsnmpdOptions = {
395258945Sroberto    OPTIONS_STRUCT_VERSION,
396258945Sroberto    0, NULL,                    /* original argc + argv    */
397258945Sroberto    ( OPTPROC_BASE
398258945Sroberto    + OPTPROC_ERRSTOP
399258945Sroberto    + OPTPROC_SHORTOPT
400258945Sroberto    + OPTPROC_LONGOPT
401258945Sroberto    + OPTPROC_NO_REQ_OPT
402258945Sroberto    + OPTPROC_ENVIRON
403258945Sroberto    + OPTPROC_NO_ARGS
404258945Sroberto    + OPTPROC_MISUSE ),
405258945Sroberto    0, NULL,                    /* current option index, current option */
406258945Sroberto    NULL,         NULL,         zPROGNAME,
407258945Sroberto    zRcName,      zCopyright,   zLicenseDescrip,
408258945Sroberto    zFullVersion, apzHomeList,  zUsageTitle,
409258945Sroberto    zExplain,     zDetail,      optDesc,
410258945Sroberto    zBugsAddr,                  /* address to send bugs to */
411258945Sroberto    NULL, NULL,                 /* extensions/saved state  */
412258945Sroberto    optionUsage, /* usage procedure */
413258945Sroberto    translate_option_strings,   /* translation procedure */
414258945Sroberto    /*
415258945Sroberto     *  Indexes to special options
416258945Sroberto     */
417258945Sroberto    { INDEX_OPT_MORE_HELP, /* more-help option index */
418258945Sroberto      INDEX_OPT_SAVE_OPTS, /* save option index */
419258945Sroberto      NO_EQUIVALENT, /* '-#' option index */
420258945Sroberto      NO_EQUIVALENT /* index of default opt */
421258945Sroberto    },
422258945Sroberto    8 /* full option count */, 3 /* user option count */,
423258945Sroberto    ntpsnmpd_full_usage, ntpsnmpd_short_usage,
424258945Sroberto    NULL, NULL,
425258945Sroberto    PKGDATADIR, ntpsnmpd_packager_info
426258945Sroberto};
427258945Sroberto
428280849Scy#if ENABLE_NLS
429280849Scy/**
430280849Scy * This code is designed to translate translatable option text for the
431280849Scy * ntpsnmpd program.  These translations happen upon entry
432280849Scy * to optionProcess().
433258945Sroberto */
434258945Sroberto#include <stdio.h>
435258945Sroberto#include <stdlib.h>
436258945Sroberto#include <string.h>
437258945Sroberto#include <unistd.h>
438280849Scy#ifdef HAVE_DCGETTEXT
439280849Scy# include <gettext.h>
440280849Scy#endif
441258945Sroberto#include <autoopts/usage-txt.h>
442258945Sroberto
443280849Scystatic char * AO_gettext(char const * pz);
444280849Scystatic void   coerce_it(void ** s);
445258945Sroberto
446280849Scy/**
447280849Scy * AutoGen specific wrapper function for gettext.  It relies on the macro _()
448280849Scy * to convert from English to the target language, then strdup-duplicates the
449280849Scy * result string.  It tries the "libopts" domain first, then whatever has been
450280849Scy * set via the \a textdomain(3) call.
451280849Scy *
452280849Scy * @param[in] pz the input text used as a lookup key.
453280849Scy * @returns the translated text (if there is one),
454280849Scy *   or the original text (if not).
455280849Scy */
456280849Scystatic char *
457280849ScyAO_gettext(char const * pz)
458258945Sroberto{
459280849Scy    char * res;
460258945Sroberto    if (pz == NULL)
461258945Sroberto        return NULL;
462280849Scy#ifdef HAVE_DCGETTEXT
463280849Scy    /*
464280849Scy     * While processing the option_xlateable_txt data, try to use the
465280849Scy     * "libopts" domain.  Once we switch to the option descriptor data,
466280849Scy     * do *not* use that domain.
467280849Scy     */
468280849Scy    if (option_xlateable_txt.field_ct != 0) {
469280849Scy        res = dgettext("libopts", pz);
470280849Scy        if (res == pz)
471285169Scy            res = (char *)VOIDP(_(pz));
472280849Scy    } else
473285169Scy        res = (char *)VOIDP(_(pz));
474280849Scy#else
475285169Scy    res = (char *)VOIDP(_(pz));
476280849Scy#endif
477280849Scy    if (res == pz)
478280849Scy        return res;
479280849Scy    res = strdup(res);
480280849Scy    if (res == NULL) {
481258945Sroberto        fputs(_("No memory for duping translated strings\n"), stderr);
482258945Sroberto        exit(NTPSNMPD_EXIT_FAILURE);
483258945Sroberto    }
484280849Scy    return res;
485258945Sroberto}
486258945Sroberto
487280849Scy/**
488280849Scy * All the pointers we use are marked "* const", but they are stored in
489280849Scy * writable memory.  Coerce the mutability and set the pointer.
490280849Scy */
491280849Scystatic void coerce_it(void ** s) { *s = AO_gettext(*s);
492258945Sroberto}
493258945Sroberto
494280849Scy/**
495280849Scy * Translate all the translatable strings in the ntpsnmpdOptions
496280849Scy * structure defined above.  This is done only once.
497258945Sroberto */
498258945Srobertostatic void
499258945Srobertotranslate_option_strings(void)
500258945Sroberto{
501280849Scy    tOptions * const opts = &ntpsnmpdOptions;
502258945Sroberto
503258945Sroberto    /*
504258945Sroberto     *  Guard against re-translation.  It won't work.  The strings will have
505258945Sroberto     *  been changed by the first pass through this code.  One shot only.
506258945Sroberto     */
507280849Scy    if (option_xlateable_txt.field_ct != 0) {
508258945Sroberto        /*
509258945Sroberto         *  Do the translations.  The first pointer follows the field count
510258945Sroberto         *  field.  The field count field is the size of a pointer.
511258945Sroberto         */
512285169Scy        char ** ppz = (char**)VOIDP(&(option_xlateable_txt));
513280849Scy        int     ix  = option_xlateable_txt.field_ct;
514258945Sroberto
515258945Sroberto        do {
516280849Scy            ppz++; /* skip over field_ct */
517258945Sroberto            *ppz = AO_gettext(*ppz);
518258945Sroberto        } while (--ix > 0);
519280849Scy        /* prevent re-translation and disable "libopts" domain lookup */
520280849Scy        option_xlateable_txt.field_ct = 0;
521258945Sroberto
522285169Scy        coerce_it(VOIDP(&(opts->pzCopyright)));
523285169Scy        coerce_it(VOIDP(&(opts->pzCopyNotice)));
524285169Scy        coerce_it(VOIDP(&(opts->pzFullVersion)));
525285169Scy        coerce_it(VOIDP(&(opts->pzUsageTitle)));
526285169Scy        coerce_it(VOIDP(&(opts->pzExplain)));
527285169Scy        coerce_it(VOIDP(&(opts->pzDetail)));
528280849Scy        {
529280849Scy            tOptDesc * od = opts->pOptDesc;
530280849Scy            for (ix = opts->optCt; ix > 0; ix--, od++)
531285169Scy                coerce_it(VOIDP(&(od->pzText)));
532258945Sroberto        }
533258945Sroberto    }
534258945Sroberto}
535258945Sroberto#endif /* ENABLE_NLS */
536258945Sroberto
537280849Scy#ifdef DO_NOT_COMPILE_THIS_CODE_IT_IS_FOR_GETTEXT
538280849Scy/** I18N function strictly for xgettext.  Do not compile. */
539280849Scystatic void bogus_function(void) {
540280849Scy  /* TRANSLATORS:
541280849Scy
542280849Scy     The following dummy function was crated solely so that xgettext can
543280849Scy     extract the correct strings.  These strings are actually referenced
544280849Scy     by a field name in the ntpsnmpdOptions structure noted in the
545280849Scy     comments below.  The literal text is defined in ntpsnmpd_opt_strs.
546280849Scy
547280849Scy     NOTE: the strings below are segmented with respect to the source string
548280849Scy     ntpsnmpd_opt_strs.  The strings above are handed off for translation
549280849Scy     at run time a paragraph at a time.  Consequently, they are presented here
550280849Scy     for translation a paragraph at a time.
551280849Scy
552280849Scy     ALSO: often the description for an option will reference another option
553280849Scy     by name.  These are set off with apostrophe quotes (I hope).  Do not
554280849Scy     translate option names.
555280849Scy   */
556280849Scy  /* referenced via ntpsnmpdOptions.pzCopyright */
557362716Scy  puts(_("ntpsnmpd 4.2.8p15\n\
558358659ScyCopyright (C) 1992-2020 The University of Delaware and Network Time Foundation, all rights reserved.\n\
559280849ScyThis is free software. It is licensed for use, modification and\n\
560280849Scyredistribution under the terms of the NTP License, copies of which\n\
561280849Scycan be seen at:\n"));
562280849Scy  puts(_("  <http://ntp.org/license>\n\
563280849Scy  <http://opensource.org/licenses/ntp-license.php>\n"));
564280849Scy
565280849Scy  /* referenced via ntpsnmpdOptions.pzCopyNotice */
566280849Scy  puts(_("Permission to use, copy, modify, and distribute this software and its\n\
567280849Scydocumentation for any purpose with or without fee is hereby granted,\n\
568280849Scyprovided that the above copyright notice appears in all copies and that\n\
569280849Scyboth the copyright notice and this permission notice appear in supporting\n\
570280849Scydocumentation, and that the name The University of Delaware not be used in\n\
571280849Scyadvertising or publicity pertaining to distribution of the software without\n\
572280849Scyspecific, written prior permission.  The University of Delaware and Network\n\
573280849ScyTime Foundation makes no representations about the suitability this\n\
574280849Scysoftware for any purpose.  It is provided \"as is\" without express or\n\
575280849Scyimplied warranty.\n"));
576280849Scy
577280849Scy  /* referenced via ntpsnmpdOptions.pOptDesc->pzText */
578280849Scy  puts(_("Do not fork"));
579280849Scy
580280849Scy  /* referenced via ntpsnmpdOptions.pOptDesc->pzText */
581280849Scy  puts(_("Log to syslog()"));
582280849Scy
583280849Scy  /* referenced via ntpsnmpdOptions.pOptDesc->pzText */
584280849Scy  puts(_("The socket address ntpsnmpd uses to connect to net-snmpd"));
585280849Scy
586280849Scy  /* referenced via ntpsnmpdOptions.pOptDesc->pzText */
587280849Scy  puts(_("display extended usage information and exit"));
588280849Scy
589280849Scy  /* referenced via ntpsnmpdOptions.pOptDesc->pzText */
590280849Scy  puts(_("extended usage information passed thru pager"));
591280849Scy
592280849Scy  /* referenced via ntpsnmpdOptions.pOptDesc->pzText */
593280849Scy  puts(_("output version information and exit"));
594280849Scy
595280849Scy  /* referenced via ntpsnmpdOptions.pOptDesc->pzText */
596280849Scy  puts(_("save the option state to a config file"));
597280849Scy
598280849Scy  /* referenced via ntpsnmpdOptions.pOptDesc->pzText */
599280849Scy  puts(_("load options from a config file"));
600280849Scy
601280849Scy  /* referenced via ntpsnmpdOptions.pzUsageTitle */
602362716Scy  puts(_("ntpsnmpd - NTP SNMP MIB agent - Ver. 4.2.8p15\n\
603280849ScyUsage:  %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n"));
604280849Scy
605280849Scy  /* referenced via ntpsnmpdOptions.pzExplain */
606280849Scy  puts(_("\n"));
607280849Scy
608280849Scy  /* referenced via ntpsnmpdOptions.pzFullVersion */
609362716Scy  puts(_("ntpsnmpd 4.2.8p15"));
610280849Scy
611280849Scy  /* referenced via ntpsnmpdOptions.pzFullUsage */
612280849Scy  puts(_("<<<NOT-FOUND>>>"));
613280849Scy
614280849Scy  /* referenced via ntpsnmpdOptions.pzShortUsage */
615280849Scy  puts(_("<<<NOT-FOUND>>>"));
616280849Scy  /* LIBOPTS-MESSAGES: */
617280849Scy#line 67 "../autoopts.c"
618280849Scy  puts(_("allocation of %d bytes failed\n"));
619280849Scy#line 93 "../autoopts.c"
620280849Scy  puts(_("allocation of %d bytes failed\n"));
621280849Scy#line 53 "../init.c"
622280849Scy  puts(_("AutoOpts function called without option descriptor\n"));
623280849Scy#line 86 "../init.c"
624280849Scy  puts(_("\tThis exceeds the compiled library version:  "));
625280849Scy#line 84 "../init.c"
626280849Scy  puts(_("Automated Options Processing Error!\n"
627280849Scy       "\t%s called AutoOpts function with structure version %d:%d:%d.\n"));
628280849Scy#line 80 "../autoopts.c"
629280849Scy  puts(_("realloc of %d bytes at 0x%p failed\n"));
630280849Scy#line 88 "../init.c"
631280849Scy  puts(_("\tThis is less than the minimum library version:  "));
632280849Scy#line 121 "../version.c"
633280849Scy  puts(_("Automated Options version %s\n"
634280849Scy       "\tCopyright (C) 1999-2014 by Bruce Korb - all rights reserved\n"));
635285169Scy#line 87 "../makeshell.c"
636280849Scy  puts(_("(AutoOpts bug):  %s.\n"));
637280849Scy#line 90 "../reset.c"
638280849Scy  puts(_("optionResetOpt() called, but reset-option not configured"));
639280849Scy#line 292 "../usage.c"
640280849Scy  puts(_("could not locate the 'help' option"));
641280849Scy#line 336 "../autoopts.c"
642280849Scy  puts(_("optionProcess() was called with invalid data"));
643280849Scy#line 748 "../usage.c"
644280849Scy  puts(_("invalid argument type specified"));
645280849Scy#line 598 "../find.c"
646280849Scy  puts(_("defaulted to option with optional arg"));
647280849Scy#line 76 "../alias.c"
648280849Scy  puts(_("aliasing option is out of range."));
649280849Scy#line 234 "../enum.c"
650280849Scy  puts(_("%s error:  the keyword '%s' is ambiguous for %s\n"));
651280849Scy#line 108 "../find.c"
652280849Scy  puts(_("  The following options match:\n"));
653280849Scy#line 293 "../find.c"
654280849Scy  puts(_("%s: ambiguous option name: %s (matches %d options)\n"));
655280849Scy#line 161 "../check.c"
656280849Scy  puts(_("%s: Command line arguments required\n"));
657280849Scy#line 43 "../alias.c"
658280849Scy  puts(_("%d %s%s options allowed\n"));
659285169Scy#line 94 "../makeshell.c"
660280849Scy  puts(_("%s error %d (%s) calling %s for '%s'\n"));
661285169Scy#line 306 "../makeshell.c"
662280849Scy  puts(_("interprocess pipe"));
663280849Scy#line 168 "../version.c"
664280849Scy  puts(_("error: version option argument '%c' invalid.  Use:\n"
665280849Scy       "\t'v' - version only\n"
666280849Scy       "\t'c' - version and copyright\n"
667280849Scy       "\t'n' - version and full copyright notice\n"));
668280849Scy#line 58 "../check.c"
669280849Scy  puts(_("%s error:  the '%s' and '%s' options conflict\n"));
670280849Scy#line 217 "../find.c"
671280849Scy  puts(_("%s: The '%s' option has been disabled."));
672280849Scy#line 430 "../find.c"
673280849Scy  puts(_("%s: The '%s' option has been disabled."));
674280849Scy#line 38 "../alias.c"
675280849Scy  puts(_("-equivalence"));
676280849Scy#line 469 "../find.c"
677280849Scy  puts(_("%s: illegal option -- %c\n"));
678280849Scy#line 110 "../reset.c"
679280849Scy  puts(_("%s: illegal option -- %c\n"));
680280849Scy#line 271 "../find.c"
681280849Scy  puts(_("%s: illegal option -- %s\n"));
682280849Scy#line 755 "../find.c"
683280849Scy  puts(_("%s: illegal option -- %s\n"));
684280849Scy#line 118 "../reset.c"
685280849Scy  puts(_("%s: illegal option -- %s\n"));
686280849Scy#line 335 "../find.c"
687280849Scy  puts(_("%s: unknown vendor extension option -- %s\n"));
688280849Scy#line 159 "../enum.c"
689280849Scy  puts(_("  or an integer from %d through %d\n"));
690280849Scy#line 169 "../enum.c"
691280849Scy  puts(_("  or an integer from %d through %d\n"));
692280849Scy#line 747 "../usage.c"
693280849Scy  puts(_("%s error:  invalid option descriptor for %s\n"));
694280849Scy#line 1081 "../usage.c"
695280849Scy  puts(_("%s error:  invalid option descriptor for %s\n"));
696280849Scy#line 385 "../find.c"
697280849Scy  puts(_("%s: invalid option name: %s\n"));
698280849Scy#line 527 "../find.c"
699280849Scy  puts(_("%s: The '%s' option requires an argument.\n"));
700280849Scy#line 156 "../autoopts.c"
701280849Scy  puts(_("(AutoOpts bug):  Equivalenced option '%s' was equivalenced to both\n"
702280849Scy       "\t'%s' and '%s'."));
703280849Scy#line 94 "../check.c"
704280849Scy  puts(_("%s error:  The %s option is required\n"));
705280849Scy#line 632 "../find.c"
706280849Scy  puts(_("%s: The '%s' option cannot have an argument.\n"));
707280849Scy#line 151 "../check.c"
708280849Scy  puts(_("%s: Command line arguments are not allowed.\n"));
709280849Scy#line 535 "../save.c"
710280849Scy  puts(_("error %d (%s) creating %s\n"));
711280849Scy#line 234 "../enum.c"
712280849Scy  puts(_("%s error:  '%s' does not match any %s keywords.\n"));
713280849Scy#line 93 "../reset.c"
714280849Scy  puts(_("%s error: The '%s' option requires an argument.\n"));
715280849Scy#line 184 "../save.c"
716280849Scy  puts(_("error %d (%s) stat-ing %s\n"));
717280849Scy#line 238 "../save.c"
718280849Scy  puts(_("error %d (%s) stat-ing %s\n"));
719280849Scy#line 143 "../restore.c"
720280849Scy  puts(_("%s error: no saved option state\n"));
721280849Scy#line 231 "../autoopts.c"
722280849Scy  puts(_("'%s' is not a command line option.\n"));
723280849Scy#line 111 "../time.c"
724280849Scy  puts(_("%s error:  '%s' is not a recognizable date/time.\n"));
725280849Scy#line 132 "../save.c"
726280849Scy  puts(_("'%s' not defined\n"));
727280849Scy#line 50 "../time.c"
728280849Scy  puts(_("%s error:  '%s' is not a recognizable time duration.\n"));
729280849Scy#line 92 "../check.c"
730280849Scy  puts(_("%s error:  The %s option must appear %d times.\n"));
731280849Scy#line 164 "../numeric.c"
732280849Scy  puts(_("%s error:  '%s' is not a recognizable number.\n"));
733280849Scy#line 200 "../enum.c"
734280849Scy  puts(_("%s error:  %s exceeds %s keyword count\n"));
735280849Scy#line 330 "../usage.c"
736280849Scy  puts(_("Try '%s %s' for more information.\n"));
737280849Scy#line 45 "../alias.c"
738280849Scy  puts(_("one %s%s option allowed\n"));
739285169Scy#line 208 "../makeshell.c"
740280849Scy  puts(_("standard output"));
741285169Scy#line 943 "../makeshell.c"
742280849Scy  puts(_("standard output"));
743280849Scy#line 274 "../usage.c"
744280849Scy  puts(_("standard output"));
745280849Scy#line 415 "../usage.c"
746280849Scy  puts(_("standard output"));
747280849Scy#line 625 "../usage.c"
748280849Scy  puts(_("standard output"));
749280849Scy#line 175 "../version.c"
750280849Scy  puts(_("standard output"));
751280849Scy#line 274 "../usage.c"
752280849Scy  puts(_("standard error"));
753280849Scy#line 415 "../usage.c"
754280849Scy  puts(_("standard error"));
755280849Scy#line 625 "../usage.c"
756280849Scy  puts(_("standard error"));
757280849Scy#line 175 "../version.c"
758280849Scy  puts(_("standard error"));
759285169Scy#line 208 "../makeshell.c"
760280849Scy  puts(_("write"));
761285169Scy#line 943 "../makeshell.c"
762280849Scy  puts(_("write"));
763280849Scy#line 273 "../usage.c"
764280849Scy  puts(_("write"));
765280849Scy#line 414 "../usage.c"
766280849Scy  puts(_("write"));
767280849Scy#line 624 "../usage.c"
768280849Scy  puts(_("write"));
769280849Scy#line 174 "../version.c"
770280849Scy  puts(_("write"));
771280849Scy#line 60 "../numeric.c"
772280849Scy  puts(_("%s error:  %s option value %ld is out of range.\n"));
773280849Scy#line 44 "../check.c"
774280849Scy  puts(_("%s error:  %s option requires the %s option\n"));
775280849Scy#line 131 "../save.c"
776280849Scy  puts(_("%s warning:  cannot save options - %s not regular file\n"));
777280849Scy#line 183 "../save.c"
778280849Scy  puts(_("%s warning:  cannot save options - %s not regular file\n"));
779280849Scy#line 237 "../save.c"
780280849Scy  puts(_("%s warning:  cannot save options - %s not regular file\n"));
781280849Scy#line 256 "../save.c"
782280849Scy  puts(_("%s warning:  cannot save options - %s not regular file\n"));
783280849Scy#line 534 "../save.c"
784280849Scy  puts(_("%s warning:  cannot save options - %s not regular file\n"));
785280849Scy  /* END-LIBOPTS-MESSAGES */
786280849Scy
787280849Scy  /* USAGE-TEXT: */
788280849Scy#line 873 "../usage.c"
789280849Scy  puts(_("\t\t\t\t- an alternate for '%s'\n"));
790280849Scy#line 1148 "../usage.c"
791280849Scy  puts(_("Version, usage and configuration options:"));
792280849Scy#line 924 "../usage.c"
793280849Scy  puts(_("\t\t\t\t- default option for unnamed options\n"));
794280849Scy#line 837 "../usage.c"
795280849Scy  puts(_("\t\t\t\t- disabled as '--%s'\n"));
796280849Scy#line 1117 "../usage.c"
797280849Scy  puts(_(" --- %-14s %s\n"));
798280849Scy#line 1115 "../usage.c"
799280849Scy  puts(_("This option has been disabled"));
800280849Scy#line 864 "../usage.c"
801280849Scy  puts(_("\t\t\t\t- enabled by default\n"));
802280849Scy#line 40 "../alias.c"
803280849Scy  puts(_("%s error:  only "));
804280849Scy#line 1194 "../usage.c"
805280849Scy  puts(_(" - examining environment variables named %s_*\n"));
806280849Scy#line 168 "../file.c"
807280849Scy  puts(_("\t\t\t\t- file must not pre-exist\n"));
808280849Scy#line 172 "../file.c"
809280849Scy  puts(_("\t\t\t\t- file must pre-exist\n"));
810280849Scy#line 380 "../usage.c"
811280849Scy  puts(_("Options are specified by doubled hyphens and their name or by a single\n"
812280849Scy       "hyphen and the flag character.\n"));
813285169Scy#line 921 "../makeshell.c"
814280849Scy  puts(_("\n"
815280849Scy       "= = = = = = = =\n\n"
816280849Scy       "This incarnation of genshell will produce\n"
817280849Scy       "a shell script to parse the options for %s:\n\n"));
818280849Scy#line 166 "../enum.c"
819280849Scy  puts(_("  or an integer mask with any of the lower %d bits set\n"));
820280849Scy#line 897 "../usage.c"
821280849Scy  puts(_("\t\t\t\t- is a set membership option\n"));
822280849Scy#line 918 "../usage.c"
823280849Scy  puts(_("\t\t\t\t- must appear between %d and %d times\n"));
824280849Scy#line 382 "../usage.c"
825280849Scy  puts(_("Options are specified by single or double hyphens and their name.\n"));
826280849Scy#line 904 "../usage.c"
827280849Scy  puts(_("\t\t\t\t- may appear multiple times\n"));
828280849Scy#line 891 "../usage.c"
829280849Scy  puts(_("\t\t\t\t- may not be preset\n"));
830280849Scy#line 1309 "../usage.c"
831280849Scy  puts(_("   Arg Option-Name    Description\n"));
832280849Scy#line 1245 "../usage.c"
833280849Scy  puts(_("  Flg Arg Option-Name    Description\n"));
834280849Scy#line 1303 "../usage.c"
835280849Scy  puts(_("  Flg Arg Option-Name    Description\n"));
836280849Scy#line 1304 "../usage.c"
837280849Scy  puts(_(" %3s %s"));
838280849Scy#line 1310 "../usage.c"
839280849Scy  puts(_(" %3s %s"));
840280849Scy#line 387 "../usage.c"
841280849Scy  puts(_("The '-#<number>' option may omit the hash char\n"));
842280849Scy#line 383 "../usage.c"
843280849Scy  puts(_("All arguments are named options.\n"));
844280849Scy#line 971 "../usage.c"
845280849Scy  puts(_(" - reading file %s"));
846280849Scy#line 409 "../usage.c"
847280849Scy  puts(_("\n"
848280849Scy       "Please send bug reports to:  <%s>\n"));
849280849Scy#line 100 "../version.c"
850280849Scy  puts(_("\n"
851280849Scy       "Please send bug reports to:  <%s>\n"));
852280849Scy#line 129 "../version.c"
853280849Scy  puts(_("\n"
854280849Scy       "Please send bug reports to:  <%s>\n"));
855280849Scy#line 903 "../usage.c"
856280849Scy  puts(_("\t\t\t\t- may NOT appear - preset only\n"));
857280849Scy#line 944 "../usage.c"
858280849Scy  puts(_("\n"
859280849Scy       "The following option preset mechanisms are supported:\n"));
860280849Scy#line 1192 "../usage.c"
861280849Scy  puts(_("\n"
862280849Scy       "The following option preset mechanisms are supported:\n"));
863280849Scy#line 682 "../usage.c"
864280849Scy  puts(_("prohibits these options:\n"));
865280849Scy#line 677 "../usage.c"
866280849Scy  puts(_("prohibits the option '%s'\n"));
867280849Scy#line 81 "../numeric.c"
868280849Scy  puts(_("%s%ld to %ld"));
869280849Scy#line 79 "../numeric.c"
870280849Scy  puts(_("%sgreater than or equal to %ld"));
871280849Scy#line 75 "../numeric.c"
872280849Scy  puts(_("%s%ld exactly"));
873280849Scy#line 68 "../numeric.c"
874280849Scy  puts(_("%sit must lie in one of the ranges:\n"));
875280849Scy#line 68 "../numeric.c"
876280849Scy  puts(_("%sit must be in the range:\n"));
877280849Scy#line 88 "../numeric.c"
878280849Scy  puts(_(", or\n"));
879280849Scy#line 66 "../numeric.c"
880280849Scy  puts(_("%sis scalable with a suffix: k/K/m/M/g/G/t/T\n"));
881280849Scy#line 77 "../numeric.c"
882280849Scy  puts(_("%sless than or equal to %ld"));
883280849Scy#line 390 "../usage.c"
884280849Scy  puts(_("Operands and options may be intermixed.  They will be reordered.\n"));
885280849Scy#line 652 "../usage.c"
886280849Scy  puts(_("requires the option '%s'\n"));
887280849Scy#line 655 "../usage.c"
888280849Scy  puts(_("requires these options:\n"));
889280849Scy#line 1321 "../usage.c"
890280849Scy  puts(_("   Arg Option-Name   Req?  Description\n"));
891280849Scy#line 1315 "../usage.c"
892280849Scy  puts(_("  Flg Arg Option-Name   Req?  Description\n"));
893280849Scy#line 167 "../enum.c"
894280849Scy  puts(_("or you may use a numeric representation.  Preceding these with a '!'\n"
895280849Scy       "will clear the bits, specifying 'none' will clear all bits, and 'all'\n"
896280849Scy       "will set them all.  Multiple entries may be passed as an option\n"
897280849Scy       "argument list.\n"));
898280849Scy#line 910 "../usage.c"
899280849Scy  puts(_("\t\t\t\t- may appear up to %d times\n"));
900280849Scy#line 77 "../enum.c"
901280849Scy  puts(_("The valid \"%s\" option keywords are:\n"));
902280849Scy#line 1152 "../usage.c"
903280849Scy  puts(_("The next option supports vendor supported extra options:"));
904280849Scy#line 773 "../usage.c"
905280849Scy  puts(_("These additional options are:"));
906280849Scy  /* END-USAGE-TEXT */
907280849Scy}
908280849Scy#endif /* uncompilable code */
909258945Sroberto#ifdef  __cplusplus
910258945Sroberto}
911258945Sroberto#endif
912258945Sroberto/* ntpsnmpd-opts.c ends here */
913