Imported Upstream version 3.4.11
[platform/upstream/gnutls.git] / src / danetool-args.c.bak
1 /*   -*- buffer-read-only: t -*- vi: set ro:
2  *
3  *  DO NOT EDIT THIS FILE   (danetool-args.c)
4  *
5  *  It has been AutoGen-ed
6  *  From the definitions    danetool-args.def
7  *  and the template file   options
8  *
9  * Generated from AutoOpts 41:1:16 templates.
10  *
11  *  AutoOpts is a copyrighted work.  This source file is not encumbered
12  *  by AutoOpts licensing, but is provided under the licensing terms chosen
13  *  by the danetool author or copyright holder.  AutoOpts is
14  *  licensed under the terms of the LGPL.  The redistributable library
15  *  (``libopts'') is licensed under the terms of either the LGPL or, at the
16  *  users discretion, the BSD license.  See the AutoOpts and/or libopts sources
17  *  for details.
18  *
19  * The danetool program is copyrighted and licensed
20  * under the following terms:
21  *
22  *  Copyright (C) 2000-2016 Free Software Foundation, and others, all rights reserved.
23  *  This is free software. It is licensed for use, modification and
24  *  redistribution under the terms of the GNU General Public License,
25  *  version 3 or later <http://gnu.org/licenses/gpl.html>
26  *
27  *  danetool is free software: you can redistribute it and/or modify it
28  *  under the terms of the GNU General Public License as published by the
29  *  Free Software Foundation, either version 3 of the License, or
30  *  (at your option) any later version.
31  *
32  *  danetool is distributed in the hope that it will be useful, but
33  *  WITHOUT ANY WARRANTY; without even the implied warranty of
34  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
35  *  See the GNU General Public License for more details.
36  *
37  *  You should have received a copy of the GNU General Public License along
38  *  with this program.  If not, see <http://www.gnu.org/licenses/>.
39  */
40
41 #ifndef __doxygen__
42 #define OPTION_CODE_COMPILE 1
43 #include "danetool-args.h"
44 #include <sys/types.h>
45
46 #include <limits.h>
47 #include <stdio.h>
48 #include <stdlib.h>
49 #include <errno.h>
50
51 #ifdef  __cplusplus
52 extern "C" {
53 #endif
54 extern FILE * option_usage_fp;
55 #define zCopyright      (danetool_opt_strs+0)
56 #define zLicenseDescrip (danetool_opt_strs+284)
57
58
59 #ifndef NULL
60 #  define NULL 0
61 #endif
62
63 /**
64  *  static const strings for danetool options
65  */
66 static char const danetool_opt_strs[2830] =
67 /*     0 */ "danetool 3.4.11\n"
68             "Copyright (C) 2000-2016 Free Software Foundation, and others, all rights reserved.\n"
69             "This is free software. It is licensed for use, modification and\n"
70             "redistribution under the terms of the GNU General Public License,\n"
71             "version 3 or later <http://gnu.org/licenses/gpl.html>\n\0"
72 /*   284 */ "danetool is free software: you can redistribute it and/or modify it under\n"
73             "the terms of the GNU General Public License as published by the Free\n"
74             "Software Foundation, either version 3 of the License, or (at your option)\n"
75             "any later version.\n\n"
76             "danetool is distributed in the hope that it will be useful, but WITHOUT ANY\n"
77             "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\n"
78             "FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more\n"
79             "details.\n\n"
80             "You should have received a copy of the GNU General Public License along\n"
81             "with this program.  If not, see <http://www.gnu.org/licenses/>.\n\0"
82 /*   889 */ "Enable debugging\0"
83 /*   906 */ "DEBUG\0"
84 /*   912 */ "debug\0"
85 /*   918 */ "More verbose output\0"
86 /*   938 */ "VERBOSE\0"
87 /*   946 */ "verbose\0"
88 /*   954 */ "Input file\0"
89 /*   965 */ "INFILE\0"
90 /*   972 */ "infile\0"
91 /*   979 */ "Output file\0"
92 /*   991 */ "OUTFILE\0"
93 /*   999 */ "outfile\0"
94 /*  1007 */ "Loads a public key file\0"
95 /*  1031 */ "LOAD_PUBKEY\0"
96 /*  1043 */ "load-pubkey\0"
97 /*  1055 */ "Loads a certificate file\0"
98 /*  1080 */ "LOAD_CERTIFICATE\0"
99 /*  1097 */ "load-certificate\0"
100 /*  1114 */ "Sets a DLV file\0"
101 /*  1130 */ "DLV\0"
102 /*  1134 */ "dlv\0"
103 /*  1138 */ "Hash algorithm to use for signing\0"
104 /*  1172 */ "HASH\0"
105 /*  1177 */ "hash\0"
106 /*  1182 */ "Check a host's DANE TLSA entry\0"
107 /*  1213 */ "CHECK\0"
108 /*  1219 */ "check\0"
109 /*  1225 */ "Check only the end-entity's certificate\0"
110 /*  1265 */ "CHECK_EE\0"
111 /*  1274 */ "check-ee\0"
112 /*  1283 */ "Check only the CA's certificate\0"
113 /*  1315 */ "CHECK_CA\0"
114 /*  1324 */ "check-ca\0"
115 /*  1333 */ "Print the DANE RR data on a certificate or public key\0"
116 /*  1387 */ "TLSA_RR\0"
117 /*  1395 */ "tlsa-rr\0"
118 /*  1403 */ "Specify the hostname to be used in the DANE RR\0"
119 /*  1450 */ "HOST\0"
120 /*  1455 */ "host\0"
121 /*  1460 */ "The protocol set for DANE data (tcp, udp etc.)\0"
122 /*  1507 */ "PROTO\0"
123 /*  1513 */ "proto\0"
124 /*  1519 */ "Specify the port number for the DANE data\0"
125 /*  1561 */ "PORT\0"
126 /*  1566 */ "port\0"
127 /*  1571 */ "an alias for the 'starttls-proto' option\0"
128 /*  1612 */ "app-proto\0"
129 /*  1622 */ "The application protocol to be used to obtain the server's certificate\n"
130             "(https, ftp, smtp, imap, ldap, xmpp)\0"
131 /*  1730 */ "STARTTLS_PROTO\0"
132 /*  1745 */ "starttls-proto\0"
133 /*  1760 */ "Whether the provided certificate or public key is a Certificate\n"
134             "Authority\0"
135 /*  1834 */ "CA\0"
136 /*  1837 */ "ca\0"
137 /*  1840 */ "Use the hash of the X.509 certificate, rather than the public key\0"
138 /*  1906 */ "X509\0"
139 /*  1911 */ "x509\0"
140 /*  1916 */ "an alias for the 'domain' option\0"
141 /*  1949 */ "local\0"
142 /*  1955 */ "The provided certificate or public key is issued by the local domain\0"
143 /*  2024 */ "DOMAIN\0"
144 /*  2031 */ "no-domain\0"
145 /*  2041 */ "no\0"
146 /*  2044 */ "Use the local DNS server for DNSSEC resolving\0"
147 /*  2090 */ "LOCAL_DNS\0"
148 /*  2100 */ "no-local-dns\0"
149 /*  2113 */ "Do not verify any DNSSEC signature\0"
150 /*  2148 */ "INSECURE\0"
151 /*  2157 */ "insecure\0"
152 /*  2166 */ "Use DER format for input certificates and private keys\0"
153 /*  2221 */ "INDER\0"
154 /*  2227 */ "no-inder\0"
155 /*  2236 */ "an alias for the 'inder' option\0"
156 /*  2268 */ "inraw\0"
157 /*  2274 */ "Print the received DANE data in raw format\0"
158 /*  2317 */ "PRINT_RAW\0"
159 /*  2327 */ "no-print-raw\0"
160 /*  2340 */ "Suppress several informational messages\0"
161 /*  2380 */ "QUIET\0"
162 /*  2386 */ "quiet\0"
163 /*  2392 */ "display extended usage information and exit\0"
164 /*  2436 */ "help\0"
165 /*  2441 */ "extended usage information passed thru pager\0"
166 /*  2486 */ "more-help\0"
167 /*  2496 */ "output version information and exit\0"
168 /*  2532 */ "version\0"
169 /*  2540 */ "DANETOOL\0"
170 /*  2549 */ "danetool - GnuTLS DANE tool\n"
171             "Usage:  %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n\0"
172 /*  2635 */ "bugs@gnutls.org\0"
173 /*  2651 */ "\n\0"
174 /*  2653 */ "Tool to generate and check DNS resource records for the DANE protocol.\n\0"
175 /*  2725 */ "danetool 3.4.11\0"
176 /*  2741 */ "danetool --[tlsa-rr|check] [options]\n"
177             "danetool --help for additional usage instructions.\n";
178
179 /**
180  *  debug option description:
181  */
182 /** Descriptive text for the debug option */
183 #define DEBUG_DESC      (danetool_opt_strs+889)
184 /** Upper-cased name for the debug option */
185 #define DEBUG_NAME      (danetool_opt_strs+906)
186 /** Name string for the debug option */
187 #define DEBUG_name      (danetool_opt_strs+912)
188 /** Compiled in flag settings for the debug option */
189 #define DEBUG_FLAGS     (OPTST_DISABLED \
190         | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
191
192 /**
193  *  verbose option description:
194  */
195 /** Descriptive text for the verbose option */
196 #define VERBOSE_DESC      (danetool_opt_strs+918)
197 /** Upper-cased name for the verbose option */
198 #define VERBOSE_NAME      (danetool_opt_strs+938)
199 /** Name string for the verbose option */
200 #define VERBOSE_name      (danetool_opt_strs+946)
201 /** Compiled in flag settings for the verbose option */
202 #define VERBOSE_FLAGS     (OPTST_DISABLED)
203
204 /**
205  *  infile option description:
206  */
207 /** Descriptive text for the infile option */
208 #define INFILE_DESC      (danetool_opt_strs+954)
209 /** Upper-cased name for the infile option */
210 #define INFILE_NAME      (danetool_opt_strs+965)
211 /** Name string for the infile option */
212 #define INFILE_name      (danetool_opt_strs+972)
213 /** Compiled in flag settings for the infile option */
214 #define INFILE_FLAGS     (OPTST_DISABLED \
215         | OPTST_SET_ARGTYPE(OPARG_TYPE_FILE))
216
217 /**
218  *  outfile option description:
219  */
220 /** Descriptive text for the outfile option */
221 #define OUTFILE_DESC      (danetool_opt_strs+979)
222 /** Upper-cased name for the outfile option */
223 #define OUTFILE_NAME      (danetool_opt_strs+991)
224 /** Name string for the outfile option */
225 #define OUTFILE_name      (danetool_opt_strs+999)
226 /** Compiled in flag settings for the outfile option */
227 #define OUTFILE_FLAGS     (OPTST_DISABLED \
228         | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
229
230 /**
231  *  load-pubkey option description:
232  */
233 /** Descriptive text for the load-pubkey option */
234 #define LOAD_PUBKEY_DESC      (danetool_opt_strs+1007)
235 /** Upper-cased name for the load-pubkey option */
236 #define LOAD_PUBKEY_NAME      (danetool_opt_strs+1031)
237 /** Name string for the load-pubkey option */
238 #define LOAD_PUBKEY_name      (danetool_opt_strs+1043)
239 /** Compiled in flag settings for the load-pubkey option */
240 #define LOAD_PUBKEY_FLAGS     (OPTST_DISABLED \
241         | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
242
243 /**
244  *  load-certificate option description:
245  */
246 /** Descriptive text for the load-certificate option */
247 #define LOAD_CERTIFICATE_DESC      (danetool_opt_strs+1055)
248 /** Upper-cased name for the load-certificate option */
249 #define LOAD_CERTIFICATE_NAME      (danetool_opt_strs+1080)
250 /** Name string for the load-certificate option */
251 #define LOAD_CERTIFICATE_name      (danetool_opt_strs+1097)
252 /** Compiled in flag settings for the load-certificate option */
253 #define LOAD_CERTIFICATE_FLAGS     (OPTST_DISABLED \
254         | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
255
256 /**
257  *  dlv option description:
258  */
259 /** Descriptive text for the dlv option */
260 #define DLV_DESC      (danetool_opt_strs+1114)
261 /** Upper-cased name for the dlv option */
262 #define DLV_NAME      (danetool_opt_strs+1130)
263 /** Name string for the dlv option */
264 #define DLV_name      (danetool_opt_strs+1134)
265 /** Compiled in flag settings for the dlv option */
266 #define DLV_FLAGS     (OPTST_DISABLED \
267         | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
268
269 /**
270  *  hash option description:
271  */
272 /** Descriptive text for the hash option */
273 #define HASH_DESC      (danetool_opt_strs+1138)
274 /** Upper-cased name for the hash option */
275 #define HASH_NAME      (danetool_opt_strs+1172)
276 /** Name string for the hash option */
277 #define HASH_name      (danetool_opt_strs+1177)
278 /** Compiled in flag settings for the hash option */
279 #define HASH_FLAGS     (OPTST_DISABLED \
280         | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
281
282 /**
283  *  check option description:
284  */
285 /** Descriptive text for the check option */
286 #define CHECK_DESC      (danetool_opt_strs+1182)
287 /** Upper-cased name for the check option */
288 #define CHECK_NAME      (danetool_opt_strs+1213)
289 /** Name string for the check option */
290 #define CHECK_name      (danetool_opt_strs+1219)
291 /** Compiled in flag settings for the check option */
292 #define CHECK_FLAGS     (OPTST_DISABLED \
293         | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
294
295 /**
296  *  check-ee option description:
297  */
298 /** Descriptive text for the check-ee option */
299 #define CHECK_EE_DESC      (danetool_opt_strs+1225)
300 /** Upper-cased name for the check-ee option */
301 #define CHECK_EE_NAME      (danetool_opt_strs+1265)
302 /** Name string for the check-ee option */
303 #define CHECK_EE_name      (danetool_opt_strs+1274)
304 /** Compiled in flag settings for the check-ee option */
305 #define CHECK_EE_FLAGS     (OPTST_DISABLED)
306
307 /**
308  *  check-ca option description:
309  */
310 /** Descriptive text for the check-ca option */
311 #define CHECK_CA_DESC      (danetool_opt_strs+1283)
312 /** Upper-cased name for the check-ca option */
313 #define CHECK_CA_NAME      (danetool_opt_strs+1315)
314 /** Name string for the check-ca option */
315 #define CHECK_CA_name      (danetool_opt_strs+1324)
316 /** Compiled in flag settings for the check-ca option */
317 #define CHECK_CA_FLAGS     (OPTST_DISABLED)
318
319 /**
320  *  tlsa-rr option description with
321  *  "Must also have options" and "Incompatible options":
322  */
323 /** Descriptive text for the tlsa-rr option */
324 #define TLSA_RR_DESC      (danetool_opt_strs+1333)
325 /** Upper-cased name for the tlsa-rr option */
326 #define TLSA_RR_NAME      (danetool_opt_strs+1387)
327 /** Name string for the tlsa-rr option */
328 #define TLSA_RR_name      (danetool_opt_strs+1395)
329 /** Other options that are required by the tlsa-rr option */
330 static int const aTlsa_RrMustList[] = {
331     INDEX_OPT_HOST, NO_EQUIVALENT };
332 /** Compiled in flag settings for the tlsa-rr option */
333 #define TLSA_RR_FLAGS     (OPTST_DISABLED)
334
335 /**
336  *  host option description:
337  */
338 /** Descriptive text for the host option */
339 #define HOST_DESC      (danetool_opt_strs+1403)
340 /** Upper-cased name for the host option */
341 #define HOST_NAME      (danetool_opt_strs+1450)
342 /** Name string for the host option */
343 #define HOST_name      (danetool_opt_strs+1455)
344 /** Compiled in flag settings for the host option */
345 #define HOST_FLAGS     (OPTST_DISABLED \
346         | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
347
348 /**
349  *  proto option description:
350  */
351 /** Descriptive text for the proto option */
352 #define PROTO_DESC      (danetool_opt_strs+1460)
353 /** Upper-cased name for the proto option */
354 #define PROTO_NAME      (danetool_opt_strs+1507)
355 /** Name string for the proto option */
356 #define PROTO_name      (danetool_opt_strs+1513)
357 /** Compiled in flag settings for the proto option */
358 #define PROTO_FLAGS     (OPTST_DISABLED \
359         | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
360
361 /**
362  *  port option description:
363  */
364 /** Descriptive text for the port option */
365 #define PORT_DESC      (danetool_opt_strs+1519)
366 /** Upper-cased name for the port option */
367 #define PORT_NAME      (danetool_opt_strs+1561)
368 /** Name string for the port option */
369 #define PORT_name      (danetool_opt_strs+1566)
370 /** Compiled in flag settings for the port option */
371 #define PORT_FLAGS     (OPTST_DISABLED \
372         | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC))
373
374 /**
375  *  app-proto option description:
376  */
377 /** Descriptive text for the app-proto option */
378 #define APP_PROTO_DESC    (danetool_opt_strs+1571)
379 #define APP_PROTO_NAME    NULL
380 /** Unmodified name string for the app-proto option */
381 #define APP_PROTO_name    (danetool_opt_strs+1612)
382 /** Compiled in flag settings for the app-proto option */
383 #define APP_PROTO_FLAGS     (STARTTLS_PROTO_FLAGS | OPTST_ALIAS)
384
385 /**
386  *  starttls-proto option description:
387  */
388 /** Descriptive text for the starttls-proto option */
389 #define STARTTLS_PROTO_DESC      (danetool_opt_strs+1622)
390 /** Upper-cased name for the starttls-proto option */
391 #define STARTTLS_PROTO_NAME      (danetool_opt_strs+1730)
392 /** Name string for the starttls-proto option */
393 #define STARTTLS_PROTO_name      (danetool_opt_strs+1745)
394 /** Compiled in flag settings for the starttls-proto option */
395 #define STARTTLS_PROTO_FLAGS     (OPTST_DISABLED \
396         | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
397
398 /**
399  *  ca option description:
400  */
401 /** Descriptive text for the ca option */
402 #define CA_DESC      (danetool_opt_strs+1760)
403 /** Upper-cased name for the ca option */
404 #define CA_NAME      (danetool_opt_strs+1834)
405 /** Name string for the ca option */
406 #define CA_name      (danetool_opt_strs+1837)
407 /** Compiled in flag settings for the ca option */
408 #define CA_FLAGS     (OPTST_DISABLED)
409
410 /**
411  *  x509 option description:
412  */
413 /** Descriptive text for the x509 option */
414 #define X509_DESC      (danetool_opt_strs+1840)
415 /** Upper-cased name for the x509 option */
416 #define X509_NAME      (danetool_opt_strs+1906)
417 /** Name string for the x509 option */
418 #define X509_name      (danetool_opt_strs+1911)
419 /** Compiled in flag settings for the x509 option */
420 #define X509_FLAGS     (OPTST_DISABLED)
421
422 /**
423  *  local option description:
424  */
425 /** Descriptive text for the local option */
426 #define LOCAL_DESC    (danetool_opt_strs+1916)
427 #define LOCAL_NAME    NULL
428 /** Unmodified name string for the local option */
429 #define LOCAL_name    (danetool_opt_strs+1949)
430 /** Compiled in flag settings for the local option */
431 #define LOCAL_FLAGS     (DOMAIN_FLAGS | OPTST_ALIAS)
432
433 /**
434  *  domain option description:
435  */
436 /** Descriptive text for the domain option */
437 #define DOMAIN_DESC      (danetool_opt_strs+1955)
438 /** Upper-cased name for the domain option */
439 #define DOMAIN_NAME      (danetool_opt_strs+2024)
440 /** disablement name for the domain option */
441 #define NOT_DOMAIN_name  (danetool_opt_strs+2031)
442 /** disablement prefix for the domain option */
443 #define NOT_DOMAIN_PFX   (danetool_opt_strs+2041)
444 /** Name string for the domain option */
445 #define DOMAIN_name      (NOT_DOMAIN_name + 3)
446 /** Compiled in flag settings for the domain option */
447 #define DOMAIN_FLAGS     (OPTST_INITENABLED)
448
449 /**
450  *  local-dns option description:
451  */
452 /** Descriptive text for the local-dns option */
453 #define LOCAL_DNS_DESC      (danetool_opt_strs+2044)
454 /** Upper-cased name for the local-dns option */
455 #define LOCAL_DNS_NAME      (danetool_opt_strs+2090)
456 /** disablement name for the local-dns option */
457 #define NOT_LOCAL_DNS_name  (danetool_opt_strs+2100)
458 /** disablement prefix for the local-dns option */
459 #define NOT_LOCAL_DNS_PFX   (danetool_opt_strs+2041)
460 /** Name string for the local-dns option */
461 #define LOCAL_DNS_name      (NOT_LOCAL_DNS_name + 3)
462 /** Compiled in flag settings for the local-dns option */
463 #define LOCAL_DNS_FLAGS     (OPTST_DISABLED)
464
465 /**
466  *  insecure option description:
467  */
468 /** Descriptive text for the insecure option */
469 #define INSECURE_DESC      (danetool_opt_strs+2113)
470 /** Upper-cased name for the insecure option */
471 #define INSECURE_NAME      (danetool_opt_strs+2148)
472 /** Name string for the insecure option */
473 #define INSECURE_name      (danetool_opt_strs+2157)
474 /** Compiled in flag settings for the insecure option */
475 #define INSECURE_FLAGS     (OPTST_DISABLED)
476
477 /**
478  *  inder option description:
479  */
480 /** Descriptive text for the inder option */
481 #define INDER_DESC      (danetool_opt_strs+2166)
482 /** Upper-cased name for the inder option */
483 #define INDER_NAME      (danetool_opt_strs+2221)
484 /** disablement name for the inder option */
485 #define NOT_INDER_name  (danetool_opt_strs+2227)
486 /** disablement prefix for the inder option */
487 #define NOT_INDER_PFX   (danetool_opt_strs+2041)
488 /** Name string for the inder option */
489 #define INDER_name      (NOT_INDER_name + 3)
490 /** Compiled in flag settings for the inder option */
491 #define INDER_FLAGS     (OPTST_DISABLED)
492
493 /**
494  *  inraw option description:
495  */
496 /** Descriptive text for the inraw option */
497 #define INRAW_DESC    (danetool_opt_strs+2236)
498 #define INRAW_NAME    NULL
499 /** Unmodified name string for the inraw option */
500 #define INRAW_name    (danetool_opt_strs+2268)
501 /** Compiled in flag settings for the inraw option */
502 #define INRAW_FLAGS     (INDER_FLAGS | OPTST_ALIAS)
503
504 /**
505  *  print-raw option description:
506  */
507 /** Descriptive text for the print-raw option */
508 #define PRINT_RAW_DESC      (danetool_opt_strs+2274)
509 /** Upper-cased name for the print-raw option */
510 #define PRINT_RAW_NAME      (danetool_opt_strs+2317)
511 /** disablement name for the print-raw option */
512 #define NOT_PRINT_RAW_name  (danetool_opt_strs+2327)
513 /** disablement prefix for the print-raw option */
514 #define NOT_PRINT_RAW_PFX   (danetool_opt_strs+2041)
515 /** Name string for the print-raw option */
516 #define PRINT_RAW_name      (NOT_PRINT_RAW_name + 3)
517 /** Compiled in flag settings for the print-raw option */
518 #define PRINT_RAW_FLAGS     (OPTST_DISABLED)
519
520 /**
521  *  quiet option description:
522  */
523 /** Descriptive text for the quiet option */
524 #define QUIET_DESC      (danetool_opt_strs+2340)
525 /** Upper-cased name for the quiet option */
526 #define QUIET_NAME      (danetool_opt_strs+2380)
527 /** Name string for the quiet option */
528 #define QUIET_name      (danetool_opt_strs+2386)
529 /** Compiled in flag settings for the quiet option */
530 #define QUIET_FLAGS     (OPTST_DISABLED)
531
532 /*
533  *  Help/More_Help/Version option descriptions:
534  */
535 #define HELP_DESC       (danetool_opt_strs+2392)
536 #define HELP_name       (danetool_opt_strs+2436)
537 #ifdef HAVE_WORKING_FORK
538 #define MORE_HELP_DESC  (danetool_opt_strs+2441)
539 #define MORE_HELP_name  (danetool_opt_strs+2486)
540 #define MORE_HELP_FLAGS (OPTST_IMM | OPTST_NO_INIT)
541 #else
542 #define MORE_HELP_DESC  HELP_DESC
543 #define MORE_HELP_name  HELP_name
544 #define MORE_HELP_FLAGS (OPTST_OMITTED | OPTST_NO_INIT)
545 #endif
546 #ifdef NO_OPTIONAL_OPT_ARGS
547 #  define VER_FLAGS     (OPTST_IMM | OPTST_NO_INIT)
548 #else
549 #  define VER_FLAGS     (OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \
550                          OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT)
551 #endif
552 #define VER_DESC        (danetool_opt_strs+2496)
553 #define VER_name        (danetool_opt_strs+2532)
554 /**
555  *  Declare option callback procedures
556  */
557 extern tOptProc
558     optionBooleanVal,   optionNestedVal,    optionNumericVal,
559     optionPagedUsage,   optionPrintVersion, optionResetOpt,
560     optionStackArg,     optionTimeDate,     optionTimeVal,
561     optionUnstackArg,   optionVendorOption;
562 static tOptProc
563     doOptApp_Proto, doOptDebug,     doOptInfile,    doOptInraw,
564     doOptLocal,     doUsageOpt;
565 #define VER_PROC        optionPrintVersion
566
567 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
568 /**
569  *  Define the danetool Option Descriptions.
570  * This is an array of OPTION_CT entries, one for each
571  * option that the danetool program responds to.
572  */
573 static tOptDesc optDesc[OPTION_CT] = {
574   {  /* entry idx, value */ 0, VALUE_OPT_DEBUG,
575      /* equiv idx, value */ 0, VALUE_OPT_DEBUG,
576      /* equivalenced to  */ NO_EQUIVALENT,
577      /* min, max, act ct */ 0, 1, 0,
578      /* opt state flags  */ DEBUG_FLAGS, 0,
579      /* last opt argumnt */ { NULL }, /* --debug */
580      /* arg list/cookie  */ NULL,
581      /* must/cannot opts */ NULL, NULL,
582      /* option proc      */ doOptDebug,
583      /* desc, NAME, name */ DEBUG_DESC, DEBUG_NAME, DEBUG_name,
584      /* disablement strs */ NULL, NULL },
585
586   {  /* entry idx, value */ 1, VALUE_OPT_VERBOSE,
587      /* equiv idx, value */ 1, VALUE_OPT_VERBOSE,
588      /* equivalenced to  */ NO_EQUIVALENT,
589      /* min, max, act ct */ 0, NOLIMIT, 0,
590      /* opt state flags  */ VERBOSE_FLAGS, 0,
591      /* last opt argumnt */ { NULL }, /* --verbose */
592      /* arg list/cookie  */ NULL,
593      /* must/cannot opts */ NULL, NULL,
594      /* option proc      */ NULL,
595      /* desc, NAME, name */ VERBOSE_DESC, VERBOSE_NAME, VERBOSE_name,
596      /* disablement strs */ NULL, NULL },
597
598   {  /* entry idx, value */ 2, VALUE_OPT_INFILE,
599      /* equiv idx, value */ 2, VALUE_OPT_INFILE,
600      /* equivalenced to  */ NO_EQUIVALENT,
601      /* min, max, act ct */ 0, 1, 0,
602      /* opt state flags  */ INFILE_FLAGS, 0,
603      /* last opt argumnt */ { NULL }, /* --infile */
604      /* arg list/cookie  */ NULL,
605      /* must/cannot opts */ NULL, NULL,
606      /* option proc      */ doOptInfile,
607      /* desc, NAME, name */ INFILE_DESC, INFILE_NAME, INFILE_name,
608      /* disablement strs */ NULL, NULL },
609
610   {  /* entry idx, value */ 3, VALUE_OPT_OUTFILE,
611      /* equiv idx, value */ 3, VALUE_OPT_OUTFILE,
612      /* equivalenced to  */ NO_EQUIVALENT,
613      /* min, max, act ct */ 0, 1, 0,
614      /* opt state flags  */ OUTFILE_FLAGS, 0,
615      /* last opt argumnt */ { NULL }, /* --outfile */
616      /* arg list/cookie  */ NULL,
617      /* must/cannot opts */ NULL, NULL,
618      /* option proc      */ NULL,
619      /* desc, NAME, name */ OUTFILE_DESC, OUTFILE_NAME, OUTFILE_name,
620      /* disablement strs */ NULL, NULL },
621
622   {  /* entry idx, value */ 4, VALUE_OPT_LOAD_PUBKEY,
623      /* equiv idx, value */ 4, VALUE_OPT_LOAD_PUBKEY,
624      /* equivalenced to  */ NO_EQUIVALENT,
625      /* min, max, act ct */ 0, 1, 0,
626      /* opt state flags  */ LOAD_PUBKEY_FLAGS, 0,
627      /* last opt argumnt */ { NULL }, /* --load-pubkey */
628      /* arg list/cookie  */ NULL,
629      /* must/cannot opts */ NULL, NULL,
630      /* option proc      */ NULL,
631      /* desc, NAME, name */ LOAD_PUBKEY_DESC, LOAD_PUBKEY_NAME, LOAD_PUBKEY_name,
632      /* disablement strs */ NULL, NULL },
633
634   {  /* entry idx, value */ 5, VALUE_OPT_LOAD_CERTIFICATE,
635      /* equiv idx, value */ 5, VALUE_OPT_LOAD_CERTIFICATE,
636      /* equivalenced to  */ NO_EQUIVALENT,
637      /* min, max, act ct */ 0, 1, 0,
638      /* opt state flags  */ LOAD_CERTIFICATE_FLAGS, 0,
639      /* last opt argumnt */ { NULL }, /* --load-certificate */
640      /* arg list/cookie  */ NULL,
641      /* must/cannot opts */ NULL, NULL,
642      /* option proc      */ NULL,
643      /* desc, NAME, name */ LOAD_CERTIFICATE_DESC, LOAD_CERTIFICATE_NAME, LOAD_CERTIFICATE_name,
644      /* disablement strs */ NULL, NULL },
645
646   {  /* entry idx, value */ 6, VALUE_OPT_DLV,
647      /* equiv idx, value */ 6, VALUE_OPT_DLV,
648      /* equivalenced to  */ NO_EQUIVALENT,
649      /* min, max, act ct */ 0, 1, 0,
650      /* opt state flags  */ DLV_FLAGS, 0,
651      /* last opt argumnt */ { NULL }, /* --dlv */
652      /* arg list/cookie  */ NULL,
653      /* must/cannot opts */ NULL, NULL,
654      /* option proc      */ NULL,
655      /* desc, NAME, name */ DLV_DESC, DLV_NAME, DLV_name,
656      /* disablement strs */ NULL, NULL },
657
658   {  /* entry idx, value */ 7, VALUE_OPT_HASH,
659      /* equiv idx, value */ 7, VALUE_OPT_HASH,
660      /* equivalenced to  */ NO_EQUIVALENT,
661      /* min, max, act ct */ 0, 1, 0,
662      /* opt state flags  */ HASH_FLAGS, 0,
663      /* last opt argumnt */ { NULL }, /* --hash */
664      /* arg list/cookie  */ NULL,
665      /* must/cannot opts */ NULL, NULL,
666      /* option proc      */ NULL,
667      /* desc, NAME, name */ HASH_DESC, HASH_NAME, HASH_name,
668      /* disablement strs */ NULL, NULL },
669
670   {  /* entry idx, value */ 8, VALUE_OPT_CHECK,
671      /* equiv idx, value */ 8, VALUE_OPT_CHECK,
672      /* equivalenced to  */ NO_EQUIVALENT,
673      /* min, max, act ct */ 0, 1, 0,
674      /* opt state flags  */ CHECK_FLAGS, 0,
675      /* last opt argumnt */ { NULL }, /* --check */
676      /* arg list/cookie  */ NULL,
677      /* must/cannot opts */ NULL, NULL,
678      /* option proc      */ NULL,
679      /* desc, NAME, name */ CHECK_DESC, CHECK_NAME, CHECK_name,
680      /* disablement strs */ NULL, NULL },
681
682   {  /* entry idx, value */ 9, VALUE_OPT_CHECK_EE,
683      /* equiv idx, value */ 9, VALUE_OPT_CHECK_EE,
684      /* equivalenced to  */ NO_EQUIVALENT,
685      /* min, max, act ct */ 0, 1, 0,
686      /* opt state flags  */ CHECK_EE_FLAGS, 0,
687      /* last opt argumnt */ { NULL }, /* --check-ee */
688      /* arg list/cookie  */ NULL,
689      /* must/cannot opts */ NULL, NULL,
690      /* option proc      */ NULL,
691      /* desc, NAME, name */ CHECK_EE_DESC, CHECK_EE_NAME, CHECK_EE_name,
692      /* disablement strs */ NULL, NULL },
693
694   {  /* entry idx, value */ 10, VALUE_OPT_CHECK_CA,
695      /* equiv idx, value */ 10, VALUE_OPT_CHECK_CA,
696      /* equivalenced to  */ NO_EQUIVALENT,
697      /* min, max, act ct */ 0, 1, 0,
698      /* opt state flags  */ CHECK_CA_FLAGS, 0,
699      /* last opt argumnt */ { NULL }, /* --check-ca */
700      /* arg list/cookie  */ NULL,
701      /* must/cannot opts */ NULL, NULL,
702      /* option proc      */ NULL,
703      /* desc, NAME, name */ CHECK_CA_DESC, CHECK_CA_NAME, CHECK_CA_name,
704      /* disablement strs */ NULL, NULL },
705
706   {  /* entry idx, value */ 11, VALUE_OPT_TLSA_RR,
707      /* equiv idx, value */ 11, VALUE_OPT_TLSA_RR,
708      /* equivalenced to  */ NO_EQUIVALENT,
709      /* min, max, act ct */ 0, 1, 0,
710      /* opt state flags  */ TLSA_RR_FLAGS, 0,
711      /* last opt argumnt */ { NULL }, /* --tlsa-rr */
712      /* arg list/cookie  */ NULL,
713      /* must/cannot opts */ aTlsa_RrMustList, NULL,
714      /* option proc      */ NULL,
715      /* desc, NAME, name */ TLSA_RR_DESC, TLSA_RR_NAME, TLSA_RR_name,
716      /* disablement strs */ NULL, NULL },
717
718   {  /* entry idx, value */ 12, VALUE_OPT_HOST,
719      /* equiv idx, value */ 12, VALUE_OPT_HOST,
720      /* equivalenced to  */ NO_EQUIVALENT,
721      /* min, max, act ct */ 0, 1, 0,
722      /* opt state flags  */ HOST_FLAGS, 0,
723      /* last opt argumnt */ { NULL }, /* --host */
724      /* arg list/cookie  */ NULL,
725      /* must/cannot opts */ NULL, NULL,
726      /* option proc      */ NULL,
727      /* desc, NAME, name */ HOST_DESC, HOST_NAME, HOST_name,
728      /* disablement strs */ NULL, NULL },
729
730   {  /* entry idx, value */ 13, VALUE_OPT_PROTO,
731      /* equiv idx, value */ 13, VALUE_OPT_PROTO,
732      /* equivalenced to  */ NO_EQUIVALENT,
733      /* min, max, act ct */ 0, 1, 0,
734      /* opt state flags  */ PROTO_FLAGS, 0,
735      /* last opt argumnt */ { NULL }, /* --proto */
736      /* arg list/cookie  */ NULL,
737      /* must/cannot opts */ NULL, NULL,
738      /* option proc      */ NULL,
739      /* desc, NAME, name */ PROTO_DESC, PROTO_NAME, PROTO_name,
740      /* disablement strs */ NULL, NULL },
741
742   {  /* entry idx, value */ 14, VALUE_OPT_PORT,
743      /* equiv idx, value */ 14, VALUE_OPT_PORT,
744      /* equivalenced to  */ NO_EQUIVALENT,
745      /* min, max, act ct */ 0, 1, 0,
746      /* opt state flags  */ PORT_FLAGS, 0,
747      /* last opt argumnt */ { NULL }, /* --port */
748      /* arg list/cookie  */ NULL,
749      /* must/cannot opts */ NULL, NULL,
750      /* option proc      */ optionNumericVal,
751      /* desc, NAME, name */ PORT_DESC, PORT_NAME, PORT_name,
752      /* disablement strs */ NULL, NULL },
753
754   {  /* entry idx, value */ 15, VALUE_OPT_APP_PROTO,
755      /* equiv idx, value */ 15, VALUE_OPT_APP_PROTO,
756      /* equivalenced to  */ NO_EQUIVALENT,
757      /* min, max, act ct */ 0, 1, 0,
758      /* opt state flags  */ APP_PROTO_FLAGS, 0,
759      /* last opt argumnt */ { NULL }, /* --app-proto */
760      /* arg list/cookie  */ NULL,
761      /* must/cannot opts */ NULL, NULL,
762      /* option proc      */ doOptApp_Proto,
763      /* desc, NAME, name */ APP_PROTO_DESC, APP_PROTO_NAME, APP_PROTO_name,
764      /* disablement strs */ 0, 0 },
765
766   {  /* entry idx, value */ 16, VALUE_OPT_STARTTLS_PROTO,
767      /* equiv idx, value */ 16, VALUE_OPT_STARTTLS_PROTO,
768      /* equivalenced to  */ NO_EQUIVALENT,
769      /* min, max, act ct */ 0, 1, 0,
770      /* opt state flags  */ STARTTLS_PROTO_FLAGS, 0,
771      /* last opt argumnt */ { NULL }, /* --starttls-proto */
772      /* arg list/cookie  */ NULL,
773      /* must/cannot opts */ NULL, NULL,
774      /* option proc      */ NULL,
775      /* desc, NAME, name */ STARTTLS_PROTO_DESC, STARTTLS_PROTO_NAME, STARTTLS_PROTO_name,
776      /* disablement strs */ NULL, NULL },
777
778   {  /* entry idx, value */ 17, VALUE_OPT_CA,
779      /* equiv idx, value */ 17, VALUE_OPT_CA,
780      /* equivalenced to  */ NO_EQUIVALENT,
781      /* min, max, act ct */ 0, 1, 0,
782      /* opt state flags  */ CA_FLAGS, 0,
783      /* last opt argumnt */ { NULL }, /* --ca */
784      /* arg list/cookie  */ NULL,
785      /* must/cannot opts */ NULL, NULL,
786      /* option proc      */ NULL,
787      /* desc, NAME, name */ CA_DESC, CA_NAME, CA_name,
788      /* disablement strs */ NULL, NULL },
789
790   {  /* entry idx, value */ 18, VALUE_OPT_X509,
791      /* equiv idx, value */ 18, VALUE_OPT_X509,
792      /* equivalenced to  */ NO_EQUIVALENT,
793      /* min, max, act ct */ 0, 1, 0,
794      /* opt state flags  */ X509_FLAGS, 0,
795      /* last opt argumnt */ { NULL }, /* --x509 */
796      /* arg list/cookie  */ NULL,
797      /* must/cannot opts */ NULL, NULL,
798      /* option proc      */ NULL,
799      /* desc, NAME, name */ X509_DESC, X509_NAME, X509_name,
800      /* disablement strs */ NULL, NULL },
801
802   {  /* entry idx, value */ 19, VALUE_OPT_LOCAL,
803      /* equiv idx, value */ 19, VALUE_OPT_LOCAL,
804      /* equivalenced to  */ NO_EQUIVALENT,
805      /* min, max, act ct */ 0, 1, 0,
806      /* opt state flags  */ LOCAL_FLAGS, 0,
807      /* last opt argumnt */ { NULL }, /* --local */
808      /* arg list/cookie  */ NULL,
809      /* must/cannot opts */ NULL, NULL,
810      /* option proc      */ doOptLocal,
811      /* desc, NAME, name */ LOCAL_DESC, LOCAL_NAME, LOCAL_name,
812      /* disablement strs */ 0, 0 },
813
814   {  /* entry idx, value */ 20, VALUE_OPT_DOMAIN,
815      /* equiv idx, value */ 20, VALUE_OPT_DOMAIN,
816      /* equivalenced to  */ NO_EQUIVALENT,
817      /* min, max, act ct */ 0, 1, 0,
818      /* opt state flags  */ DOMAIN_FLAGS, 0,
819      /* last opt argumnt */ { NULL }, /* --domain */
820      /* arg list/cookie  */ NULL,
821      /* must/cannot opts */ NULL, NULL,
822      /* option proc      */ NULL,
823      /* desc, NAME, name */ DOMAIN_DESC, DOMAIN_NAME, DOMAIN_name,
824      /* disablement strs */ NOT_DOMAIN_name, NOT_DOMAIN_PFX },
825
826   {  /* entry idx, value */ 21, VALUE_OPT_LOCAL_DNS,
827      /* equiv idx, value */ 21, VALUE_OPT_LOCAL_DNS,
828      /* equivalenced to  */ NO_EQUIVALENT,
829      /* min, max, act ct */ 0, 1, 0,
830      /* opt state flags  */ LOCAL_DNS_FLAGS, 0,
831      /* last opt argumnt */ { NULL }, /* --local-dns */
832      /* arg list/cookie  */ NULL,
833      /* must/cannot opts */ NULL, NULL,
834      /* option proc      */ NULL,
835      /* desc, NAME, name */ LOCAL_DNS_DESC, LOCAL_DNS_NAME, LOCAL_DNS_name,
836      /* disablement strs */ NOT_LOCAL_DNS_name, NOT_LOCAL_DNS_PFX },
837
838   {  /* entry idx, value */ 22, VALUE_OPT_INSECURE,
839      /* equiv idx, value */ 22, VALUE_OPT_INSECURE,
840      /* equivalenced to  */ NO_EQUIVALENT,
841      /* min, max, act ct */ 0, 1, 0,
842      /* opt state flags  */ INSECURE_FLAGS, 0,
843      /* last opt argumnt */ { NULL }, /* --insecure */
844      /* arg list/cookie  */ NULL,
845      /* must/cannot opts */ NULL, NULL,
846      /* option proc      */ NULL,
847      /* desc, NAME, name */ INSECURE_DESC, INSECURE_NAME, INSECURE_name,
848      /* disablement strs */ NULL, NULL },
849
850   {  /* entry idx, value */ 23, VALUE_OPT_INDER,
851      /* equiv idx, value */ 23, VALUE_OPT_INDER,
852      /* equivalenced to  */ NO_EQUIVALENT,
853      /* min, max, act ct */ 0, 1, 0,
854      /* opt state flags  */ INDER_FLAGS, 0,
855      /* last opt argumnt */ { NULL }, /* --inder */
856      /* arg list/cookie  */ NULL,
857      /* must/cannot opts */ NULL, NULL,
858      /* option proc      */ NULL,
859      /* desc, NAME, name */ INDER_DESC, INDER_NAME, INDER_name,
860      /* disablement strs */ NOT_INDER_name, NOT_INDER_PFX },
861
862   {  /* entry idx, value */ 24, VALUE_OPT_INRAW,
863      /* equiv idx, value */ 24, VALUE_OPT_INRAW,
864      /* equivalenced to  */ NO_EQUIVALENT,
865      /* min, max, act ct */ 0, 1, 0,
866      /* opt state flags  */ INRAW_FLAGS, 0,
867      /* last opt argumnt */ { NULL }, /* --inraw */
868      /* arg list/cookie  */ NULL,
869      /* must/cannot opts */ NULL, NULL,
870      /* option proc      */ doOptInraw,
871      /* desc, NAME, name */ INRAW_DESC, INRAW_NAME, INRAW_name,
872      /* disablement strs */ 0, 0 },
873
874   {  /* entry idx, value */ 25, VALUE_OPT_PRINT_RAW,
875      /* equiv idx, value */ 25, VALUE_OPT_PRINT_RAW,
876      /* equivalenced to  */ NO_EQUIVALENT,
877      /* min, max, act ct */ 0, 1, 0,
878      /* opt state flags  */ PRINT_RAW_FLAGS, 0,
879      /* last opt argumnt */ { NULL }, /* --print-raw */
880      /* arg list/cookie  */ NULL,
881      /* must/cannot opts */ NULL, NULL,
882      /* option proc      */ NULL,
883      /* desc, NAME, name */ PRINT_RAW_DESC, PRINT_RAW_NAME, PRINT_RAW_name,
884      /* disablement strs */ NOT_PRINT_RAW_name, NOT_PRINT_RAW_PFX },
885
886   {  /* entry idx, value */ 26, VALUE_OPT_QUIET,
887      /* equiv idx, value */ 26, VALUE_OPT_QUIET,
888      /* equivalenced to  */ NO_EQUIVALENT,
889      /* min, max, act ct */ 0, 1, 0,
890      /* opt state flags  */ QUIET_FLAGS, 0,
891      /* last opt argumnt */ { NULL }, /* --quiet */
892      /* arg list/cookie  */ NULL,
893      /* must/cannot opts */ NULL, NULL,
894      /* option proc      */ NULL,
895      /* desc, NAME, name */ QUIET_DESC, QUIET_NAME, QUIET_name,
896      /* disablement strs */ NULL, NULL },
897
898   {  /* entry idx, value */ INDEX_OPT_VERSION, VALUE_OPT_VERSION,
899      /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_VERSION,
900      /* equivalenced to  */ NO_EQUIVALENT,
901      /* min, max, act ct */ 0, 1, 0,
902      /* opt state flags  */ VER_FLAGS, AOUSE_VERSION,
903      /* last opt argumnt */ { NULL },
904      /* arg list/cookie  */ NULL,
905      /* must/cannot opts */ NULL, NULL,
906      /* option proc      */ VER_PROC,
907      /* desc, NAME, name */ VER_DESC, NULL, VER_name,
908      /* disablement strs */ NULL, NULL },
909
910
911
912   {  /* entry idx, value */ INDEX_OPT_HELP, VALUE_OPT_HELP,
913      /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_HELP,
914      /* equivalenced to  */ NO_EQUIVALENT,
915      /* min, max, act ct */ 0, 1, 0,
916      /* opt state flags  */ OPTST_IMM | OPTST_NO_INIT, AOUSE_HELP,
917      /* last opt argumnt */ { NULL },
918      /* arg list/cookie  */ NULL,
919      /* must/cannot opts */ NULL, NULL,
920      /* option proc      */ doUsageOpt,
921      /* desc, NAME, name */ HELP_DESC, NULL, HELP_name,
922      /* disablement strs */ NULL, NULL },
923
924   {  /* entry idx, value */ INDEX_OPT_MORE_HELP, VALUE_OPT_MORE_HELP,
925      /* equiv idx value  */ NO_EQUIVALENT, VALUE_OPT_MORE_HELP,
926      /* equivalenced to  */ NO_EQUIVALENT,
927      /* min, max, act ct */ 0, 1, 0,
928      /* opt state flags  */ MORE_HELP_FLAGS, AOUSE_MORE_HELP,
929      /* last opt argumnt */ { NULL },
930      /* arg list/cookie  */ NULL,
931      /* must/cannot opts */ NULL,  NULL,
932      /* option proc      */ optionPagedUsage,
933      /* desc, NAME, name */ MORE_HELP_DESC, NULL, MORE_HELP_name,
934      /* disablement strs */ NULL, NULL }
935 };
936
937
938 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
939 /** Reference to the upper cased version of danetool. */
940 #define zPROGNAME       (danetool_opt_strs+2540)
941 /** Reference to the title line for danetool usage. */
942 #define zUsageTitle     (danetool_opt_strs+2549)
943 /** There is no danetool configuration file. */
944 #define zRcName         NULL
945 /** There are no directories to search for danetool config files. */
946 #define apzHomeList     NULL
947 /** The danetool program bug email address. */
948 #define zBugsAddr       (danetool_opt_strs+2635)
949 /** Clarification/explanation of what danetool does. */
950 #define zExplain        (danetool_opt_strs+2651)
951 /** Extra detail explaining what danetool does. */
952 #define zDetail         (danetool_opt_strs+2653)
953 /** The full version string for danetool. */
954 #define zFullVersion    (danetool_opt_strs+2725)
955 /* extracted from optcode.tlib near line 364 */
956
957 #if defined(ENABLE_NLS)
958 # define OPTPROC_BASE OPTPROC_TRANSLATE | OPTPROC_NXLAT_OPT
959   static tOptionXlateProc translate_option_strings;
960 #else
961 # define OPTPROC_BASE OPTPROC_NONE
962 # define translate_option_strings NULL
963 #endif /* ENABLE_NLS */
964
965 #define danetool_full_usage (NULL)
966 #define danetool_short_usage (danetool_opt_strs+2741)
967
968 #endif /* not defined __doxygen__ */
969
970 /*
971  *  Create the static procedure(s) declared above.
972  */
973 /**
974  * The callout function that invokes the optionUsage function.
975  *
976  * @param[in] opts the AutoOpts option description structure
977  * @param[in] od   the descriptor for the "help" (usage) option.
978  * @noreturn
979  */
980 static void
981 doUsageOpt(tOptions * opts, tOptDesc * od)
982 {
983     int ex_code;
984     ex_code = DANETOOL_EXIT_SUCCESS;
985     optionUsage(&danetoolOptions, ex_code);
986     /* NOTREACHED */
987     exit(DANETOOL_EXIT_FAILURE);
988     (void)opts;
989     (void)od;
990 }
991
992 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
993 /**
994  * Code to handle the debug option.
995  * Specifies the debug level.
996  * @param[in] pOptions the danetool options data structure
997  * @param[in,out] pOptDesc the option descriptor for this option.
998  */
999 static void
1000 doOptDebug(tOptions* pOptions, tOptDesc* pOptDesc)
1001 {
1002     static struct {long rmin, rmax;} const rng[1] = {
1003         { 0 ,  9999 } };
1004     int  ix;
1005
1006     if (pOptions <= OPTPROC_EMIT_LIMIT)
1007         goto emit_ranges;
1008     optionNumericVal(pOptions, pOptDesc);
1009
1010     for (ix = 0; ix < 1; ix++) {
1011         if (pOptDesc->optArg.argInt < rng[ix].rmin)
1012             continue;  /* ranges need not be ordered. */
1013         if (pOptDesc->optArg.argInt == rng[ix].rmin)
1014             return;
1015         if (rng[ix].rmax == LONG_MIN)
1016             continue;
1017         if (pOptDesc->optArg.argInt <= rng[ix].rmax)
1018             return;
1019     }
1020
1021     option_usage_fp = stderr;
1022
1023  emit_ranges:
1024 optionShowRange(pOptions, pOptDesc, VOIDP(rng), 1);
1025 }
1026
1027 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1028 /**
1029  * Code to handle the infile option.
1030  *
1031  * @param[in] pOptions the danetool options data structure
1032  * @param[in,out] pOptDesc the option descriptor for this option.
1033  */
1034 static void
1035 doOptInfile(tOptions* pOptions, tOptDesc* pOptDesc)
1036 {
1037     static teOptFileType const  type =
1038         FTYPE_MODE_MUST_EXIST + FTYPE_MODE_NO_OPEN;
1039     static tuFileMode           mode;
1040 #ifndef O_CLOEXEC
1041 #  define O_CLOEXEC 0
1042 #endif
1043     mode.file_flags = O_CLOEXEC;
1044
1045     /*
1046      * This function handles special invalid values for "pOptions"
1047      */
1048     optionFileCheck(pOptions, pOptDesc, type, mode);
1049 }
1050
1051 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1052 /**
1053  * Code to handle the app-proto option.
1054  *
1055  * @param[in] pOptions the danetool options data structure
1056  * @param[in,out] pOptDesc the option descriptor for this option.
1057  */
1058 static void
1059 doOptApp_Proto(tOptions* pOptions, tOptDesc* pOptDesc)
1060 {
1061     int res = optionAlias(pOptions, pOptDesc, INDEX_OPT_STARTTLS_PROTO);
1062     if ((res != 0) && ((pOptions->fOptSet & OPTPROC_ERRSTOP) != 0))
1063         USAGE(DANETOOL_EXIT_USAGE_ERROR);
1064
1065 }
1066
1067 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1068 /**
1069  * Code to handle the local option.
1070  *
1071  * @param[in] pOptions the danetool options data structure
1072  * @param[in,out] pOptDesc the option descriptor for this option.
1073  */
1074 static void
1075 doOptLocal(tOptions* pOptions, tOptDesc* pOptDesc)
1076 {
1077     int res = optionAlias(pOptions, pOptDesc, INDEX_OPT_DOMAIN);
1078     if ((res != 0) && ((pOptions->fOptSet & OPTPROC_ERRSTOP) != 0))
1079         USAGE(DANETOOL_EXIT_USAGE_ERROR);
1080
1081 }
1082
1083 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1084 /**
1085  * Code to handle the inraw option.
1086  *
1087  * @param[in] pOptions the danetool options data structure
1088  * @param[in,out] pOptDesc the option descriptor for this option.
1089  */
1090 static void
1091 doOptInraw(tOptions* pOptions, tOptDesc* pOptDesc)
1092 {
1093     int res = optionAlias(pOptions, pOptDesc, INDEX_OPT_INDER);
1094     if ((res != 0) && ((pOptions->fOptSet & OPTPROC_ERRSTOP) != 0))
1095         USAGE(DANETOOL_EXIT_USAGE_ERROR);
1096
1097 }
1098 /* extracted from optmain.tlib near line 1250 */
1099
1100 /**
1101  * The directory containing the data associated with danetool.
1102  */
1103 #ifndef  PKGDATADIR
1104 # define PKGDATADIR ""
1105 #endif
1106
1107 /**
1108  * Information about the person or institution that packaged danetool
1109  * for the current distribution.
1110  */
1111 #ifndef  WITH_PACKAGER
1112 # define danetool_packager_info NULL
1113 #else
1114 /** Packager information for danetool. */
1115 static char const danetool_packager_info[] =
1116     "Packaged by " WITH_PACKAGER
1117
1118 # ifdef WITH_PACKAGER_VERSION
1119         " ("WITH_PACKAGER_VERSION")"
1120 # endif
1121
1122 # ifdef WITH_PACKAGER_BUG_REPORTS
1123     "\nReport danetool bugs to " WITH_PACKAGER_BUG_REPORTS
1124 # endif
1125     "\n";
1126 #endif
1127 #ifndef __doxygen__
1128
1129 #endif /* __doxygen__ */
1130 /**
1131  * The option definitions for danetool.  The one structure that
1132  * binds them all.
1133  */
1134 tOptions danetoolOptions = {
1135     OPTIONS_STRUCT_VERSION,
1136     0, NULL,                    /* original argc + argv    */
1137     ( OPTPROC_BASE
1138     + OPTPROC_ERRSTOP
1139     + OPTPROC_SHORTOPT
1140     + OPTPROC_LONGOPT
1141     + OPTPROC_NO_REQ_OPT
1142     + OPTPROC_NEGATIONS
1143     + OPTPROC_NO_ARGS
1144     + OPTPROC_GNUUSAGE
1145     + OPTPROC_MISUSE ),
1146     0, NULL,                    /* current option index, current option */
1147     NULL,         NULL,         zPROGNAME,
1148     zRcName,      zCopyright,   zLicenseDescrip,
1149     zFullVersion, apzHomeList,  zUsageTitle,
1150     zExplain,     zDetail,      optDesc,
1151     zBugsAddr,                  /* address to send bugs to */
1152     NULL, NULL,                 /* extensions/saved state  */
1153     optionUsage, /* usage procedure */
1154     translate_option_strings,   /* translation procedure */
1155     /*
1156      *  Indexes to special options
1157      */
1158     { INDEX_OPT_MORE_HELP, /* more-help option index */
1159       NO_EQUIVALENT, /* save option index */
1160       NO_EQUIVALENT, /* '-#' option index */
1161       NO_EQUIVALENT /* index of default opt */
1162     },
1163     30 /* full option count */, 27 /* user option count */,
1164     danetool_full_usage, danetool_short_usage,
1165     NULL, NULL,
1166     PKGDATADIR, danetool_packager_info
1167 };
1168
1169 #if ENABLE_NLS
1170 /**
1171  * This code is designed to translate translatable option text for the
1172  * danetool program.  These translations happen upon entry
1173  * to optionProcess().
1174  */
1175 #include <stdio.h>
1176 #include <stdlib.h>
1177 #include <string.h>
1178 #include <unistd.h>
1179 #ifdef HAVE_DCGETTEXT
1180 # include <gettext.h>
1181 #endif
1182 #include <autoopts/usage-txt.h>
1183
1184 static char * AO_gettext(char const * pz);
1185 static void   coerce_it(void ** s);
1186
1187 /**
1188  * AutoGen specific wrapper function for gettext.  It relies on the macro _()
1189  * to convert from English to the target language, then strdup-duplicates the
1190  * result string.  It tries the "libopts" domain first, then whatever has been
1191  * set via the \a textdomain(3) call.
1192  *
1193  * @param[in] pz the input text used as a lookup key.
1194  * @returns the translated text (if there is one),
1195  *   or the original text (if not).
1196  */
1197 static char *
1198 AO_gettext(char const * pz)
1199 {
1200     char * res;
1201     if (pz == NULL)
1202         return NULL;
1203 #ifdef HAVE_DCGETTEXT
1204     /*
1205      * While processing the option_xlateable_txt data, try to use the
1206      * "libopts" domain.  Once we switch to the option descriptor data,
1207      * do *not* use that domain.
1208      */
1209     if (option_xlateable_txt.field_ct != 0) {
1210         res = dgettext("libopts", pz);
1211         if (res == pz)
1212             res = (char *)VOIDP(_(pz));
1213     } else
1214         res = (char *)VOIDP(_(pz));
1215 #else
1216     res = (char *)VOIDP(_(pz));
1217 #endif
1218     if (res == pz)
1219         return res;
1220     res = strdup(res);
1221     if (res == NULL) {
1222         fputs(_("No memory for duping translated strings\n"), stderr);
1223         exit(DANETOOL_EXIT_FAILURE);
1224     }
1225     return res;
1226 }
1227
1228 /**
1229  * All the pointers we use are marked "* const", but they are stored in
1230  * writable memory.  Coerce the mutability and set the pointer.
1231  */
1232 static void coerce_it(void ** s) { *s = AO_gettext(*s);
1233 }
1234
1235 /**
1236  * Translate all the translatable strings in the danetoolOptions
1237  * structure defined above.  This is done only once.
1238  */
1239 static void
1240 translate_option_strings(void)
1241 {
1242     tOptions * const opts = &danetoolOptions;
1243
1244     /*
1245      *  Guard against re-translation.  It won't work.  The strings will have
1246      *  been changed by the first pass through this code.  One shot only.
1247      */
1248     if (option_xlateable_txt.field_ct != 0) {
1249         /*
1250          *  Do the translations.  The first pointer follows the field count
1251          *  field.  The field count field is the size of a pointer.
1252          */
1253         char ** ppz = (char**)VOIDP(&(option_xlateable_txt));
1254         int     ix  = option_xlateable_txt.field_ct;
1255
1256         do {
1257             ppz++; /* skip over field_ct */
1258             *ppz = AO_gettext(*ppz);
1259         } while (--ix > 0);
1260         /* prevent re-translation and disable "libopts" domain lookup */
1261         option_xlateable_txt.field_ct = 0;
1262
1263         coerce_it(VOIDP(&(opts->pzCopyright)));
1264         coerce_it(VOIDP(&(opts->pzCopyNotice)));
1265         coerce_it(VOIDP(&(opts->pzFullVersion)));
1266         coerce_it(VOIDP(&(opts->pzUsageTitle)));
1267         coerce_it(VOIDP(&(opts->pzExplain)));
1268         coerce_it(VOIDP(&(opts->pzDetail)));
1269         {
1270             tOptDesc * od = opts->pOptDesc;
1271             for (ix = opts->optCt; ix > 0; ix--, od++)
1272                 coerce_it(VOIDP(&(od->pzText)));
1273         }
1274     }
1275 }
1276 #endif /* ENABLE_NLS */
1277
1278 #ifdef DO_NOT_COMPILE_THIS_CODE_IT_IS_FOR_GETTEXT
1279 /** I18N function strictly for xgettext.  Do not compile. */
1280 static void bogus_function(void) {
1281   /* TRANSLATORS:
1282
1283      The following dummy function was crated solely so that xgettext can
1284      extract the correct strings.  These strings are actually referenced
1285      by a field name in the danetoolOptions structure noted in the
1286      comments below.  The literal text is defined in danetool_opt_strs.
1287    
1288      NOTE: the strings below are segmented with respect to the source string
1289      danetool_opt_strs.  The strings above are handed off for translation
1290      at run time a paragraph at a time.  Consequently, they are presented here
1291      for translation a paragraph at a time.
1292    
1293      ALSO: often the description for an option will reference another option
1294      by name.  These are set off with apostrophe quotes (I hope).  Do not
1295      translate option names.
1296    */
1297   /* referenced via danetoolOptions.pzCopyright */
1298   puts(_("danetool 3.4.11\n\
1299 Copyright (C) 2000-2016 Free Software Foundation, and others, all rights reserved.\n\
1300 This is free software. It is licensed for use, modification and\n\
1301 redistribution under the terms of the GNU General Public License,\n\
1302 version 3 or later <http://gnu.org/licenses/gpl.html>\n"));
1303
1304   /* referenced via danetoolOptions.pzCopyNotice */
1305   puts(_("danetool is free software: you can redistribute it and/or modify it under\n\
1306 the terms of the GNU General Public License as published by the Free\n\
1307 Software Foundation, either version 3 of the License, or (at your option)\n\
1308 any later version.\n\n"));
1309   puts(_("danetool is distributed in the hope that it will be useful, but WITHOUT ANY\n\
1310 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\n\
1311 FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more\n\
1312 details.\n\n"));
1313   puts(_("You should have received a copy of the GNU General Public License along\n\
1314 with this program.  If not, see <http://www.gnu.org/licenses/>.\n"));
1315
1316   /* referenced via danetoolOptions.pOptDesc->pzText */
1317   puts(_("Enable debugging"));
1318
1319   /* referenced via danetoolOptions.pOptDesc->pzText */
1320   puts(_("More verbose output"));
1321
1322   /* referenced via danetoolOptions.pOptDesc->pzText */
1323   puts(_("Input file"));
1324
1325   /* referenced via danetoolOptions.pOptDesc->pzText */
1326   puts(_("Output file"));
1327
1328   /* referenced via danetoolOptions.pOptDesc->pzText */
1329   puts(_("Loads a public key file"));
1330
1331   /* referenced via danetoolOptions.pOptDesc->pzText */
1332   puts(_("Loads a certificate file"));
1333
1334   /* referenced via danetoolOptions.pOptDesc->pzText */
1335   puts(_("Sets a DLV file"));
1336
1337   /* referenced via danetoolOptions.pOptDesc->pzText */
1338   puts(_("Hash algorithm to use for signing"));
1339
1340   /* referenced via danetoolOptions.pOptDesc->pzText */
1341   puts(_("Check a host's DANE TLSA entry"));
1342
1343   /* referenced via danetoolOptions.pOptDesc->pzText */
1344   puts(_("Check only the end-entity's certificate"));
1345
1346   /* referenced via danetoolOptions.pOptDesc->pzText */
1347   puts(_("Check only the CA's certificate"));
1348
1349   /* referenced via danetoolOptions.pOptDesc->pzText */
1350   puts(_("Print the DANE RR data on a certificate or public key"));
1351
1352   /* referenced via danetoolOptions.pOptDesc->pzText */
1353   puts(_("Specify the hostname to be used in the DANE RR"));
1354
1355   /* referenced via danetoolOptions.pOptDesc->pzText */
1356   puts(_("The protocol set for DANE data (tcp, udp etc.)"));
1357
1358   /* referenced via danetoolOptions.pOptDesc->pzText */
1359   puts(_("Specify the port number for the DANE data"));
1360
1361   /* referenced via danetoolOptions.pOptDesc->pzText */
1362   puts(_("an alias for the 'starttls-proto' option"));
1363
1364   /* referenced via danetoolOptions.pOptDesc->pzText */
1365   puts(_("The application protocol to be used to obtain the server's certificate\n\
1366 (https, ftp, smtp, imap, ldap, xmpp)"));
1367
1368   /* referenced via danetoolOptions.pOptDesc->pzText */
1369   puts(_("Whether the provided certificate or public key is a Certificate\n\
1370 Authority"));
1371
1372   /* referenced via danetoolOptions.pOptDesc->pzText */
1373   puts(_("Use the hash of the X.509 certificate, rather than the public key"));
1374
1375   /* referenced via danetoolOptions.pOptDesc->pzText */
1376   puts(_("an alias for the 'domain' option"));
1377
1378   /* referenced via danetoolOptions.pOptDesc->pzText */
1379   puts(_("The provided certificate or public key is issued by the local domain"));
1380
1381   /* referenced via danetoolOptions.pOptDesc->pzText */
1382   puts(_("Use the local DNS server for DNSSEC resolving"));
1383
1384   /* referenced via danetoolOptions.pOptDesc->pzText */
1385   puts(_("Do not verify any DNSSEC signature"));
1386
1387   /* referenced via danetoolOptions.pOptDesc->pzText */
1388   puts(_("Use DER format for input certificates and private keys"));
1389
1390   /* referenced via danetoolOptions.pOptDesc->pzText */
1391   puts(_("an alias for the 'inder' option"));
1392
1393   /* referenced via danetoolOptions.pOptDesc->pzText */
1394   puts(_("Print the received DANE data in raw format"));
1395
1396   /* referenced via danetoolOptions.pOptDesc->pzText */
1397   puts(_("Suppress several informational messages"));
1398
1399   /* referenced via danetoolOptions.pOptDesc->pzText */
1400   puts(_("display extended usage information and exit"));
1401
1402   /* referenced via danetoolOptions.pOptDesc->pzText */
1403   puts(_("extended usage information passed thru pager"));
1404
1405   /* referenced via danetoolOptions.pOptDesc->pzText */
1406   puts(_("output version information and exit"));
1407
1408   /* referenced via danetoolOptions.pzUsageTitle */
1409   puts(_("danetool - GnuTLS DANE tool\n\
1410 Usage:  %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n"));
1411
1412   /* referenced via danetoolOptions.pzExplain */
1413   puts(_("\n"));
1414
1415   /* referenced via danetoolOptions.pzDetail */
1416   puts(_("Tool to generate and check DNS resource records for the DANE protocol.\n"));
1417
1418   /* referenced via danetoolOptions.pzFullVersion */
1419   puts(_("danetool 3.4.11"));
1420
1421   /* referenced via danetoolOptions.pzFullUsage */
1422   puts(_("<<<NOT-FOUND>>>"));
1423
1424   /* referenced via danetoolOptions.pzShortUsage */
1425   puts(_("danetool --[tlsa-rr|check] [options]\n\
1426 danetool --help for additional usage instructions.\n"));
1427   /* LIBOPTS-MESSAGES: */
1428 #line 67 "../autoopts.c"
1429   puts(_("allocation of %d bytes failed\n"));
1430 #line 93 "../autoopts.c"
1431   puts(_("allocation of %d bytes failed\n"));
1432 #line 53 "../init.c"
1433   puts(_("AutoOpts function called without option descriptor\n"));
1434 #line 86 "../init.c"
1435   puts(_("\tThis exceeds the compiled library version:  "));
1436 #line 84 "../init.c"
1437   puts(_("Automated Options Processing Error!\n"
1438        "\t%s called AutoOpts function with structure version %d:%d:%d.\n"));
1439 #line 80 "../autoopts.c"
1440   puts(_("realloc of %d bytes at 0x%p failed\n"));
1441 #line 88 "../init.c"
1442   puts(_("\tThis is less than the minimum library version:  "));
1443 #line 121 "../version.c"
1444   puts(_("Automated Options version %s\n"
1445        "\tCopyright (C) 1999-2014 by Bruce Korb - all rights reserved\n"));
1446 #line 87 "../makeshell.c"
1447   puts(_("(AutoOpts bug):  %s.\n"));
1448 #line 90 "../reset.c"
1449   puts(_("optionResetOpt() called, but reset-option not configured"));
1450 #line 292 "../usage.c"
1451   puts(_("could not locate the 'help' option"));
1452 #line 336 "../autoopts.c"
1453   puts(_("optionProcess() was called with invalid data"));
1454 #line 748 "../usage.c"
1455   puts(_("invalid argument type specified"));
1456 #line 598 "../find.c"
1457   puts(_("defaulted to option with optional arg"));
1458 #line 76 "../alias.c"
1459   puts(_("aliasing option is out of range."));
1460 #line 235 "../enum.c"
1461   puts(_("%s error:  the keyword '%s' is ambiguous for %s\n"));
1462 #line 108 "../find.c"
1463   puts(_("  The following options match:\n"));
1464 #line 293 "../find.c"
1465   puts(_("%s: ambiguous option name: %s (matches %d options)\n"));
1466 #line 161 "../check.c"
1467   puts(_("%s: Command line arguments required\n"));
1468 #line 43 "../alias.c"
1469   puts(_("%d %s%s options allowed\n"));
1470 #line 94 "../makeshell.c"
1471   puts(_("%s error %d (%s) calling %s for '%s'\n"));
1472 #line 306 "../makeshell.c"
1473   puts(_("interprocess pipe"));
1474 #line 168 "../version.c"
1475   puts(_("error: version option argument '%c' invalid.  Use:\n"
1476        "\t'v' - version only\n"
1477        "\t'c' - version and copyright\n"
1478        "\t'n' - version and full copyright notice\n"));
1479 #line 58 "../check.c"
1480   puts(_("%s error:  the '%s' and '%s' options conflict\n"));
1481 #line 217 "../find.c"
1482   puts(_("%s: The '%s' option has been disabled."));
1483 #line 430 "../find.c"
1484   puts(_("%s: The '%s' option has been disabled."));
1485 #line 38 "../alias.c"
1486   puts(_("-equivalence"));
1487 #line 469 "../find.c"
1488   puts(_("%s: illegal option -- %c\n"));
1489 #line 110 "../reset.c"
1490   puts(_("%s: illegal option -- %c\n"));
1491 #line 271 "../find.c"
1492   puts(_("%s: illegal option -- %s\n"));
1493 #line 755 "../find.c"
1494   puts(_("%s: illegal option -- %s\n"));
1495 #line 118 "../reset.c"
1496   puts(_("%s: illegal option -- %s\n"));
1497 #line 335 "../find.c"
1498   puts(_("%s: unknown vendor extension option -- %s\n"));
1499 #line 160 "../enum.c"
1500   puts(_("  or an integer from %d through %d\n"));
1501 #line 170 "../enum.c"
1502   puts(_("  or an integer from %d through %d\n"));
1503 #line 747 "../usage.c"
1504   puts(_("%s error:  invalid option descriptor for %s\n"));
1505 #line 1081 "../usage.c"
1506   puts(_("%s error:  invalid option descriptor for %s\n"));
1507 #line 385 "../find.c"
1508   puts(_("%s: invalid option name: %s\n"));
1509 #line 527 "../find.c"
1510   puts(_("%s: The '%s' option requires an argument.\n"));
1511 #line 156 "../autoopts.c"
1512   puts(_("(AutoOpts bug):  Equivalenced option '%s' was equivalenced to both\n"
1513        "\t'%s' and '%s'."));
1514 #line 94 "../check.c"
1515   puts(_("%s error:  The %s option is required\n"));
1516 #line 632 "../find.c"
1517   puts(_("%s: The '%s' option cannot have an argument.\n"));
1518 #line 151 "../check.c"
1519   puts(_("%s: Command line arguments are not allowed.\n"));
1520 #line 535 "../save.c"
1521   puts(_("error %d (%s) creating %s\n"));
1522 #line 235 "../enum.c"
1523   puts(_("%s error:  '%s' does not match any %s keywords.\n"));
1524 #line 93 "../reset.c"
1525   puts(_("%s error: The '%s' option requires an argument.\n"));
1526 #line 186 "../save.c"
1527   puts(_("error %d (%s) stat-ing %s\n"));
1528 #line 238 "../save.c"
1529   puts(_("error %d (%s) stat-ing %s\n"));
1530 #line 143 "../restore.c"
1531   puts(_("%s error: no saved option state\n"));
1532 #line 231 "../autoopts.c"
1533   puts(_("'%s' is not a command line option.\n"));
1534 #line 113 "../time.c"
1535   puts(_("%s error:  '%s' is not a recognizable date/time.\n"));
1536 #line 131 "../save.c"
1537   puts(_("'%s' not defined\n"));
1538 #line 50 "../time.c"
1539   puts(_("%s error:  '%s' is not a recognizable time duration.\n"));
1540 #line 92 "../check.c"
1541   puts(_("%s error:  The %s option must appear %d times.\n"));
1542 #line 165 "../numeric.c"
1543   puts(_("%s error:  '%s' is not a recognizable number.\n"));
1544 #line 201 "../enum.c"
1545   puts(_("%s error:  %s exceeds %s keyword count\n"));
1546 #line 330 "../usage.c"
1547   puts(_("Try '%s %s' for more information.\n"));
1548 #line 45 "../alias.c"
1549   puts(_("one %s%s option allowed\n"));
1550 #line 208 "../makeshell.c"
1551   puts(_("standard output"));
1552 #line 943 "../makeshell.c"
1553   puts(_("standard output"));
1554 #line 274 "../usage.c"
1555   puts(_("standard output"));
1556 #line 415 "../usage.c"
1557   puts(_("standard output"));
1558 #line 625 "../usage.c"
1559   puts(_("standard output"));
1560 #line 175 "../version.c"
1561   puts(_("standard output"));
1562 #line 274 "../usage.c"
1563   puts(_("standard error"));
1564 #line 415 "../usage.c"
1565   puts(_("standard error"));
1566 #line 625 "../usage.c"
1567   puts(_("standard error"));
1568 #line 175 "../version.c"
1569   puts(_("standard error"));
1570 #line 208 "../makeshell.c"
1571   puts(_("write"));
1572 #line 943 "../makeshell.c"
1573   puts(_("write"));
1574 #line 273 "../usage.c"
1575   puts(_("write"));
1576 #line 414 "../usage.c"
1577   puts(_("write"));
1578 #line 624 "../usage.c"
1579   puts(_("write"));
1580 #line 174 "../version.c"
1581   puts(_("write"));
1582 #line 60 "../numeric.c"
1583   puts(_("%s error:  %s option value %ld is out of range.\n"));
1584 #line 44 "../check.c"
1585   puts(_("%s error:  %s option requires the %s option\n"));
1586 #line 130 "../save.c"
1587   puts(_("%s warning:  cannot save options - %s not regular file\n"));
1588 #line 185 "../save.c"
1589   puts(_("%s warning:  cannot save options - %s not regular file\n"));
1590 #line 237 "../save.c"
1591   puts(_("%s warning:  cannot save options - %s not regular file\n"));
1592 #line 256 "../save.c"
1593   puts(_("%s warning:  cannot save options - %s not regular file\n"));
1594 #line 534 "../save.c"
1595   puts(_("%s warning:  cannot save options - %s not regular file\n"));
1596   /* END-LIBOPTS-MESSAGES */
1597
1598   /* USAGE-TEXT: */
1599 #line 873 "../usage.c"
1600   puts(_("\t\t\t\t- an alternate for '%s'\n"));
1601 #line 1148 "../usage.c"
1602   puts(_("Version, usage and configuration options:"));
1603 #line 924 "../usage.c"
1604   puts(_("\t\t\t\t- default option for unnamed options\n"));
1605 #line 837 "../usage.c"
1606   puts(_("\t\t\t\t- disabled as '--%s'\n"));
1607 #line 1117 "../usage.c"
1608   puts(_(" --- %-14s %s\n"));
1609 #line 1115 "../usage.c"
1610   puts(_("This option has been disabled"));
1611 #line 864 "../usage.c"
1612   puts(_("\t\t\t\t- enabled by default\n"));
1613 #line 40 "../alias.c"
1614   puts(_("%s error:  only "));
1615 #line 1194 "../usage.c"
1616   puts(_(" - examining environment variables named %s_*\n"));
1617 #line 168 "../file.c"
1618   puts(_("\t\t\t\t- file must not pre-exist\n"));
1619 #line 172 "../file.c"
1620   puts(_("\t\t\t\t- file must pre-exist\n"));
1621 #line 380 "../usage.c"
1622   puts(_("Options are specified by doubled hyphens and their name or by a single\n"
1623        "hyphen and the flag character.\n"));
1624 #line 921 "../makeshell.c"
1625   puts(_("\n"
1626        "= = = = = = = =\n\n"
1627        "This incarnation of genshell will produce\n"
1628        "a shell script to parse the options for %s:\n\n"));
1629 #line 167 "../enum.c"
1630   puts(_("  or an integer mask with any of the lower %d bits set\n"));
1631 #line 897 "../usage.c"
1632   puts(_("\t\t\t\t- is a set membership option\n"));
1633 #line 918 "../usage.c"
1634   puts(_("\t\t\t\t- must appear between %d and %d times\n"));
1635 #line 382 "../usage.c"
1636   puts(_("Options are specified by single or double hyphens and their name.\n"));
1637 #line 904 "../usage.c"
1638   puts(_("\t\t\t\t- may appear multiple times\n"));
1639 #line 891 "../usage.c"
1640   puts(_("\t\t\t\t- may not be preset\n"));
1641 #line 1309 "../usage.c"
1642   puts(_("   Arg Option-Name    Description\n"));
1643 #line 1245 "../usage.c"
1644   puts(_("  Flg Arg Option-Name    Description\n"));
1645 #line 1303 "../usage.c"
1646   puts(_("  Flg Arg Option-Name    Description\n"));
1647 #line 1304 "../usage.c"
1648   puts(_(" %3s %s"));
1649 #line 1310 "../usage.c"
1650   puts(_(" %3s %s"));
1651 #line 387 "../usage.c"
1652   puts(_("The '-#<number>' option may omit the hash char\n"));
1653 #line 383 "../usage.c"
1654   puts(_("All arguments are named options.\n"));
1655 #line 971 "../usage.c"
1656   puts(_(" - reading file %s"));
1657 #line 409 "../usage.c"
1658   puts(_("\n"
1659        "Please send bug reports to:  <%s>\n"));
1660 #line 100 "../version.c"
1661   puts(_("\n"
1662        "Please send bug reports to:  <%s>\n"));
1663 #line 129 "../version.c"
1664   puts(_("\n"
1665        "Please send bug reports to:  <%s>\n"));
1666 #line 903 "../usage.c"
1667   puts(_("\t\t\t\t- may NOT appear - preset only\n"));
1668 #line 944 "../usage.c"
1669   puts(_("\n"
1670        "The following option preset mechanisms are supported:\n"));
1671 #line 1192 "../usage.c"
1672   puts(_("\n"
1673        "The following option preset mechanisms are supported:\n"));
1674 #line 682 "../usage.c"
1675   puts(_("prohibits these options:\n"));
1676 #line 677 "../usage.c"
1677   puts(_("prohibits the option '%s'\n"));
1678 #line 81 "../numeric.c"
1679   puts(_("%s%ld to %ld"));
1680 #line 79 "../numeric.c"
1681   puts(_("%sgreater than or equal to %ld"));
1682 #line 75 "../numeric.c"
1683   puts(_("%s%ld exactly"));
1684 #line 68 "../numeric.c"
1685   puts(_("%sit must lie in one of the ranges:\n"));
1686 #line 68 "../numeric.c"
1687   puts(_("%sit must be in the range:\n"));
1688 #line 88 "../numeric.c"
1689   puts(_(", or\n"));
1690 #line 66 "../numeric.c"
1691   puts(_("%sis scalable with a suffix: k/K/m/M/g/G/t/T\n"));
1692 #line 77 "../numeric.c"
1693   puts(_("%sless than or equal to %ld"));
1694 #line 390 "../usage.c"
1695   puts(_("Operands and options may be intermixed.  They will be reordered.\n"));
1696 #line 652 "../usage.c"
1697   puts(_("requires the option '%s'\n"));
1698 #line 655 "../usage.c"
1699   puts(_("requires these options:\n"));
1700 #line 1321 "../usage.c"
1701   puts(_("   Arg Option-Name   Req?  Description\n"));
1702 #line 1315 "../usage.c"
1703   puts(_("  Flg Arg Option-Name   Req?  Description\n"));
1704 #line 168 "../enum.c"
1705   puts(_("or you may use a numeric representation.  Preceding these with a '!'\n"
1706        "will clear the bits, specifying 'none' will clear all bits, and 'all'\n"
1707        "will set them all.  Multiple entries may be passed as an option\n"
1708        "argument list.\n"));
1709 #line 910 "../usage.c"
1710   puts(_("\t\t\t\t- may appear up to %d times\n"));
1711 #line 77 "../enum.c"
1712   puts(_("The valid \"%s\" option keywords are:\n"));
1713 #line 1152 "../usage.c"
1714   puts(_("The next option supports vendor supported extra options:"));
1715 #line 773 "../usage.c"
1716   puts(_("These additional options are:"));
1717   /* END-USAGE-TEXT */
1718 }
1719 #endif /* uncompilable code */
1720 #ifdef  __cplusplus
1721 }
1722 #endif
1723 /* danetool-args.c ends here */