1ea906c41SOllivier Robert /* 2ea906c41SOllivier Robert * EDIT THIS FILE WITH CAUTION (ntp-keygen-opts.c) 3ea906c41SOllivier Robert * 4*f5f40dd6SCy Schubert * It has been AutoGen-ed May 25, 2024 at 12:04:43 AM by AutoGen 5.18.16 5ea906c41SOllivier Robert * From the definitions ntp-keygen-opts.def 6ea906c41SOllivier Robert * and the template file options 7ea906c41SOllivier Robert * 8a466cc55SCy Schubert * Generated from AutoOpts 42:1:17 templates. 92b15cb3dSCy Schubert * 102b15cb3dSCy Schubert * AutoOpts is a copyrighted work. This source file is not encumbered 112b15cb3dSCy Schubert * by AutoOpts licensing, but is provided under the licensing terms chosen 122b15cb3dSCy Schubert * by the ntp-keygen author or copyright holder. AutoOpts is 132b15cb3dSCy Schubert * licensed under the terms of the LGPL. The redistributable library 142b15cb3dSCy Schubert * (``libopts'') is licensed under the terms of either the LGPL or, at the 152b15cb3dSCy Schubert * users discretion, the BSD license. See the AutoOpts and/or libopts sources 162b15cb3dSCy Schubert * for details. 172b15cb3dSCy Schubert * 182b15cb3dSCy Schubert * The ntp-keygen program is copyrighted and licensed 192b15cb3dSCy Schubert * under the following terms: 202b15cb3dSCy Schubert * 21*f5f40dd6SCy Schubert * Copyright (C) 1992-2024 The University of Delaware and Network Time Foundation, all rights reserved. 222b15cb3dSCy Schubert * This is free software. It is licensed for use, modification and 232b15cb3dSCy Schubert * redistribution under the terms of the NTP License, copies of which 242b15cb3dSCy Schubert * can be seen at: 252b15cb3dSCy Schubert * <http://ntp.org/license> 262b15cb3dSCy Schubert * <http://opensource.org/licenses/ntp-license.php> 272b15cb3dSCy Schubert * 282b15cb3dSCy Schubert * Permission to use, copy, modify, and distribute this software and its 292b15cb3dSCy Schubert * documentation for any purpose with or without fee is hereby granted, 302b15cb3dSCy Schubert * provided that the above copyright notice appears in all copies and that 312b15cb3dSCy Schubert * both the copyright notice and this permission notice appear in 322b15cb3dSCy Schubert * supporting documentation, and that the name The University of Delaware not be used in 332b15cb3dSCy Schubert * advertising or publicity pertaining to distribution of the software 342b15cb3dSCy Schubert * without specific, written prior permission. The University of Delaware and Network Time Foundation makes no 352b15cb3dSCy Schubert * representations about the suitability this software for any purpose. It 362b15cb3dSCy Schubert * is provided "as is" without express or implied warranty. 37ea906c41SOllivier Robert */ 38ea906c41SOllivier Robert 392b15cb3dSCy Schubert #ifndef __doxygen__ 402b15cb3dSCy Schubert #define OPTION_CODE_COMPILE 1 412b15cb3dSCy Schubert #include "ntp-keygen-opts.h" 422b15cb3dSCy Schubert #include <sys/types.h> 43a466cc55SCy Schubert #include <sys/stat.h> 44ea906c41SOllivier Robert 45a466cc55SCy Schubert #include <errno.h> 46a466cc55SCy Schubert #include <fcntl.h> 47ea906c41SOllivier Robert #include <limits.h> 48ea906c41SOllivier Robert #include <stdio.h> 492b15cb3dSCy Schubert #include <stdlib.h> 50a466cc55SCy Schubert #include <string.h> 51a466cc55SCy Schubert #include <unistd.h> 52ea906c41SOllivier Robert 53ea906c41SOllivier Robert #ifdef __cplusplus 54ea906c41SOllivier Robert extern "C" { 55ea906c41SOllivier Robert #endif 562b15cb3dSCy Schubert extern FILE * option_usage_fp; 572b15cb3dSCy Schubert #define zCopyright (ntp_keygen_opt_strs+0) 58f0574f5cSXin LI #define zLicenseDescrip (ntp_keygen_opt_strs+353) 59ea906c41SOllivier Robert 60ea906c41SOllivier Robert /* 61ea906c41SOllivier Robert * global included definitions 62ea906c41SOllivier Robert */ 63ea906c41SOllivier Robert #include <stdlib.h> 642b15cb3dSCy Schubert 65ea906c41SOllivier Robert #ifdef __windows 66ea906c41SOllivier Robert extern int atoi(const char*); 67ea906c41SOllivier Robert #else 68ea906c41SOllivier Robert # include <stdlib.h> 69ea906c41SOllivier Robert #endif 70ea906c41SOllivier Robert 71ea906c41SOllivier Robert #ifndef NULL 72ea906c41SOllivier Robert # define NULL 0 73ea906c41SOllivier Robert #endif 742b15cb3dSCy Schubert 752b15cb3dSCy Schubert /** 762b15cb3dSCy Schubert * static const strings for ntp-keygen options 77ea906c41SOllivier Robert */ 78a466cc55SCy Schubert static char const ntp_keygen_opt_strs[2443] = 79*f5f40dd6SCy Schubert /* 0 */ "ntp-keygen (ntp) 4.2.8p18\n" 80*f5f40dd6SCy Schubert "Copyright (C) 1992-2024 The University of Delaware and Network Time Foundation, all rights reserved.\n" 812b15cb3dSCy Schubert "This is free software. It is licensed for use, modification and\n" 822b15cb3dSCy Schubert "redistribution under the terms of the NTP License, copies of which\n" 832b15cb3dSCy Schubert "can be seen at:\n" 842b15cb3dSCy Schubert " <http://ntp.org/license>\n" 852b15cb3dSCy Schubert " <http://opensource.org/licenses/ntp-license.php>\n\0" 86f0574f5cSXin LI /* 353 */ "Permission to use, copy, modify, and distribute this software and its\n" 872b15cb3dSCy Schubert "documentation for any purpose with or without fee is hereby granted,\n" 882b15cb3dSCy Schubert "provided that the above copyright notice appears in all copies and that\n" 892b15cb3dSCy Schubert "both the copyright notice and this permission notice appear in supporting\n" 902b15cb3dSCy Schubert "documentation, and that the name The University of Delaware not be used in\n" 912b15cb3dSCy Schubert "advertising or publicity pertaining to distribution of the software without\n" 922b15cb3dSCy Schubert "specific, written prior permission. The University of Delaware and Network\n" 932b15cb3dSCy Schubert "Time Foundation makes no representations about the suitability this\n" 942b15cb3dSCy Schubert "software for any purpose. It is provided \"as is\" without express or\n" 952b15cb3dSCy Schubert "implied warranty.\n\0" 96f0574f5cSXin LI /* 1021 */ "identity modulus bits\0" 97f0574f5cSXin LI /* 1043 */ "IMBITS\0" 98f0574f5cSXin LI /* 1050 */ "imbits\0" 99f0574f5cSXin LI /* 1057 */ "certificate scheme\0" 100f0574f5cSXin LI /* 1076 */ "CERTIFICATE\0" 101f0574f5cSXin LI /* 1088 */ "certificate\0" 102f0574f5cSXin LI /* 1100 */ "privatekey cipher\0" 103f0574f5cSXin LI /* 1118 */ "CIPHER\0" 104f0574f5cSXin LI /* 1125 */ "cipher\0" 105f0574f5cSXin LI /* 1132 */ "Increase debug verbosity level\0" 106f0574f5cSXin LI /* 1163 */ "DEBUG_LEVEL\0" 107f0574f5cSXin LI /* 1175 */ "debug-level\0" 108f0574f5cSXin LI /* 1187 */ "Set the debug verbosity level\0" 109f0574f5cSXin LI /* 1217 */ "SET_DEBUG_LEVEL\0" 110f0574f5cSXin LI /* 1233 */ "set-debug-level\0" 111f0574f5cSXin LI /* 1249 */ "Write IFF or GQ identity keys\0" 112f0574f5cSXin LI /* 1279 */ "ID_KEY\0" 113f0574f5cSXin LI /* 1286 */ "id-key\0" 114f0574f5cSXin LI /* 1293 */ "Generate GQ parameters and keys\0" 115f0574f5cSXin LI /* 1325 */ "GQ_PARAMS\0" 116f0574f5cSXin LI /* 1335 */ "gq-params\0" 117f0574f5cSXin LI /* 1345 */ "generate RSA host key\0" 118f0574f5cSXin LI /* 1367 */ "HOST_KEY\0" 119f0574f5cSXin LI /* 1376 */ "host-key\0" 120f0574f5cSXin LI /* 1385 */ "generate IFF parameters\0" 121f0574f5cSXin LI /* 1409 */ "IFFKEY\0" 122f0574f5cSXin LI /* 1416 */ "iffkey\0" 123f0574f5cSXin LI /* 1423 */ "set Autokey group name\0" 124f0574f5cSXin LI /* 1446 */ "IDENT\0" 125f0574f5cSXin LI /* 1452 */ "ident\0" 126f0574f5cSXin LI /* 1458 */ "set certificate lifetime\0" 127f0574f5cSXin LI /* 1483 */ "LIFETIME\0" 128f0574f5cSXin LI /* 1492 */ "lifetime\0" 12909100258SXin LI /* 1501 */ "prime modulus\0" 13009100258SXin LI /* 1515 */ "MODULUS\0" 13109100258SXin LI /* 1523 */ "modulus\0" 13209100258SXin LI /* 1531 */ "generate symmetric keys\0" 13309100258SXin LI /* 1555 */ "MD5KEY\0" 13409100258SXin LI /* 1562 */ "md5key\0" 13509100258SXin LI /* 1569 */ "generate PC private certificate\0" 13609100258SXin LI /* 1601 */ "PVT_CERT\0" 13709100258SXin LI /* 1610 */ "pvt-cert\0" 13809100258SXin LI /* 1619 */ "local private password\0" 13909100258SXin LI /* 1642 */ "PASSWORD\0" 14009100258SXin LI /* 1651 */ "password\0" 14109100258SXin LI /* 1660 */ "export IFF or GQ group keys with password\0" 14209100258SXin LI /* 1702 */ "EXPORT_PASSWD\0" 14309100258SXin LI /* 1716 */ "export-passwd\0" 14409100258SXin LI /* 1730 */ "set host and optionally group name\0" 14509100258SXin LI /* 1765 */ "SUBJECT_NAME\0" 14609100258SXin LI /* 1778 */ "subject-name\0" 14709100258SXin LI /* 1791 */ "generate sign key (RSA or DSA)\0" 14809100258SXin LI /* 1822 */ "SIGN_KEY\0" 14909100258SXin LI /* 1831 */ "sign-key\0" 15009100258SXin LI /* 1840 */ "trusted certificate (TC scheme)\0" 15109100258SXin LI /* 1872 */ "TRUSTED_CERT\0" 15209100258SXin LI /* 1885 */ "trusted-cert\0" 15309100258SXin LI /* 1898 */ "generate <num> MV parameters\0" 15409100258SXin LI /* 1927 */ "MV_PARAMS\0" 15509100258SXin LI /* 1937 */ "mv-params\0" 15609100258SXin LI /* 1947 */ "update <num> MV keys\0" 15709100258SXin LI /* 1968 */ "MV_KEYS\0" 15809100258SXin LI /* 1976 */ "mv-keys\0" 15909100258SXin LI /* 1984 */ "display extended usage information and exit\0" 16009100258SXin LI /* 2028 */ "help\0" 16109100258SXin LI /* 2033 */ "extended usage information passed thru pager\0" 16209100258SXin LI /* 2078 */ "more-help\0" 16309100258SXin LI /* 2088 */ "output version information and exit\0" 16409100258SXin LI /* 2124 */ "version\0" 16509100258SXin LI /* 2132 */ "save the option state to a config file\0" 16609100258SXin LI /* 2171 */ "save-opts\0" 16709100258SXin LI /* 2181 */ "load options from a config file\0" 16809100258SXin LI /* 2213 */ "LOAD_OPTS\0" 16909100258SXin LI /* 2223 */ "no-load-opts\0" 17009100258SXin LI /* 2236 */ "no\0" 17109100258SXin LI /* 2239 */ "NTP_KEYGEN\0" 172*f5f40dd6SCy Schubert /* 2250 */ "ntp-keygen (ntp) - Create a NTP host key - Ver. 4.2.8p18\n" 1732b15cb3dSCy Schubert "Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n\0" 17409100258SXin LI /* 2365 */ "$HOME\0" 17509100258SXin LI /* 2371 */ ".\0" 17609100258SXin LI /* 2373 */ ".ntprc\0" 177a466cc55SCy Schubert /* 2380 */ "https://bugs.ntp.org, bugs@ntp.org\0" 178a466cc55SCy Schubert /* 2415 */ "\n\0" 179*f5f40dd6SCy Schubert /* 2417 */ "ntp-keygen (ntp) 4.2.8p18"; 1802b15cb3dSCy Schubert 1812b15cb3dSCy Schubert /** 1822b15cb3dSCy Schubert * imbits option description: 1832b15cb3dSCy Schubert */ 1842b15cb3dSCy Schubert #ifdef AUTOKEY 1852b15cb3dSCy Schubert /** Descriptive text for the imbits option */ 186f0574f5cSXin LI #define IMBITS_DESC (ntp_keygen_opt_strs+1021) 1872b15cb3dSCy Schubert /** Upper-cased name for the imbits option */ 188f0574f5cSXin LI #define IMBITS_NAME (ntp_keygen_opt_strs+1043) 1892b15cb3dSCy Schubert /** Name string for the imbits option */ 190f0574f5cSXin LI #define IMBITS_name (ntp_keygen_opt_strs+1050) 1912b15cb3dSCy Schubert /** Compiled in flag settings for the imbits option */ 1922b15cb3dSCy Schubert #define IMBITS_FLAGS (OPTST_DISABLED \ 1932b15cb3dSCy Schubert | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC)) 1942b15cb3dSCy Schubert 1952b15cb3dSCy Schubert #else /* disable imbits */ 1962b15cb3dSCy Schubert #define IMBITS_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 1972b15cb3dSCy Schubert #define IMBITS_NAME NULL 1982b15cb3dSCy Schubert #define IMBITS_DESC NULL 1992b15cb3dSCy Schubert #define IMBITS_name NULL 2002b15cb3dSCy Schubert #endif /* AUTOKEY */ 2012b15cb3dSCy Schubert 2022b15cb3dSCy Schubert /** 2032b15cb3dSCy Schubert * certificate option description: 2042b15cb3dSCy Schubert */ 2052b15cb3dSCy Schubert #ifdef AUTOKEY 2062b15cb3dSCy Schubert /** Descriptive text for the certificate option */ 207f0574f5cSXin LI #define CERTIFICATE_DESC (ntp_keygen_opt_strs+1057) 2082b15cb3dSCy Schubert /** Upper-cased name for the certificate option */ 209f0574f5cSXin LI #define CERTIFICATE_NAME (ntp_keygen_opt_strs+1076) 2102b15cb3dSCy Schubert /** Name string for the certificate option */ 211f0574f5cSXin LI #define CERTIFICATE_name (ntp_keygen_opt_strs+1088) 2122b15cb3dSCy Schubert /** Compiled in flag settings for the certificate option */ 213ea906c41SOllivier Robert #define CERTIFICATE_FLAGS (OPTST_DISABLED \ 214ea906c41SOllivier Robert | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 215ea906c41SOllivier Robert 2162b15cb3dSCy Schubert #else /* disable certificate */ 217ea906c41SOllivier Robert #define CERTIFICATE_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 2182b15cb3dSCy Schubert #define CERTIFICATE_NAME NULL 2192b15cb3dSCy Schubert #define CERTIFICATE_DESC NULL 2202b15cb3dSCy Schubert #define CERTIFICATE_name NULL 2212b15cb3dSCy Schubert #endif /* AUTOKEY */ 222ea906c41SOllivier Robert 2232b15cb3dSCy Schubert /** 2242b15cb3dSCy Schubert * cipher option description: 225ea906c41SOllivier Robert */ 2262b15cb3dSCy Schubert #ifdef AUTOKEY 2272b15cb3dSCy Schubert /** Descriptive text for the cipher option */ 228f0574f5cSXin LI #define CIPHER_DESC (ntp_keygen_opt_strs+1100) 2292b15cb3dSCy Schubert /** Upper-cased name for the cipher option */ 230f0574f5cSXin LI #define CIPHER_NAME (ntp_keygen_opt_strs+1118) 2312b15cb3dSCy Schubert /** Name string for the cipher option */ 232f0574f5cSXin LI #define CIPHER_name (ntp_keygen_opt_strs+1125) 2332b15cb3dSCy Schubert /** Compiled in flag settings for the cipher option */ 2342b15cb3dSCy Schubert #define CIPHER_FLAGS (OPTST_DISABLED \ 235ea906c41SOllivier Robert | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 236ea906c41SOllivier Robert 2372b15cb3dSCy Schubert #else /* disable cipher */ 2382b15cb3dSCy Schubert #define CIPHER_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 2392b15cb3dSCy Schubert #define CIPHER_NAME NULL 2402b15cb3dSCy Schubert #define CIPHER_DESC NULL 2412b15cb3dSCy Schubert #define CIPHER_name NULL 2422b15cb3dSCy Schubert #endif /* AUTOKEY */ 243ea906c41SOllivier Robert 2442b15cb3dSCy Schubert /** 2452b15cb3dSCy Schubert * debug-level option description: 246ea906c41SOllivier Robert */ 2472b15cb3dSCy Schubert /** Descriptive text for the debug-level option */ 248f0574f5cSXin LI #define DEBUG_LEVEL_DESC (ntp_keygen_opt_strs+1132) 2492b15cb3dSCy Schubert /** Upper-cased name for the debug-level option */ 250f0574f5cSXin LI #define DEBUG_LEVEL_NAME (ntp_keygen_opt_strs+1163) 2512b15cb3dSCy Schubert /** Name string for the debug-level option */ 252f0574f5cSXin LI #define DEBUG_LEVEL_name (ntp_keygen_opt_strs+1175) 2532b15cb3dSCy Schubert /** Compiled in flag settings for the debug-level option */ 2542b15cb3dSCy Schubert #define DEBUG_LEVEL_FLAGS (OPTST_DISABLED) 2552b15cb3dSCy Schubert 2562b15cb3dSCy Schubert /** 2572b15cb3dSCy Schubert * set-debug-level option description: 2582b15cb3dSCy Schubert */ 2592b15cb3dSCy Schubert /** Descriptive text for the set-debug-level option */ 260f0574f5cSXin LI #define SET_DEBUG_LEVEL_DESC (ntp_keygen_opt_strs+1187) 2612b15cb3dSCy Schubert /** Upper-cased name for the set-debug-level option */ 262f0574f5cSXin LI #define SET_DEBUG_LEVEL_NAME (ntp_keygen_opt_strs+1217) 2632b15cb3dSCy Schubert /** Name string for the set-debug-level option */ 264f0574f5cSXin LI #define SET_DEBUG_LEVEL_name (ntp_keygen_opt_strs+1233) 2652b15cb3dSCy Schubert /** Compiled in flag settings for the set-debug-level option */ 2662b15cb3dSCy Schubert #define SET_DEBUG_LEVEL_FLAGS (OPTST_DISABLED \ 2672b15cb3dSCy Schubert | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC)) 2682b15cb3dSCy Schubert 2692b15cb3dSCy Schubert /** 2702b15cb3dSCy Schubert * id-key option description: 2712b15cb3dSCy Schubert */ 2722b15cb3dSCy Schubert #ifdef AUTOKEY 2732b15cb3dSCy Schubert /** Descriptive text for the id-key option */ 274f0574f5cSXin LI #define ID_KEY_DESC (ntp_keygen_opt_strs+1249) 2752b15cb3dSCy Schubert /** Upper-cased name for the id-key option */ 276f0574f5cSXin LI #define ID_KEY_NAME (ntp_keygen_opt_strs+1279) 2772b15cb3dSCy Schubert /** Name string for the id-key option */ 278f0574f5cSXin LI #define ID_KEY_name (ntp_keygen_opt_strs+1286) 2792b15cb3dSCy Schubert /** Compiled in flag settings for the id-key option */ 280ea906c41SOllivier Robert #define ID_KEY_FLAGS (OPTST_DISABLED) 281ea906c41SOllivier Robert 2822b15cb3dSCy Schubert #else /* disable id-key */ 283ea906c41SOllivier Robert #define ID_KEY_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 2842b15cb3dSCy Schubert #define ID_KEY_NAME NULL 2852b15cb3dSCy Schubert #define ID_KEY_DESC NULL 2862b15cb3dSCy Schubert #define ID_KEY_name NULL 2872b15cb3dSCy Schubert #endif /* AUTOKEY */ 288ea906c41SOllivier Robert 2892b15cb3dSCy Schubert /** 2902b15cb3dSCy Schubert * gq-params option description: 291ea906c41SOllivier Robert */ 2922b15cb3dSCy Schubert #ifdef AUTOKEY 2932b15cb3dSCy Schubert /** Descriptive text for the gq-params option */ 294f0574f5cSXin LI #define GQ_PARAMS_DESC (ntp_keygen_opt_strs+1293) 2952b15cb3dSCy Schubert /** Upper-cased name for the gq-params option */ 296f0574f5cSXin LI #define GQ_PARAMS_NAME (ntp_keygen_opt_strs+1325) 2972b15cb3dSCy Schubert /** Name string for the gq-params option */ 298f0574f5cSXin LI #define GQ_PARAMS_name (ntp_keygen_opt_strs+1335) 2992b15cb3dSCy Schubert /** Compiled in flag settings for the gq-params option */ 300ea906c41SOllivier Robert #define GQ_PARAMS_FLAGS (OPTST_DISABLED) 301ea906c41SOllivier Robert 3022b15cb3dSCy Schubert #else /* disable gq-params */ 303ea906c41SOllivier Robert #define GQ_PARAMS_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 3042b15cb3dSCy Schubert #define GQ_PARAMS_NAME NULL 3052b15cb3dSCy Schubert #define GQ_PARAMS_DESC NULL 3062b15cb3dSCy Schubert #define GQ_PARAMS_name NULL 3072b15cb3dSCy Schubert #endif /* AUTOKEY */ 308ea906c41SOllivier Robert 3092b15cb3dSCy Schubert /** 3102b15cb3dSCy Schubert * host-key option description: 311ea906c41SOllivier Robert */ 3122b15cb3dSCy Schubert #ifdef AUTOKEY 3132b15cb3dSCy Schubert /** Descriptive text for the host-key option */ 314f0574f5cSXin LI #define HOST_KEY_DESC (ntp_keygen_opt_strs+1345) 3152b15cb3dSCy Schubert /** Upper-cased name for the host-key option */ 316f0574f5cSXin LI #define HOST_KEY_NAME (ntp_keygen_opt_strs+1367) 3172b15cb3dSCy Schubert /** Name string for the host-key option */ 318f0574f5cSXin LI #define HOST_KEY_name (ntp_keygen_opt_strs+1376) 3192b15cb3dSCy Schubert /** Compiled in flag settings for the host-key option */ 320ea906c41SOllivier Robert #define HOST_KEY_FLAGS (OPTST_DISABLED) 321ea906c41SOllivier Robert 3222b15cb3dSCy Schubert #else /* disable host-key */ 323ea906c41SOllivier Robert #define HOST_KEY_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 3242b15cb3dSCy Schubert #define HOST_KEY_NAME NULL 3252b15cb3dSCy Schubert #define HOST_KEY_DESC NULL 3262b15cb3dSCy Schubert #define HOST_KEY_name NULL 3272b15cb3dSCy Schubert #endif /* AUTOKEY */ 328ea906c41SOllivier Robert 3292b15cb3dSCy Schubert /** 3302b15cb3dSCy Schubert * iffkey option description: 331ea906c41SOllivier Robert */ 3322b15cb3dSCy Schubert #ifdef AUTOKEY 3332b15cb3dSCy Schubert /** Descriptive text for the iffkey option */ 334f0574f5cSXin LI #define IFFKEY_DESC (ntp_keygen_opt_strs+1385) 3352b15cb3dSCy Schubert /** Upper-cased name for the iffkey option */ 336f0574f5cSXin LI #define IFFKEY_NAME (ntp_keygen_opt_strs+1409) 3372b15cb3dSCy Schubert /** Name string for the iffkey option */ 338f0574f5cSXin LI #define IFFKEY_name (ntp_keygen_opt_strs+1416) 3392b15cb3dSCy Schubert /** Compiled in flag settings for the iffkey option */ 340ea906c41SOllivier Robert #define IFFKEY_FLAGS (OPTST_DISABLED) 341ea906c41SOllivier Robert 3422b15cb3dSCy Schubert #else /* disable iffkey */ 343ea906c41SOllivier Robert #define IFFKEY_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 3442b15cb3dSCy Schubert #define IFFKEY_NAME NULL 3452b15cb3dSCy Schubert #define IFFKEY_DESC NULL 3462b15cb3dSCy Schubert #define IFFKEY_name NULL 3472b15cb3dSCy Schubert #endif /* AUTOKEY */ 348ea906c41SOllivier Robert 3492b15cb3dSCy Schubert /** 3502b15cb3dSCy Schubert * ident option description: 351ea906c41SOllivier Robert */ 3522b15cb3dSCy Schubert #ifdef AUTOKEY 3532b15cb3dSCy Schubert /** Descriptive text for the ident option */ 354f0574f5cSXin LI #define IDENT_DESC (ntp_keygen_opt_strs+1423) 3552b15cb3dSCy Schubert /** Upper-cased name for the ident option */ 356f0574f5cSXin LI #define IDENT_NAME (ntp_keygen_opt_strs+1446) 3572b15cb3dSCy Schubert /** Name string for the ident option */ 358f0574f5cSXin LI #define IDENT_name (ntp_keygen_opt_strs+1452) 3592b15cb3dSCy Schubert /** Compiled in flag settings for the ident option */ 3602b15cb3dSCy Schubert #define IDENT_FLAGS (OPTST_DISABLED \ 3612b15cb3dSCy Schubert | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 362ea906c41SOllivier Robert 3632b15cb3dSCy Schubert #else /* disable ident */ 3642b15cb3dSCy Schubert #define IDENT_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 3652b15cb3dSCy Schubert #define IDENT_NAME NULL 3662b15cb3dSCy Schubert #define IDENT_DESC NULL 3672b15cb3dSCy Schubert #define IDENT_name NULL 3682b15cb3dSCy Schubert #endif /* AUTOKEY */ 369ea906c41SOllivier Robert 3702b15cb3dSCy Schubert /** 3712b15cb3dSCy Schubert * lifetime option description: 372ea906c41SOllivier Robert */ 3732b15cb3dSCy Schubert #ifdef AUTOKEY 3742b15cb3dSCy Schubert /** Descriptive text for the lifetime option */ 375f0574f5cSXin LI #define LIFETIME_DESC (ntp_keygen_opt_strs+1458) 3762b15cb3dSCy Schubert /** Upper-cased name for the lifetime option */ 377f0574f5cSXin LI #define LIFETIME_NAME (ntp_keygen_opt_strs+1483) 3782b15cb3dSCy Schubert /** Name string for the lifetime option */ 379f0574f5cSXin LI #define LIFETIME_name (ntp_keygen_opt_strs+1492) 3802b15cb3dSCy Schubert /** Compiled in flag settings for the lifetime option */ 3812b15cb3dSCy Schubert #define LIFETIME_FLAGS (OPTST_DISABLED \ 3822b15cb3dSCy Schubert | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC)) 3832b15cb3dSCy Schubert 3842b15cb3dSCy Schubert #else /* disable lifetime */ 3852b15cb3dSCy Schubert #define LIFETIME_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 3862b15cb3dSCy Schubert #define LIFETIME_NAME NULL 3872b15cb3dSCy Schubert #define LIFETIME_DESC NULL 3882b15cb3dSCy Schubert #define LIFETIME_name NULL 3892b15cb3dSCy Schubert #endif /* AUTOKEY */ 3902b15cb3dSCy Schubert 3912b15cb3dSCy Schubert /** 3922b15cb3dSCy Schubert * modulus option description: 393ea906c41SOllivier Robert */ 3942b15cb3dSCy Schubert #ifdef AUTOKEY 3952b15cb3dSCy Schubert /** Descriptive text for the modulus option */ 39609100258SXin LI #define MODULUS_DESC (ntp_keygen_opt_strs+1501) 3972b15cb3dSCy Schubert /** Upper-cased name for the modulus option */ 39809100258SXin LI #define MODULUS_NAME (ntp_keygen_opt_strs+1515) 3992b15cb3dSCy Schubert /** Name string for the modulus option */ 40009100258SXin LI #define MODULUS_name (ntp_keygen_opt_strs+1523) 4012b15cb3dSCy Schubert /** Compiled in flag settings for the modulus option */ 402ea906c41SOllivier Robert #define MODULUS_FLAGS (OPTST_DISABLED \ 403ea906c41SOllivier Robert | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC)) 404ea906c41SOllivier Robert 4052b15cb3dSCy Schubert #else /* disable modulus */ 406ea906c41SOllivier Robert #define MODULUS_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 4072b15cb3dSCy Schubert #define MODULUS_NAME NULL 4082b15cb3dSCy Schubert #define MODULUS_DESC NULL 4092b15cb3dSCy Schubert #define MODULUS_name NULL 4102b15cb3dSCy Schubert #endif /* AUTOKEY */ 411ea906c41SOllivier Robert 4122b15cb3dSCy Schubert /** 41309100258SXin LI * md5key option description: 41409100258SXin LI */ 41509100258SXin LI /** Descriptive text for the md5key option */ 41609100258SXin LI #define MD5KEY_DESC (ntp_keygen_opt_strs+1531) 41709100258SXin LI /** Upper-cased name for the md5key option */ 41809100258SXin LI #define MD5KEY_NAME (ntp_keygen_opt_strs+1555) 41909100258SXin LI /** Name string for the md5key option */ 42009100258SXin LI #define MD5KEY_name (ntp_keygen_opt_strs+1562) 42109100258SXin LI /** Compiled in flag settings for the md5key option */ 42209100258SXin LI #define MD5KEY_FLAGS (OPTST_DISABLED) 42309100258SXin LI 42409100258SXin LI /** 4252b15cb3dSCy Schubert * pvt-cert option description: 426ea906c41SOllivier Robert */ 4272b15cb3dSCy Schubert #ifdef AUTOKEY 4282b15cb3dSCy Schubert /** Descriptive text for the pvt-cert option */ 42909100258SXin LI #define PVT_CERT_DESC (ntp_keygen_opt_strs+1569) 4302b15cb3dSCy Schubert /** Upper-cased name for the pvt-cert option */ 43109100258SXin LI #define PVT_CERT_NAME (ntp_keygen_opt_strs+1601) 4322b15cb3dSCy Schubert /** Name string for the pvt-cert option */ 43309100258SXin LI #define PVT_CERT_name (ntp_keygen_opt_strs+1610) 4342b15cb3dSCy Schubert /** Compiled in flag settings for the pvt-cert option */ 435ea906c41SOllivier Robert #define PVT_CERT_FLAGS (OPTST_DISABLED) 436ea906c41SOllivier Robert 4372b15cb3dSCy Schubert #else /* disable pvt-cert */ 438ea906c41SOllivier Robert #define PVT_CERT_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 4392b15cb3dSCy Schubert #define PVT_CERT_NAME NULL 4402b15cb3dSCy Schubert #define PVT_CERT_DESC NULL 4412b15cb3dSCy Schubert #define PVT_CERT_name NULL 4422b15cb3dSCy Schubert #endif /* AUTOKEY */ 443ea906c41SOllivier Robert 4442b15cb3dSCy Schubert /** 4452b15cb3dSCy Schubert * password option description: 446ea906c41SOllivier Robert */ 4472b15cb3dSCy Schubert #ifdef AUTOKEY 4482b15cb3dSCy Schubert /** Descriptive text for the password option */ 44909100258SXin LI #define PASSWORD_DESC (ntp_keygen_opt_strs+1619) 4502b15cb3dSCy Schubert /** Upper-cased name for the password option */ 45109100258SXin LI #define PASSWORD_NAME (ntp_keygen_opt_strs+1642) 4522b15cb3dSCy Schubert /** Name string for the password option */ 45309100258SXin LI #define PASSWORD_name (ntp_keygen_opt_strs+1651) 4542b15cb3dSCy Schubert /** Compiled in flag settings for the password option */ 4552b15cb3dSCy Schubert #define PASSWORD_FLAGS (OPTST_DISABLED \ 456ea906c41SOllivier Robert | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 457ea906c41SOllivier Robert 4582b15cb3dSCy Schubert #else /* disable password */ 4592b15cb3dSCy Schubert #define PASSWORD_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 4602b15cb3dSCy Schubert #define PASSWORD_NAME NULL 4612b15cb3dSCy Schubert #define PASSWORD_DESC NULL 4622b15cb3dSCy Schubert #define PASSWORD_name NULL 4632b15cb3dSCy Schubert #endif /* AUTOKEY */ 464ea906c41SOllivier Robert 4652b15cb3dSCy Schubert /** 4662b15cb3dSCy Schubert * export-passwd option description: 467ea906c41SOllivier Robert */ 4682b15cb3dSCy Schubert #ifdef AUTOKEY 4692b15cb3dSCy Schubert /** Descriptive text for the export-passwd option */ 47009100258SXin LI #define EXPORT_PASSWD_DESC (ntp_keygen_opt_strs+1660) 4712b15cb3dSCy Schubert /** Upper-cased name for the export-passwd option */ 47209100258SXin LI #define EXPORT_PASSWD_NAME (ntp_keygen_opt_strs+1702) 4732b15cb3dSCy Schubert /** Name string for the export-passwd option */ 47409100258SXin LI #define EXPORT_PASSWD_name (ntp_keygen_opt_strs+1716) 4752b15cb3dSCy Schubert /** Compiled in flag settings for the export-passwd option */ 4762b15cb3dSCy Schubert #define EXPORT_PASSWD_FLAGS (OPTST_DISABLED \ 477ea906c41SOllivier Robert | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 478ea906c41SOllivier Robert 4792b15cb3dSCy Schubert #else /* disable export-passwd */ 4802b15cb3dSCy Schubert #define EXPORT_PASSWD_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 4812b15cb3dSCy Schubert #define EXPORT_PASSWD_NAME NULL 4822b15cb3dSCy Schubert #define EXPORT_PASSWD_DESC NULL 4832b15cb3dSCy Schubert #define EXPORT_PASSWD_name NULL 4842b15cb3dSCy Schubert #endif /* AUTOKEY */ 485ea906c41SOllivier Robert 4862b15cb3dSCy Schubert /** 4872b15cb3dSCy Schubert * subject-name option description: 488ea906c41SOllivier Robert */ 4892b15cb3dSCy Schubert #ifdef AUTOKEY 4902b15cb3dSCy Schubert /** Descriptive text for the subject-name option */ 49109100258SXin LI #define SUBJECT_NAME_DESC (ntp_keygen_opt_strs+1730) 4922b15cb3dSCy Schubert /** Upper-cased name for the subject-name option */ 49309100258SXin LI #define SUBJECT_NAME_NAME (ntp_keygen_opt_strs+1765) 4942b15cb3dSCy Schubert /** Name string for the subject-name option */ 49509100258SXin LI #define SUBJECT_NAME_name (ntp_keygen_opt_strs+1778) 4962b15cb3dSCy Schubert /** Compiled in flag settings for the subject-name option */ 497ea906c41SOllivier Robert #define SUBJECT_NAME_FLAGS (OPTST_DISABLED \ 498ea906c41SOllivier Robert | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 499ea906c41SOllivier Robert 5002b15cb3dSCy Schubert #else /* disable subject-name */ 501ea906c41SOllivier Robert #define SUBJECT_NAME_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 5022b15cb3dSCy Schubert #define SUBJECT_NAME_NAME NULL 5032b15cb3dSCy Schubert #define SUBJECT_NAME_DESC NULL 5042b15cb3dSCy Schubert #define SUBJECT_NAME_name NULL 5052b15cb3dSCy Schubert #endif /* AUTOKEY */ 506ea906c41SOllivier Robert 5072b15cb3dSCy Schubert /** 50809100258SXin LI * sign-key option description: 50909100258SXin LI */ 51009100258SXin LI #ifdef AUTOKEY 51109100258SXin LI /** Descriptive text for the sign-key option */ 51209100258SXin LI #define SIGN_KEY_DESC (ntp_keygen_opt_strs+1791) 51309100258SXin LI /** Upper-cased name for the sign-key option */ 51409100258SXin LI #define SIGN_KEY_NAME (ntp_keygen_opt_strs+1822) 51509100258SXin LI /** Name string for the sign-key option */ 51609100258SXin LI #define SIGN_KEY_name (ntp_keygen_opt_strs+1831) 51709100258SXin LI /** Compiled in flag settings for the sign-key option */ 51809100258SXin LI #define SIGN_KEY_FLAGS (OPTST_DISABLED \ 51909100258SXin LI | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 52009100258SXin LI 52109100258SXin LI #else /* disable sign-key */ 52209100258SXin LI #define SIGN_KEY_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 52309100258SXin LI #define SIGN_KEY_NAME NULL 52409100258SXin LI #define SIGN_KEY_DESC NULL 52509100258SXin LI #define SIGN_KEY_name NULL 52609100258SXin LI #endif /* AUTOKEY */ 52709100258SXin LI 52809100258SXin LI /** 5292b15cb3dSCy Schubert * trusted-cert option description: 530ea906c41SOllivier Robert */ 5312b15cb3dSCy Schubert #ifdef AUTOKEY 5322b15cb3dSCy Schubert /** Descriptive text for the trusted-cert option */ 53309100258SXin LI #define TRUSTED_CERT_DESC (ntp_keygen_opt_strs+1840) 5342b15cb3dSCy Schubert /** Upper-cased name for the trusted-cert option */ 53509100258SXin LI #define TRUSTED_CERT_NAME (ntp_keygen_opt_strs+1872) 5362b15cb3dSCy Schubert /** Name string for the trusted-cert option */ 53709100258SXin LI #define TRUSTED_CERT_name (ntp_keygen_opt_strs+1885) 5382b15cb3dSCy Schubert /** Compiled in flag settings for the trusted-cert option */ 539ea906c41SOllivier Robert #define TRUSTED_CERT_FLAGS (OPTST_DISABLED) 540ea906c41SOllivier Robert 5412b15cb3dSCy Schubert #else /* disable trusted-cert */ 542ea906c41SOllivier Robert #define TRUSTED_CERT_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 5432b15cb3dSCy Schubert #define TRUSTED_CERT_NAME NULL 5442b15cb3dSCy Schubert #define TRUSTED_CERT_DESC NULL 5452b15cb3dSCy Schubert #define TRUSTED_CERT_name NULL 5462b15cb3dSCy Schubert #endif /* AUTOKEY */ 547ea906c41SOllivier Robert 5482b15cb3dSCy Schubert /** 5492b15cb3dSCy Schubert * mv-params option description: 550ea906c41SOllivier Robert */ 5512b15cb3dSCy Schubert #ifdef AUTOKEY 5522b15cb3dSCy Schubert /** Descriptive text for the mv-params option */ 55309100258SXin LI #define MV_PARAMS_DESC (ntp_keygen_opt_strs+1898) 5542b15cb3dSCy Schubert /** Upper-cased name for the mv-params option */ 55509100258SXin LI #define MV_PARAMS_NAME (ntp_keygen_opt_strs+1927) 5562b15cb3dSCy Schubert /** Name string for the mv-params option */ 55709100258SXin LI #define MV_PARAMS_name (ntp_keygen_opt_strs+1937) 5582b15cb3dSCy Schubert /** Compiled in flag settings for the mv-params option */ 559ea906c41SOllivier Robert #define MV_PARAMS_FLAGS (OPTST_DISABLED \ 560ea906c41SOllivier Robert | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC)) 561ea906c41SOllivier Robert 5622b15cb3dSCy Schubert #else /* disable mv-params */ 563ea906c41SOllivier Robert #define MV_PARAMS_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 5642b15cb3dSCy Schubert #define MV_PARAMS_NAME NULL 5652b15cb3dSCy Schubert #define MV_PARAMS_DESC NULL 5662b15cb3dSCy Schubert #define MV_PARAMS_name NULL 5672b15cb3dSCy Schubert #endif /* AUTOKEY */ 568ea906c41SOllivier Robert 5692b15cb3dSCy Schubert /** 5702b15cb3dSCy Schubert * mv-keys option description: 571ea906c41SOllivier Robert */ 5722b15cb3dSCy Schubert #ifdef AUTOKEY 5732b15cb3dSCy Schubert /** Descriptive text for the mv-keys option */ 57409100258SXin LI #define MV_KEYS_DESC (ntp_keygen_opt_strs+1947) 5752b15cb3dSCy Schubert /** Upper-cased name for the mv-keys option */ 57609100258SXin LI #define MV_KEYS_NAME (ntp_keygen_opt_strs+1968) 5772b15cb3dSCy Schubert /** Name string for the mv-keys option */ 57809100258SXin LI #define MV_KEYS_name (ntp_keygen_opt_strs+1976) 5792b15cb3dSCy Schubert /** Compiled in flag settings for the mv-keys option */ 580ea906c41SOllivier Robert #define MV_KEYS_FLAGS (OPTST_DISABLED \ 581ea906c41SOllivier Robert | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC)) 582ea906c41SOllivier Robert 5832b15cb3dSCy Schubert #else /* disable mv-keys */ 584ea906c41SOllivier Robert #define MV_KEYS_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 5852b15cb3dSCy Schubert #define MV_KEYS_NAME NULL 5862b15cb3dSCy Schubert #define MV_KEYS_DESC NULL 5872b15cb3dSCy Schubert #define MV_KEYS_name NULL 5882b15cb3dSCy Schubert #endif /* AUTOKEY */ 589ea906c41SOllivier Robert 590ea906c41SOllivier Robert /* 591ea906c41SOllivier Robert * Help/More_Help/Version option descriptions: 592ea906c41SOllivier Robert */ 59309100258SXin LI #define HELP_DESC (ntp_keygen_opt_strs+1984) 59409100258SXin LI #define HELP_name (ntp_keygen_opt_strs+2028) 5952b15cb3dSCy Schubert #ifdef HAVE_WORKING_FORK 59609100258SXin LI #define MORE_HELP_DESC (ntp_keygen_opt_strs+2033) 59709100258SXin LI #define MORE_HELP_name (ntp_keygen_opt_strs+2078) 5982b15cb3dSCy Schubert #define MORE_HELP_FLAGS (OPTST_IMM | OPTST_NO_INIT) 5992b15cb3dSCy Schubert #else 6002b15cb3dSCy Schubert #define MORE_HELP_DESC HELP_DESC 6012b15cb3dSCy Schubert #define MORE_HELP_name HELP_name 6022b15cb3dSCy Schubert #define MORE_HELP_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 6032b15cb3dSCy Schubert #endif 6042b15cb3dSCy Schubert #ifdef NO_OPTIONAL_OPT_ARGS 6052b15cb3dSCy Schubert # define VER_FLAGS (OPTST_IMM | OPTST_NO_INIT) 6062b15cb3dSCy Schubert #else 6072b15cb3dSCy Schubert # define VER_FLAGS (OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \ 6082b15cb3dSCy Schubert OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT) 6092b15cb3dSCy Schubert #endif 61009100258SXin LI #define VER_DESC (ntp_keygen_opt_strs+2088) 61109100258SXin LI #define VER_name (ntp_keygen_opt_strs+2124) 61209100258SXin LI #define SAVE_OPTS_DESC (ntp_keygen_opt_strs+2132) 61309100258SXin LI #define SAVE_OPTS_name (ntp_keygen_opt_strs+2171) 61409100258SXin LI #define LOAD_OPTS_DESC (ntp_keygen_opt_strs+2181) 61509100258SXin LI #define LOAD_OPTS_NAME (ntp_keygen_opt_strs+2213) 61609100258SXin LI #define NO_LOAD_OPTS_name (ntp_keygen_opt_strs+2223) 61709100258SXin LI #define LOAD_OPTS_pfx (ntp_keygen_opt_strs+2236) 6182b15cb3dSCy Schubert #define LOAD_OPTS_name (NO_LOAD_OPTS_name + 3) 6192b15cb3dSCy Schubert /** 620ea906c41SOllivier Robert * Declare option callback procedures 621ea906c41SOllivier Robert */ 6222b15cb3dSCy Schubert #ifdef AUTOKEY 6232b15cb3dSCy Schubert static tOptProc doOptImbits; 6242b15cb3dSCy Schubert #else /* not AUTOKEY */ 6252b15cb3dSCy Schubert # define doOptImbits NULL 6262b15cb3dSCy Schubert #endif /* def/not AUTOKEY */ 6272b15cb3dSCy Schubert #ifdef AUTOKEY 628ea906c41SOllivier Robert static tOptProc doOptModulus; 6292b15cb3dSCy Schubert #else /* not AUTOKEY */ 630ea906c41SOllivier Robert # define doOptModulus NULL 6312b15cb3dSCy Schubert #endif /* def/not AUTOKEY */ 632ea906c41SOllivier Robert extern tOptProc 6332b15cb3dSCy Schubert ntpOptionPrintVersion, optionBooleanVal, optionNestedVal, 6342b15cb3dSCy Schubert optionNumericVal, optionPagedUsage, optionResetOpt, 6352b15cb3dSCy Schubert optionStackArg, optionTimeDate, optionTimeVal, 6362b15cb3dSCy Schubert optionUnstackArg, optionVendorOption; 637ea906c41SOllivier Robert static tOptProc 6382b15cb3dSCy Schubert doOptDebug_Level, doUsageOpt; 6392b15cb3dSCy Schubert #define VER_PROC ntpOptionPrintVersion 640ea906c41SOllivier Robert 6412b15cb3dSCy Schubert /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 6422b15cb3dSCy Schubert /** 6432b15cb3dSCy Schubert * Define the ntp-keygen Option Descriptions. 6442b15cb3dSCy Schubert * This is an array of OPTION_CT entries, one for each 6452b15cb3dSCy Schubert * option that the ntp-keygen program responds to. 646ea906c41SOllivier Robert */ 647ea906c41SOllivier Robert static tOptDesc optDesc[OPTION_CT] = { 6482b15cb3dSCy Schubert { /* entry idx, value */ 0, VALUE_OPT_IMBITS, 6492b15cb3dSCy Schubert /* equiv idx, value */ 0, VALUE_OPT_IMBITS, 6502b15cb3dSCy Schubert /* equivalenced to */ NO_EQUIVALENT, 6512b15cb3dSCy Schubert /* min, max, act ct */ 0, 1, 0, 6522b15cb3dSCy Schubert /* opt state flags */ IMBITS_FLAGS, 0, 6532b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --imbits */ 6542b15cb3dSCy Schubert /* arg list/cookie */ NULL, 6552b15cb3dSCy Schubert /* must/cannot opts */ NULL, NULL, 6562b15cb3dSCy Schubert /* option proc */ doOptImbits, 6572b15cb3dSCy Schubert /* desc, NAME, name */ IMBITS_DESC, IMBITS_NAME, IMBITS_name, 6582b15cb3dSCy Schubert /* disablement strs */ NULL, NULL }, 6592b15cb3dSCy Schubert 6602b15cb3dSCy Schubert { /* entry idx, value */ 1, VALUE_OPT_CERTIFICATE, 6612b15cb3dSCy Schubert /* equiv idx, value */ 1, VALUE_OPT_CERTIFICATE, 662ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 663ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 664ea906c41SOllivier Robert /* opt state flags */ CERTIFICATE_FLAGS, 0, 6652b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --certificate */ 666ea906c41SOllivier Robert /* arg list/cookie */ NULL, 667ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 668ea906c41SOllivier Robert /* option proc */ NULL, 6692b15cb3dSCy Schubert /* desc, NAME, name */ CERTIFICATE_DESC, CERTIFICATE_NAME, CERTIFICATE_name, 670ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 671ea906c41SOllivier Robert 6722b15cb3dSCy Schubert { /* entry idx, value */ 2, VALUE_OPT_CIPHER, 6732b15cb3dSCy Schubert /* equiv idx, value */ 2, VALUE_OPT_CIPHER, 6742b15cb3dSCy Schubert /* equivalenced to */ NO_EQUIVALENT, 6752b15cb3dSCy Schubert /* min, max, act ct */ 0, 1, 0, 6762b15cb3dSCy Schubert /* opt state flags */ CIPHER_FLAGS, 0, 6772b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --cipher */ 6782b15cb3dSCy Schubert /* arg list/cookie */ NULL, 6792b15cb3dSCy Schubert /* must/cannot opts */ NULL, NULL, 6802b15cb3dSCy Schubert /* option proc */ NULL, 6812b15cb3dSCy Schubert /* desc, NAME, name */ CIPHER_DESC, CIPHER_NAME, CIPHER_name, 6822b15cb3dSCy Schubert /* disablement strs */ NULL, NULL }, 6832b15cb3dSCy Schubert 6842b15cb3dSCy Schubert { /* entry idx, value */ 3, VALUE_OPT_DEBUG_LEVEL, 6852b15cb3dSCy Schubert /* equiv idx, value */ 3, VALUE_OPT_DEBUG_LEVEL, 686ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 687ea906c41SOllivier Robert /* min, max, act ct */ 0, NOLIMIT, 0, 688ea906c41SOllivier Robert /* opt state flags */ DEBUG_LEVEL_FLAGS, 0, 6892b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --debug-level */ 690ea906c41SOllivier Robert /* arg list/cookie */ NULL, 691ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 6922b15cb3dSCy Schubert /* option proc */ doOptDebug_Level, 6932b15cb3dSCy Schubert /* desc, NAME, name */ DEBUG_LEVEL_DESC, DEBUG_LEVEL_NAME, DEBUG_LEVEL_name, 694ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 695ea906c41SOllivier Robert 6962b15cb3dSCy Schubert { /* entry idx, value */ 4, VALUE_OPT_SET_DEBUG_LEVEL, 6972b15cb3dSCy Schubert /* equiv idx, value */ 4, VALUE_OPT_SET_DEBUG_LEVEL, 698ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 699ea906c41SOllivier Robert /* min, max, act ct */ 0, NOLIMIT, 0, 700ea906c41SOllivier Robert /* opt state flags */ SET_DEBUG_LEVEL_FLAGS, 0, 7012b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --set-debug-level */ 702ea906c41SOllivier Robert /* arg list/cookie */ NULL, 703ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 7042b15cb3dSCy Schubert /* option proc */ optionNumericVal, 7052b15cb3dSCy Schubert /* desc, NAME, name */ SET_DEBUG_LEVEL_DESC, SET_DEBUG_LEVEL_NAME, SET_DEBUG_LEVEL_name, 706ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 707ea906c41SOllivier Robert 7082b15cb3dSCy Schubert { /* entry idx, value */ 5, VALUE_OPT_ID_KEY, 7092b15cb3dSCy Schubert /* equiv idx, value */ 5, VALUE_OPT_ID_KEY, 710ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 711ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 712ea906c41SOllivier Robert /* opt state flags */ ID_KEY_FLAGS, 0, 7132b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --id-key */ 714ea906c41SOllivier Robert /* arg list/cookie */ NULL, 715ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 716ea906c41SOllivier Robert /* option proc */ NULL, 7172b15cb3dSCy Schubert /* desc, NAME, name */ ID_KEY_DESC, ID_KEY_NAME, ID_KEY_name, 718ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 719ea906c41SOllivier Robert 7202b15cb3dSCy Schubert { /* entry idx, value */ 6, VALUE_OPT_GQ_PARAMS, 7212b15cb3dSCy Schubert /* equiv idx, value */ 6, VALUE_OPT_GQ_PARAMS, 722ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 723ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 724ea906c41SOllivier Robert /* opt state flags */ GQ_PARAMS_FLAGS, 0, 7252b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --gq-params */ 726ea906c41SOllivier Robert /* arg list/cookie */ NULL, 727ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 728ea906c41SOllivier Robert /* option proc */ NULL, 7292b15cb3dSCy Schubert /* desc, NAME, name */ GQ_PARAMS_DESC, GQ_PARAMS_NAME, GQ_PARAMS_name, 730ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 731ea906c41SOllivier Robert 7322b15cb3dSCy Schubert { /* entry idx, value */ 7, VALUE_OPT_HOST_KEY, 7332b15cb3dSCy Schubert /* equiv idx, value */ 7, VALUE_OPT_HOST_KEY, 734ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 735ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 736ea906c41SOllivier Robert /* opt state flags */ HOST_KEY_FLAGS, 0, 7372b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --host-key */ 738ea906c41SOllivier Robert /* arg list/cookie */ NULL, 739ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 740ea906c41SOllivier Robert /* option proc */ NULL, 7412b15cb3dSCy Schubert /* desc, NAME, name */ HOST_KEY_DESC, HOST_KEY_NAME, HOST_KEY_name, 742ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 743ea906c41SOllivier Robert 7442b15cb3dSCy Schubert { /* entry idx, value */ 8, VALUE_OPT_IFFKEY, 7452b15cb3dSCy Schubert /* equiv idx, value */ 8, VALUE_OPT_IFFKEY, 746ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 747ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 748ea906c41SOllivier Robert /* opt state flags */ IFFKEY_FLAGS, 0, 7492b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --iffkey */ 750ea906c41SOllivier Robert /* arg list/cookie */ NULL, 751ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 752ea906c41SOllivier Robert /* option proc */ NULL, 7532b15cb3dSCy Schubert /* desc, NAME, name */ IFFKEY_DESC, IFFKEY_NAME, IFFKEY_name, 754ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 755ea906c41SOllivier Robert 7562b15cb3dSCy Schubert { /* entry idx, value */ 9, VALUE_OPT_IDENT, 7572b15cb3dSCy Schubert /* equiv idx, value */ 9, VALUE_OPT_IDENT, 758ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 759ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 7602b15cb3dSCy Schubert /* opt state flags */ IDENT_FLAGS, 0, 7612b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --ident */ 762ea906c41SOllivier Robert /* arg list/cookie */ NULL, 763ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 764ea906c41SOllivier Robert /* option proc */ NULL, 7652b15cb3dSCy Schubert /* desc, NAME, name */ IDENT_DESC, IDENT_NAME, IDENT_name, 766ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 767ea906c41SOllivier Robert 7682b15cb3dSCy Schubert { /* entry idx, value */ 10, VALUE_OPT_LIFETIME, 7692b15cb3dSCy Schubert /* equiv idx, value */ 10, VALUE_OPT_LIFETIME, 7702b15cb3dSCy Schubert /* equivalenced to */ NO_EQUIVALENT, 7712b15cb3dSCy Schubert /* min, max, act ct */ 0, 1, 0, 7722b15cb3dSCy Schubert /* opt state flags */ LIFETIME_FLAGS, 0, 7732b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --lifetime */ 7742b15cb3dSCy Schubert /* arg list/cookie */ NULL, 7752b15cb3dSCy Schubert /* must/cannot opts */ NULL, NULL, 7762b15cb3dSCy Schubert /* option proc */ optionNumericVal, 7772b15cb3dSCy Schubert /* desc, NAME, name */ LIFETIME_DESC, LIFETIME_NAME, LIFETIME_name, 7782b15cb3dSCy Schubert /* disablement strs */ NULL, NULL }, 7792b15cb3dSCy Schubert 78009100258SXin LI { /* entry idx, value */ 11, VALUE_OPT_MODULUS, 78109100258SXin LI /* equiv idx, value */ 11, VALUE_OPT_MODULUS, 782ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 783ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 784ea906c41SOllivier Robert /* opt state flags */ MODULUS_FLAGS, 0, 7852b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --modulus */ 786ea906c41SOllivier Robert /* arg list/cookie */ NULL, 787ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 788ea906c41SOllivier Robert /* option proc */ doOptModulus, 7892b15cb3dSCy Schubert /* desc, NAME, name */ MODULUS_DESC, MODULUS_NAME, MODULUS_name, 790ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 791ea906c41SOllivier Robert 79209100258SXin LI { /* entry idx, value */ 12, VALUE_OPT_MD5KEY, 79309100258SXin LI /* equiv idx, value */ 12, VALUE_OPT_MD5KEY, 79409100258SXin LI /* equivalenced to */ NO_EQUIVALENT, 79509100258SXin LI /* min, max, act ct */ 0, 1, 0, 79609100258SXin LI /* opt state flags */ MD5KEY_FLAGS, 0, 79709100258SXin LI /* last opt argumnt */ { NULL }, /* --md5key */ 79809100258SXin LI /* arg list/cookie */ NULL, 79909100258SXin LI /* must/cannot opts */ NULL, NULL, 80009100258SXin LI /* option proc */ NULL, 80109100258SXin LI /* desc, NAME, name */ MD5KEY_DESC, MD5KEY_NAME, MD5KEY_name, 80209100258SXin LI /* disablement strs */ NULL, NULL }, 80309100258SXin LI 8042b15cb3dSCy Schubert { /* entry idx, value */ 13, VALUE_OPT_PVT_CERT, 8052b15cb3dSCy Schubert /* equiv idx, value */ 13, VALUE_OPT_PVT_CERT, 806ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 807ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 808ea906c41SOllivier Robert /* opt state flags */ PVT_CERT_FLAGS, 0, 8092b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --pvt-cert */ 810ea906c41SOllivier Robert /* arg list/cookie */ NULL, 811ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 812ea906c41SOllivier Robert /* option proc */ NULL, 8132b15cb3dSCy Schubert /* desc, NAME, name */ PVT_CERT_DESC, PVT_CERT_NAME, PVT_CERT_name, 814ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 815ea906c41SOllivier Robert 8162b15cb3dSCy Schubert { /* entry idx, value */ 14, VALUE_OPT_PASSWORD, 8172b15cb3dSCy Schubert /* equiv idx, value */ 14, VALUE_OPT_PASSWORD, 818ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 819ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 8202b15cb3dSCy Schubert /* opt state flags */ PASSWORD_FLAGS, 0, 8212b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --password */ 822ea906c41SOllivier Robert /* arg list/cookie */ NULL, 823ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 824ea906c41SOllivier Robert /* option proc */ NULL, 8252b15cb3dSCy Schubert /* desc, NAME, name */ PASSWORD_DESC, PASSWORD_NAME, PASSWORD_name, 826ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 827ea906c41SOllivier Robert 8282b15cb3dSCy Schubert { /* entry idx, value */ 15, VALUE_OPT_EXPORT_PASSWD, 8292b15cb3dSCy Schubert /* equiv idx, value */ 15, VALUE_OPT_EXPORT_PASSWD, 830ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 831ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 8322b15cb3dSCy Schubert /* opt state flags */ EXPORT_PASSWD_FLAGS, 0, 8332b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --export-passwd */ 834ea906c41SOllivier Robert /* arg list/cookie */ NULL, 835ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 836ea906c41SOllivier Robert /* option proc */ NULL, 8372b15cb3dSCy Schubert /* desc, NAME, name */ EXPORT_PASSWD_DESC, EXPORT_PASSWD_NAME, EXPORT_PASSWD_name, 838ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 839ea906c41SOllivier Robert 84009100258SXin LI { /* entry idx, value */ 16, VALUE_OPT_SUBJECT_NAME, 84109100258SXin LI /* equiv idx, value */ 16, VALUE_OPT_SUBJECT_NAME, 842ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 843ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 844ea906c41SOllivier Robert /* opt state flags */ SUBJECT_NAME_FLAGS, 0, 8452b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --subject-name */ 846ea906c41SOllivier Robert /* arg list/cookie */ NULL, 847ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 848ea906c41SOllivier Robert /* option proc */ NULL, 8492b15cb3dSCy Schubert /* desc, NAME, name */ SUBJECT_NAME_DESC, SUBJECT_NAME_NAME, SUBJECT_NAME_name, 850ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 851ea906c41SOllivier Robert 85209100258SXin LI { /* entry idx, value */ 17, VALUE_OPT_SIGN_KEY, 85309100258SXin LI /* equiv idx, value */ 17, VALUE_OPT_SIGN_KEY, 85409100258SXin LI /* equivalenced to */ NO_EQUIVALENT, 85509100258SXin LI /* min, max, act ct */ 0, 1, 0, 85609100258SXin LI /* opt state flags */ SIGN_KEY_FLAGS, 0, 85709100258SXin LI /* last opt argumnt */ { NULL }, /* --sign-key */ 85809100258SXin LI /* arg list/cookie */ NULL, 85909100258SXin LI /* must/cannot opts */ NULL, NULL, 86009100258SXin LI /* option proc */ NULL, 86109100258SXin LI /* desc, NAME, name */ SIGN_KEY_DESC, SIGN_KEY_NAME, SIGN_KEY_name, 86209100258SXin LI /* disablement strs */ NULL, NULL }, 86309100258SXin LI 8642b15cb3dSCy Schubert { /* entry idx, value */ 18, VALUE_OPT_TRUSTED_CERT, 8652b15cb3dSCy Schubert /* equiv idx, value */ 18, VALUE_OPT_TRUSTED_CERT, 866ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 867ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 868ea906c41SOllivier Robert /* opt state flags */ TRUSTED_CERT_FLAGS, 0, 8692b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --trusted-cert */ 870ea906c41SOllivier Robert /* arg list/cookie */ NULL, 871ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 872ea906c41SOllivier Robert /* option proc */ NULL, 8732b15cb3dSCy Schubert /* desc, NAME, name */ TRUSTED_CERT_DESC, TRUSTED_CERT_NAME, TRUSTED_CERT_name, 874ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 875ea906c41SOllivier Robert 8762b15cb3dSCy Schubert { /* entry idx, value */ 19, VALUE_OPT_MV_PARAMS, 8772b15cb3dSCy Schubert /* equiv idx, value */ 19, VALUE_OPT_MV_PARAMS, 878ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 879ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 880ea906c41SOllivier Robert /* opt state flags */ MV_PARAMS_FLAGS, 0, 8812b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --mv-params */ 882ea906c41SOllivier Robert /* arg list/cookie */ NULL, 883ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 884ea906c41SOllivier Robert /* option proc */ optionNumericVal, 8852b15cb3dSCy Schubert /* desc, NAME, name */ MV_PARAMS_DESC, MV_PARAMS_NAME, MV_PARAMS_name, 886ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 887ea906c41SOllivier Robert 8882b15cb3dSCy Schubert { /* entry idx, value */ 20, VALUE_OPT_MV_KEYS, 8892b15cb3dSCy Schubert /* equiv idx, value */ 20, VALUE_OPT_MV_KEYS, 890ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 891ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 892ea906c41SOllivier Robert /* opt state flags */ MV_KEYS_FLAGS, 0, 8932b15cb3dSCy Schubert /* last opt argumnt */ { NULL }, /* --mv-keys */ 894ea906c41SOllivier Robert /* arg list/cookie */ NULL, 895ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 896ea906c41SOllivier Robert /* option proc */ optionNumericVal, 8972b15cb3dSCy Schubert /* desc, NAME, name */ MV_KEYS_DESC, MV_KEYS_NAME, MV_KEYS_name, 898ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 899ea906c41SOllivier Robert 900ea906c41SOllivier Robert { /* entry idx, value */ INDEX_OPT_VERSION, VALUE_OPT_VERSION, 9012b15cb3dSCy Schubert /* equiv idx value */ NO_EQUIVALENT, VALUE_OPT_VERSION, 902ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 903ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 9042b15cb3dSCy Schubert /* opt state flags */ VER_FLAGS, AOUSE_VERSION, 905ea906c41SOllivier Robert /* last opt argumnt */ { NULL }, 906ea906c41SOllivier Robert /* arg list/cookie */ NULL, 907ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 9082b15cb3dSCy Schubert /* option proc */ VER_PROC, 9092b15cb3dSCy Schubert /* desc, NAME, name */ VER_DESC, NULL, VER_name, 910ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 911ea906c41SOllivier Robert 912ea906c41SOllivier Robert 913ea906c41SOllivier Robert 914ea906c41SOllivier Robert { /* entry idx, value */ INDEX_OPT_HELP, VALUE_OPT_HELP, 9152b15cb3dSCy Schubert /* equiv idx value */ NO_EQUIVALENT, VALUE_OPT_HELP, 916ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 917ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 9182b15cb3dSCy Schubert /* opt state flags */ OPTST_IMM | OPTST_NO_INIT, AOUSE_HELP, 919ea906c41SOllivier Robert /* last opt argumnt */ { NULL }, 920ea906c41SOllivier Robert /* arg list/cookie */ NULL, 921ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 922ea906c41SOllivier Robert /* option proc */ doUsageOpt, 9232b15cb3dSCy Schubert /* desc, NAME, name */ HELP_DESC, NULL, HELP_name, 924ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 925ea906c41SOllivier Robert 926ea906c41SOllivier Robert { /* entry idx, value */ INDEX_OPT_MORE_HELP, VALUE_OPT_MORE_HELP, 9272b15cb3dSCy Schubert /* equiv idx value */ NO_EQUIVALENT, VALUE_OPT_MORE_HELP, 928ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 929ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 9302b15cb3dSCy Schubert /* opt state flags */ MORE_HELP_FLAGS, AOUSE_MORE_HELP, 931ea906c41SOllivier Robert /* last opt argumnt */ { NULL }, 932ea906c41SOllivier Robert /* arg list/cookie */ NULL, 933ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 934ea906c41SOllivier Robert /* option proc */ optionPagedUsage, 9352b15cb3dSCy Schubert /* desc, NAME, name */ MORE_HELP_DESC, NULL, MORE_HELP_name, 936ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 937ea906c41SOllivier Robert 938ea906c41SOllivier Robert { /* entry idx, value */ INDEX_OPT_SAVE_OPTS, VALUE_OPT_SAVE_OPTS, 9392b15cb3dSCy Schubert /* equiv idx value */ NO_EQUIVALENT, VALUE_OPT_SAVE_OPTS, 940ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 941ea906c41SOllivier Robert /* min, max, act ct */ 0, 1, 0, 942ea906c41SOllivier Robert /* opt state flags */ OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) 9432b15cb3dSCy Schubert | OPTST_ARG_OPTIONAL | OPTST_NO_INIT, AOUSE_SAVE_OPTS, 944ea906c41SOllivier Robert /* last opt argumnt */ { NULL }, 945ea906c41SOllivier Robert /* arg list/cookie */ NULL, 946ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 947ea906c41SOllivier Robert /* option proc */ NULL, 9482b15cb3dSCy Schubert /* desc, NAME, name */ SAVE_OPTS_DESC, NULL, SAVE_OPTS_name, 949ea906c41SOllivier Robert /* disablement strs */ NULL, NULL }, 950ea906c41SOllivier Robert 951ea906c41SOllivier Robert { /* entry idx, value */ INDEX_OPT_LOAD_OPTS, VALUE_OPT_LOAD_OPTS, 9522b15cb3dSCy Schubert /* equiv idx value */ NO_EQUIVALENT, VALUE_OPT_LOAD_OPTS, 953ea906c41SOllivier Robert /* equivalenced to */ NO_EQUIVALENT, 954ea906c41SOllivier Robert /* min, max, act ct */ 0, NOLIMIT, 0, 9552b15cb3dSCy Schubert /* opt state flags */ OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) 9562b15cb3dSCy Schubert | OPTST_DISABLE_IMM, AOUSE_LOAD_OPTS, 957ea906c41SOllivier Robert /* last opt argumnt */ { NULL }, 958ea906c41SOllivier Robert /* arg list/cookie */ NULL, 959ea906c41SOllivier Robert /* must/cannot opts */ NULL, NULL, 960ea906c41SOllivier Robert /* option proc */ optionLoadOpt, 9612b15cb3dSCy Schubert /* desc, NAME, name */ LOAD_OPTS_DESC, LOAD_OPTS_NAME, LOAD_OPTS_name, 9622b15cb3dSCy Schubert /* disablement strs */ NO_LOAD_OPTS_name, LOAD_OPTS_pfx } 963ea906c41SOllivier Robert }; 964ea906c41SOllivier Robert 965ea906c41SOllivier Robert 9662b15cb3dSCy Schubert /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 9672b15cb3dSCy Schubert /** Reference to the upper cased version of ntp-keygen. */ 96809100258SXin LI #define zPROGNAME (ntp_keygen_opt_strs+2239) 9692b15cb3dSCy Schubert /** Reference to the title line for ntp-keygen usage. */ 97009100258SXin LI #define zUsageTitle (ntp_keygen_opt_strs+2250) 9712b15cb3dSCy Schubert /** ntp-keygen configuration file name. */ 97209100258SXin LI #define zRcName (ntp_keygen_opt_strs+2373) 9732b15cb3dSCy Schubert /** Directories to search for ntp-keygen config files. */ 9742b15cb3dSCy Schubert static char const * const apzHomeList[3] = { 97509100258SXin LI ntp_keygen_opt_strs+2365, 97609100258SXin LI ntp_keygen_opt_strs+2371, 9772b15cb3dSCy Schubert NULL }; 9782b15cb3dSCy Schubert /** The ntp-keygen program bug email address. */ 97909100258SXin LI #define zBugsAddr (ntp_keygen_opt_strs+2380) 9802b15cb3dSCy Schubert /** Clarification/explanation of what ntp-keygen does. */ 981a466cc55SCy Schubert #define zExplain (ntp_keygen_opt_strs+2415) 9822b15cb3dSCy Schubert /** Extra detail explaining what ntp-keygen does. */ 9832b15cb3dSCy Schubert #define zDetail (NULL) 9842b15cb3dSCy Schubert /** The full version string for ntp-keygen. */ 985a466cc55SCy Schubert #define zFullVersion (ntp_keygen_opt_strs+2417) 986a466cc55SCy Schubert /* extracted from optcode.tlib near line 342 */ 987ea906c41SOllivier Robert 988ea906c41SOllivier Robert #if defined(ENABLE_NLS) 989ea906c41SOllivier Robert # define OPTPROC_BASE OPTPROC_TRANSLATE 990ea906c41SOllivier Robert static tOptionXlateProc translate_option_strings; 991ea906c41SOllivier Robert #else 992ea906c41SOllivier Robert # define OPTPROC_BASE OPTPROC_NONE 993ea906c41SOllivier Robert # define translate_option_strings NULL 994ea906c41SOllivier Robert #endif /* ENABLE_NLS */ 995ea906c41SOllivier Robert 9962b15cb3dSCy Schubert #define ntp_keygen_full_usage (NULL) 9972b15cb3dSCy Schubert #define ntp_keygen_short_usage (NULL) 9982b15cb3dSCy Schubert 9992b15cb3dSCy Schubert #endif /* not defined __doxygen__ */ 10002b15cb3dSCy Schubert 10012b15cb3dSCy Schubert /* 10022b15cb3dSCy Schubert * Create the static procedure(s) declared above. 10032b15cb3dSCy Schubert */ 10042b15cb3dSCy Schubert /** 10052b15cb3dSCy Schubert * The callout function that invokes the optionUsage function. 10062b15cb3dSCy Schubert * 10072b15cb3dSCy Schubert * @param[in] opts the AutoOpts option description structure 10082b15cb3dSCy Schubert * @param[in] od the descriptor for the "help" (usage) option. 10092b15cb3dSCy Schubert * @noreturn 10102b15cb3dSCy Schubert */ 10112b15cb3dSCy Schubert static void 10122b15cb3dSCy Schubert doUsageOpt(tOptions * opts, tOptDesc * od) 10132b15cb3dSCy Schubert { 10142b15cb3dSCy Schubert int ex_code; 10152b15cb3dSCy Schubert ex_code = NTP_KEYGEN_EXIT_SUCCESS; 10162b15cb3dSCy Schubert optionUsage(&ntp_keygenOptions, ex_code); 10172b15cb3dSCy Schubert /* NOTREACHED */ 1018a466cc55SCy Schubert exit(NTP_KEYGEN_EXIT_FAILURE); 10192b15cb3dSCy Schubert (void)opts; 10202b15cb3dSCy Schubert (void)od; 10212b15cb3dSCy Schubert } 10222b15cb3dSCy Schubert 10232b15cb3dSCy Schubert /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 10242b15cb3dSCy Schubert /** 10252b15cb3dSCy Schubert * Code to handle the imbits option, when AUTOKEY is #define-d. 1026a466cc55SCy Schubert * The number of bits in the identity modulus. The default is 512. 10272b15cb3dSCy Schubert * @param[in] pOptions the ntp-keygen options data structure 10282b15cb3dSCy Schubert * @param[in,out] pOptDesc the option descriptor for this option. 10292b15cb3dSCy Schubert */ 10302b15cb3dSCy Schubert #ifdef AUTOKEY 10312b15cb3dSCy Schubert static void 10322b15cb3dSCy Schubert doOptImbits(tOptions* pOptions, tOptDesc* pOptDesc) 10332b15cb3dSCy Schubert { 10342b15cb3dSCy Schubert static struct {long rmin, rmax;} const rng[1] = { 10352b15cb3dSCy Schubert { 256, 2048 } }; 10362b15cb3dSCy Schubert int ix; 10372b15cb3dSCy Schubert 10382b15cb3dSCy Schubert if (pOptions <= OPTPROC_EMIT_LIMIT) 10392b15cb3dSCy Schubert goto emit_ranges; 10402b15cb3dSCy Schubert optionNumericVal(pOptions, pOptDesc); 10412b15cb3dSCy Schubert 10422b15cb3dSCy Schubert for (ix = 0; ix < 1; ix++) { 10432b15cb3dSCy Schubert if (pOptDesc->optArg.argInt < rng[ix].rmin) 10442b15cb3dSCy Schubert continue; /* ranges need not be ordered. */ 10452b15cb3dSCy Schubert if (pOptDesc->optArg.argInt == rng[ix].rmin) 10462b15cb3dSCy Schubert return; 10472b15cb3dSCy Schubert if (rng[ix].rmax == LONG_MIN) 10482b15cb3dSCy Schubert continue; 10492b15cb3dSCy Schubert if (pOptDesc->optArg.argInt <= rng[ix].rmax) 10502b15cb3dSCy Schubert return; 10512b15cb3dSCy Schubert } 10522b15cb3dSCy Schubert 10532b15cb3dSCy Schubert option_usage_fp = stderr; 10542b15cb3dSCy Schubert 10552b15cb3dSCy Schubert emit_ranges: 1056276da39aSCy Schubert optionShowRange(pOptions, pOptDesc, VOIDP(rng), 1); 10572b15cb3dSCy Schubert } 10582b15cb3dSCy Schubert #endif /* defined AUTOKEY */ 10592b15cb3dSCy Schubert 10602b15cb3dSCy Schubert /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 10612b15cb3dSCy Schubert /** 10622b15cb3dSCy Schubert * Code to handle the debug-level option. 10632b15cb3dSCy Schubert * 10642b15cb3dSCy Schubert * @param[in] pOptions the ntp-keygen options data structure 10652b15cb3dSCy Schubert * @param[in,out] pOptDesc the option descriptor for this option. 10662b15cb3dSCy Schubert */ 10672b15cb3dSCy Schubert static void 10682b15cb3dSCy Schubert doOptDebug_Level(tOptions* pOptions, tOptDesc* pOptDesc) 10692b15cb3dSCy Schubert { 10702b15cb3dSCy Schubert /* 10712b15cb3dSCy Schubert * Be sure the flag-code[0] handles special values for the options pointer 10722b15cb3dSCy Schubert * viz. (poptions <= OPTPROC_EMIT_LIMIT) *and also* the special flag bit 10732b15cb3dSCy Schubert * ((poptdesc->fOptState & OPTST_RESET) != 0) telling the option to 10742b15cb3dSCy Schubert * reset its state. 10752b15cb3dSCy Schubert */ 10762b15cb3dSCy Schubert /* extracted from debug-opt.def, line 15 */ 10772b15cb3dSCy Schubert OPT_VALUE_SET_DEBUG_LEVEL++; 10782b15cb3dSCy Schubert (void)pOptDesc; 10792b15cb3dSCy Schubert (void)pOptions; 10802b15cb3dSCy Schubert } 10812b15cb3dSCy Schubert 10822b15cb3dSCy Schubert /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 10832b15cb3dSCy Schubert /** 10842b15cb3dSCy Schubert * Code to handle the modulus option, when AUTOKEY is #define-d. 10852b15cb3dSCy Schubert * The number of bits in the prime modulus. The default is 512. 10862b15cb3dSCy Schubert * @param[in] pOptions the ntp-keygen options data structure 10872b15cb3dSCy Schubert * @param[in,out] pOptDesc the option descriptor for this option. 10882b15cb3dSCy Schubert */ 10892b15cb3dSCy Schubert #ifdef AUTOKEY 10902b15cb3dSCy Schubert static void 10912b15cb3dSCy Schubert doOptModulus(tOptions* pOptions, tOptDesc* pOptDesc) 10922b15cb3dSCy Schubert { 10932b15cb3dSCy Schubert static struct {long rmin, rmax;} const rng[1] = { 10942b15cb3dSCy Schubert { 256, 2048 } }; 10952b15cb3dSCy Schubert int ix; 10962b15cb3dSCy Schubert 10972b15cb3dSCy Schubert if (pOptions <= OPTPROC_EMIT_LIMIT) 10982b15cb3dSCy Schubert goto emit_ranges; 10992b15cb3dSCy Schubert optionNumericVal(pOptions, pOptDesc); 11002b15cb3dSCy Schubert 11012b15cb3dSCy Schubert for (ix = 0; ix < 1; ix++) { 11022b15cb3dSCy Schubert if (pOptDesc->optArg.argInt < rng[ix].rmin) 11032b15cb3dSCy Schubert continue; /* ranges need not be ordered. */ 11042b15cb3dSCy Schubert if (pOptDesc->optArg.argInt == rng[ix].rmin) 11052b15cb3dSCy Schubert return; 11062b15cb3dSCy Schubert if (rng[ix].rmax == LONG_MIN) 11072b15cb3dSCy Schubert continue; 11082b15cb3dSCy Schubert if (pOptDesc->optArg.argInt <= rng[ix].rmax) 11092b15cb3dSCy Schubert return; 11102b15cb3dSCy Schubert } 11112b15cb3dSCy Schubert 11122b15cb3dSCy Schubert option_usage_fp = stderr; 11132b15cb3dSCy Schubert 11142b15cb3dSCy Schubert emit_ranges: 1115276da39aSCy Schubert optionShowRange(pOptions, pOptDesc, VOIDP(rng), 1); 11162b15cb3dSCy Schubert } 11172b15cb3dSCy Schubert #endif /* defined AUTOKEY */ 1118276da39aSCy Schubert /* extracted from optmain.tlib near line 1250 */ 11192b15cb3dSCy Schubert 11202b15cb3dSCy Schubert /** 11212b15cb3dSCy Schubert * The directory containing the data associated with ntp-keygen. 11222b15cb3dSCy Schubert */ 11232b15cb3dSCy Schubert #ifndef PKGDATADIR 11242b15cb3dSCy Schubert # define PKGDATADIR "" 11252b15cb3dSCy Schubert #endif 11262b15cb3dSCy Schubert 11272b15cb3dSCy Schubert /** 11282b15cb3dSCy Schubert * Information about the person or institution that packaged ntp-keygen 11292b15cb3dSCy Schubert * for the current distribution. 11302b15cb3dSCy Schubert */ 11312b15cb3dSCy Schubert #ifndef WITH_PACKAGER 11322b15cb3dSCy Schubert # define ntp_keygen_packager_info NULL 11332b15cb3dSCy Schubert #else 11342b15cb3dSCy Schubert /** Packager information for ntp-keygen. */ 11352b15cb3dSCy Schubert static char const ntp_keygen_packager_info[] = 11362b15cb3dSCy Schubert "Packaged by " WITH_PACKAGER 11372b15cb3dSCy Schubert 11382b15cb3dSCy Schubert # ifdef WITH_PACKAGER_VERSION 11392b15cb3dSCy Schubert " ("WITH_PACKAGER_VERSION")" 11402b15cb3dSCy Schubert # endif 11412b15cb3dSCy Schubert 11422b15cb3dSCy Schubert # ifdef WITH_PACKAGER_BUG_REPORTS 11432b15cb3dSCy Schubert "\nReport ntp_keygen bugs to " WITH_PACKAGER_BUG_REPORTS 11442b15cb3dSCy Schubert # endif 11452b15cb3dSCy Schubert "\n"; 11462b15cb3dSCy Schubert #endif 11472b15cb3dSCy Schubert #ifndef __doxygen__ 11482b15cb3dSCy Schubert 11492b15cb3dSCy Schubert #endif /* __doxygen__ */ 11502b15cb3dSCy Schubert /** 11512b15cb3dSCy Schubert * The option definitions for ntp-keygen. The one structure that 11522b15cb3dSCy Schubert * binds them all. 11532b15cb3dSCy Schubert */ 1154ea906c41SOllivier Robert tOptions ntp_keygenOptions = { 1155ea906c41SOllivier Robert OPTIONS_STRUCT_VERSION, 1156ea906c41SOllivier Robert 0, NULL, /* original argc + argv */ 1157ea906c41SOllivier Robert ( OPTPROC_BASE 1158ea906c41SOllivier Robert + OPTPROC_ERRSTOP 1159ea906c41SOllivier Robert + OPTPROC_SHORTOPT 1160ea906c41SOllivier Robert + OPTPROC_LONGOPT 1161ea906c41SOllivier Robert + OPTPROC_NO_REQ_OPT 1162ea906c41SOllivier Robert + OPTPROC_ENVIRON 1163ea906c41SOllivier Robert + OPTPROC_NO_ARGS 11642b15cb3dSCy Schubert + OPTPROC_MISUSE ), 1165ea906c41SOllivier Robert 0, NULL, /* current option index, current option */ 1166ea906c41SOllivier Robert NULL, NULL, zPROGNAME, 11672b15cb3dSCy Schubert zRcName, zCopyright, zLicenseDescrip, 1168ea906c41SOllivier Robert zFullVersion, apzHomeList, zUsageTitle, 1169ea906c41SOllivier Robert zExplain, zDetail, optDesc, 1170ea906c41SOllivier Robert zBugsAddr, /* address to send bugs to */ 1171ea906c41SOllivier Robert NULL, NULL, /* extensions/saved state */ 1172ea906c41SOllivier Robert optionUsage, /* usage procedure */ 1173ea906c41SOllivier Robert translate_option_strings, /* translation procedure */ 1174ea906c41SOllivier Robert /* 1175ea906c41SOllivier Robert * Indexes to special options 1176ea906c41SOllivier Robert */ 11772b15cb3dSCy Schubert { INDEX_OPT_MORE_HELP, /* more-help option index */ 11782b15cb3dSCy Schubert INDEX_OPT_SAVE_OPTS, /* save option index */ 11792b15cb3dSCy Schubert NO_EQUIVALENT, /* '-#' option index */ 1180ea906c41SOllivier Robert NO_EQUIVALENT /* index of default opt */ 1181ea906c41SOllivier Robert }, 11822b15cb3dSCy Schubert 26 /* full option count */, 21 /* user option count */, 11832b15cb3dSCy Schubert ntp_keygen_full_usage, ntp_keygen_short_usage, 11842b15cb3dSCy Schubert NULL, NULL, 11852b15cb3dSCy Schubert PKGDATADIR, ntp_keygen_packager_info 1186ea906c41SOllivier Robert }; 1187ea906c41SOllivier Robert 1188ea906c41SOllivier Robert #if ENABLE_NLS 11892b15cb3dSCy Schubert /** 11902b15cb3dSCy Schubert * This code is designed to translate translatable option text for the 11912b15cb3dSCy Schubert * ntp-keygen program. These translations happen upon entry 11922b15cb3dSCy Schubert * to optionProcess(). 11932b15cb3dSCy Schubert */ 1194ea906c41SOllivier Robert #include <stdio.h> 1195ea906c41SOllivier Robert #include <stdlib.h> 1196ea906c41SOllivier Robert #include <string.h> 1197ea906c41SOllivier Robert #include <unistd.h> 11982b15cb3dSCy Schubert #ifdef HAVE_DCGETTEXT 11992b15cb3dSCy Schubert # include <gettext.h> 12002b15cb3dSCy Schubert #endif 1201ea906c41SOllivier Robert #include <autoopts/usage-txt.h> 1202ea906c41SOllivier Robert 1203ea906c41SOllivier Robert static char * AO_gettext(char const * pz); 1204ea906c41SOllivier Robert static void coerce_it(void ** s); 1205ea906c41SOllivier Robert 12062b15cb3dSCy Schubert /** 12072b15cb3dSCy Schubert * AutoGen specific wrapper function for gettext. It relies on the macro _() 12082b15cb3dSCy Schubert * to convert from English to the target language, then strdup-duplicates the 12092b15cb3dSCy Schubert * result string. It tries the "libopts" domain first, then whatever has been 12102b15cb3dSCy Schubert * set via the \a textdomain(3) call. 12112b15cb3dSCy Schubert * 12122b15cb3dSCy Schubert * @param[in] pz the input text used as a lookup key. 12132b15cb3dSCy Schubert * @returns the translated text (if there is one), 12142b15cb3dSCy Schubert * or the original text (if not). 12152b15cb3dSCy Schubert */ 1216ea906c41SOllivier Robert static char * 1217ea906c41SOllivier Robert AO_gettext(char const * pz) 1218ea906c41SOllivier Robert { 12192b15cb3dSCy Schubert char * res; 1220ea906c41SOllivier Robert if (pz == NULL) 1221ea906c41SOllivier Robert return NULL; 12222b15cb3dSCy Schubert #ifdef HAVE_DCGETTEXT 1223ea906c41SOllivier Robert /* 12242b15cb3dSCy Schubert * While processing the option_xlateable_txt data, try to use the 12252b15cb3dSCy Schubert * "libopts" domain. Once we switch to the option descriptor data, 12262b15cb3dSCy Schubert * do *not* use that domain. 12272b15cb3dSCy Schubert */ 12282b15cb3dSCy Schubert if (option_xlateable_txt.field_ct != 0) { 12292b15cb3dSCy Schubert res = dgettext("libopts", pz); 12302b15cb3dSCy Schubert if (res == pz) 1231276da39aSCy Schubert res = (char *)VOIDP(_(pz)); 12322b15cb3dSCy Schubert } else 1233276da39aSCy Schubert res = (char *)VOIDP(_(pz)); 12342b15cb3dSCy Schubert #else 1235276da39aSCy Schubert res = (char *)VOIDP(_(pz)); 12362b15cb3dSCy Schubert #endif 12372b15cb3dSCy Schubert if (res == pz) 12382b15cb3dSCy Schubert return res; 12392b15cb3dSCy Schubert res = strdup(res); 12402b15cb3dSCy Schubert if (res == NULL) { 12412b15cb3dSCy Schubert fputs(_("No memory for duping translated strings\n"), stderr); 12422b15cb3dSCy Schubert exit(NTP_KEYGEN_EXIT_FAILURE); 12432b15cb3dSCy Schubert } 12442b15cb3dSCy Schubert return res; 12452b15cb3dSCy Schubert } 12462b15cb3dSCy Schubert 12472b15cb3dSCy Schubert /** 12482b15cb3dSCy Schubert * All the pointers we use are marked "* const", but they are stored in 12492b15cb3dSCy Schubert * writable memory. Coerce the mutability and set the pointer. 12502b15cb3dSCy Schubert */ 12512b15cb3dSCy Schubert static void coerce_it(void ** s) { *s = AO_gettext(*s); 12522b15cb3dSCy Schubert } 12532b15cb3dSCy Schubert 12542b15cb3dSCy Schubert /** 12552b15cb3dSCy Schubert * Translate all the translatable strings in the ntp_keygenOptions 12562b15cb3dSCy Schubert * structure defined above. This is done only once. 1257ea906c41SOllivier Robert */ 1258ea906c41SOllivier Robert static void 1259ea906c41SOllivier Robert translate_option_strings(void) 1260ea906c41SOllivier Robert { 12612b15cb3dSCy Schubert tOptions * const opts = &ntp_keygenOptions; 12622b15cb3dSCy Schubert 1263ea906c41SOllivier Robert /* 1264ea906c41SOllivier Robert * Guard against re-translation. It won't work. The strings will have 1265ea906c41SOllivier Robert * been changed by the first pass through this code. One shot only. 1266ea906c41SOllivier Robert */ 12672b15cb3dSCy Schubert if (option_xlateable_txt.field_ct != 0) { 1268ea906c41SOllivier Robert /* 12692b15cb3dSCy Schubert * Do the translations. The first pointer follows the field count 12702b15cb3dSCy Schubert * field. The field count field is the size of a pointer. 1271ea906c41SOllivier Robert */ 1272276da39aSCy Schubert char ** ppz = (char**)VOIDP(&(option_xlateable_txt)); 12732b15cb3dSCy Schubert int ix = option_xlateable_txt.field_ct; 1274ea906c41SOllivier Robert 1275ea906c41SOllivier Robert do { 12762b15cb3dSCy Schubert ppz++; /* skip over field_ct */ 1277ea906c41SOllivier Robert *ppz = AO_gettext(*ppz); 1278ea906c41SOllivier Robert } while (--ix > 0); 12792b15cb3dSCy Schubert /* prevent re-translation and disable "libopts" domain lookup */ 12802b15cb3dSCy Schubert option_xlateable_txt.field_ct = 0; 1281ea906c41SOllivier Robert 1282276da39aSCy Schubert coerce_it(VOIDP(&(opts->pzCopyright))); 1283276da39aSCy Schubert coerce_it(VOIDP(&(opts->pzCopyNotice))); 1284276da39aSCy Schubert coerce_it(VOIDP(&(opts->pzFullVersion))); 1285276da39aSCy Schubert coerce_it(VOIDP(&(opts->pzUsageTitle))); 1286276da39aSCy Schubert coerce_it(VOIDP(&(opts->pzExplain))); 1287276da39aSCy Schubert coerce_it(VOIDP(&(opts->pzDetail))); 1288ea906c41SOllivier Robert { 12892b15cb3dSCy Schubert tOptDesc * od = opts->pOptDesc; 12902b15cb3dSCy Schubert for (ix = opts->optCt; ix > 0; ix--, od++) 1291276da39aSCy Schubert coerce_it(VOIDP(&(od->pzText))); 1292ea906c41SOllivier Robert } 1293ea906c41SOllivier Robert } 1294ea906c41SOllivier Robert } 1295ea906c41SOllivier Robert #endif /* ENABLE_NLS */ 1296ea906c41SOllivier Robert 12972b15cb3dSCy Schubert #ifdef DO_NOT_COMPILE_THIS_CODE_IT_IS_FOR_GETTEXT 12982b15cb3dSCy Schubert /** I18N function strictly for xgettext. Do not compile. */ 12992b15cb3dSCy Schubert static void bogus_function(void) { 13002b15cb3dSCy Schubert /* TRANSLATORS: 13012b15cb3dSCy Schubert 13022b15cb3dSCy Schubert The following dummy function was crated solely so that xgettext can 13032b15cb3dSCy Schubert extract the correct strings. These strings are actually referenced 13042b15cb3dSCy Schubert by a field name in the ntp_keygenOptions structure noted in the 13052b15cb3dSCy Schubert comments below. The literal text is defined in ntp_keygen_opt_strs. 13062b15cb3dSCy Schubert 13072b15cb3dSCy Schubert NOTE: the strings below are segmented with respect to the source string 13082b15cb3dSCy Schubert ntp_keygen_opt_strs. The strings above are handed off for translation 13092b15cb3dSCy Schubert at run time a paragraph at a time. Consequently, they are presented here 13102b15cb3dSCy Schubert for translation a paragraph at a time. 13112b15cb3dSCy Schubert 13122b15cb3dSCy Schubert ALSO: often the description for an option will reference another option 13132b15cb3dSCy Schubert by name. These are set off with apostrophe quotes (I hope). Do not 13142b15cb3dSCy Schubert translate option names. 13152b15cb3dSCy Schubert */ 13162b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pzCopyright */ 1317*f5f40dd6SCy Schubert puts(_("ntp-keygen (ntp) 4.2.8p18\n\ 1318*f5f40dd6SCy Schubert Copyright (C) 1992-2024 The University of Delaware and Network Time Foundation, all rights reserved.\n\ 13192b15cb3dSCy Schubert This is free software. It is licensed for use, modification and\n\ 13202b15cb3dSCy Schubert redistribution under the terms of the NTP License, copies of which\n\ 13212b15cb3dSCy Schubert can be seen at:\n")); 13222b15cb3dSCy Schubert puts(_(" <http://ntp.org/license>\n\ 13232b15cb3dSCy Schubert <http://opensource.org/licenses/ntp-license.php>\n")); 13242b15cb3dSCy Schubert 13252b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pzCopyNotice */ 13262b15cb3dSCy Schubert puts(_("Permission to use, copy, modify, and distribute this software and its\n\ 13272b15cb3dSCy Schubert documentation for any purpose with or without fee is hereby granted,\n\ 13282b15cb3dSCy Schubert provided that the above copyright notice appears in all copies and that\n\ 13292b15cb3dSCy Schubert both the copyright notice and this permission notice appear in supporting\n\ 13302b15cb3dSCy Schubert documentation, and that the name The University of Delaware not be used in\n\ 13312b15cb3dSCy Schubert advertising or publicity pertaining to distribution of the software without\n\ 13322b15cb3dSCy Schubert specific, written prior permission. The University of Delaware and Network\n\ 13332b15cb3dSCy Schubert Time Foundation makes no representations about the suitability this\n\ 13342b15cb3dSCy Schubert software for any purpose. It is provided \"as is\" without express or\n\ 13352b15cb3dSCy Schubert implied warranty.\n")); 13362b15cb3dSCy Schubert 13372b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13382b15cb3dSCy Schubert puts(_("identity modulus bits")); 13392b15cb3dSCy Schubert 13402b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13412b15cb3dSCy Schubert puts(_("certificate scheme")); 13422b15cb3dSCy Schubert 13432b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13442b15cb3dSCy Schubert puts(_("privatekey cipher")); 13452b15cb3dSCy Schubert 13462b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13472b15cb3dSCy Schubert puts(_("Increase debug verbosity level")); 13482b15cb3dSCy Schubert 13492b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13502b15cb3dSCy Schubert puts(_("Set the debug verbosity level")); 13512b15cb3dSCy Schubert 13522b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13532b15cb3dSCy Schubert puts(_("Write IFF or GQ identity keys")); 13542b15cb3dSCy Schubert 13552b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13562b15cb3dSCy Schubert puts(_("Generate GQ parameters and keys")); 13572b15cb3dSCy Schubert 13582b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13592b15cb3dSCy Schubert puts(_("generate RSA host key")); 13602b15cb3dSCy Schubert 13612b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13622b15cb3dSCy Schubert puts(_("generate IFF parameters")); 13632b15cb3dSCy Schubert 13642b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13652b15cb3dSCy Schubert puts(_("set Autokey group name")); 13662b15cb3dSCy Schubert 13672b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13682b15cb3dSCy Schubert puts(_("set certificate lifetime")); 13692b15cb3dSCy Schubert 13702b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 137109100258SXin LI puts(_("prime modulus")); 13722b15cb3dSCy Schubert 13732b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 137409100258SXin LI puts(_("generate symmetric keys")); 13752b15cb3dSCy Schubert 13762b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13772b15cb3dSCy Schubert puts(_("generate PC private certificate")); 13782b15cb3dSCy Schubert 13792b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13802b15cb3dSCy Schubert puts(_("local private password")); 13812b15cb3dSCy Schubert 13822b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13832b15cb3dSCy Schubert puts(_("export IFF or GQ group keys with password")); 13842b15cb3dSCy Schubert 13852b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 138609100258SXin LI puts(_("set host and optionally group name")); 13872b15cb3dSCy Schubert 13882b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 138909100258SXin LI puts(_("generate sign key (RSA or DSA)")); 13902b15cb3dSCy Schubert 13912b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13922b15cb3dSCy Schubert puts(_("trusted certificate (TC scheme)")); 13932b15cb3dSCy Schubert 13942b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13952b15cb3dSCy Schubert puts(_("generate <num> MV parameters")); 13962b15cb3dSCy Schubert 13972b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 13982b15cb3dSCy Schubert puts(_("update <num> MV keys")); 13992b15cb3dSCy Schubert 14002b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 14012b15cb3dSCy Schubert puts(_("display extended usage information and exit")); 14022b15cb3dSCy Schubert 14032b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 14042b15cb3dSCy Schubert puts(_("extended usage information passed thru pager")); 14052b15cb3dSCy Schubert 14062b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 14072b15cb3dSCy Schubert puts(_("output version information and exit")); 14082b15cb3dSCy Schubert 14092b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 14102b15cb3dSCy Schubert puts(_("save the option state to a config file")); 14112b15cb3dSCy Schubert 14122b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pOptDesc->pzText */ 14132b15cb3dSCy Schubert puts(_("load options from a config file")); 14142b15cb3dSCy Schubert 14152b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pzUsageTitle */ 1416*f5f40dd6SCy Schubert puts(_("ntp-keygen (ntp) - Create a NTP host key - Ver. 4.2.8p18\n\ 14172b15cb3dSCy Schubert Usage: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n")); 14182b15cb3dSCy Schubert 14192b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pzExplain */ 14202b15cb3dSCy Schubert puts(_("\n")); 14212b15cb3dSCy Schubert 14222b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pzFullVersion */ 1423*f5f40dd6SCy Schubert puts(_("ntp-keygen (ntp) 4.2.8p18")); 14242b15cb3dSCy Schubert 14252b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pzFullUsage */ 14262b15cb3dSCy Schubert puts(_("<<<NOT-FOUND>>>")); 14272b15cb3dSCy Schubert 14282b15cb3dSCy Schubert /* referenced via ntp_keygenOptions.pzShortUsage */ 14292b15cb3dSCy Schubert puts(_("<<<NOT-FOUND>>>")); 14302b15cb3dSCy Schubert /* LIBOPTS-MESSAGES: */ 14312b15cb3dSCy Schubert #line 67 "../autoopts.c" 14322b15cb3dSCy Schubert puts(_("allocation of %d bytes failed\n")); 1433a466cc55SCy Schubert #line 89 "../autoopts.c" 14342b15cb3dSCy Schubert puts(_("allocation of %d bytes failed\n")); 1435a466cc55SCy Schubert #line 48 "../init.c" 14362b15cb3dSCy Schubert puts(_("AutoOpts function called without option descriptor\n")); 1437a466cc55SCy Schubert #line 81 "../init.c" 14382b15cb3dSCy Schubert puts(_("\tThis exceeds the compiled library version: ")); 1439a466cc55SCy Schubert #line 79 "../init.c" 14402b15cb3dSCy Schubert puts(_("Automated Options Processing Error!\n" 14412b15cb3dSCy Schubert "\t%s called AutoOpts function with structure version %d:%d:%d.\n")); 1442a466cc55SCy Schubert #line 78 "../autoopts.c" 14432b15cb3dSCy Schubert puts(_("realloc of %d bytes at 0x%p failed\n")); 1444a466cc55SCy Schubert #line 83 "../init.c" 14452b15cb3dSCy Schubert puts(_("\tThis is less than the minimum library version: ")); 14462b15cb3dSCy Schubert #line 121 "../version.c" 14472b15cb3dSCy Schubert puts(_("Automated Options version %s\n" 1448a466cc55SCy Schubert "\tCopyright (C) 1999-2017 by Bruce Korb - all rights reserved\n")); 1449a466cc55SCy Schubert #line 49 "../makeshell.c" 14502b15cb3dSCy Schubert puts(_("(AutoOpts bug): %s.\n")); 14512b15cb3dSCy Schubert #line 90 "../reset.c" 14522b15cb3dSCy Schubert puts(_("optionResetOpt() called, but reset-option not configured")); 1453a466cc55SCy Schubert #line 241 "../usage.c" 14542b15cb3dSCy Schubert puts(_("could not locate the 'help' option")); 1455a466cc55SCy Schubert #line 330 "../autoopts.c" 14562b15cb3dSCy Schubert puts(_("optionProcess() was called with invalid data")); 1457a466cc55SCy Schubert #line 697 "../usage.c" 14582b15cb3dSCy Schubert puts(_("invalid argument type specified")); 1459a466cc55SCy Schubert #line 568 "../find.c" 14602b15cb3dSCy Schubert puts(_("defaulted to option with optional arg")); 14612b15cb3dSCy Schubert #line 76 "../alias.c" 14622b15cb3dSCy Schubert puts(_("aliasing option is out of range.")); 1463a466cc55SCy Schubert #line 210 "../enum.c" 14642b15cb3dSCy Schubert puts(_("%s error: the keyword '%s' is ambiguous for %s\n")); 1465a466cc55SCy Schubert #line 78 "../find.c" 14662b15cb3dSCy Schubert puts(_(" The following options match:\n")); 1467a466cc55SCy Schubert #line 263 "../find.c" 14682b15cb3dSCy Schubert puts(_("%s: ambiguous option name: %s (matches %d options)\n")); 14692b15cb3dSCy Schubert #line 161 "../check.c" 14702b15cb3dSCy Schubert puts(_("%s: Command line arguments required\n")); 14712b15cb3dSCy Schubert #line 43 "../alias.c" 14722b15cb3dSCy Schubert puts(_("%d %s%s options allowed\n")); 1473a466cc55SCy Schubert #line 56 "../makeshell.c" 14742b15cb3dSCy Schubert puts(_("%s error %d (%s) calling %s for '%s'\n")); 1475a466cc55SCy Schubert #line 268 "../makeshell.c" 14762b15cb3dSCy Schubert puts(_("interprocess pipe")); 1477a466cc55SCy Schubert #line 171 "../version.c" 14782b15cb3dSCy Schubert puts(_("error: version option argument '%c' invalid. Use:\n" 14792b15cb3dSCy Schubert "\t'v' - version only\n" 14802b15cb3dSCy Schubert "\t'c' - version and copyright\n" 14812b15cb3dSCy Schubert "\t'n' - version and full copyright notice\n")); 14822b15cb3dSCy Schubert #line 58 "../check.c" 14832b15cb3dSCy Schubert puts(_("%s error: the '%s' and '%s' options conflict\n")); 1484a466cc55SCy Schubert #line 187 "../find.c" 14852b15cb3dSCy Schubert puts(_("%s: The '%s' option has been disabled.")); 1486a466cc55SCy Schubert #line 400 "../find.c" 14872b15cb3dSCy Schubert puts(_("%s: The '%s' option has been disabled.")); 14882b15cb3dSCy Schubert #line 38 "../alias.c" 14892b15cb3dSCy Schubert puts(_("-equivalence")); 1490a466cc55SCy Schubert #line 439 "../find.c" 14912b15cb3dSCy Schubert puts(_("%s: illegal option -- %c\n")); 14922b15cb3dSCy Schubert #line 110 "../reset.c" 14932b15cb3dSCy Schubert puts(_("%s: illegal option -- %c\n")); 1494a466cc55SCy Schubert #line 241 "../find.c" 14952b15cb3dSCy Schubert puts(_("%s: illegal option -- %s\n")); 1496a466cc55SCy Schubert #line 740 "../find.c" 14972b15cb3dSCy Schubert puts(_("%s: illegal option -- %s\n")); 14982b15cb3dSCy Schubert #line 118 "../reset.c" 14992b15cb3dSCy Schubert puts(_("%s: illegal option -- %s\n")); 1500a466cc55SCy Schubert #line 305 "../find.c" 15012b15cb3dSCy Schubert puts(_("%s: unknown vendor extension option -- %s\n")); 1502a466cc55SCy Schubert #line 135 "../enum.c" 15032b15cb3dSCy Schubert puts(_(" or an integer from %d through %d\n")); 1504a466cc55SCy Schubert #line 145 "../enum.c" 15052b15cb3dSCy Schubert puts(_(" or an integer from %d through %d\n")); 1506a466cc55SCy Schubert #line 696 "../usage.c" 15072b15cb3dSCy Schubert puts(_("%s error: invalid option descriptor for %s\n")); 1508a466cc55SCy Schubert #line 1030 "../usage.c" 15092b15cb3dSCy Schubert puts(_("%s error: invalid option descriptor for %s\n")); 1510a466cc55SCy Schubert #line 355 "../find.c" 15112b15cb3dSCy Schubert puts(_("%s: invalid option name: %s\n")); 1512a466cc55SCy Schubert #line 497 "../find.c" 15132b15cb3dSCy Schubert puts(_("%s: The '%s' option requires an argument.\n")); 1514a466cc55SCy Schubert #line 150 "../autoopts.c" 15152b15cb3dSCy Schubert puts(_("(AutoOpts bug): Equivalenced option '%s' was equivalenced to both\n" 15162b15cb3dSCy Schubert "\t'%s' and '%s'.")); 15172b15cb3dSCy Schubert #line 94 "../check.c" 15182b15cb3dSCy Schubert puts(_("%s error: The %s option is required\n")); 1519a466cc55SCy Schubert #line 602 "../find.c" 15202b15cb3dSCy Schubert puts(_("%s: The '%s' option cannot have an argument.\n")); 15212b15cb3dSCy Schubert #line 151 "../check.c" 15222b15cb3dSCy Schubert puts(_("%s: Command line arguments are not allowed.\n")); 1523a466cc55SCy Schubert #line 568 "../save.c" 15242b15cb3dSCy Schubert puts(_("error %d (%s) creating %s\n")); 1525a466cc55SCy Schubert #line 210 "../enum.c" 15262b15cb3dSCy Schubert puts(_("%s error: '%s' does not match any %s keywords.\n")); 15272b15cb3dSCy Schubert #line 93 "../reset.c" 15282b15cb3dSCy Schubert puts(_("%s error: The '%s' option requires an argument.\n")); 1529a466cc55SCy Schubert #line 122 "../save.c" 15302b15cb3dSCy Schubert puts(_("error %d (%s) stat-ing %s\n")); 1531a466cc55SCy Schubert #line 175 "../save.c" 15322b15cb3dSCy Schubert puts(_("error %d (%s) stat-ing %s\n")); 15332b15cb3dSCy Schubert #line 143 "../restore.c" 15342b15cb3dSCy Schubert puts(_("%s error: no saved option state\n")); 1535a466cc55SCy Schubert #line 225 "../autoopts.c" 15362b15cb3dSCy Schubert puts(_("'%s' is not a command line option.\n")); 1537a466cc55SCy Schubert #line 113 "../time.c" 15382b15cb3dSCy Schubert puts(_("%s error: '%s' is not a recognizable date/time.\n")); 15392b15cb3dSCy Schubert #line 50 "../time.c" 15402b15cb3dSCy Schubert puts(_("%s error: '%s' is not a recognizable time duration.\n")); 15412b15cb3dSCy Schubert #line 92 "../check.c" 15422b15cb3dSCy Schubert puts(_("%s error: The %s option must appear %d times.\n")); 1543a466cc55SCy Schubert #line 165 "../numeric.c" 15442b15cb3dSCy Schubert puts(_("%s error: '%s' is not a recognizable number.\n")); 1545a466cc55SCy Schubert #line 176 "../enum.c" 15462b15cb3dSCy Schubert puts(_("%s error: %s exceeds %s keyword count\n")); 1547a466cc55SCy Schubert #line 279 "../usage.c" 15482b15cb3dSCy Schubert puts(_("Try '%s %s' for more information.\n")); 15492b15cb3dSCy Schubert #line 45 "../alias.c" 15502b15cb3dSCy Schubert puts(_("one %s%s option allowed\n")); 1551a466cc55SCy Schubert #line 170 "../makeshell.c" 15522b15cb3dSCy Schubert puts(_("standard output")); 1553a466cc55SCy Schubert #line 905 "../makeshell.c" 15542b15cb3dSCy Schubert puts(_("standard output")); 1555a466cc55SCy Schubert #line 223 "../usage.c" 15562b15cb3dSCy Schubert puts(_("standard output")); 1557a466cc55SCy Schubert #line 364 "../usage.c" 15582b15cb3dSCy Schubert puts(_("standard output")); 1559a466cc55SCy Schubert #line 574 "../usage.c" 15602b15cb3dSCy Schubert puts(_("standard output")); 1561a466cc55SCy Schubert #line 178 "../version.c" 15622b15cb3dSCy Schubert puts(_("standard output")); 1563a466cc55SCy Schubert #line 223 "../usage.c" 15642b15cb3dSCy Schubert puts(_("standard error")); 1565a466cc55SCy Schubert #line 364 "../usage.c" 15662b15cb3dSCy Schubert puts(_("standard error")); 1567a466cc55SCy Schubert #line 574 "../usage.c" 15682b15cb3dSCy Schubert puts(_("standard error")); 1569a466cc55SCy Schubert #line 178 "../version.c" 15702b15cb3dSCy Schubert puts(_("standard error")); 1571a466cc55SCy Schubert #line 170 "../makeshell.c" 15722b15cb3dSCy Schubert puts(_("write")); 1573a466cc55SCy Schubert #line 905 "../makeshell.c" 15742b15cb3dSCy Schubert puts(_("write")); 1575a466cc55SCy Schubert #line 222 "../usage.c" 15762b15cb3dSCy Schubert puts(_("write")); 1577a466cc55SCy Schubert #line 363 "../usage.c" 15782b15cb3dSCy Schubert puts(_("write")); 1579a466cc55SCy Schubert #line 573 "../usage.c" 15802b15cb3dSCy Schubert puts(_("write")); 1581a466cc55SCy Schubert #line 177 "../version.c" 15822b15cb3dSCy Schubert puts(_("write")); 15832b15cb3dSCy Schubert #line 60 "../numeric.c" 15842b15cb3dSCy Schubert puts(_("%s error: %s option value %ld is out of range.\n")); 15852b15cb3dSCy Schubert #line 44 "../check.c" 15862b15cb3dSCy Schubert puts(_("%s error: %s option requires the %s option\n")); 1587a466cc55SCy Schubert #line 121 "../save.c" 15882b15cb3dSCy Schubert puts(_("%s warning: cannot save options - %s not regular file\n")); 1589a466cc55SCy Schubert #line 174 "../save.c" 15902b15cb3dSCy Schubert puts(_("%s warning: cannot save options - %s not regular file\n")); 1591a466cc55SCy Schubert #line 193 "../save.c" 15922b15cb3dSCy Schubert puts(_("%s warning: cannot save options - %s not regular file\n")); 1593a466cc55SCy Schubert #line 567 "../save.c" 15942b15cb3dSCy Schubert puts(_("%s warning: cannot save options - %s not regular file\n")); 15952b15cb3dSCy Schubert /* END-LIBOPTS-MESSAGES */ 15962b15cb3dSCy Schubert 15972b15cb3dSCy Schubert /* USAGE-TEXT: */ 1598a466cc55SCy Schubert #line 822 "../usage.c" 15992b15cb3dSCy Schubert puts(_("\t\t\t\t- an alternate for '%s'\n")); 1600a466cc55SCy Schubert #line 1097 "../usage.c" 16012b15cb3dSCy Schubert puts(_("Version, usage and configuration options:")); 1602a466cc55SCy Schubert #line 873 "../usage.c" 16032b15cb3dSCy Schubert puts(_("\t\t\t\t- default option for unnamed options\n")); 1604a466cc55SCy Schubert #line 786 "../usage.c" 16052b15cb3dSCy Schubert puts(_("\t\t\t\t- disabled as '--%s'\n")); 1606a466cc55SCy Schubert #line 1066 "../usage.c" 16072b15cb3dSCy Schubert puts(_(" --- %-14s %s\n")); 1608a466cc55SCy Schubert #line 1064 "../usage.c" 16092b15cb3dSCy Schubert puts(_("This option has been disabled")); 1610a466cc55SCy Schubert #line 813 "../usage.c" 16112b15cb3dSCy Schubert puts(_("\t\t\t\t- enabled by default\n")); 16122b15cb3dSCy Schubert #line 40 "../alias.c" 16132b15cb3dSCy Schubert puts(_("%s error: only ")); 1614a466cc55SCy Schubert #line 1143 "../usage.c" 16152b15cb3dSCy Schubert puts(_(" - examining environment variables named %s_*\n")); 16162b15cb3dSCy Schubert #line 168 "../file.c" 16172b15cb3dSCy Schubert puts(_("\t\t\t\t- file must not pre-exist\n")); 16182b15cb3dSCy Schubert #line 172 "../file.c" 16192b15cb3dSCy Schubert puts(_("\t\t\t\t- file must pre-exist\n")); 1620a466cc55SCy Schubert #line 329 "../usage.c" 16212b15cb3dSCy Schubert puts(_("Options are specified by doubled hyphens and their name or by a single\n" 16222b15cb3dSCy Schubert "hyphen and the flag character.\n")); 1623a466cc55SCy Schubert #line 882 "../makeshell.c" 16242b15cb3dSCy Schubert puts(_("\n" 16252b15cb3dSCy Schubert "= = = = = = = =\n\n" 16262b15cb3dSCy Schubert "This incarnation of genshell will produce\n" 16272b15cb3dSCy Schubert "a shell script to parse the options for %s:\n\n")); 1628a466cc55SCy Schubert #line 142 "../enum.c" 16292b15cb3dSCy Schubert puts(_(" or an integer mask with any of the lower %d bits set\n")); 1630a466cc55SCy Schubert #line 846 "../usage.c" 16312b15cb3dSCy Schubert puts(_("\t\t\t\t- is a set membership option\n")); 1632a466cc55SCy Schubert #line 867 "../usage.c" 16332b15cb3dSCy Schubert puts(_("\t\t\t\t- must appear between %d and %d times\n")); 1634a466cc55SCy Schubert #line 331 "../usage.c" 16352b15cb3dSCy Schubert puts(_("Options are specified by single or double hyphens and their name.\n")); 1636a466cc55SCy Schubert #line 853 "../usage.c" 16372b15cb3dSCy Schubert puts(_("\t\t\t\t- may appear multiple times\n")); 1638a466cc55SCy Schubert #line 840 "../usage.c" 16392b15cb3dSCy Schubert puts(_("\t\t\t\t- may not be preset\n")); 1640a466cc55SCy Schubert #line 1258 "../usage.c" 16412b15cb3dSCy Schubert puts(_(" Arg Option-Name Description\n")); 1642a466cc55SCy Schubert #line 1194 "../usage.c" 16432b15cb3dSCy Schubert puts(_(" Flg Arg Option-Name Description\n")); 1644a466cc55SCy Schubert #line 1252 "../usage.c" 16452b15cb3dSCy Schubert puts(_(" Flg Arg Option-Name Description\n")); 1646a466cc55SCy Schubert #line 1253 "../usage.c" 16472b15cb3dSCy Schubert puts(_(" %3s %s")); 1648a466cc55SCy Schubert #line 1259 "../usage.c" 16492b15cb3dSCy Schubert puts(_(" %3s %s")); 1650a466cc55SCy Schubert #line 336 "../usage.c" 16512b15cb3dSCy Schubert puts(_("The '-#<number>' option may omit the hash char\n")); 1652a466cc55SCy Schubert #line 332 "../usage.c" 16532b15cb3dSCy Schubert puts(_("All arguments are named options.\n")); 1654a466cc55SCy Schubert #line 920 "../usage.c" 16552b15cb3dSCy Schubert puts(_(" - reading file %s")); 1656a466cc55SCy Schubert #line 358 "../usage.c" 16572b15cb3dSCy Schubert puts(_("\n" 16582b15cb3dSCy Schubert "Please send bug reports to: <%s>\n")); 16592b15cb3dSCy Schubert #line 100 "../version.c" 16602b15cb3dSCy Schubert puts(_("\n" 16612b15cb3dSCy Schubert "Please send bug reports to: <%s>\n")); 16622b15cb3dSCy Schubert #line 129 "../version.c" 16632b15cb3dSCy Schubert puts(_("\n" 16642b15cb3dSCy Schubert "Please send bug reports to: <%s>\n")); 1665a466cc55SCy Schubert #line 852 "../usage.c" 16662b15cb3dSCy Schubert puts(_("\t\t\t\t- may NOT appear - preset only\n")); 1667a466cc55SCy Schubert #line 893 "../usage.c" 16682b15cb3dSCy Schubert puts(_("\n" 16692b15cb3dSCy Schubert "The following option preset mechanisms are supported:\n")); 1670a466cc55SCy Schubert #line 1141 "../usage.c" 16712b15cb3dSCy Schubert puts(_("\n" 16722b15cb3dSCy Schubert "The following option preset mechanisms are supported:\n")); 1673a466cc55SCy Schubert #line 631 "../usage.c" 16742b15cb3dSCy Schubert puts(_("prohibits these options:\n")); 1675a466cc55SCy Schubert #line 626 "../usage.c" 16762b15cb3dSCy Schubert puts(_("prohibits the option '%s'\n")); 16772b15cb3dSCy Schubert #line 81 "../numeric.c" 16782b15cb3dSCy Schubert puts(_("%s%ld to %ld")); 16792b15cb3dSCy Schubert #line 79 "../numeric.c" 16802b15cb3dSCy Schubert puts(_("%sgreater than or equal to %ld")); 16812b15cb3dSCy Schubert #line 75 "../numeric.c" 16822b15cb3dSCy Schubert puts(_("%s%ld exactly")); 16832b15cb3dSCy Schubert #line 68 "../numeric.c" 16842b15cb3dSCy Schubert puts(_("%sit must lie in one of the ranges:\n")); 16852b15cb3dSCy Schubert #line 68 "../numeric.c" 16862b15cb3dSCy Schubert puts(_("%sit must be in the range:\n")); 16872b15cb3dSCy Schubert #line 88 "../numeric.c" 16882b15cb3dSCy Schubert puts(_(", or\n")); 16892b15cb3dSCy Schubert #line 66 "../numeric.c" 16902b15cb3dSCy Schubert puts(_("%sis scalable with a suffix: k/K/m/M/g/G/t/T\n")); 16912b15cb3dSCy Schubert #line 77 "../numeric.c" 16922b15cb3dSCy Schubert puts(_("%sless than or equal to %ld")); 1693a466cc55SCy Schubert #line 339 "../usage.c" 16942b15cb3dSCy Schubert puts(_("Operands and options may be intermixed. They will be reordered.\n")); 1695a466cc55SCy Schubert #line 601 "../usage.c" 16962b15cb3dSCy Schubert puts(_("requires the option '%s'\n")); 1697a466cc55SCy Schubert #line 604 "../usage.c" 16982b15cb3dSCy Schubert puts(_("requires these options:\n")); 1699a466cc55SCy Schubert #line 1270 "../usage.c" 17002b15cb3dSCy Schubert puts(_(" Arg Option-Name Req? Description\n")); 1701a466cc55SCy Schubert #line 1264 "../usage.c" 17022b15cb3dSCy Schubert puts(_(" Flg Arg Option-Name Req? Description\n")); 1703a466cc55SCy Schubert #line 143 "../enum.c" 17042b15cb3dSCy Schubert puts(_("or you may use a numeric representation. Preceding these with a '!'\n" 17052b15cb3dSCy Schubert "will clear the bits, specifying 'none' will clear all bits, and 'all'\n" 17062b15cb3dSCy Schubert "will set them all. Multiple entries may be passed as an option\n" 17072b15cb3dSCy Schubert "argument list.\n")); 1708a466cc55SCy Schubert #line 859 "../usage.c" 17092b15cb3dSCy Schubert puts(_("\t\t\t\t- may appear up to %d times\n")); 1710a466cc55SCy Schubert #line 52 "../enum.c" 17112b15cb3dSCy Schubert puts(_("The valid \"%s\" option keywords are:\n")); 1712a466cc55SCy Schubert #line 1101 "../usage.c" 17132b15cb3dSCy Schubert puts(_("The next option supports vendor supported extra options:")); 1714a466cc55SCy Schubert #line 722 "../usage.c" 17152b15cb3dSCy Schubert puts(_("These additional options are:")); 17162b15cb3dSCy Schubert /* END-USAGE-TEXT */ 17172b15cb3dSCy Schubert } 17182b15cb3dSCy Schubert #endif /* uncompilable code */ 1719ea906c41SOllivier Robert #ifdef __cplusplus 1720ea906c41SOllivier Robert } 1721ea906c41SOllivier Robert #endif 1722ea906c41SOllivier Robert /* ntp-keygen-opts.c ends here */ 1723