ntpdsim-opts.c revision 200576
1181834Sroberto/* 2181834Sroberto * EDIT THIS FILE WITH CAUTION (ntpdsim-opts.c) 3181834Sroberto * 4200576Sroberto * It has been AutoGen-ed Tuesday December 8, 2009 at 08:13:13 AM EST 5181834Sroberto * From the definitions ntpdsim-opts.def 6181834Sroberto * and the template file options 7181834Sroberto * 8181834Sroberto * Generated from AutoOpts 29:0:4 templates. 9181834Sroberto */ 10181834Sroberto 11181834Sroberto/* 12181834Sroberto * This file was produced by an AutoOpts template. AutoOpts is a 13181834Sroberto * copyrighted work. This source file is not encumbered by AutoOpts 14181834Sroberto * licensing, but is provided under the licensing terms chosen by the 15181834Sroberto * ntpdsim author or copyright holder. AutoOpts is licensed under 16181834Sroberto * the terms of the LGPL. The redistributable library (``libopts'') is 17181834Sroberto * licensed under the terms of either the LGPL or, at the users discretion, 18181834Sroberto * the BSD license. See the AutoOpts and/or libopts sources for details. 19181834Sroberto * 20181834Sroberto * This source file is copyrighted and licensed under the following terms: 21181834Sroberto * 22200576Sroberto * ntpdsim copyright 1970-2009 David L. Mills and/or others - all rights reserved 23181834Sroberto * 24181834Sroberto * see html/copyright.html 25181834Sroberto */ 26181834Sroberto 27181834Sroberto 28181834Sroberto#include <limits.h> 29181834Sroberto 30181834Sroberto#define OPTION_CODE_COMPILE 1 31181834Sroberto#include "ntpdsim-opts.h" 32181834Sroberto 33181834Sroberto#ifdef __cplusplus 34181834Srobertoextern "C" { 35181834Sroberto#endif 36181834SrobertotSCC zCopyright[] = 37200576Sroberto "ntpdsim copyright (c) 1970-2009 David L. Mills and/or others, all rights reserved"; 38181834SrobertotSCC zCopyrightNotice[] = 39181834Sroberto 40181834Sroberto/* extracted from ../include/copyright.def near line 8 */ 41181834Sroberto"see html/copyright.html"; 42181834Srobertoextern tUsageProc optionUsage; 43181834Sroberto 44181834Sroberto/* 45181834Sroberto * global included definitions 46181834Sroberto */ 47181834Sroberto#ifdef __windows 48181834Sroberto extern int atoi(const char*); 49181834Sroberto#else 50181834Sroberto# include <stdlib.h> 51181834Sroberto#endif 52181834Sroberto 53181834Sroberto#ifndef NULL 54181834Sroberto# define NULL 0 55181834Sroberto#endif 56181834Sroberto#ifndef EXIT_SUCCESS 57181834Sroberto# define EXIT_SUCCESS 0 58181834Sroberto#endif 59181834Sroberto#ifndef EXIT_FAILURE 60181834Sroberto# define EXIT_FAILURE 1 61181834Sroberto#endif 62181834Sroberto/* 63181834Sroberto * Ipv4 option description: 64181834Sroberto */ 65181834SrobertotSCC zIpv4Text[] = 66181834Sroberto "Force IPv4 DNS name resolution"; 67181834SrobertotSCC zIpv4_NAME[] = "IPV4"; 68181834SrobertotSCC zIpv4_Name[] = "ipv4"; 69181834Sroberto#define IPV4_FLAGS (OPTST_DISABLED) 70181834Sroberto 71181834Sroberto/* 72181834Sroberto * Ipv6 option description: 73181834Sroberto */ 74181834SrobertotSCC zIpv6Text[] = 75181834Sroberto "Force IPv6 DNS name resolution"; 76181834SrobertotSCC zIpv6_NAME[] = "IPV6"; 77181834SrobertotSCC zIpv6_Name[] = "ipv6"; 78181834Sroberto#define IPV6_FLAGS (OPTST_DISABLED) 79181834Sroberto 80181834Sroberto/* 81181834Sroberto * Authreq option description with 82181834Sroberto * "Must also have options" and "Incompatible options": 83181834Sroberto */ 84181834SrobertotSCC zAuthreqText[] = 85181834Sroberto "Require crypto authentication"; 86181834SrobertotSCC zAuthreq_NAME[] = "AUTHREQ"; 87181834SrobertotSCC zAuthreq_Name[] = "authreq"; 88181834Srobertostatic const int 89181834Sroberto aAuthreqCantList[] = { 90181834Sroberto INDEX_OPT_AUTHNOREQ, NO_EQUIVALENT }; 91181834Sroberto#define AUTHREQ_FLAGS (OPTST_DISABLED) 92181834Sroberto 93181834Sroberto/* 94181834Sroberto * Authnoreq option description with 95181834Sroberto * "Must also have options" and "Incompatible options": 96181834Sroberto */ 97181834SrobertotSCC zAuthnoreqText[] = 98181834Sroberto "Do not require crypto authentication"; 99181834SrobertotSCC zAuthnoreq_NAME[] = "AUTHNOREQ"; 100181834SrobertotSCC zAuthnoreq_Name[] = "authnoreq"; 101181834Srobertostatic const int 102181834Sroberto aAuthnoreqCantList[] = { 103181834Sroberto INDEX_OPT_AUTHREQ, NO_EQUIVALENT }; 104181834Sroberto#define AUTHNOREQ_FLAGS (OPTST_DISABLED) 105181834Sroberto 106181834Sroberto/* 107181834Sroberto * Bcastsync option description: 108181834Sroberto */ 109181834SrobertotSCC zBcastsyncText[] = 110181834Sroberto "Allow us to sync to broadcast servers"; 111181834SrobertotSCC zBcastsync_NAME[] = "BCASTSYNC"; 112181834SrobertotSCC zBcastsync_Name[] = "bcastsync"; 113181834Sroberto#define BCASTSYNC_FLAGS (OPTST_DISABLED) 114181834Sroberto 115181834Sroberto/* 116181834Sroberto * Simbroadcastdelay option description: 117181834Sroberto */ 118181834SrobertotSCC zSimbroadcastdelayText[] = 119181834Sroberto "Simulator broadcast delay"; 120181834SrobertotSCC zSimbroadcastdelay_NAME[] = "SIMBROADCASTDELAY"; 121181834SrobertotSCC zSimbroadcastdelay_Name[] = "simbroadcastdelay"; 122181834Sroberto#define SIMBROADCASTDELAY_FLAGS (OPTST_DISABLED \ 123181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 124181834Sroberto 125181834Sroberto/* 126181834Sroberto * Configfile option description: 127181834Sroberto */ 128181834SrobertotSCC zConfigfileText[] = 129181834Sroberto "configuration file name"; 130181834SrobertotSCC zConfigfile_NAME[] = "CONFIGFILE"; 131181834SrobertotSCC zConfigfile_Name[] = "configfile"; 132181834Sroberto#define CONFIGFILE_FLAGS (OPTST_DISABLED \ 133181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 134181834Sroberto 135181834Sroberto/* 136181834Sroberto * Phasenoise option description: 137181834Sroberto */ 138181834SrobertotSCC zPhasenoiseText[] = 139181834Sroberto "Phase noise level"; 140181834SrobertotSCC zPhasenoise_NAME[] = "PHASENOISE"; 141181834SrobertotSCC zPhasenoise_Name[] = "phasenoise"; 142181834Sroberto#define PHASENOISE_FLAGS (OPTST_DISABLED \ 143181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 144181834Sroberto 145181834Sroberto/* 146181834Sroberto * Debug_Level option description: 147181834Sroberto */ 148181834Sroberto#ifdef DEBUG 149181834SrobertotSCC zDebug_LevelText[] = 150181834Sroberto "Increase output debug message level"; 151181834SrobertotSCC zDebug_Level_NAME[] = "DEBUG_LEVEL"; 152181834SrobertotSCC zDebug_Level_Name[] = "debug-level"; 153181834Sroberto#define DEBUG_LEVEL_FLAGS (OPTST_DISABLED) 154181834Sroberto 155181834Sroberto#else /* disable Debug_Level */ 156181834Sroberto#define VALUE_OPT_DEBUG_LEVEL NO_EQUIVALENT 157181834Sroberto#define DEBUG_LEVEL_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 158181834Sroberto#define zDebug_LevelText NULL 159181834Sroberto#define zDebug_Level_NAME NULL 160181834Sroberto#define zDebug_Level_Name NULL 161181834Sroberto#endif /* DEBUG */ 162181834Sroberto 163181834Sroberto/* 164181834Sroberto * Set_Debug_Level option description: 165181834Sroberto */ 166181834Sroberto#ifdef DEBUG 167181834SrobertotSCC zSet_Debug_LevelText[] = 168181834Sroberto "Set the output debug message level"; 169181834SrobertotSCC zSet_Debug_Level_NAME[] = "SET_DEBUG_LEVEL"; 170181834SrobertotSCC zSet_Debug_Level_Name[] = "set-debug-level"; 171181834Sroberto#define SET_DEBUG_LEVEL_FLAGS (OPTST_DISABLED \ 172181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 173181834Sroberto 174181834Sroberto#else /* disable Set_Debug_Level */ 175181834Sroberto#define VALUE_OPT_SET_DEBUG_LEVEL NO_EQUIVALENT 176181834Sroberto#define SET_DEBUG_LEVEL_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 177181834Sroberto#define zSet_Debug_LevelText NULL 178181834Sroberto#define zSet_Debug_Level_NAME NULL 179181834Sroberto#define zSet_Debug_Level_Name NULL 180181834Sroberto#endif /* DEBUG */ 181181834Sroberto 182181834Sroberto/* 183181834Sroberto * Driftfile option description: 184181834Sroberto */ 185181834SrobertotSCC zDriftfileText[] = 186181834Sroberto "frequency drift file name"; 187181834SrobertotSCC zDriftfile_NAME[] = "DRIFTFILE"; 188181834SrobertotSCC zDriftfile_Name[] = "driftfile"; 189181834Sroberto#define DRIFTFILE_FLAGS (OPTST_DISABLED \ 190181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 191181834Sroberto 192181834Sroberto/* 193181834Sroberto * Panicgate option description: 194181834Sroberto */ 195181834SrobertotSCC zPanicgateText[] = 196181834Sroberto "Allow the first adjustment to be Big"; 197181834SrobertotSCC zPanicgate_NAME[] = "PANICGATE"; 198181834SrobertotSCC zPanicgate_Name[] = "panicgate"; 199181834Sroberto#define PANICGATE_FLAGS (OPTST_DISABLED) 200181834Sroberto 201181834Sroberto/* 202181834Sroberto * Simslew option description: 203181834Sroberto */ 204181834SrobertotSCC zSimslewText[] = 205181834Sroberto "Simuator slew"; 206181834SrobertotSCC zSimslew_NAME[] = "SIMSLEW"; 207181834SrobertotSCC zSimslew_Name[] = "simslew"; 208181834Sroberto#define SIMSLEW_FLAGS (OPTST_DISABLED \ 209181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 210181834Sroberto 211181834Sroberto/* 212181834Sroberto * Jaildir option description: 213181834Sroberto */ 214181834SrobertotSCC zJaildirText[] = 215181834Sroberto "Jail directory"; 216181834SrobertotSCC zJaildir_NAME[] = "JAILDIR"; 217181834SrobertotSCC zJaildir_Name[] = "jaildir"; 218181834Sroberto#define JAILDIR_FLAGS (OPTST_DISABLED \ 219181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 220181834Sroberto 221181834Sroberto/* 222181834Sroberto * Interface option description: 223181834Sroberto */ 224181834SrobertotSCC zInterfaceText[] = 225181834Sroberto "Listen on interface"; 226181834SrobertotSCC zInterface_NAME[] = "INTERFACE"; 227181834SrobertotSCC zInterface_Name[] = "interface"; 228181834Sroberto#define INTERFACE_FLAGS (OPTST_DISABLED | OPTST_STACKED \ 229181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 230181834Sroberto 231181834Sroberto/* 232181834Sroberto * Keyfile option description: 233181834Sroberto */ 234181834SrobertotSCC zKeyfileText[] = 235181834Sroberto "path to symmetric keys"; 236181834SrobertotSCC zKeyfile_NAME[] = "KEYFILE"; 237181834SrobertotSCC zKeyfile_Name[] = "keyfile"; 238181834Sroberto#define KEYFILE_FLAGS (OPTST_DISABLED \ 239181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 240181834Sroberto 241181834Sroberto/* 242181834Sroberto * Logfile option description: 243181834Sroberto */ 244181834SrobertotSCC zLogfileText[] = 245181834Sroberto "path to the log file"; 246181834SrobertotSCC zLogfile_NAME[] = "LOGFILE"; 247181834SrobertotSCC zLogfile_Name[] = "logfile"; 248181834Sroberto#define LOGFILE_FLAGS (OPTST_DISABLED \ 249181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 250181834Sroberto 251181834Sroberto/* 252181834Sroberto * Novirtualips option description: 253181834Sroberto */ 254181834SrobertotSCC zNovirtualipsText[] = 255181834Sroberto "Do not listen to virtual IPs"; 256181834SrobertotSCC zNovirtualips_NAME[] = "NOVIRTUALIPS"; 257181834SrobertotSCC zNovirtualips_Name[] = "novirtualips"; 258181834Sroberto#define NOVIRTUALIPS_FLAGS (OPTST_DISABLED) 259181834Sroberto 260181834Sroberto/* 261181834Sroberto * Modifymmtimer option description: 262181834Sroberto */ 263181834Sroberto#ifdef SYS_WINNT 264181834SrobertotSCC zModifymmtimerText[] = 265181834Sroberto "Modify Multimedia Timer (Windows only)"; 266181834SrobertotSCC zModifymmtimer_NAME[] = "MODIFYMMTIMER"; 267181834SrobertotSCC zModifymmtimer_Name[] = "modifymmtimer"; 268181834Sroberto#define MODIFYMMTIMER_FLAGS (OPTST_DISABLED) 269181834Sroberto 270181834Sroberto#else /* disable Modifymmtimer */ 271181834Sroberto#define VALUE_OPT_MODIFYMMTIMER NO_EQUIVALENT 272181834Sroberto#define MODIFYMMTIMER_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) 273181834Sroberto#define zModifymmtimerText NULL 274181834Sroberto#define zModifymmtimer_NAME NULL 275181834Sroberto#define zModifymmtimer_Name NULL 276181834Sroberto#endif /* SYS_WINNT */ 277181834Sroberto 278181834Sroberto/* 279181834Sroberto * Nofork option description: 280181834Sroberto */ 281181834SrobertotSCC zNoforkText[] = 282181834Sroberto "Do not fork"; 283181834SrobertotSCC zNofork_NAME[] = "NOFORK"; 284181834SrobertotSCC zNofork_Name[] = "nofork"; 285181834Sroberto#define NOFORK_FLAGS (OPTST_DISABLED) 286181834Sroberto 287181834Sroberto/* 288181834Sroberto * Nice option description: 289181834Sroberto */ 290181834SrobertotSCC zNiceText[] = 291181834Sroberto "Run at high priority"; 292181834SrobertotSCC zNice_NAME[] = "NICE"; 293181834SrobertotSCC zNice_Name[] = "nice"; 294181834Sroberto#define NICE_FLAGS (OPTST_DISABLED) 295181834Sroberto 296181834Sroberto/* 297181834Sroberto * Servertime option description: 298181834Sroberto */ 299181834SrobertotSCC zServertimeText[] = 300181834Sroberto "Server time"; 301181834SrobertotSCC zServertime_NAME[] = "SERVERTIME"; 302181834SrobertotSCC zServertime_Name[] = "servertime"; 303181834Sroberto#define SERVERTIME_FLAGS (OPTST_DISABLED \ 304181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 305181834Sroberto 306181834Sroberto/* 307181834Sroberto * Pidfile option description: 308181834Sroberto */ 309181834SrobertotSCC zPidfileText[] = 310181834Sroberto "path to the PID file"; 311181834SrobertotSCC zPidfile_NAME[] = "PIDFILE"; 312181834SrobertotSCC zPidfile_Name[] = "pidfile"; 313181834Sroberto#define PIDFILE_FLAGS (OPTST_DISABLED \ 314181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 315181834Sroberto 316181834Sroberto/* 317181834Sroberto * Priority option description: 318181834Sroberto */ 319181834SrobertotSCC zPriorityText[] = 320181834Sroberto "Process priority"; 321181834SrobertotSCC zPriority_NAME[] = "PRIORITY"; 322181834SrobertotSCC zPriority_Name[] = "priority"; 323181834Sroberto#define PRIORITY_FLAGS (OPTST_DISABLED \ 324181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC)) 325181834Sroberto 326181834Sroberto/* 327181834Sroberto * Quit option description: 328181834Sroberto */ 329181834SrobertotSCC zQuitText[] = 330181834Sroberto "Set the time and quit"; 331181834SrobertotSCC zQuit_NAME[] = "QUIT"; 332181834SrobertotSCC zQuit_Name[] = "quit"; 333181834Sroberto#define QUIT_FLAGS (OPTST_DISABLED) 334181834Sroberto 335181834Sroberto/* 336181834Sroberto * Propagationdelay option description: 337181834Sroberto */ 338181834SrobertotSCC zPropagationdelayText[] = 339181834Sroberto "Broadcast/propagation delay"; 340181834SrobertotSCC zPropagationdelay_NAME[] = "PROPAGATIONDELAY"; 341181834SrobertotSCC zPropagationdelay_Name[] = "propagationdelay"; 342181834Sroberto#define PROPAGATIONDELAY_FLAGS (OPTST_DISABLED \ 343181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 344181834Sroberto 345181834Sroberto/* 346181834Sroberto * Updateinterval option description: 347181834Sroberto */ 348181834SrobertotSCC zUpdateintervalText[] = 349181834Sroberto "interval in seconds between scans for new or dropped interfaces"; 350181834SrobertotSCC zUpdateinterval_NAME[] = "UPDATEINTERVAL"; 351181834SrobertotSCC zUpdateinterval_Name[] = "updateinterval"; 352181834Sroberto#define UPDATEINTERVAL_FLAGS (OPTST_DISABLED \ 353181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC)) 354181834Sroberto 355181834Sroberto/* 356181834Sroberto * Statsdir option description: 357181834Sroberto */ 358181834SrobertotSCC zStatsdirText[] = 359181834Sroberto "Statistics file location"; 360181834SrobertotSCC zStatsdir_NAME[] = "STATSDIR"; 361181834SrobertotSCC zStatsdir_Name[] = "statsdir"; 362181834Sroberto#define STATSDIR_FLAGS (OPTST_DISABLED \ 363181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 364181834Sroberto 365181834Sroberto/* 366181834Sroberto * Endsimtime option description: 367181834Sroberto */ 368181834SrobertotSCC zEndsimtimeText[] = 369181834Sroberto "Simulation end time"; 370181834SrobertotSCC zEndsimtime_NAME[] = "ENDSIMTIME"; 371181834SrobertotSCC zEndsimtime_Name[] = "endsimtime"; 372181834Sroberto#define ENDSIMTIME_FLAGS (OPTST_DISABLED \ 373181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 374181834Sroberto 375181834Sroberto/* 376181834Sroberto * Trustedkey option description: 377181834Sroberto */ 378181834SrobertotSCC zTrustedkeyText[] = 379181834Sroberto "Trusted key number"; 380181834SrobertotSCC zTrustedkey_NAME[] = "TRUSTEDKEY"; 381181834SrobertotSCC zTrustedkey_Name[] = "trustedkey"; 382181834Sroberto#define TRUSTEDKEY_FLAGS (OPTST_DISABLED | OPTST_STACKED \ 383181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 384181834Sroberto 385181834Sroberto/* 386181834Sroberto * Freqerr option description: 387181834Sroberto */ 388181834SrobertotSCC zFreqerrText[] = 389181834Sroberto "Simulation frequency error"; 390181834SrobertotSCC zFreqerr_NAME[] = "FREQERR"; 391181834SrobertotSCC zFreqerr_Name[] = "freqerr"; 392181834Sroberto#define FREQERR_FLAGS (OPTST_DISABLED \ 393181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 394181834Sroberto 395181834Sroberto/* 396181834Sroberto * Walknoise option description: 397181834Sroberto */ 398181834SrobertotSCC zWalknoiseText[] = 399181834Sroberto "Simulation random walk noise"; 400181834SrobertotSCC zWalknoise_NAME[] = "WALKNOISE"; 401181834SrobertotSCC zWalknoise_Name[] = "walknoise"; 402181834Sroberto#define WALKNOISE_FLAGS (OPTST_DISABLED \ 403181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 404181834Sroberto 405181834Sroberto/* 406181834Sroberto * User option description: 407181834Sroberto */ 408181834SrobertotSCC zUserText[] = 409181834Sroberto "Run as userid (or userid:groupid)"; 410181834SrobertotSCC zUser_NAME[] = "USER"; 411181834SrobertotSCC zUser_Name[] = "user"; 412181834Sroberto#define USER_FLAGS (OPTST_DISABLED \ 413181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 414181834Sroberto 415181834Sroberto/* 416181834Sroberto * Var option description: 417181834Sroberto */ 418181834SrobertotSCC zVarText[] = 419181834Sroberto "make ARG an ntp variable (RW)"; 420181834SrobertotSCC zVar_NAME[] = "VAR"; 421181834SrobertotSCC zVar_Name[] = "var"; 422181834Sroberto#define VAR_FLAGS (OPTST_DISABLED | OPTST_STACKED \ 423181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 424181834Sroberto 425181834Sroberto/* 426181834Sroberto * Dvar option description: 427181834Sroberto */ 428181834SrobertotSCC zDvarText[] = 429181834Sroberto "make ARG an ntp variable (RW|DEF)"; 430181834SrobertotSCC zDvar_NAME[] = "DVAR"; 431181834SrobertotSCC zDvar_Name[] = "dvar"; 432181834Sroberto#define DVAR_FLAGS (OPTST_DISABLED | OPTST_STACKED \ 433181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 434181834Sroberto 435181834Sroberto/* 436181834Sroberto * Slew option description: 437181834Sroberto */ 438181834SrobertotSCC zSlewText[] = 439181834Sroberto "Slew up to 600 seconds"; 440181834SrobertotSCC zSlew_NAME[] = "SLEW"; 441181834SrobertotSCC zSlew_Name[] = "slew"; 442181834Sroberto#define SLEW_FLAGS (OPTST_DISABLED) 443181834Sroberto 444181834Sroberto/* 445181834Sroberto * Ndelay option description: 446181834Sroberto */ 447181834SrobertotSCC zNdelayText[] = 448181834Sroberto "Simulation network delay"; 449181834SrobertotSCC zNdelay_NAME[] = "NDELAY"; 450181834SrobertotSCC zNdelay_Name[] = "ndelay"; 451181834Sroberto#define NDELAY_FLAGS (OPTST_DISABLED \ 452181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 453181834Sroberto 454181834Sroberto/* 455181834Sroberto * Pdelay option description: 456181834Sroberto */ 457181834SrobertotSCC zPdelayText[] = 458181834Sroberto "Simulation processing delay"; 459181834SrobertotSCC zPdelay_NAME[] = "PDELAY"; 460181834SrobertotSCC zPdelay_Name[] = "pdelay"; 461181834Sroberto#define PDELAY_FLAGS (OPTST_DISABLED \ 462181834Sroberto | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) 463181834Sroberto 464181834Sroberto/* 465181834Sroberto * Help/More_Help/Version option descriptions: 466181834Sroberto */ 467181834SrobertotSCC zHelpText[] = "Display usage information and exit"; 468181834SrobertotSCC zHelp_Name[] = "help"; 469181834Sroberto 470181834SrobertotSCC zMore_HelpText[] = "Extended usage information passed thru pager"; 471181834SrobertotSCC zMore_Help_Name[] = "more-help"; 472181834Sroberto 473181834SrobertotSCC zVersionText[] = "Output version information and exit"; 474181834SrobertotSCC zVersion_Name[] = "version"; 475181834Sroberto 476181834Sroberto/* 477181834Sroberto * Save/Load_Opts option description: 478181834Sroberto */ 479181834SrobertotSCC zSave_OptsText[] = "Save the option state to a config file"; 480181834SrobertotSCC zSave_Opts_Name[] = "save-opts"; 481181834Sroberto 482181834SrobertotSCC zLoad_OptsText[] = "Load options from a config file"; 483181834SrobertotSCC zLoad_Opts_NAME[] = "LOAD_OPTS"; 484181834Sroberto 485181834SrobertotSCC zNotLoad_Opts_Name[] = "no-load-opts"; 486181834SrobertotSCC zNotLoad_Opts_Pfx[] = "no"; 487181834Sroberto#define zLoad_Opts_Name (zNotLoad_Opts_Name + 3) 488181834Sroberto/* 489181834Sroberto * Declare option callback procedures 490181834Sroberto */ 491181834Sroberto#ifdef DEBUG 492181834Sroberto static tOptProc doOptSet_Debug_Level; 493181834Sroberto#else /* not DEBUG */ 494181834Sroberto# define doOptSet_Debug_Level NULL 495181834Sroberto#endif /* def/not DEBUG */ 496181834Sroberto#if defined(TEST_NTPDSIM_OPTS) 497181834Sroberto/* 498181834Sroberto * Under test, omit argument processing, or call optionStackArg, 499181834Sroberto * if multiple copies are allowed. 500181834Sroberto */ 501181834Srobertoextern tOptProc 502181834Sroberto optionNumericVal, optionPagedUsage, optionStackArg, 503181834Sroberto optionVersionStderr; 504181834Srobertostatic tOptProc 505181834Sroberto doUsageOpt; 506181834Sroberto 507181834Sroberto/* 508181834Sroberto * #define map the "normal" callout procs to the test ones... 509181834Sroberto */ 510181834Sroberto#define SET_DEBUG_LEVEL_OPT_PROC optionStackArg 511181834Sroberto 512181834Sroberto 513181834Sroberto#else /* NOT defined TEST_NTPDSIM_OPTS */ 514181834Sroberto/* 515181834Sroberto * When not under test, there are different procs to use 516181834Sroberto */ 517181834Srobertoextern tOptProc 518181834Sroberto optionNumericVal, optionPagedUsage, optionPrintVersion, optionStackArg; 519181834Srobertostatic tOptProc 520181834Sroberto doUsageOpt; 521181834Sroberto 522181834Sroberto/* 523181834Sroberto * #define map the "normal" callout procs 524181834Sroberto */ 525181834Sroberto#define SET_DEBUG_LEVEL_OPT_PROC doOptSet_Debug_Level 526181834Sroberto 527181834Sroberto#define SET_DEBUG_LEVEL_OPT_PROC doOptSet_Debug_Level 528181834Sroberto#endif /* defined(TEST_NTPDSIM_OPTS) */ 529181834Sroberto#ifdef TEST_NTPDSIM_OPTS 530181834Sroberto# define DOVERPROC optionVersionStderr 531181834Sroberto#else 532181834Sroberto# define DOVERPROC optionPrintVersion 533181834Sroberto#endif /* TEST_NTPDSIM_OPTS */ 534181834Sroberto 535181834Sroberto/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 536181834Sroberto * 537181834Sroberto * Define the Ntpdsim Option Descriptions. 538181834Sroberto */ 539181834Srobertostatic tOptDesc optDesc[ OPTION_CT ] = { 540181834Sroberto { /* entry idx, value */ 0, VALUE_OPT_IPV4, 541181834Sroberto /* equiv idx, value */ NO_EQUIVALENT, 0, 542181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 543181834Sroberto /* min, max, act ct */ 0, 1, 0, 544181834Sroberto /* opt state flags */ IPV4_FLAGS, 0, 545181834Sroberto /* last opt argumnt */ { NULL }, 546181834Sroberto /* arg list/cookie */ NULL, 547181834Sroberto /* must/cannot opts */ NULL, NULL, 548181834Sroberto /* option proc */ NULL, 549181834Sroberto /* desc, NAME, name */ zIpv4Text, zIpv4_NAME, zIpv4_Name, 550181834Sroberto /* disablement strs */ NULL, NULL }, 551181834Sroberto 552181834Sroberto { /* entry idx, value */ 1, VALUE_OPT_IPV6, 553181834Sroberto /* equiv idx, value */ NOLIMIT, NOLIMIT, 554181834Sroberto /* equivalenced to */ INDEX_OPT_IPV4, 555181834Sroberto /* min, max, act ct */ 0, 1, 0, 556181834Sroberto /* opt state flags */ IPV6_FLAGS, 0, 557181834Sroberto /* last opt argumnt */ { NULL }, 558181834Sroberto /* arg list/cookie */ NULL, 559181834Sroberto /* must/cannot opts */ NULL, NULL, 560181834Sroberto /* option proc */ NULL, 561181834Sroberto /* desc, NAME, name */ zIpv6Text, zIpv6_NAME, zIpv6_Name, 562181834Sroberto /* disablement strs */ NULL, NULL }, 563181834Sroberto 564181834Sroberto { /* entry idx, value */ 2, VALUE_OPT_AUTHREQ, 565181834Sroberto /* equiv idx, value */ 2, VALUE_OPT_AUTHREQ, 566181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 567181834Sroberto /* min, max, act ct */ 0, 1, 0, 568181834Sroberto /* opt state flags */ AUTHREQ_FLAGS, 0, 569181834Sroberto /* last opt argumnt */ { NULL }, 570181834Sroberto /* arg list/cookie */ NULL, 571181834Sroberto /* must/cannot opts */ NULL, aAuthreqCantList, 572181834Sroberto /* option proc */ NULL, 573181834Sroberto /* desc, NAME, name */ zAuthreqText, zAuthreq_NAME, zAuthreq_Name, 574181834Sroberto /* disablement strs */ NULL, NULL }, 575181834Sroberto 576181834Sroberto { /* entry idx, value */ 3, VALUE_OPT_AUTHNOREQ, 577181834Sroberto /* equiv idx, value */ 3, VALUE_OPT_AUTHNOREQ, 578181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 579181834Sroberto /* min, max, act ct */ 0, 1, 0, 580181834Sroberto /* opt state flags */ AUTHNOREQ_FLAGS, 0, 581181834Sroberto /* last opt argumnt */ { NULL }, 582181834Sroberto /* arg list/cookie */ NULL, 583181834Sroberto /* must/cannot opts */ NULL, aAuthnoreqCantList, 584181834Sroberto /* option proc */ NULL, 585181834Sroberto /* desc, NAME, name */ zAuthnoreqText, zAuthnoreq_NAME, zAuthnoreq_Name, 586181834Sroberto /* disablement strs */ NULL, NULL }, 587181834Sroberto 588181834Sroberto { /* entry idx, value */ 4, VALUE_OPT_BCASTSYNC, 589181834Sroberto /* equiv idx, value */ 4, VALUE_OPT_BCASTSYNC, 590181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 591181834Sroberto /* min, max, act ct */ 0, 1, 0, 592181834Sroberto /* opt state flags */ BCASTSYNC_FLAGS, 0, 593181834Sroberto /* last opt argumnt */ { NULL }, 594181834Sroberto /* arg list/cookie */ NULL, 595181834Sroberto /* must/cannot opts */ NULL, NULL, 596181834Sroberto /* option proc */ NULL, 597181834Sroberto /* desc, NAME, name */ zBcastsyncText, zBcastsync_NAME, zBcastsync_Name, 598181834Sroberto /* disablement strs */ NULL, NULL }, 599181834Sroberto 600181834Sroberto { /* entry idx, value */ 5, VALUE_OPT_SIMBROADCASTDELAY, 601181834Sroberto /* equiv idx, value */ 5, VALUE_OPT_SIMBROADCASTDELAY, 602181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 603181834Sroberto /* min, max, act ct */ 0, 1, 0, 604181834Sroberto /* opt state flags */ SIMBROADCASTDELAY_FLAGS, 0, 605181834Sroberto /* last opt argumnt */ { NULL }, 606181834Sroberto /* arg list/cookie */ NULL, 607181834Sroberto /* must/cannot opts */ NULL, NULL, 608181834Sroberto /* option proc */ NULL, 609181834Sroberto /* desc, NAME, name */ zSimbroadcastdelayText, zSimbroadcastdelay_NAME, zSimbroadcastdelay_Name, 610181834Sroberto /* disablement strs */ NULL, NULL }, 611181834Sroberto 612181834Sroberto { /* entry idx, value */ 6, VALUE_OPT_CONFIGFILE, 613181834Sroberto /* equiv idx, value */ 6, VALUE_OPT_CONFIGFILE, 614181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 615181834Sroberto /* min, max, act ct */ 0, 1, 0, 616181834Sroberto /* opt state flags */ CONFIGFILE_FLAGS, 0, 617181834Sroberto /* last opt argumnt */ { NULL }, 618181834Sroberto /* arg list/cookie */ NULL, 619181834Sroberto /* must/cannot opts */ NULL, NULL, 620181834Sroberto /* option proc */ NULL, 621181834Sroberto /* desc, NAME, name */ zConfigfileText, zConfigfile_NAME, zConfigfile_Name, 622181834Sroberto /* disablement strs */ NULL, NULL }, 623181834Sroberto 624181834Sroberto { /* entry idx, value */ 7, VALUE_OPT_PHASENOISE, 625181834Sroberto /* equiv idx, value */ 7, VALUE_OPT_PHASENOISE, 626181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 627181834Sroberto /* min, max, act ct */ 0, 1, 0, 628181834Sroberto /* opt state flags */ PHASENOISE_FLAGS, 0, 629181834Sroberto /* last opt argumnt */ { NULL }, 630181834Sroberto /* arg list/cookie */ NULL, 631181834Sroberto /* must/cannot opts */ NULL, NULL, 632181834Sroberto /* option proc */ NULL, 633181834Sroberto /* desc, NAME, name */ zPhasenoiseText, zPhasenoise_NAME, zPhasenoise_Name, 634181834Sroberto /* disablement strs */ NULL, NULL }, 635181834Sroberto 636181834Sroberto { /* entry idx, value */ 8, VALUE_OPT_DEBUG_LEVEL, 637181834Sroberto /* equiv idx, value */ 8, VALUE_OPT_DEBUG_LEVEL, 638181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 639181834Sroberto /* min, max, act ct */ 0, NOLIMIT, 0, 640181834Sroberto /* opt state flags */ DEBUG_LEVEL_FLAGS, 0, 641181834Sroberto /* last opt argumnt */ { NULL }, 642181834Sroberto /* arg list/cookie */ NULL, 643181834Sroberto /* must/cannot opts */ NULL, NULL, 644181834Sroberto /* option proc */ NULL, 645181834Sroberto /* desc, NAME, name */ zDebug_LevelText, zDebug_Level_NAME, zDebug_Level_Name, 646181834Sroberto /* disablement strs */ NULL, NULL }, 647181834Sroberto 648181834Sroberto { /* entry idx, value */ 9, VALUE_OPT_SET_DEBUG_LEVEL, 649181834Sroberto /* equiv idx, value */ 9, VALUE_OPT_SET_DEBUG_LEVEL, 650181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 651181834Sroberto /* min, max, act ct */ 0, NOLIMIT, 0, 652181834Sroberto /* opt state flags */ SET_DEBUG_LEVEL_FLAGS, 0, 653181834Sroberto /* last opt argumnt */ { NULL }, 654181834Sroberto /* arg list/cookie */ NULL, 655181834Sroberto /* must/cannot opts */ NULL, NULL, 656181834Sroberto /* option proc */ SET_DEBUG_LEVEL_OPT_PROC, 657181834Sroberto /* desc, NAME, name */ zSet_Debug_LevelText, zSet_Debug_Level_NAME, zSet_Debug_Level_Name, 658181834Sroberto /* disablement strs */ NULL, NULL }, 659181834Sroberto 660181834Sroberto { /* entry idx, value */ 10, VALUE_OPT_DRIFTFILE, 661181834Sroberto /* equiv idx, value */ 10, VALUE_OPT_DRIFTFILE, 662181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 663181834Sroberto /* min, max, act ct */ 0, 1, 0, 664181834Sroberto /* opt state flags */ DRIFTFILE_FLAGS, 0, 665181834Sroberto /* last opt argumnt */ { NULL }, 666181834Sroberto /* arg list/cookie */ NULL, 667181834Sroberto /* must/cannot opts */ NULL, NULL, 668181834Sroberto /* option proc */ NULL, 669181834Sroberto /* desc, NAME, name */ zDriftfileText, zDriftfile_NAME, zDriftfile_Name, 670181834Sroberto /* disablement strs */ NULL, NULL }, 671181834Sroberto 672181834Sroberto { /* entry idx, value */ 11, VALUE_OPT_PANICGATE, 673181834Sroberto /* equiv idx, value */ 11, VALUE_OPT_PANICGATE, 674181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 675181834Sroberto /* min, max, act ct */ 0, 1, 0, 676181834Sroberto /* opt state flags */ PANICGATE_FLAGS, 0, 677181834Sroberto /* last opt argumnt */ { NULL }, 678181834Sroberto /* arg list/cookie */ NULL, 679181834Sroberto /* must/cannot opts */ NULL, NULL, 680181834Sroberto /* option proc */ NULL, 681181834Sroberto /* desc, NAME, name */ zPanicgateText, zPanicgate_NAME, zPanicgate_Name, 682181834Sroberto /* disablement strs */ NULL, NULL }, 683181834Sroberto 684181834Sroberto { /* entry idx, value */ 12, VALUE_OPT_SIMSLEW, 685181834Sroberto /* equiv idx, value */ 12, VALUE_OPT_SIMSLEW, 686181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 687181834Sroberto /* min, max, act ct */ 0, 1, 0, 688181834Sroberto /* opt state flags */ SIMSLEW_FLAGS, 0, 689181834Sroberto /* last opt argumnt */ { NULL }, 690181834Sroberto /* arg list/cookie */ NULL, 691181834Sroberto /* must/cannot opts */ NULL, NULL, 692181834Sroberto /* option proc */ NULL, 693181834Sroberto /* desc, NAME, name */ zSimslewText, zSimslew_NAME, zSimslew_Name, 694181834Sroberto /* disablement strs */ NULL, NULL }, 695181834Sroberto 696181834Sroberto { /* entry idx, value */ 13, VALUE_OPT_JAILDIR, 697181834Sroberto /* equiv idx, value */ 13, VALUE_OPT_JAILDIR, 698181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 699181834Sroberto /* min, max, act ct */ 0, 1, 0, 700181834Sroberto /* opt state flags */ JAILDIR_FLAGS, 0, 701181834Sroberto /* last opt argumnt */ { NULL }, 702181834Sroberto /* arg list/cookie */ NULL, 703181834Sroberto /* must/cannot opts */ NULL, NULL, 704181834Sroberto /* option proc */ NULL, 705181834Sroberto /* desc, NAME, name */ zJaildirText, zJaildir_NAME, zJaildir_Name, 706181834Sroberto /* disablement strs */ NULL, NULL }, 707181834Sroberto 708181834Sroberto { /* entry idx, value */ 14, VALUE_OPT_INTERFACE, 709181834Sroberto /* equiv idx, value */ 14, VALUE_OPT_INTERFACE, 710181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 711181834Sroberto /* min, max, act ct */ 0, NOLIMIT, 0, 712181834Sroberto /* opt state flags */ INTERFACE_FLAGS, 0, 713181834Sroberto /* last opt argumnt */ { NULL }, 714181834Sroberto /* arg list/cookie */ NULL, 715181834Sroberto /* must/cannot opts */ NULL, NULL, 716181834Sroberto /* option proc */ optionStackArg, 717181834Sroberto /* desc, NAME, name */ zInterfaceText, zInterface_NAME, zInterface_Name, 718181834Sroberto /* disablement strs */ NULL, NULL }, 719181834Sroberto 720181834Sroberto { /* entry idx, value */ 15, VALUE_OPT_KEYFILE, 721181834Sroberto /* equiv idx, value */ 15, VALUE_OPT_KEYFILE, 722181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 723181834Sroberto /* min, max, act ct */ 0, 1, 0, 724181834Sroberto /* opt state flags */ KEYFILE_FLAGS, 0, 725181834Sroberto /* last opt argumnt */ { NULL }, 726181834Sroberto /* arg list/cookie */ NULL, 727181834Sroberto /* must/cannot opts */ NULL, NULL, 728181834Sroberto /* option proc */ NULL, 729181834Sroberto /* desc, NAME, name */ zKeyfileText, zKeyfile_NAME, zKeyfile_Name, 730181834Sroberto /* disablement strs */ NULL, NULL }, 731181834Sroberto 732181834Sroberto { /* entry idx, value */ 16, VALUE_OPT_LOGFILE, 733181834Sroberto /* equiv idx, value */ 16, VALUE_OPT_LOGFILE, 734181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 735181834Sroberto /* min, max, act ct */ 0, 1, 0, 736181834Sroberto /* opt state flags */ LOGFILE_FLAGS, 0, 737181834Sroberto /* last opt argumnt */ { NULL }, 738181834Sroberto /* arg list/cookie */ NULL, 739181834Sroberto /* must/cannot opts */ NULL, NULL, 740181834Sroberto /* option proc */ NULL, 741181834Sroberto /* desc, NAME, name */ zLogfileText, zLogfile_NAME, zLogfile_Name, 742181834Sroberto /* disablement strs */ NULL, NULL }, 743181834Sroberto 744181834Sroberto { /* entry idx, value */ 17, VALUE_OPT_NOVIRTUALIPS, 745181834Sroberto /* equiv idx, value */ 17, VALUE_OPT_NOVIRTUALIPS, 746181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 747181834Sroberto /* min, max, act ct */ 0, 1, 0, 748181834Sroberto /* opt state flags */ NOVIRTUALIPS_FLAGS, 0, 749181834Sroberto /* last opt argumnt */ { NULL }, 750181834Sroberto /* arg list/cookie */ NULL, 751181834Sroberto /* must/cannot opts */ NULL, NULL, 752181834Sroberto /* option proc */ NULL, 753181834Sroberto /* desc, NAME, name */ zNovirtualipsText, zNovirtualips_NAME, zNovirtualips_Name, 754181834Sroberto /* disablement strs */ NULL, NULL }, 755181834Sroberto 756181834Sroberto { /* entry idx, value */ 18, VALUE_OPT_MODIFYMMTIMER, 757181834Sroberto /* equiv idx, value */ 18, VALUE_OPT_MODIFYMMTIMER, 758181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 759181834Sroberto /* min, max, act ct */ 0, 1, 0, 760181834Sroberto /* opt state flags */ MODIFYMMTIMER_FLAGS, 0, 761181834Sroberto /* last opt argumnt */ { NULL }, 762181834Sroberto /* arg list/cookie */ NULL, 763181834Sroberto /* must/cannot opts */ NULL, NULL, 764181834Sroberto /* option proc */ NULL, 765181834Sroberto /* desc, NAME, name */ zModifymmtimerText, zModifymmtimer_NAME, zModifymmtimer_Name, 766181834Sroberto /* disablement strs */ NULL, NULL }, 767181834Sroberto 768181834Sroberto { /* entry idx, value */ 19, VALUE_OPT_NOFORK, 769181834Sroberto /* equiv idx, value */ 19, VALUE_OPT_NOFORK, 770181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 771181834Sroberto /* min, max, act ct */ 0, 1, 0, 772181834Sroberto /* opt state flags */ NOFORK_FLAGS, 0, 773181834Sroberto /* last opt argumnt */ { NULL }, 774181834Sroberto /* arg list/cookie */ NULL, 775181834Sroberto /* must/cannot opts */ NULL, NULL, 776181834Sroberto /* option proc */ NULL, 777181834Sroberto /* desc, NAME, name */ zNoforkText, zNofork_NAME, zNofork_Name, 778181834Sroberto /* disablement strs */ NULL, NULL }, 779181834Sroberto 780181834Sroberto { /* entry idx, value */ 20, VALUE_OPT_NICE, 781181834Sroberto /* equiv idx, value */ 20, VALUE_OPT_NICE, 782181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 783181834Sroberto /* min, max, act ct */ 0, 1, 0, 784181834Sroberto /* opt state flags */ NICE_FLAGS, 0, 785181834Sroberto /* last opt argumnt */ { NULL }, 786181834Sroberto /* arg list/cookie */ NULL, 787181834Sroberto /* must/cannot opts */ NULL, NULL, 788181834Sroberto /* option proc */ NULL, 789181834Sroberto /* desc, NAME, name */ zNiceText, zNice_NAME, zNice_Name, 790181834Sroberto /* disablement strs */ NULL, NULL }, 791181834Sroberto 792181834Sroberto { /* entry idx, value */ 21, VALUE_OPT_SERVERTIME, 793181834Sroberto /* equiv idx, value */ 21, VALUE_OPT_SERVERTIME, 794181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 795181834Sroberto /* min, max, act ct */ 0, 1, 0, 796181834Sroberto /* opt state flags */ SERVERTIME_FLAGS, 0, 797181834Sroberto /* last opt argumnt */ { NULL }, 798181834Sroberto /* arg list/cookie */ NULL, 799181834Sroberto /* must/cannot opts */ NULL, NULL, 800181834Sroberto /* option proc */ NULL, 801181834Sroberto /* desc, NAME, name */ zServertimeText, zServertime_NAME, zServertime_Name, 802181834Sroberto /* disablement strs */ NULL, NULL }, 803181834Sroberto 804181834Sroberto { /* entry idx, value */ 22, VALUE_OPT_PIDFILE, 805181834Sroberto /* equiv idx, value */ 22, VALUE_OPT_PIDFILE, 806181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 807181834Sroberto /* min, max, act ct */ 0, 1, 0, 808181834Sroberto /* opt state flags */ PIDFILE_FLAGS, 0, 809181834Sroberto /* last opt argumnt */ { NULL }, 810181834Sroberto /* arg list/cookie */ NULL, 811181834Sroberto /* must/cannot opts */ NULL, NULL, 812181834Sroberto /* option proc */ NULL, 813181834Sroberto /* desc, NAME, name */ zPidfileText, zPidfile_NAME, zPidfile_Name, 814181834Sroberto /* disablement strs */ NULL, NULL }, 815181834Sroberto 816181834Sroberto { /* entry idx, value */ 23, VALUE_OPT_PRIORITY, 817181834Sroberto /* equiv idx, value */ 23, VALUE_OPT_PRIORITY, 818181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 819181834Sroberto /* min, max, act ct */ 0, 1, 0, 820181834Sroberto /* opt state flags */ PRIORITY_FLAGS, 0, 821181834Sroberto /* last opt argumnt */ { NULL }, 822181834Sroberto /* arg list/cookie */ NULL, 823181834Sroberto /* must/cannot opts */ NULL, NULL, 824181834Sroberto /* option proc */ optionNumericVal, 825181834Sroberto /* desc, NAME, name */ zPriorityText, zPriority_NAME, zPriority_Name, 826181834Sroberto /* disablement strs */ NULL, NULL }, 827181834Sroberto 828181834Sroberto { /* entry idx, value */ 24, VALUE_OPT_QUIT, 829181834Sroberto /* equiv idx, value */ 24, VALUE_OPT_QUIT, 830181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 831181834Sroberto /* min, max, act ct */ 0, 1, 0, 832181834Sroberto /* opt state flags */ QUIT_FLAGS, 0, 833181834Sroberto /* last opt argumnt */ { NULL }, 834181834Sroberto /* arg list/cookie */ NULL, 835181834Sroberto /* must/cannot opts */ NULL, NULL, 836181834Sroberto /* option proc */ NULL, 837181834Sroberto /* desc, NAME, name */ zQuitText, zQuit_NAME, zQuit_Name, 838181834Sroberto /* disablement strs */ NULL, NULL }, 839181834Sroberto 840181834Sroberto { /* entry idx, value */ 25, VALUE_OPT_PROPAGATIONDELAY, 841181834Sroberto /* equiv idx, value */ 25, VALUE_OPT_PROPAGATIONDELAY, 842181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 843181834Sroberto /* min, max, act ct */ 0, 1, 0, 844181834Sroberto /* opt state flags */ PROPAGATIONDELAY_FLAGS, 0, 845181834Sroberto /* last opt argumnt */ { NULL }, 846181834Sroberto /* arg list/cookie */ NULL, 847181834Sroberto /* must/cannot opts */ NULL, NULL, 848181834Sroberto /* option proc */ NULL, 849181834Sroberto /* desc, NAME, name */ zPropagationdelayText, zPropagationdelay_NAME, zPropagationdelay_Name, 850181834Sroberto /* disablement strs */ NULL, NULL }, 851181834Sroberto 852181834Sroberto { /* entry idx, value */ 26, VALUE_OPT_UPDATEINTERVAL, 853181834Sroberto /* equiv idx, value */ 26, VALUE_OPT_UPDATEINTERVAL, 854181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 855181834Sroberto /* min, max, act ct */ 0, 1, 0, 856181834Sroberto /* opt state flags */ UPDATEINTERVAL_FLAGS, 0, 857181834Sroberto /* last opt argumnt */ { NULL }, 858181834Sroberto /* arg list/cookie */ NULL, 859181834Sroberto /* must/cannot opts */ NULL, NULL, 860181834Sroberto /* option proc */ optionNumericVal, 861181834Sroberto /* desc, NAME, name */ zUpdateintervalText, zUpdateinterval_NAME, zUpdateinterval_Name, 862181834Sroberto /* disablement strs */ NULL, NULL }, 863181834Sroberto 864181834Sroberto { /* entry idx, value */ 27, VALUE_OPT_STATSDIR, 865181834Sroberto /* equiv idx, value */ 27, VALUE_OPT_STATSDIR, 866181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 867181834Sroberto /* min, max, act ct */ 0, 1, 0, 868181834Sroberto /* opt state flags */ STATSDIR_FLAGS, 0, 869181834Sroberto /* last opt argumnt */ { NULL }, 870181834Sroberto /* arg list/cookie */ NULL, 871181834Sroberto /* must/cannot opts */ NULL, NULL, 872181834Sroberto /* option proc */ NULL, 873181834Sroberto /* desc, NAME, name */ zStatsdirText, zStatsdir_NAME, zStatsdir_Name, 874181834Sroberto /* disablement strs */ NULL, NULL }, 875181834Sroberto 876181834Sroberto { /* entry idx, value */ 28, VALUE_OPT_ENDSIMTIME, 877181834Sroberto /* equiv idx, value */ 28, VALUE_OPT_ENDSIMTIME, 878181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 879181834Sroberto /* min, max, act ct */ 0, 1, 0, 880181834Sroberto /* opt state flags */ ENDSIMTIME_FLAGS, 0, 881181834Sroberto /* last opt argumnt */ { NULL }, 882181834Sroberto /* arg list/cookie */ NULL, 883181834Sroberto /* must/cannot opts */ NULL, NULL, 884181834Sroberto /* option proc */ NULL, 885181834Sroberto /* desc, NAME, name */ zEndsimtimeText, zEndsimtime_NAME, zEndsimtime_Name, 886181834Sroberto /* disablement strs */ NULL, NULL }, 887181834Sroberto 888181834Sroberto { /* entry idx, value */ 29, VALUE_OPT_TRUSTEDKEY, 889181834Sroberto /* equiv idx, value */ 29, VALUE_OPT_TRUSTEDKEY, 890181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 891181834Sroberto /* min, max, act ct */ 0, NOLIMIT, 0, 892181834Sroberto /* opt state flags */ TRUSTEDKEY_FLAGS, 0, 893181834Sroberto /* last opt argumnt */ { NULL }, 894181834Sroberto /* arg list/cookie */ NULL, 895181834Sroberto /* must/cannot opts */ NULL, NULL, 896181834Sroberto /* option proc */ optionStackArg, 897181834Sroberto /* desc, NAME, name */ zTrustedkeyText, zTrustedkey_NAME, zTrustedkey_Name, 898181834Sroberto /* disablement strs */ NULL, NULL }, 899181834Sroberto 900181834Sroberto { /* entry idx, value */ 30, VALUE_OPT_FREQERR, 901181834Sroberto /* equiv idx, value */ 30, VALUE_OPT_FREQERR, 902181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 903181834Sroberto /* min, max, act ct */ 0, 1, 0, 904181834Sroberto /* opt state flags */ FREQERR_FLAGS, 0, 905181834Sroberto /* last opt argumnt */ { NULL }, 906181834Sroberto /* arg list/cookie */ NULL, 907181834Sroberto /* must/cannot opts */ NULL, NULL, 908181834Sroberto /* option proc */ NULL, 909181834Sroberto /* desc, NAME, name */ zFreqerrText, zFreqerr_NAME, zFreqerr_Name, 910181834Sroberto /* disablement strs */ NULL, NULL }, 911181834Sroberto 912181834Sroberto { /* entry idx, value */ 31, VALUE_OPT_WALKNOISE, 913181834Sroberto /* equiv idx, value */ 31, VALUE_OPT_WALKNOISE, 914181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 915181834Sroberto /* min, max, act ct */ 0, 1, 0, 916181834Sroberto /* opt state flags */ WALKNOISE_FLAGS, 0, 917181834Sroberto /* last opt argumnt */ { NULL }, 918181834Sroberto /* arg list/cookie */ NULL, 919181834Sroberto /* must/cannot opts */ NULL, NULL, 920181834Sroberto /* option proc */ NULL, 921181834Sroberto /* desc, NAME, name */ zWalknoiseText, zWalknoise_NAME, zWalknoise_Name, 922181834Sroberto /* disablement strs */ NULL, NULL }, 923181834Sroberto 924181834Sroberto { /* entry idx, value */ 32, VALUE_OPT_USER, 925181834Sroberto /* equiv idx, value */ 32, VALUE_OPT_USER, 926181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 927181834Sroberto /* min, max, act ct */ 0, 1, 0, 928181834Sroberto /* opt state flags */ USER_FLAGS, 0, 929181834Sroberto /* last opt argumnt */ { NULL }, 930181834Sroberto /* arg list/cookie */ NULL, 931181834Sroberto /* must/cannot opts */ NULL, NULL, 932181834Sroberto /* option proc */ NULL, 933181834Sroberto /* desc, NAME, name */ zUserText, zUser_NAME, zUser_Name, 934181834Sroberto /* disablement strs */ NULL, NULL }, 935181834Sroberto 936181834Sroberto { /* entry idx, value */ 33, VALUE_OPT_VAR, 937181834Sroberto /* equiv idx, value */ 33, VALUE_OPT_VAR, 938181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 939181834Sroberto /* min, max, act ct */ 0, NOLIMIT, 0, 940181834Sroberto /* opt state flags */ VAR_FLAGS, 0, 941181834Sroberto /* last opt argumnt */ { NULL }, 942181834Sroberto /* arg list/cookie */ NULL, 943181834Sroberto /* must/cannot opts */ NULL, NULL, 944181834Sroberto /* option proc */ optionStackArg, 945181834Sroberto /* desc, NAME, name */ zVarText, zVar_NAME, zVar_Name, 946181834Sroberto /* disablement strs */ NULL, NULL }, 947181834Sroberto 948181834Sroberto { /* entry idx, value */ 34, VALUE_OPT_DVAR, 949181834Sroberto /* equiv idx, value */ 34, VALUE_OPT_DVAR, 950181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 951181834Sroberto /* min, max, act ct */ 0, NOLIMIT, 0, 952181834Sroberto /* opt state flags */ DVAR_FLAGS, 0, 953181834Sroberto /* last opt argumnt */ { NULL }, 954181834Sroberto /* arg list/cookie */ NULL, 955181834Sroberto /* must/cannot opts */ NULL, NULL, 956181834Sroberto /* option proc */ optionStackArg, 957181834Sroberto /* desc, NAME, name */ zDvarText, zDvar_NAME, zDvar_Name, 958181834Sroberto /* disablement strs */ NULL, NULL }, 959181834Sroberto 960181834Sroberto { /* entry idx, value */ 35, VALUE_OPT_SLEW, 961181834Sroberto /* equiv idx, value */ 35, VALUE_OPT_SLEW, 962181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 963181834Sroberto /* min, max, act ct */ 0, 1, 0, 964181834Sroberto /* opt state flags */ SLEW_FLAGS, 0, 965181834Sroberto /* last opt argumnt */ { NULL }, 966181834Sroberto /* arg list/cookie */ NULL, 967181834Sroberto /* must/cannot opts */ NULL, NULL, 968181834Sroberto /* option proc */ NULL, 969181834Sroberto /* desc, NAME, name */ zSlewText, zSlew_NAME, zSlew_Name, 970181834Sroberto /* disablement strs */ NULL, NULL }, 971181834Sroberto 972181834Sroberto { /* entry idx, value */ 36, VALUE_OPT_NDELAY, 973181834Sroberto /* equiv idx, value */ 36, VALUE_OPT_NDELAY, 974181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 975181834Sroberto /* min, max, act ct */ 0, 1, 0, 976181834Sroberto /* opt state flags */ NDELAY_FLAGS, 0, 977181834Sroberto /* last opt argumnt */ { NULL }, 978181834Sroberto /* arg list/cookie */ NULL, 979181834Sroberto /* must/cannot opts */ NULL, NULL, 980181834Sroberto /* option proc */ NULL, 981181834Sroberto /* desc, NAME, name */ zNdelayText, zNdelay_NAME, zNdelay_Name, 982181834Sroberto /* disablement strs */ NULL, NULL }, 983181834Sroberto 984181834Sroberto { /* entry idx, value */ 37, VALUE_OPT_PDELAY, 985181834Sroberto /* equiv idx, value */ 37, VALUE_OPT_PDELAY, 986181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 987181834Sroberto /* min, max, act ct */ 0, 1, 0, 988181834Sroberto /* opt state flags */ PDELAY_FLAGS, 0, 989181834Sroberto /* last opt argumnt */ { NULL }, 990181834Sroberto /* arg list/cookie */ NULL, 991181834Sroberto /* must/cannot opts */ NULL, NULL, 992181834Sroberto /* option proc */ NULL, 993181834Sroberto /* desc, NAME, name */ zPdelayText, zPdelay_NAME, zPdelay_Name, 994181834Sroberto /* disablement strs */ NULL, NULL }, 995181834Sroberto 996181834Sroberto#ifdef NO_OPTIONAL_OPT_ARGS 997181834Sroberto# define VERSION_OPT_FLAGS OPTST_IMM | OPTST_NO_INIT 998181834Sroberto#else 999181834Sroberto# define VERSION_OPT_FLAGS OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \ 1000181834Sroberto OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT 1001181834Sroberto#endif 1002181834Sroberto 1003181834Sroberto { /* entry idx, value */ INDEX_OPT_VERSION, VALUE_OPT_VERSION, 1004181834Sroberto /* equiv idx value */ NO_EQUIVALENT, 0, 1005181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 1006181834Sroberto /* min, max, act ct */ 0, 1, 0, 1007181834Sroberto /* opt state flags */ VERSION_OPT_FLAGS, 0, 1008181834Sroberto /* last opt argumnt */ { NULL }, 1009181834Sroberto /* arg list/cookie */ NULL, 1010181834Sroberto /* must/cannot opts */ NULL, NULL, 1011181834Sroberto /* option proc */ DOVERPROC, 1012181834Sroberto /* desc, NAME, name */ zVersionText, NULL, zVersion_Name, 1013181834Sroberto /* disablement strs */ NULL, NULL }, 1014181834Sroberto 1015181834Sroberto#undef VERSION_OPT_FLAGS 1016181834Sroberto 1017181834Sroberto 1018181834Sroberto { /* entry idx, value */ INDEX_OPT_HELP, VALUE_OPT_HELP, 1019181834Sroberto /* equiv idx value */ NO_EQUIVALENT, 0, 1020181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 1021181834Sroberto /* min, max, act ct */ 0, 1, 0, 1022181834Sroberto /* opt state flags */ OPTST_IMM | OPTST_NO_INIT, 0, 1023181834Sroberto /* last opt argumnt */ { NULL }, 1024181834Sroberto /* arg list/cookie */ NULL, 1025181834Sroberto /* must/cannot opts */ NULL, NULL, 1026181834Sroberto /* option proc */ doUsageOpt, 1027181834Sroberto /* desc, NAME, name */ zHelpText, NULL, zHelp_Name, 1028181834Sroberto /* disablement strs */ NULL, NULL }, 1029181834Sroberto 1030181834Sroberto { /* entry idx, value */ INDEX_OPT_MORE_HELP, VALUE_OPT_MORE_HELP, 1031181834Sroberto /* equiv idx value */ NO_EQUIVALENT, 0, 1032181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 1033181834Sroberto /* min, max, act ct */ 0, 1, 0, 1034181834Sroberto /* opt state flags */ OPTST_IMM | OPTST_NO_INIT, 0, 1035181834Sroberto /* last opt argumnt */ { NULL }, 1036181834Sroberto /* arg list/cookie */ NULL, 1037181834Sroberto /* must/cannot opts */ NULL, NULL, 1038181834Sroberto /* option proc */ optionPagedUsage, 1039181834Sroberto /* desc, NAME, name */ zMore_HelpText, NULL, zMore_Help_Name, 1040181834Sroberto /* disablement strs */ NULL, NULL }, 1041181834Sroberto 1042181834Sroberto { /* entry idx, value */ INDEX_OPT_SAVE_OPTS, VALUE_OPT_SAVE_OPTS, 1043181834Sroberto /* equiv idx value */ NO_EQUIVALENT, 0, 1044181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 1045181834Sroberto /* min, max, act ct */ 0, 1, 0, 1046181834Sroberto /* opt state flags */ OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) 1047181834Sroberto | OPTST_ARG_OPTIONAL | OPTST_NO_INIT, 0, 1048181834Sroberto /* last opt argumnt */ { NULL }, 1049181834Sroberto /* arg list/cookie */ NULL, 1050181834Sroberto /* must/cannot opts */ NULL, NULL, 1051181834Sroberto /* option proc */ NULL, 1052181834Sroberto /* desc, NAME, name */ zSave_OptsText, NULL, zSave_Opts_Name, 1053181834Sroberto /* disablement strs */ NULL, NULL }, 1054181834Sroberto 1055181834Sroberto { /* entry idx, value */ INDEX_OPT_LOAD_OPTS, VALUE_OPT_LOAD_OPTS, 1056181834Sroberto /* equiv idx value */ NO_EQUIVALENT, 0, 1057181834Sroberto /* equivalenced to */ NO_EQUIVALENT, 1058181834Sroberto /* min, max, act ct */ 0, NOLIMIT, 0, 1059181834Sroberto /* opt state flags */ OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) \ 1060181834Sroberto | OPTST_DISABLE_IMM, 0, 1061181834Sroberto /* last opt argumnt */ { NULL }, 1062181834Sroberto /* arg list/cookie */ NULL, 1063181834Sroberto /* must/cannot opts */ NULL, NULL, 1064181834Sroberto /* option proc */ optionLoadOpt, 1065181834Sroberto /* desc, NAME, name */ zLoad_OptsText, zLoad_Opts_NAME, zLoad_Opts_Name, 1066181834Sroberto /* disablement strs */ zNotLoad_Opts_Name, zNotLoad_Opts_Pfx } 1067181834Sroberto}; 1068181834Sroberto 1069181834Sroberto/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 1070181834Sroberto * 1071181834Sroberto * Define the Ntpdsim Option Environment 1072181834Sroberto */ 1073181834SrobertotSCC zPROGNAME[] = "NTPDSIM"; 1074181834SrobertotSCC zUsageTitle[] = 1075200576Sroberto"ntpdsim - NTP daemon simulation program - Ver. 4.2.4p8\n\ 1076181834SrobertoUSAGE: %s [ -<flag> [<val>] | --<name>[{=| }<val>] ]...\n"; 1077181834SrobertotSCC zRcName[] = ".ntprc"; 1078181834SrobertotSCC* apzHomeList[] = { 1079181834Sroberto "$HOME", 1080181834Sroberto ".", 1081181834Sroberto NULL }; 1082181834Sroberto 1083200576SrobertotSCC zBugsAddr[] = "http://bugs.ntp.org, bugs@ntp.org"; 1084181834Sroberto#define zExplain NULL 1085181834SrobertotSCC zDetail[] = "\n\n"; 1086181834SrobertotSCC zFullVersion[] = NTPDSIM_FULL_VERSION; 1087200576Sroberto/* extracted from /usr/local/gnu/autogen-5.9.1/share/autogen/optcode.tpl near line 408 */ 1088181834Sroberto 1089181834Sroberto#if defined(ENABLE_NLS) 1090181834Sroberto# define OPTPROC_BASE OPTPROC_TRANSLATE 1091181834Sroberto static tOptionXlateProc translate_option_strings; 1092181834Sroberto#else 1093181834Sroberto# define OPTPROC_BASE OPTPROC_NONE 1094181834Sroberto# define translate_option_strings NULL 1095181834Sroberto#endif /* ENABLE_NLS */ 1096181834Sroberto 1097181834SrobertotOptions ntpdsimOptions = { 1098181834Sroberto OPTIONS_STRUCT_VERSION, 1099181834Sroberto 0, NULL, /* original argc + argv */ 1100181834Sroberto ( OPTPROC_BASE 1101181834Sroberto + OPTPROC_ERRSTOP 1102181834Sroberto + OPTPROC_SHORTOPT 1103181834Sroberto + OPTPROC_LONGOPT 1104181834Sroberto + OPTPROC_NO_REQ_OPT 1105181834Sroberto + OPTPROC_ENVIRON 1106181834Sroberto + OPTPROC_NO_ARGS 1107181834Sroberto + OPTPROC_HAS_IMMED ), 1108181834Sroberto 0, NULL, /* current option index, current option */ 1109181834Sroberto NULL, NULL, zPROGNAME, 1110181834Sroberto zRcName, zCopyright, zCopyrightNotice, 1111181834Sroberto zFullVersion, apzHomeList, zUsageTitle, 1112181834Sroberto zExplain, zDetail, optDesc, 1113181834Sroberto zBugsAddr, /* address to send bugs to */ 1114181834Sroberto NULL, NULL, /* extensions/saved state */ 1115181834Sroberto optionUsage, /* usage procedure */ 1116181834Sroberto translate_option_strings, /* translation procedure */ 1117181834Sroberto /* 1118181834Sroberto * Indexes to special options 1119181834Sroberto */ 1120181834Sroberto { INDEX_OPT_MORE_HELP, 1121181834Sroberto INDEX_OPT_SAVE_OPTS, 1122181834Sroberto NO_EQUIVALENT /* index of '-#' option */, 1123181834Sroberto NO_EQUIVALENT /* index of default opt */ 1124181834Sroberto }, 1125181834Sroberto 43 /* full option count */, 38 /* user option count */ 1126181834Sroberto}; 1127181834Sroberto 1128181834Sroberto/* 1129181834Sroberto * Create the static procedure(s) declared above. 1130181834Sroberto */ 1131181834Srobertostatic void 1132181834SrobertodoUsageOpt( 1133181834Sroberto tOptions* pOptions, 1134181834Sroberto tOptDesc* pOptDesc ) 1135181834Sroberto{ 1136181834Sroberto USAGE( EXIT_SUCCESS ); 1137181834Sroberto} 1138181834Sroberto 1139181834Sroberto#if ! defined(TEST_NTPDSIM_OPTS) 1140181834Sroberto 1141181834Sroberto/* * * * * * * 1142181834Sroberto * 1143181834Sroberto * For the set-debug-level option, when DEBUG is #define-d. 1144181834Sroberto */ 1145181834Sroberto#ifdef DEBUG 1146181834Srobertostatic void 1147181834SrobertodoOptSet_Debug_Level( 1148181834Sroberto tOptions* pOptions, 1149181834Sroberto tOptDesc* pOptDesc ) 1150181834Sroberto{ 1151181834Sroberto /* extracted from ../include/debug-opt.def, line 29 */ 1152181834SrobertoDESC(DEBUG_LEVEL).optOccCt = atoi( pOptDesc->pzLastArg ); 1153181834Sroberto} 1154181834Sroberto#endif /* defined DEBUG */ 1155181834Sroberto 1156181834Sroberto#endif /* defined(TEST_NTPDSIM_OPTS) */ 1157181834Sroberto 1158200576Sroberto/* extracted from /usr/local/gnu/autogen-5.9.1/share/autogen/optmain.tpl near line 92 */ 1159181834Sroberto 1160181834Sroberto#if defined(TEST_NTPDSIM_OPTS) /* TEST MAIN PROCEDURE: */ 1161181834Sroberto 1162181834Srobertoint 1163181834Srobertomain( int argc, char** argv ) 1164181834Sroberto{ 1165181834Sroberto int res = EXIT_SUCCESS; 1166181834Sroberto (void)optionProcess( &ntpdsimOptions, argc, argv ); 1167181834Sroberto { 1168181834Sroberto void optionPutShell( tOptions* ); 1169181834Sroberto optionPutShell( &ntpdsimOptions ); 1170181834Sroberto } 1171181834Sroberto return res; 1172181834Sroberto} 1173181834Sroberto#endif /* defined TEST_NTPDSIM_OPTS */ 1174200576Sroberto/* extracted from /usr/local/gnu/autogen-5.9.1/share/autogen/optcode.tpl near line 514 */ 1175181834Sroberto 1176181834Sroberto#if ENABLE_NLS 1177181834Sroberto#include <stdio.h> 1178181834Sroberto#include <stdlib.h> 1179181834Sroberto#include <string.h> 1180181834Sroberto#include <unistd.h> 1181181834Sroberto#include <autoopts/usage-txt.h> 1182181834Sroberto 1183181834Srobertostatic char* AO_gettext( char const* pz ); 1184181834Srobertostatic void coerce_it(void** s); 1185181834Sroberto 1186181834Srobertostatic char* 1187181834SrobertoAO_gettext( char const* pz ) 1188181834Sroberto{ 1189181834Sroberto char* pzRes; 1190181834Sroberto if (pz == NULL) 1191181834Sroberto return NULL; 1192181834Sroberto pzRes = _(pz); 1193181834Sroberto if (pzRes == pz) 1194181834Sroberto return pzRes; 1195181834Sroberto pzRes = strdup( pzRes ); 1196181834Sroberto if (pzRes == NULL) { 1197181834Sroberto fputs( _("No memory for duping translated strings\n"), stderr ); 1198181834Sroberto exit( EXIT_FAILURE ); 1199181834Sroberto } 1200181834Sroberto return pzRes; 1201181834Sroberto} 1202181834Sroberto 1203181834Srobertostatic void coerce_it(void** s) { *s = AO_gettext(*s); } 1204181834Sroberto#define COERSION(_f) \ 1205181834Sroberto coerce_it((void*)&(ntpdsimOptions._f)) 1206181834Sroberto 1207181834Sroberto/* 1208181834Sroberto * This invokes the translation code (e.g. gettext(3)). 1209181834Sroberto */ 1210181834Srobertostatic void 1211181834Srobertotranslate_option_strings( void ) 1212181834Sroberto{ 1213181834Sroberto /* 1214181834Sroberto * Guard against re-translation. It won't work. The strings will have 1215181834Sroberto * been changed by the first pass through this code. One shot only. 1216181834Sroberto */ 1217181834Sroberto if (option_usage_text.field_ct == 0) 1218181834Sroberto return; 1219181834Sroberto /* 1220181834Sroberto * Do the translations. The first pointer follows the field count field. 1221181834Sroberto * The field count field is the size of a pointer. 1222181834Sroberto */ 1223181834Sroberto { 1224181834Sroberto char** ppz = (char**)(void*)&(option_usage_text); 1225181834Sroberto int ix = option_usage_text.field_ct; 1226181834Sroberto 1227181834Sroberto do { 1228181834Sroberto ppz++; 1229181834Sroberto *ppz = AO_gettext(*ppz); 1230181834Sroberto } while (--ix > 0); 1231181834Sroberto } 1232181834Sroberto option_usage_text.field_ct = 0; 1233181834Sroberto 1234181834Sroberto { 1235181834Sroberto tOptDesc* pOD = ntpdsimOptions.pOptDesc; 1236181834Sroberto int ix = ntpdsimOptions.optCt; 1237181834Sroberto 1238181834Sroberto for (;;) { 1239181834Sroberto pOD->pzText = AO_gettext(pOD->pzText); 1240181834Sroberto pOD->pz_NAME = AO_gettext(pOD->pz_NAME); 1241181834Sroberto pOD->pz_Name = AO_gettext(pOD->pz_Name); 1242181834Sroberto pOD->pz_DisableName = AO_gettext(pOD->pz_DisableName); 1243181834Sroberto pOD->pz_DisablePfx = AO_gettext(pOD->pz_DisablePfx); 1244181834Sroberto if (--ix <= 0) 1245181834Sroberto break; 1246181834Sroberto pOD++; 1247181834Sroberto } 1248181834Sroberto } 1249181834Sroberto COERSION(pzCopyright); 1250181834Sroberto COERSION(pzCopyNotice); 1251181834Sroberto COERSION(pzFullVersion); 1252181834Sroberto COERSION(pzUsageTitle); 1253181834Sroberto COERSION(pzExplain); 1254181834Sroberto COERSION(pzDetail); 1255181834Sroberto} 1256181834Sroberto 1257181834Sroberto#endif /* ENABLE_NLS */ 1258181834Sroberto 1259181834Sroberto#ifdef __cplusplus 1260181834Sroberto} 1261181834Sroberto#endif 1262181834Sroberto/* ntpdsim-opts.c ends here */ 1263