Annotation of embedaddon/ntp/ntpsnmpd/ntpsnmpd-opts.c, revision 1.1
1.1 ! misho 1: /*
! 2: * EDIT THIS FILE WITH CAUTION (ntpsnmpd-opts.c)
! 3: *
! 4: * It has been AutoGen-ed December 24, 2011 at 06:34:36 PM by AutoGen 5.12
! 5: * From the definitions ntpsnmpd-opts.def
! 6: * and the template file options
! 7: *
! 8: * Generated from AutoOpts 35:0:10 templates.
! 9: *
! 10: * AutoOpts is a copyrighted work. This source file is not encumbered
! 11: * by AutoOpts licensing, but is provided under the licensing terms chosen
! 12: * by the ntpsnmpd author or copyright holder. AutoOpts is
! 13: * licensed under the terms of the LGPL. The redistributable library
! 14: * (``libopts'') is licensed under the terms of either the LGPL or, at the
! 15: * users discretion, the BSD license. See the AutoOpts and/or libopts sources
! 16: * for details.
! 17: *
! 18: * This source file is copyrighted and licensed under the following terms:
! 19: *
! 20: * see html/copyright.html
! 21: *
! 22: */
! 23:
! 24: #include <sys/types.h>
! 25:
! 26: #include <limits.h>
! 27: #include <stdio.h>
! 28: #include <stdlib.h>
! 29:
! 30: #define OPTION_CODE_COMPILE 1
! 31: #include "ntpsnmpd-opts.h"
! 32:
! 33: #ifdef __cplusplus
! 34: extern "C" {
! 35: #endif
! 36: extern FILE * option_usage_fp;
! 37:
! 38: /* TRANSLATORS: choose the translation for option names wisely because you
! 39: cannot ever change your mind. */
! 40: static char const zCopyright[42] =
! 41: "ntpsnmpd 4.2.6p5\n\
! 42: see html/copyright.html\n";
! 43: static char const zLicenseDescrip[25] =
! 44: "see html/copyright.html\n";
! 45:
! 46: extern tUsageProc optionUsage;
! 47:
! 48: #ifndef NULL
! 49: # define NULL 0
! 50: #endif
! 51:
! 52: /*
! 53: * Nofork option description:
! 54: */
! 55: static char const zNoforkText[] =
! 56: "Do not fork";
! 57: static char const zNofork_NAME[] = "NOFORK";
! 58: static char const zNofork_Name[] = "nofork";
! 59: #define NOFORK_FLAGS (OPTST_DISABLED)
! 60:
! 61: /*
! 62: * Syslog option description:
! 63: */
! 64: static char const zSyslogText[] =
! 65: "Log to syslog()";
! 66: static char const zSyslog_NAME[] = "SYSLOG";
! 67: static char const zSyslog_Name[] = "syslog";
! 68: #define SYSLOG_FLAGS (OPTST_DISABLED)
! 69:
! 70: /*
! 71: * Agentxsocket option description:
! 72: */
! 73: static char const zAgentxsocketText[] =
! 74: "The socket address ntpsnmpd uses to connect to net-snmpd";
! 75: static char const zAgentxsocket_NAME[] = "AGENTXSOCKET";
! 76: static char const zAgentxsocket_Name[] = "agentxsocket";
! 77: static char const zAgentxsocketDefaultArg[] = "unix:/var/agentx/master";
! 78: #define AGENTXSOCKET_FLAGS (OPTST_DISABLED \
! 79: | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING))
! 80:
! 81: /*
! 82: * Help/More_Help/Version option descriptions:
! 83: */
! 84: static char const zHelpText[] = "Display extended usage information and exit";
! 85: static char const zHelp_Name[] = "help";
! 86: #ifdef HAVE_WORKING_FORK
! 87: #define OPTST_MORE_HELP_FLAGS (OPTST_IMM | OPTST_NO_INIT)
! 88: static char const zMore_Help_Name[] = "more-help";
! 89: static char const zMore_HelpText[] = "Extended usage information passed thru pager";
! 90: #else
! 91: #define OPTST_MORE_HELP_FLAGS (OPTST_OMITTED | OPTST_NO_INIT)
! 92: #define zMore_Help_Name NULL
! 93: #define zMore_HelpText NULL
! 94: #endif
! 95: #ifdef NO_OPTIONAL_OPT_ARGS
! 96: # define OPTST_VERSION_FLAGS OPTST_IMM | OPTST_NO_INIT
! 97: #else
! 98: # define OPTST_VERSION_FLAGS OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \
! 99: OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT
! 100: #endif
! 101:
! 102: static char const zVersionText[] = "Output version information and exit";
! 103: static char const zVersion_Name[] = "version";
! 104: static char const zSave_OptsText[] = "Save the option state to a config file";
! 105: static char const zSave_Opts_Name[] = "save-opts";
! 106: static char const zLoad_OptsText[] = "Load options from a config file";
! 107: static char const zLoad_Opts_NAME[] = "LOAD_OPTS";
! 108: static char const zNotLoad_Opts_Name[] = "no-load-opts";
! 109: static char const zNotLoad_Opts_Pfx[] = "no";
! 110: #define zLoad_Opts_Name (zNotLoad_Opts_Name + 3)
! 111: /*
! 112: * Declare option callback procedures
! 113: */
! 114: #if defined(TEST_NTPSNMPD_OPTS)
! 115: /*
! 116: * Under test, omit argument processing, or call optionStackArg,
! 117: * if multiple copies are allowed.
! 118: */
! 119: static tOptProc
! 120: doUsageOpt;
! 121:
! 122: #else /* NOT defined TEST_NTPSNMPD_OPTS */
! 123: /*
! 124: * When not under test, there are different procs to use
! 125: */
! 126: extern tOptProc
! 127: optionBooleanVal, optionNestedVal, optionNumericVal,
! 128: optionPagedUsage, optionPrintVersion, optionResetOpt,
! 129: optionStackArg, optionTimeDate, optionTimeVal,
! 130: optionUnstackArg, optionVersionStderr;
! 131: static tOptProc
! 132: doUsageOpt;
! 133: #endif /* defined(TEST_NTPSNMPD_OPTS) */
! 134: #ifdef TEST_NTPSNMPD_OPTS
! 135: # define DOVERPROC optionVersionStderr
! 136: #else
! 137: # define DOVERPROC optionPrintVersion
! 138: #endif /* TEST_NTPSNMPD_OPTS */
! 139:
! 140: /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! 141: *
! 142: * Define the Ntpsnmpd Option Descriptions.
! 143: */
! 144: static tOptDesc optDesc[OPTION_CT] = {
! 145: { /* entry idx, value */ 0, VALUE_OPT_NOFORK,
! 146: /* equiv idx, value */ 0, VALUE_OPT_NOFORK,
! 147: /* equivalenced to */ NO_EQUIVALENT,
! 148: /* min, max, act ct */ 0, 1, 0,
! 149: /* opt state flags */ NOFORK_FLAGS, 0,
! 150: /* last opt argumnt */ { NULL },
! 151: /* arg list/cookie */ NULL,
! 152: /* must/cannot opts */ NULL, NULL,
! 153: /* option proc */ NULL,
! 154: /* desc, NAME, name */ zNoforkText, zNofork_NAME, zNofork_Name,
! 155: /* disablement strs */ NULL, NULL },
! 156:
! 157: { /* entry idx, value */ 1, VALUE_OPT_SYSLOG,
! 158: /* equiv idx, value */ 1, VALUE_OPT_SYSLOG,
! 159: /* equivalenced to */ NO_EQUIVALENT,
! 160: /* min, max, act ct */ 0, 1, 0,
! 161: /* opt state flags */ SYSLOG_FLAGS, 0,
! 162: /* last opt argumnt */ { NULL },
! 163: /* arg list/cookie */ NULL,
! 164: /* must/cannot opts */ NULL, NULL,
! 165: /* option proc */ NULL,
! 166: /* desc, NAME, name */ zSyslogText, zSyslog_NAME, zSyslog_Name,
! 167: /* disablement strs */ NULL, NULL },
! 168:
! 169: { /* entry idx, value */ 2, VALUE_OPT_AGENTXSOCKET,
! 170: /* equiv idx, value */ 2, VALUE_OPT_AGENTXSOCKET,
! 171: /* equivalenced to */ NO_EQUIVALENT,
! 172: /* min, max, act ct */ 0, 1, 0,
! 173: /* opt state flags */ AGENTXSOCKET_FLAGS, 0,
! 174: /* last opt argumnt */ { zAgentxsocketDefaultArg },
! 175: /* arg list/cookie */ NULL,
! 176: /* must/cannot opts */ NULL, NULL,
! 177: /* option proc */ NULL,
! 178: /* desc, NAME, name */ zAgentxsocketText, zAgentxsocket_NAME, zAgentxsocket_Name,
! 179: /* disablement strs */ NULL, NULL },
! 180:
! 181: { /* entry idx, value */ INDEX_OPT_VERSION, VALUE_OPT_VERSION,
! 182: /* equiv idx value */ NO_EQUIVALENT, 0,
! 183: /* equivalenced to */ NO_EQUIVALENT,
! 184: /* min, max, act ct */ 0, 1, 0,
! 185: /* opt state flags */ OPTST_VERSION_FLAGS, 0,
! 186: /* last opt argumnt */ { NULL },
! 187: /* arg list/cookie */ NULL,
! 188: /* must/cannot opts */ NULL, NULL,
! 189: /* option proc */ DOVERPROC,
! 190: /* desc, NAME, name */ zVersionText, NULL, zVersion_Name,
! 191: /* disablement strs */ NULL, NULL },
! 192:
! 193:
! 194:
! 195: { /* entry idx, value */ INDEX_OPT_HELP, VALUE_OPT_HELP,
! 196: /* equiv idx value */ NO_EQUIVALENT, 0,
! 197: /* equivalenced to */ NO_EQUIVALENT,
! 198: /* min, max, act ct */ 0, 1, 0,
! 199: /* opt state flags */ OPTST_IMM | OPTST_NO_INIT, 0,
! 200: /* last opt argumnt */ { NULL },
! 201: /* arg list/cookie */ NULL,
! 202: /* must/cannot opts */ NULL, NULL,
! 203: /* option proc */ doUsageOpt,
! 204: /* desc, NAME, name */ zHelpText, NULL, zHelp_Name,
! 205: /* disablement strs */ NULL, NULL },
! 206:
! 207: { /* entry idx, value */ INDEX_OPT_MORE_HELP, VALUE_OPT_MORE_HELP,
! 208: /* equiv idx value */ NO_EQUIVALENT, 0,
! 209: /* equivalenced to */ NO_EQUIVALENT,
! 210: /* min, max, act ct */ 0, 1, 0,
! 211: /* opt state flags */ OPTST_MORE_HELP_FLAGS, 0,
! 212: /* last opt argumnt */ { NULL },
! 213: /* arg list/cookie */ NULL,
! 214: /* must/cannot opts */ NULL, NULL,
! 215: /* option proc */ optionPagedUsage,
! 216: /* desc, NAME, name */ zMore_HelpText, NULL, zMore_Help_Name,
! 217: /* disablement strs */ NULL, NULL },
! 218:
! 219: { /* entry idx, value */ INDEX_OPT_SAVE_OPTS, VALUE_OPT_SAVE_OPTS,
! 220: /* equiv idx value */ NO_EQUIVALENT, 0,
! 221: /* equivalenced to */ NO_EQUIVALENT,
! 222: /* min, max, act ct */ 0, 1, 0,
! 223: /* opt state flags */ OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)
! 224: | OPTST_ARG_OPTIONAL | OPTST_NO_INIT, 0,
! 225: /* last opt argumnt */ { NULL },
! 226: /* arg list/cookie */ NULL,
! 227: /* must/cannot opts */ NULL, NULL,
! 228: /* option proc */ NULL,
! 229: /* desc, NAME, name */ zSave_OptsText, NULL, zSave_Opts_Name,
! 230: /* disablement strs */ NULL, NULL },
! 231:
! 232: { /* entry idx, value */ INDEX_OPT_LOAD_OPTS, VALUE_OPT_LOAD_OPTS,
! 233: /* equiv idx value */ NO_EQUIVALENT, 0,
! 234: /* equivalenced to */ NO_EQUIVALENT,
! 235: /* min, max, act ct */ 0, NOLIMIT, 0,
! 236: /* opt state flags */ OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)
! 237: | OPTST_DISABLE_IMM, 0,
! 238: /* last opt argumnt */ { NULL },
! 239: /* arg list/cookie */ NULL,
! 240: /* must/cannot opts */ NULL, NULL,
! 241: /* option proc */ optionLoadOpt,
! 242: /* desc, NAME, name */ zLoad_OptsText, zLoad_Opts_NAME, zLoad_Opts_Name,
! 243: /* disablement strs */ zNotLoad_Opts_Name, zNotLoad_Opts_Pfx }
! 244: };
! 245:
! 246: /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! 247: *
! 248: * Define the Ntpsnmpd Option Environment
! 249: */
! 250: static char const zPROGNAME[9] = "NTPSNMPD";
! 251: static char const zUsageTitle[103] =
! 252: "ntpsnmpd - NTP SNMP MIB agent - Ver. 4.2.6p5\n\
! 253: USAGE: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n";
! 254: static char const zRcName[7] = ".ntprc";
! 255: static char const * const apzHomeList[3] = {
! 256: "$HOME",
! 257: ".",
! 258: NULL };
! 259:
! 260: static char const zBugsAddr[34] = "http://bugs.ntp.org, bugs@ntp.org";
! 261: #define zExplain NULL
! 262: #define zDetail NULL
! 263: static char const zFullVersion[] = NTPSNMPD_FULL_VERSION;
! 264: /* extracted from optcode.tlib near line 515 */
! 265:
! 266: #if defined(ENABLE_NLS)
! 267: # define OPTPROC_BASE OPTPROC_TRANSLATE
! 268: static tOptionXlateProc translate_option_strings;
! 269: #else
! 270: # define OPTPROC_BASE OPTPROC_NONE
! 271: # define translate_option_strings NULL
! 272: #endif /* ENABLE_NLS */
! 273:
! 274:
! 275: #define ntpsnmpd_full_usage NULL
! 276: #define ntpsnmpd_short_usage NULL
! 277: #ifndef PKGDATADIR
! 278: # define PKGDATADIR ""
! 279: #endif
! 280:
! 281: #ifndef WITH_PACKAGER
! 282: # define ntpsnmpd_packager_info NULL
! 283: #else
! 284: static char const ntpsnmpd_packager_info[] =
! 285: "Packaged by " WITH_PACKAGER
! 286:
! 287: # ifdef WITH_PACKAGER_VERSION
! 288: " ("WITH_PACKAGER_VERSION")"
! 289: # endif
! 290:
! 291: # ifdef WITH_PACKAGER_BUG_REPORTS
! 292: "\nReport ntpsnmpd bugs to " WITH_PACKAGER_BUG_REPORTS
! 293: # endif
! 294: "\n";
! 295: #endif
! 296:
! 297: tOptions ntpsnmpdOptions = {
! 298: OPTIONS_STRUCT_VERSION,
! 299: 0, NULL, /* original argc + argv */
! 300: ( OPTPROC_BASE
! 301: + OPTPROC_ERRSTOP
! 302: + OPTPROC_SHORTOPT
! 303: + OPTPROC_LONGOPT
! 304: + OPTPROC_NO_REQ_OPT
! 305: + OPTPROC_ENVIRON
! 306: + OPTPROC_NO_ARGS
! 307: + OPTPROC_MISUSE ),
! 308: 0, NULL, /* current option index, current option */
! 309: NULL, NULL, zPROGNAME,
! 310: zRcName, zCopyright, zLicenseDescrip,
! 311: zFullVersion, apzHomeList, zUsageTitle,
! 312: zExplain, zDetail, optDesc,
! 313: zBugsAddr, /* address to send bugs to */
! 314: NULL, NULL, /* extensions/saved state */
! 315: optionUsage, /* usage procedure */
! 316: translate_option_strings, /* translation procedure */
! 317: /*
! 318: * Indexes to special options
! 319: */
! 320: { INDEX_OPT_MORE_HELP, /* more-help option index */
! 321: INDEX_OPT_SAVE_OPTS, /* save option index */
! 322: NO_EQUIVALENT, /* '-#' option index */
! 323: NO_EQUIVALENT /* index of default opt */
! 324: },
! 325: 8 /* full option count */, 3 /* user option count */,
! 326: ntpsnmpd_full_usage, ntpsnmpd_short_usage,
! 327: NULL, NULL,
! 328: PKGDATADIR, ntpsnmpd_packager_info
! 329: };
! 330:
! 331: /*
! 332: * Create the static procedure(s) declared above.
! 333: */
! 334: static void
! 335: doUsageOpt(tOptions * pOptions, tOptDesc * pOptDesc)
! 336: {
! 337: (void)pOptions;
! 338: USAGE(NTPSNMPD_EXIT_SUCCESS);
! 339: }
! 340: /* extracted from optmain.tlib near line 128 */
! 341:
! 342: #if defined(TEST_NTPSNMPD_OPTS) /* TEST MAIN PROCEDURE: */
! 343:
! 344: extern void optionPutShell(tOptions*);
! 345:
! 346: int
! 347: main(int argc, char ** argv)
! 348: {
! 349: int res = NTPSNMPD_EXIT_SUCCESS;
! 350: (void)optionProcess(&ntpsnmpdOptions, argc, argv);
! 351: optionPutShell(&ntpsnmpdOptions);
! 352: res = ferror(stdout);
! 353: if (res != 0)
! 354: fputs("output error writing to stdout\n", stderr);
! 355: return res;
! 356: }
! 357: #endif /* defined TEST_NTPSNMPD_OPTS */
! 358: /* extracted from optcode.tlib near line 666 */
! 359:
! 360: #if ENABLE_NLS
! 361: #include <stdio.h>
! 362: #include <stdlib.h>
! 363: #include <string.h>
! 364: #include <unistd.h>
! 365: #include <autoopts/usage-txt.h>
! 366:
! 367: static char* AO_gettext(char const* pz);
! 368: static void coerce_it(void** s);
! 369:
! 370: static char*
! 371: AO_gettext(char const* pz)
! 372: {
! 373: char* pzRes;
! 374: if (pz == NULL)
! 375: return NULL;
! 376: pzRes = _(pz);
! 377: if (pzRes == pz)
! 378: return pzRes;
! 379: pzRes = strdup(pzRes);
! 380: if (pzRes == NULL) {
! 381: fputs(_("No memory for duping translated strings\n"), stderr);
! 382: exit(NTPSNMPD_EXIT_FAILURE);
! 383: }
! 384: return pzRes;
! 385: }
! 386:
! 387: static void coerce_it(void** s) { *s = AO_gettext(*s);
! 388: }
! 389:
! 390: /*
! 391: * This invokes the translation code (e.g. gettext(3)).
! 392: */
! 393: static void
! 394: translate_option_strings(void)
! 395: {
! 396: tOptions * const pOpt = &ntpsnmpdOptions;
! 397:
! 398: /*
! 399: * Guard against re-translation. It won't work. The strings will have
! 400: * been changed by the first pass through this code. One shot only.
! 401: */
! 402: if (option_usage_text.field_ct != 0) {
! 403: /*
! 404: * Do the translations. The first pointer follows the field count
! 405: * field. The field count field is the size of a pointer.
! 406: */
! 407: tOptDesc * pOD = pOpt->pOptDesc;
! 408: char ** ppz = (char**)(void*)&(option_usage_text);
! 409: int ix = option_usage_text.field_ct;
! 410:
! 411: do {
! 412: ppz++;
! 413: *ppz = AO_gettext(*ppz);
! 414: } while (--ix > 0);
! 415:
! 416: coerce_it((void*)&(pOpt->pzCopyright));
! 417: coerce_it((void*)&(pOpt->pzCopyNotice));
! 418: coerce_it((void*)&(pOpt->pzFullVersion));
! 419: coerce_it((void*)&(pOpt->pzUsageTitle));
! 420: coerce_it((void*)&(pOpt->pzExplain));
! 421: coerce_it((void*)&(pOpt->pzDetail));
! 422: coerce_it((void*)&(pOpt->pzPackager));
! 423: option_usage_text.field_ct = 0;
! 424:
! 425: for (ix = pOpt->optCt; ix > 0; ix--, pOD++)
! 426: coerce_it((void*)&(pOD->pzText));
! 427: }
! 428:
! 429: if ((pOpt->fOptSet & OPTPROC_NXLAT_OPT_CFG) == 0) {
! 430: tOptDesc * pOD = pOpt->pOptDesc;
! 431: int ix;
! 432:
! 433: for (ix = pOpt->optCt; ix > 0; ix--, pOD++) {
! 434: coerce_it((void*)&(pOD->pz_Name));
! 435: coerce_it((void*)&(pOD->pz_DisableName));
! 436: coerce_it((void*)&(pOD->pz_DisablePfx));
! 437: }
! 438: /* prevent re-translation */
! 439: ntpsnmpdOptions.fOptSet |= OPTPROC_NXLAT_OPT_CFG | OPTPROC_NXLAT_OPT;
! 440: }
! 441: }
! 442:
! 443: #endif /* ENABLE_NLS */
! 444:
! 445: #ifdef __cplusplus
! 446: }
! 447: #endif
! 448: /* ntpsnmpd-opts.c ends here */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>