aboutsummaryrefslogtreecommitdiff
path: root/sntp/libopts/autoopts
diff options
context:
space:
mode:
Diffstat (limited to 'sntp/libopts/autoopts')
-rw-r--r--sntp/libopts/autoopts/options.h489
-rw-r--r--sntp/libopts/autoopts/project.h50
-rw-r--r--sntp/libopts/autoopts/usage-txt.h412
3 files changed, 578 insertions, 373 deletions
diff --git a/sntp/libopts/autoopts/options.h b/sntp/libopts/autoopts/options.h
index c2ceeb3dbb13..c2925e7999bf 100644
--- a/sntp/libopts/autoopts/options.h
+++ b/sntp/libopts/autoopts/options.h
@@ -2,34 +2,33 @@
*
* DO NOT EDIT THIS FILE (options.h)
*
- * It has been AutoGen-ed Saturday May 5, 2007 at 12:02:34 PM PDT
+ * It has been AutoGen-ed April 29, 2011 at 03:44:02 PM by AutoGen 5.11.9
* From the definitions funcs.def
* and the template file options_h
*
* This file defines all the global structures and special values
* used in the automated option processing library.
*
- * Automated Options copyright 1992-Y Bruce Korb
+ * Automated Options Copyright (C) 1992-2011 by Bruce Korb
*
- * AutoOpts is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
+ * AutoOpts is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
- * AutoOpts is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
+ * AutoOpts is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU Lesser General Public
- * License along with AutoOpts. If not, write to:
- * The Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor
- * Boston, MA 02110-1301, USA.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.";
+
*/
#ifndef AUTOOPTS_OPTIONS_H_GUARD
-#define AUTOOPTS_OPTIONS_H_GUARD
+#define AUTOOPTS_OPTIONS_H_GUARD 1
#include <sys/types.h>
+#include <stdio.h>
#if defined(HAVE_STDINT_H)
# include <stdint.h>
@@ -59,28 +58,33 @@
* to an option descriptor must be obtained. There are two ways:
*
* 1. inside an option processing procedure, it is the second argument,
- * conventionally "tOptDesc* pOD".
+ * conventionally "tOptDesc* pOD".
*
- * 2. Outside of an option procedure (or to reference a different option
- * descriptor), use either "&DESC( opt_name )" or "&pfx_DESC( opt_name )".
+ * 2. Outside of an option procedure (or to reference a different option
+ * descriptor), use either "&DESC( opt_name )" or "&pfx_DESC( opt_name )".
*
* See the relevant generated header file to determine which and what
* values for "opt_name" are available.
*/
-
-#define OPTIONS_STRUCT_VERSION 118784
-#define OPTIONS_VERSION_STRING "29:0:4"
+#define OPTIONS_STRUCT_VERSION 143360
+#define OPTIONS_VERSION_STRING "35:0:10"
#define OPTIONS_MINIMUM_VERSION 102400
#define OPTIONS_MIN_VER_STRING "25:0:0"
typedef enum {
- OPARG_TYPE_NONE = 0,
- OPARG_TYPE_STRING = 1, /* default type/ vanilla string */
- OPARG_TYPE_ENUMERATION = 2, /* opt arg is an enum (keyword list) */
- OPARG_TYPE_BOOLEAN = 3, /* opt arg is boolean-valued */
- OPARG_TYPE_MEMBERSHIP = 4, /* opt arg sets set membership bits */
- OPARG_TYPE_NUMERIC = 5, /* opt arg has numeric value */
- OPARG_TYPE_HIERARCHY = 6 /* option arg is hierarchical value */
+ OPARG_TYPE_NONE = 0,
+ OPARG_TYPE_STRING = 1, /* default type/ vanilla string */
+ OPARG_TYPE_ENUMERATION = 2, /* opt arg is an enum (keyword list) */
+ OPARG_TYPE_BOOLEAN = 3, /* opt arg is boolean-valued */
+ OPARG_TYPE_MEMBERSHIP = 4, /* opt arg sets set membership bits */
+ OPARG_TYPE_NUMERIC = 5, /* opt arg is a long int */
+ OPARG_TYPE_HIERARCHY = 6, /* option arg is hierarchical value */
+ OPARG_TYPE_FILE = 7, /* option arg names a file */
+ OPARG_TYPE_TIME = 8, /* opt arg is a time duration */
+ OPARG_TYPE_FLOAT = 9, /* opt arg is a floating point num */
+ OPARG_TYPE_DOUBLE = 10, /* opt arg is a double prec. float */
+ OPARG_TYPE_LONG_DOUBLE = 11, /* opt arg is a long double prec. */
+ OPARG_TYPE_LONG_LONG = 12 /* opt arg is a long long int */
} teOptArgType;
typedef struct optionValue {
@@ -96,6 +100,31 @@ typedef struct optionValue {
} v;
} tOptionValue;
+typedef enum {
+ FTYPE_MODE_MAY_EXIST = 0x00,
+ FTYPE_MODE_MUST_EXIST = 0x01,
+ FTYPE_MODE_MUST_NOT_EXIST = 0x02,
+ FTYPE_MODE_EXIST_MASK = 0x03,
+ FTYPE_MODE_NO_OPEN = 0x00,
+ FTYPE_MODE_OPEN_FD = 0x10,
+ FTYPE_MODE_FOPEN_FP = 0x20,
+ FTYPE_MODE_OPEN_MASK = 0x30
+} teOptFileType;
+
+typedef union {
+ int file_flags;
+ char const * file_mode;
+} tuFileMode;
+
+typedef struct argList tArgList;
+#define MIN_ARG_ALLOC_CT 6
+#define INCR_ARG_ALLOC_CT 8
+struct argList {
+ int useCt;
+ int allocCt;
+ char const * apzArgs[MIN_ARG_ALLOC_CT];
+};
+
/*
* Bits in the fOptState option descriptor field.
*/
@@ -103,6 +132,7 @@ typedef enum {
OPTST_SET_ID = 0, /* Set via the "SET_OPT()" macro */
OPTST_PRESET_ID = 1, /* Set via an RC/INI file */
OPTST_DEFINED_ID = 2, /* Set via a command line option */
+ OPTST_RESET_ID = 3, /* Reset via command line option */
OPTST_EQUIVALENCE_ID = 4, /* selected by equiv'ed option */
OPTST_DISABLED_ID = 5, /* option is in disabled state */
OPTST_ALLOC_ARG_ID = 6, /* pzOptArg was allocated */
@@ -121,13 +151,17 @@ typedef enum {
OPTST_MUST_SET_ID = 20, /* must be set or pre-set */
OPTST_DOCUMENT_ID = 21, /* opt is for doc only */
OPTST_TWICE_ID = 22, /* process opt twice - imm + reg */
- OPTST_DISABLE_TWICE_ID = 23 /* process disabled option twice */
+ OPTST_DISABLE_TWICE_ID = 23, /* process disabled option twice */
+ OPTST_SCALED_NUM_ID = 24, /* scaled integer value */
+ OPTST_NO_COMMAND_ID = 25, /* disable from cmd line */
+ OPTST_DEPRECATED_ID = 26 /* support is being removed */
} opt_state_enum_t;
-#define OPTST_INIT 0U
+#define OPTST_INIT 0U
#define OPTST_SET (1U << OPTST_SET_ID)
#define OPTST_PRESET (1U << OPTST_PRESET_ID)
#define OPTST_DEFINED (1U << OPTST_DEFINED_ID)
+#define OPTST_RESET (1U << OPTST_RESET_ID)
#define OPTST_EQUIVALENCE (1U << OPTST_EQUIVALENCE_ID)
#define OPTST_DISABLED (1U << OPTST_DISABLED_ID)
#define OPTST_ALLOC_ARG (1U << OPTST_ALLOC_ARG_ID)
@@ -147,30 +181,39 @@ typedef enum {
#define OPTST_DOCUMENT (1U << OPTST_DOCUMENT_ID)
#define OPTST_TWICE (1U << OPTST_TWICE_ID)
#define OPTST_DISABLE_TWICE (1U << OPTST_DISABLE_TWICE_ID)
-#define OPT_STATE_MASK 0x00FFFF77U
-
-#define OPTST_SET_MASK ( \
- OPTST_SET | \
- OPTST_PRESET | \
- OPTST_DEFINED )
-
-#define OPTST_MUTABLE_MASK ( \
- OPTST_SET | \
- OPTST_PRESET | \
- OPTST_DEFINED | \
- OPTST_EQUIVALENCE | \
- OPTST_DISABLED | \
- OPTST_ALLOC_ARG )
-
-#define OPTST_SELECTED_MASK ( \
- OPTST_SET | \
- OPTST_DEFINED )
-
-#define OPTST_ARG_TYPE_MASK ( \
- OPTST_ARG_TYPE_1 | \
- OPTST_ARG_TYPE_2 | \
- OPTST_ARG_TYPE_3 | \
- OPTST_ARG_TYPE_4 )
+#define OPTST_SCALED_NUM (1U << OPTST_SCALED_NUM_ID)
+#define OPTST_NO_COMMAND (1U << OPTST_NO_COMMAND_ID)
+#define OPTST_DEPRECATED (1U << OPTST_DEPRECATED_ID)
+#define OPT_STATE_MASK 0x07FFFF7FU
+
+#define OPTST_SET_MASK ( \
+ OPTST_DEFINED | OPTST_PRESET | OPTST_RESET | \
+ OPTST_SET \
+ /* 0x0000000FU */ )
+
+#define OPTST_MUTABLE_MASK ( \
+ OPTST_ALLOC_ARG | OPTST_DEFINED | \
+ OPTST_DISABLED | OPTST_EQUIVALENCE | \
+ OPTST_PRESET | OPTST_RESET | \
+ OPTST_SET \
+ /* 0x0000007FU */ )
+
+#define OPTST_SELECTED_MASK ( \
+ OPTST_DEFINED | OPTST_SET \
+ /* 0x00000005U */ )
+
+#define OPTST_ARG_TYPE_MASK ( \
+ OPTST_ARG_TYPE_1 | OPTST_ARG_TYPE_2 | OPTST_ARG_TYPE_3 | \
+ OPTST_ARG_TYPE_4 \
+ /* 0x0000F000U */ )
+
+#define OPTST_DO_NOT_SAVE_MASK ( \
+ OPTST_DOCUMENT | OPTST_NO_INIT | OPTST_OMITTED \
+ /* 0x00280100U */ )
+
+#define OPTST_NO_USAGE_MASK ( \
+ OPTST_DEPRECATED | OPTST_NO_COMMAND | OPTST_OMITTED \
+ /* 0x06080000U */ )
#ifdef NO_OPTIONAL_OPT_ARGS
# undef OPTST_ARG_OPTIONAL
@@ -179,13 +222,12 @@ typedef enum {
#define OPTST_PERSISTENT_MASK (~OPTST_MUTABLE_MASK)
-#define SELECTED_OPT( pod ) ((pod)->fOptState & OPTST_SELECTED_MASK)
-#define UNUSED_OPT( pod ) (((pod)->fOptState & OPTST_SET_MASK) == 0)
-#define DISABLED_OPT( pod ) ((pod)->fOptState & OPTST_DISABLED)
-#define OPTION_STATE( pod ) ((pod)->fOptState)
-
-#define OPTST_SET_ARGTYPE(n) ((n) << OPTST_ARG_TYPE_1_ID)
-#define OPTST_GET_ARGTYPE(f) (((f) & OPTST_ARG_TYPE_MASK)>>OPTST_ARG_TYPE_1_ID)
+#define SELECTED_OPT(_od) ((_od)->fOptState & OPTST_SELECTED_MASK)
+#define UNUSED_OPT( _od) (((_od)->fOptState & OPTST_SET_MASK) == 0)
+#define DISABLED_OPT(_od) ((_od)->fOptState & OPTST_DISABLED)
+#define OPTION_STATE(_od) ((_od)->fOptState)
+#define OPTST_SET_ARGTYPE(_n) ((_n) << OPTST_ARG_TYPE_1_ID)
+#define OPTST_GET_ARGTYPE(_f) (((_f)&OPTST_ARG_TYPE_MASK)>>OPTST_ARG_TYPE_1_ID)
/*
* PRIVATE INTERFACES
@@ -199,42 +241,50 @@ typedef enum {
* Define the processing state flags
*/
typedef enum {
- OPTPROC_LONGOPT_ID = 0, /* Process long style options */
- OPTPROC_SHORTOPT_ID = 1, /* Process short style "flags" */
- OPTPROC_ERRSTOP_ID = 2, /* Stop on argument errors */
- OPTPROC_DISABLEDOPT_ID = 3, /* Current option is disabled */
- OPTPROC_NO_REQ_OPT_ID = 4, /* no options are required */
- OPTPROC_NUM_OPT_ID = 5, /* there is a number option */
- OPTPROC_INITDONE_ID = 6, /* have initializations been done? */
- OPTPROC_NEGATIONS_ID = 7, /* any negation options? */
- OPTPROC_ENVIRON_ID = 8, /* check environment? */
- OPTPROC_NO_ARGS_ID = 9, /* Disallow remaining arguments */
- OPTPROC_ARGS_REQ_ID = 10, /* Require arguments after options */
- OPTPROC_REORDER_ID = 11, /* reorder operands after options */
- OPTPROC_GNUUSAGE_ID = 12, /* emit usage in GNU style */
- OPTPROC_TRANSLATE_ID = 13, /* Translate strings in tOptions */
- OPTPROC_HAS_IMMED_ID = 14, /* program defines immed options */
- OPTPROC_PRESETTING_ID = 19 /* opt processing in preset state */
+ OPTPROC_LONGOPT_ID = 0, /* Process long style options */
+ OPTPROC_SHORTOPT_ID = 1, /* Process short style "flags" */
+ OPTPROC_ERRSTOP_ID = 2, /* Stop on argument errors */
+ OPTPROC_DISABLEDOPT_ID = 3, /* Current option is disabled */
+ OPTPROC_NO_REQ_OPT_ID = 4, /* no options are required */
+ OPTPROC_NUM_OPT_ID = 5, /* there is a number option */
+ OPTPROC_INITDONE_ID = 6, /* have inits been done? */
+ OPTPROC_NEGATIONS_ID = 7, /* any negation options? */
+ OPTPROC_ENVIRON_ID = 8, /* check environment? */
+ OPTPROC_NO_ARGS_ID = 9, /* Disallow remaining arguments */
+ OPTPROC_ARGS_REQ_ID = 10, /* Require args after options */
+ OPTPROC_REORDER_ID = 11, /* reorder operands after opts */
+ OPTPROC_GNUUSAGE_ID = 12, /* emit usage in GNU style */
+ OPTPROC_TRANSLATE_ID = 13, /* Translate strings in tOptions */
+ OPTPROC_MISUSE_ID = 14, /* no usage on usage error */
+ OPTPROC_NXLAT_OPT_CFG_ID = 16, /* suppress for config only */
+ OPTPROC_NXLAT_OPT_ID = 17, /* suppress xlation always */
+ OPTPROC_PRESETTING_ID = 19 /* opt processing in preset state */
} optproc_state_enum_t;
-#define OPTPROC_NONE 0U
-#define OPTPROC_LONGOPT (1U << OPTPROC_LONGOPT_ID)
-#define OPTPROC_SHORTOPT (1U << OPTPROC_SHORTOPT_ID)
-#define OPTPROC_ERRSTOP (1U << OPTPROC_ERRSTOP_ID)
-#define OPTPROC_DISABLEDOPT (1U << OPTPROC_DISABLEDOPT_ID)
-#define OPTPROC_NO_REQ_OPT (1U << OPTPROC_NO_REQ_OPT_ID)
-#define OPTPROC_NUM_OPT (1U << OPTPROC_NUM_OPT_ID)
-#define OPTPROC_INITDONE (1U << OPTPROC_INITDONE_ID)
-#define OPTPROC_NEGATIONS (1U << OPTPROC_NEGATIONS_ID)
-#define OPTPROC_ENVIRON (1U << OPTPROC_ENVIRON_ID)
-#define OPTPROC_NO_ARGS (1U << OPTPROC_NO_ARGS_ID)
-#define OPTPROC_ARGS_REQ (1U << OPTPROC_ARGS_REQ_ID)
-#define OPTPROC_REORDER (1U << OPTPROC_REORDER_ID)
-#define OPTPROC_GNUUSAGE (1U << OPTPROC_GNUUSAGE_ID)
-#define OPTPROC_TRANSLATE (1U << OPTPROC_TRANSLATE_ID)
-#define OPTPROC_HAS_IMMED (1U << OPTPROC_HAS_IMMED_ID)
-#define OPTPROC_PRESETTING (1U << OPTPROC_PRESETTING_ID)
-#define OPTPROC_STATE_MASK 0x00087FFFU
+#define OPTPROC_NONE 0U
+#define OPTPROC_LONGOPT (1U << OPTPROC_LONGOPT_ID)
+#define OPTPROC_SHORTOPT (1U << OPTPROC_SHORTOPT_ID)
+#define OPTPROC_ERRSTOP (1U << OPTPROC_ERRSTOP_ID)
+#define OPTPROC_DISABLEDOPT (1U << OPTPROC_DISABLEDOPT_ID)
+#define OPTPROC_NO_REQ_OPT (1U << OPTPROC_NO_REQ_OPT_ID)
+#define OPTPROC_NUM_OPT (1U << OPTPROC_NUM_OPT_ID)
+#define OPTPROC_INITDONE (1U << OPTPROC_INITDONE_ID)
+#define OPTPROC_NEGATIONS (1U << OPTPROC_NEGATIONS_ID)
+#define OPTPROC_ENVIRON (1U << OPTPROC_ENVIRON_ID)
+#define OPTPROC_NO_ARGS (1U << OPTPROC_NO_ARGS_ID)
+#define OPTPROC_ARGS_REQ (1U << OPTPROC_ARGS_REQ_ID)
+#define OPTPROC_REORDER (1U << OPTPROC_REORDER_ID)
+#define OPTPROC_GNUUSAGE (1U << OPTPROC_GNUUSAGE_ID)
+#define OPTPROC_TRANSLATE (1U << OPTPROC_TRANSLATE_ID)
+#define OPTPROC_MISUSE (1U << OPTPROC_MISUSE_ID)
+#define OPTPROC_NXLAT_OPT_CFG (1U << OPTPROC_NXLAT_OPT_CFG_ID)
+#define OPTPROC_NXLAT_OPT (1U << OPTPROC_NXLAT_OPT_ID)
+#define OPTPROC_PRESETTING (1U << OPTPROC_PRESETTING_ID)
+#define OPTPROC_STATE_MASK 0x000B7FFFU
+
+#define OPTPROC_NO_XLAT_MASK ( \
+ OPTPROC_NXLAT_OPT | OPTPROC_NXLAT_OPT_CFG \
+ /* 0x00030000U */ )
#define STMTS(s) do { s; } while (0)
@@ -265,19 +315,24 @@ typedef enum { AG_FALSE = 0, AG_TRUE } ag_bool;
typedef struct options tOptions;
typedef struct optDesc tOptDesc;
typedef struct optNames tOptNames;
+#define OPTPROC_EMIT_USAGE ((tOptions *)0x01UL)
+#define OPTPROC_EMIT_SHELL ((tOptions *)0x02UL)
+#define OPTPROC_RETURN_VALNAME ((tOptions *)0x03UL)
+#define OPTPROC_EMIT_LIMIT ((tOptions *)0x0FUL)
/*
* The option procedures do the special processing for each
* option flag that needs it.
*/
-typedef void (tOptProc)( tOptions* pOpts, tOptDesc* pOptDesc );
+typedef void (tOptProc)(tOptions* pOpts, tOptDesc* pOptDesc);
typedef tOptProc* tpOptProc;
/*
* The usage procedure will never return. It calls "exit(2)"
* with the "exitCode" argument passed to it.
*/
-typedef void (tUsageProc)( tOptions* pOpts, int exitCode );
+// coverity[+kill]
+typedef void (tUsageProc)(tOptions* pOpts, int exitCode);
typedef tUsageProc* tpUsageProc;
/*
@@ -289,21 +344,6 @@ typedef tUsageProc* tpUsageProc;
#define OPTION_LIMIT SHRT_MAX
#define NO_EQUIVALENT (OPTION_LIMIT+1)
-/*
- * Special values for optValue. It must not be generatable from the
- * computation "optIndex +96". Since "optIndex" is limited to 100, ...
- */
-#define NUMBER_OPTION '#'
-
-typedef struct argList tArgList;
-#define MIN_ARG_ALLOC_CT 6
-#define INCR_ARG_ALLOC_CT 8
-struct argList {
- int useCt;
- int allocCt;
- tCC* apzArgs[ MIN_ARG_ALLOC_CT ];
-};
-
typedef union {
char const * argString;
uintptr_t argEnum;
@@ -311,8 +351,12 @@ typedef union {
long argInt;
unsigned long argUint;
unsigned int argBool;
+ FILE * argFp;
+ int argFd;
} optArgBucket_t;
+#define pzLastArg optArg.argString
+
/*
* Descriptor structure for each option.
* Only the fields marked "PUBLIC" are for public use.
@@ -331,18 +375,17 @@ struct optDesc {
tAoUI fOptState; /* PUBLIC */
tAoUI reserved;
optArgBucket_t optArg; /* PUBLIC */
-# define pzLastArg optArg.argString
void* optCookie; /* PUBLIC */
- const int * pOptMust;
- const int * pOptCant;
- tpOptProc pOptProc;
- char const* pzText;
+ int const * const pOptMust;
+ int const * const pOptCant;
+ tpOptProc const pOptProc;
+ char const* const pzText;
- char const* pz_NAME;
- char const* pz_Name;
- char const* pz_DisableName;
- char const* pz_DisablePfx;
+ char const* const pz_NAME;
+ char const* const pz_Name;
+ char const* const pz_DisableName;
+ char const* const pz_DisablePfx;
};
/*
@@ -362,6 +405,13 @@ struct optSpecIndex {
*/
typedef void (tOptionXlateProc)(void);
+/*
+ * Everything marked "PUBLIC" is also marked "const".
+ * Public access is not a license to modify. Other fields
+ * are used and modified by the library. They are also
+ * subject to change without any notice. Do not even
+ * look at these outside of libopts.
+ */
struct options {
int const structVersion;
int origArgCt;
@@ -370,32 +420,52 @@ struct options {
unsigned int curOptIdx;
char* pzCurOpt;
- char const* pzProgPath;
- char const* pzProgName;
- char const* const pzPROGNAME;
- char const* const pzRcName;
- char const* const pzCopyright;
- char const* const pzCopyNotice;
- char const* const pzFullVersion;
+ char const* const pzProgPath; /* PUBLIC */
+ char const* const pzProgName; /* PUBLIC */
+ char const* const pzPROGNAME; /* PUBLIC */
+ char const* const pzRcName; /* PUBLIC */
+ char const* const pzCopyright; /* PUBLIC */
+ char const* const pzCopyNotice; /* PUBLIC */
+ char const* const pzFullVersion; /* PUBLIC */
char const* const* const papzHomeList;
char const* const pzUsageTitle;
char const* const pzExplain;
char const* const pzDetail;
- tOptDesc* const pOptDesc;
- char const* const pzBugAddr;
+ tOptDesc* const pOptDesc; /* PUBLIC */
+ char const* const pzBugAddr; /* PUBLIC */
void* pExtensions;
void* pSavedState;
+ // coverity[+kill]
tpUsageProc pUsageProc;
tOptionXlateProc* pTransProc;
tOptSpecIndex specOptIdx;
int const optCt;
int const presetOptCt;
+ char const * pzFullUsage;
+ char const * pzShortUsage;
+ /* PUBLIC: */
+ optArgBucket_t const * const originalOptArgArray;
+ void * const * const originalOptArgCookie;
+ char const * const pzPkgDataDir;
+ char const * const pzPackager;
};
/*
+ * Versions where in various fields first appear:
+ * ($AO_CURRENT * 4096 + $AO_REVISION, but $AO_REVISION must be zero)
+ */
+#define originalOptArgArray_STRUCT_VERSION 131072 /* AO_CURRENT = 32 */
+#define HAS_originalOptArgArray(_opt) \
+ ((_opt)->structVersion >= originalOptArgArray_STRUCT_VERSION)
+
+#define pzPkgDataDir_STRUCT_VERSION 139264 /* AO_CURRENT = 34 */
+#define HAS_pzPkgDataDir(_opt) \
+ ((_opt)->structVersion >= pzPkgDataDir_STRUCT_VERSION)
+
+/*
* "token list" structure returned by "string_tokenize()"
*/
typedef struct {
@@ -437,7 +507,8 @@ typedef struct {
#define TEXT_MMAP_FAILED_ADDR(a) ((void*)(a) == (void*)MAP_FAILED)
#ifdef __cplusplus
-extern "C" {
+#define CPLUSPLUS_OPENER extern "C" {
+CPLUSPLUS_OPENER
#define CPLUSPLUS_CLOSER }
#else
#define CPLUSPLUS_CLOSER
@@ -447,7 +518,7 @@ extern "C" {
* The following routines may be coded into AutoOpts client code:
*/
-/* From: tokenize.c line 115
+/* From: tokenize.c line 166
*
* ao_string_tokenize - tokenize an input string
*
@@ -488,10 +559,10 @@ extern "C" {
* Double quote strings are formed according to the rules of string
* constants in ANSI-C programs.
*/
-extern token_list_t* ao_string_tokenize( char const* );
+extern token_list_t* ao_string_tokenize(char const*);
-/* From: configfile.c line 113
+/* From: configfile.c line 80
*
* configFileLoad - parse a configuration file
*
@@ -508,10 +579,10 @@ extern token_list_t* ao_string_tokenize( char const* );
* @code{optionGetValue()}, @code{optionNextValue()} and
* @code{optionUnloadNested()}.
*/
-extern const tOptionValue* configFileLoad( char const* );
+extern const tOptionValue* configFileLoad(char const*);
-/* From: configfile.c line 883
+/* From: configfile.c line 1059
*
* optionFileLoad - Load the locatable config files, in order
*
@@ -538,10 +609,10 @@ extern const tOptionValue* configFileLoad( char const* );
*
* Configuration files not found or not decipherable are simply ignored.
*/
-extern int optionFileLoad( tOptions*, char const* );
+extern int optionFileLoad(tOptions*, char const*);
-/* From: configfile.c line 245
+/* From: configfile.c line 212
*
* optionFindNextValue - find a hierarcicaly valued option instance
*
@@ -557,10 +628,10 @@ extern int optionFileLoad( tOptions*, char const* );
* configurable. It will search through the list and return the next entry
* that matches the criteria.
*/
-extern const tOptionValue* optionFindNextValue( const tOptDesc*, const tOptionValue*, char const*, char const* );
+extern const tOptionValue* optionFindNextValue(const tOptDesc*, const tOptionValue*, char const*, char const*);
-/* From: configfile.c line 171
+/* From: configfile.c line 138
*
* optionFindValue - find a hierarcicaly valued option instance
*
@@ -574,10 +645,10 @@ extern const tOptionValue* optionFindNextValue( const tOptDesc*, const tOptionVa
* This routine will find an entry in a nested value option or configurable.
* It will search through the list and return a matching entry.
*/
-extern const tOptionValue* optionFindValue( const tOptDesc*, char const*, char const* );
+extern const tOptionValue* optionFindValue(const tOptDesc*, char const*, char const*);
-/* From: restore.c line 188
+/* From: restore.c line 166
*
* optionFree - free allocated option processing memory
*
@@ -587,10 +658,10 @@ extern const tOptionValue* optionFindValue( const tOptDesc*, char const*, char c
* AutoOpts sometimes allocates memory and puts pointers to it in the
* option state structures. This routine deallocates all such memory.
*/
-extern void optionFree( tOptions* );
+extern void optionFree(tOptions*);
-/* From: configfile.c line 314
+/* From: configfile.c line 281
*
* optionGetValue - get a specific value from a hierarcical list
*
@@ -605,10 +676,10 @@ extern void optionFree( tOptions* );
* the first entry with a name that exactly matches the argument will be
* returned.
*/
-extern const tOptionValue* optionGetValue( const tOptionValue*, char const* );
+extern const tOptionValue* optionGetValue(const tOptionValue*, char const*);
-/* From: load.c line 521
+/* From: load.c line 478
*
* optionLoadLine - process a string for an option name and value
*
@@ -629,10 +700,10 @@ extern const tOptionValue* optionGetValue( const tOptionValue*, char const* );
* formation used in AutoGen definition files (@pxref{basic expression}),
* except that you may not use backquotes.
*/
-extern void optionLoadLine( tOptions*, char const* );
+extern void optionLoadLine(tOptions*, char const*);
-/* From: configfile.c line 373
+/* From: configfile.c line 340
*
* optionNextValue - get the next value from a hierarchical list
*
@@ -648,10 +719,10 @@ extern void optionLoadLine( tOptions*, char const* );
* The "@var{pOldValue}" must have been gotten from a prior call to this
* routine or to "@code{opitonGetValue()}".
*/
-extern const tOptionValue* optionNextValue( const tOptionValue*, const tOptionValue* );
+extern const tOptionValue* optionNextValue(const tOptionValue*, const tOptionValue*);
-/* From: usage.c line 128
+/* From: usage.c line 195
*
* optionOnlyUsage - Print usage text for just the options
*
@@ -663,10 +734,10 @@ extern const tOptionValue* optionNextValue( const tOptionValue*, const tOptionVa
* This function may be used when the emitted usage must incorporate
* information not available to AutoOpts.
*/
-extern void optionOnlyUsage( tOptions*, int );
+extern void optionOnlyUsage(tOptions*, int);
-/* From: autoopts.c line 1012
+/* From: autoopts.c line 1065
*
* optionProcess - this is the main option processing routine
*
@@ -693,10 +764,10 @@ extern void optionOnlyUsage( tOptions*, int );
* is treated as an operand. Encountering an operand stops option
* processing.
*/
-extern int optionProcess( tOptions*, int, char** );
+extern int optionProcess(tOptions*, int, char**);
-/* From: restore.c line 145
+/* From: restore.c line 123
*
* optionRestore - restore option state from memory copy
*
@@ -710,10 +781,10 @@ extern int optionProcess( tOptions*, int, char** );
* to optionProcess(3AO), then you may change the contents of the
* argc/argv parameters to optionProcess.
*/
-extern void optionRestore( tOptions* );
+extern void optionRestore(tOptions*);
-/* From: save.c line 334
+/* From: save.c line 664
*
* optionSaveFile - saves the option state to a file
*
@@ -725,12 +796,20 @@ extern void optionRestore( tOptions* );
* option, or by appending the @code{rcfile} attribute to the last
* @code{homerc} attribute. If no @code{rcfile} attribute was specified, it
* will default to @code{.@i{programname}rc}. If you wish to specify another
- * file, you should invoke the @code{SET_OPT_SAVE_OPTS( @i{filename} )} macro.
+ * file, you should invoke the @code{SET_OPT_SAVE_OPTS(@i{filename})} macro.
+ *
+ * The recommend usage is as follows:
+ * @example
+ * optionProcess(&progOptions, argc, argv);
+ * if (i_want_a_non_standard_place_for_this)
+ * SET_OPT_SAVE_OPTS("myfilename");
+ * optionSaveFile(&progOptions);
+ * @end example
*/
-extern void optionSaveFile( tOptions* );
+extern void optionSaveFile(tOptions*);
-/* From: restore.c line 93
+/* From: restore.c line 71
*
* optionSaveState - saves the option state to memory
*
@@ -749,10 +828,10 @@ extern void optionSaveFile( tOptions* );
* restoring of stacked string arguments and hierarchical values is
* disabled. The values are not saved.
*/
-extern void optionSaveState( tOptions* );
+extern void optionSaveState(tOptions*);
-/* From: nested.c line 559
+/* From: nested.c line 551
*
* optionUnloadNested - Deallocate the memory for a nested value
*
@@ -763,10 +842,10 @@ extern void optionSaveState( tOptions* );
* have been gotten from a call to @code{configFileLoad()} (See
* @pxref{libopts-configFileLoad}).
*/
-extern void optionUnloadNested( tOptionValue const * );
+extern void optionUnloadNested(tOptionValue const *);
-/* From: version.c line 58
+/* From: version.c line 31
*
* optionVersion - return the compiled AutoOpts version number
*
@@ -775,10 +854,10 @@ extern void optionUnloadNested( tOptionValue const * );
* Returns the full version string compiled into the library.
* The returned string cannot be modified.
*/
-extern char const* optionVersion( void );
+extern char const* optionVersion(void);
-/* From: ../compat/pathfind.c line 34
+/* From: ../compat/pathfind.c line 29
*
* pathfind - fild a file in a list of directories
*
@@ -818,11 +897,11 @@ extern char const* optionVersion( void );
* @end example
*/
#ifndef HAVE_PATHFIND
-extern char* pathfind( char const*, char const*, char const* );
+extern char* pathfind(char const*, char const*, char const*);
#endif /* HAVE_PATHFIND */
-/* From: streqvcmp.c line 233
+/* From: streqvcmp.c line 209
*
* strequate - map a list of characters to the same value
*
@@ -834,10 +913,10 @@ extern char* pathfind( char const*, char const*, char const* );
* This function name is mapped to option_strequate so as to not conflict
* with the POSIX name space.
*/
-extern void strequate( char const* );
+extern void strequate(char const*);
-/* From: streqvcmp.c line 143
+/* From: streqvcmp.c line 119
*
* streqvcmp - compare two strings with an equivalence mapping
*
@@ -853,10 +932,10 @@ extern void strequate( char const* );
* This function name is mapped to option_streqvcmp so as to not conflict
* with the POSIX name space.
*/
-extern int streqvcmp( char const*, char const* );
+extern int streqvcmp(char const*, char const*);
-/* From: streqvcmp.c line 180
+/* From: streqvcmp.c line 156
*
* streqvmap - Set the character mappings for the streqv functions
*
@@ -872,7 +951,7 @@ extern int streqvcmp( char const*, char const* );
* are incremented and the process repeated until @code{ct} entries have been
* set. For example,
* @example
- * streqvmap( 'a', 'A', 26 );
+ * streqvmap('a', 'A', 26);
* @end example
* @noindent
* will alter the mapping so that all English lower case letters
@@ -881,10 +960,10 @@ extern int streqvcmp( char const*, char const* );
* This function name is mapped to option_streqvmap so as to not conflict
* with the POSIX name space.
*/
-extern void streqvmap( char, char, int );
+extern void streqvmap(char, char, int);
-/* From: streqvcmp.c line 102
+/* From: streqvcmp.c line 78
*
* strneqvcmp - compare two strings with an equivalence mapping
*
@@ -902,10 +981,10 @@ extern void streqvmap( char, char, int );
* This function name is mapped to option_strneqvcmp so as to not conflict
* with the POSIX name space.
*/
-extern int strneqvcmp( char const*, char const*, int );
+extern int strneqvcmp(char const*, char const*, int);
-/* From: streqvcmp.c line 259
+/* From: streqvcmp.c line 235
*
* strtransform - convert a string into its mapped-to value
*
@@ -917,55 +996,65 @@ extern int strneqvcmp( char const*, char const*, int );
* character is put into the output.
* This function name is mapped to option_strtransform so as to not conflict
* with the POSIX name space.
+ *
+ * The source and destination may be the same.
*/
-extern void strtransform( char*, char const* );
+extern void strtransform(char*, char const*);
/* AutoOpts PRIVATE FUNCTIONS: */
tOptProc optionStackArg, optionUnstackArg, optionBooleanVal, optionNumericVal;
-extern char* ao_string_cook( char*, int* );
+extern char* ao_string_cook(char*, int*);
+
+extern unsigned int ao_string_cook_escape_char(char const*, char*, unsigned int);
+
+extern void genshelloptUsage(tOptions*, int);
+
+extern void optionBooleanVal(tOptions*, tOptDesc*);
+
+extern uintptr_t optionEnumerationVal(tOptions*, tOptDesc*, char const * const *, unsigned int);
-extern unsigned int ao_string_cook_escape_char( char const*, char*, unsigned int );
+extern void optionFileCheck(tOptions*, tOptDesc*, teOptFileType, tuFileMode);
-extern void export_options_to_guile( tOptions* );
+extern char const * optionKeywordName(tOptDesc*, unsigned int);
-extern void genshelloptUsage( tOptions*, int );
+extern void optionLoadOpt(tOptions*, tOptDesc*);
-extern void optionBooleanVal( tOptions*, tOptDesc* );
+extern ag_bool optionMakePath(char*, int, char const*, char const*);
-extern uintptr_t optionEnumerationVal( tOptions*, tOptDesc*, char const * const *, unsigned int );
+extern void optionNestedVal(tOptions*, tOptDesc*);
-extern char const* optionKeywordName( tOptDesc*, unsigned int );
+extern void optionNumericVal(tOptions*, tOptDesc*);
-extern void optionLoadOpt( tOptions*, tOptDesc* );
+extern void optionPagedUsage(tOptions*, tOptDesc*);
-extern ag_bool optionMakePath( char*, int, char const*, char const* );
+extern void optionParseShell(tOptions*);
-extern void optionNestedVal( tOptions*, tOptDesc* );
+extern void optionPrintVersion(tOptions*, tOptDesc*);
-extern void optionNumericVal( tOptions*, tOptDesc* );
+extern void optionPutShell(tOptions*);
-extern void optionPagedUsage( tOptions*, tOptDesc* );
+extern void optionResetOpt(tOptions*, tOptDesc*);
-extern void optionParseShell( tOptions* );
+extern void optionSetMembers(tOptions*, tOptDesc*, char const * const *, unsigned int);
-extern void optionPrintVersion( tOptions*, tOptDesc* );
+extern void optionShowRange(tOptions*, tOptDesc*, void *, int);
-extern void optionPutShell( tOptions* );
+extern void optionStackArg(tOptions*, tOptDesc*);
-extern void optionSetMembers( tOptions*, tOptDesc*, char const * const *, unsigned int );
+extern void optionTimeDate(tOptions*, tOptDesc*);
-extern void optionStackArg( tOptions*, tOptDesc* );
+extern void optionTimeVal(tOptions*, tOptDesc*);
-extern void optionUnstackArg( tOptions*, tOptDesc* );
+extern void optionUnstackArg(tOptions*, tOptDesc*);
-extern void optionUsage( tOptions*, int );
+extern void optionUsage(tOptions*, int);
-extern void optionVersionStderr( tOptions*, tOptDesc* );
+extern void optionVersionStderr(tOptions*, tOptDesc*);
-extern void* text_mmap( char const*, int, int, tmap_info_t* );
+extern void* text_mmap(char const*, int, int, tmap_info_t*);
-extern int text_munmap( tmap_info_t* );
+extern int text_munmap(tmap_info_t*);
CPLUSPLUS_CLOSER
#endif /* AUTOOPTS_OPTIONS_H_GUARD */
diff --git a/sntp/libopts/autoopts/project.h b/sntp/libopts/autoopts/project.h
new file mode 100644
index 000000000000..b01affbc19e2
--- /dev/null
+++ b/sntp/libopts/autoopts/project.h
@@ -0,0 +1,50 @@
+
+#ifndef AUTOGEN_PROJECT_H
+#define AUTOGEN_PROJECT_H
+
+#include "config.h"
+
+/*
+ * Procedure success codes
+ *
+ * USAGE: define procedures to return "tSuccess". Test their results
+ * with the SUCCEEDED, FAILED and HADGLITCH macros.
+ *
+ * Microsoft sticks its nose into user space here, so for Windows' sake,
+ * make sure all of these are undefined.
+ */
+#undef SUCCESS
+#undef FAILURE
+#undef PROBLEM
+#undef SUCCEEDED
+#undef SUCCESSFUL
+#undef FAILED
+#undef HADGLITCH
+
+#define SUCCESS ((tSuccess) 0)
+#define FAILURE ((tSuccess)-1)
+#define PROBLEM ((tSuccess) 1)
+
+typedef int tSuccess;
+
+#define SUCCEEDED(p) ((p) == SUCCESS)
+#define SUCCESSFUL(p) SUCCEEDED(p)
+#define FAILED(p) ((p) < SUCCESS)
+#define HADGLITCH(p) ((p) > SUCCESS)
+
+#ifndef STR
+# define __STR(s) #s
+# define STR(s) __STR(s)
+#endif
+
+#define STRSIZE(s) (sizeof(s)-1)
+
+#ifdef DEFINING
+# define VALUE(s) = s
+# define MODE
+#else
+# define VALUE(s)
+# define MODE extern
+#endif
+
+#endif /* AUTOGEN_PROJECT_H */
diff --git a/sntp/libopts/autoopts/usage-txt.h b/sntp/libopts/autoopts/usage-txt.h
index 5aaaa01a66ff..de92663424b9 100644
--- a/sntp/libopts/autoopts/usage-txt.h
+++ b/sntp/libopts/autoopts/usage-txt.h
@@ -2,35 +2,33 @@
*
* DO NOT EDIT THIS FILE (usage-txt.h)
*
- * It has been AutoGen-ed Saturday May 5, 2007 at 12:02:33 PM PDT
+ * It has been AutoGen-ed April 29, 2011 at 03:44:00 PM by AutoGen 5.11.9
* From the definitions usage-txt.def
* and the template file usage-txt.tpl
*
* This file handles all the bookkeeping required for tracking all the little
- * tiny strings used by the AutoOpts library. There are 113
+ * tiny strings used by the AutoOpts library. There are 142
* of them. This is not versioned because it is entirely internal to the
* library and accessed by client code only in a very well-controlled way:
* they may substitute translated strings using a procedure that steps through
* all the string pointers.
*
- * AutoOpts is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
+ * AutoOpts is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
*
- * AutoOpts is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
+ * AutoOpts is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU Lesser General Public
- * License along with AutoOpts. If not, write to:
- * The Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor
- * Boston, MA 02110-1301, USA.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.";
+
*/
#ifndef AUTOOPTS_USAGE_TXT_H_GUARD
-#define AUTOOPTS_USAGE_TXT_H_GUARD
+#define AUTOOPTS_USAGE_TXT_H_GUARD 1
#undef cch_t
#define cch_t char const
@@ -42,10 +40,12 @@ typedef struct {
int field_ct;
char* utpz_GnuBoolArg;
char* utpz_GnuKeyArg;
+ char* utpz_GnuFileArg;
char* utpz_GnuKeyLArg;
+ char* utpz_GnuTimeArg;
char* utpz_GnuNumArg;
char* utpz_GnuStrArg;
- cch_t* apz_str[ 108 ];
+ cch_t* apz_str[ 135 ];
} usage_text_t;
/*
@@ -58,119 +58,148 @@ extern usage_text_t option_usage_text;
/*
* Provide a mapping from a short name to fields in this structure.
*/
-#define zAO_Bad (option_usage_text.apz_str[ 0])
-#define zAO_Big (option_usage_text.apz_str[ 1])
-#define zAO_Err (option_usage_text.apz_str[ 2])
-#define zAO_Sml (option_usage_text.apz_str[ 3])
-#define zAll (option_usage_text.apz_str[ 4])
-#define zAlt (option_usage_text.apz_str[ 5])
-#define zAmbigKey (option_usage_text.apz_str[ 6])
-#define zAmbiguous (option_usage_text.apz_str[ 7])
-#define zArgsMust (option_usage_text.apz_str[ 8])
-#define zAtMost (option_usage_text.apz_str[ 9])
-#define zAuto (option_usage_text.apz_str[ 10])
-#define zBadPipe (option_usage_text.apz_str[ 11])
-#define zBadVerArg (option_usage_text.apz_str[ 12])
-#define zCantFmt (option_usage_text.apz_str[ 13])
-#define zCantSave (option_usage_text.apz_str[ 14])
-#define zDefaultOpt (option_usage_text.apz_str[ 15])
-#define zDis (option_usage_text.apz_str[ 16])
-#define zEnab (option_usage_text.apz_str[ 17])
-#define zEquiv (option_usage_text.apz_str[ 18])
-#define zErrOnly (option_usage_text.apz_str[ 19])
-#define zExamineFmt (option_usage_text.apz_str[ 20])
-#define zFiveSpaces (option_usage_text.apz_str[ 21])
-#define zFlagOkay (option_usage_text.apz_str[ 22])
-#define zFmtFmt (option_usage_text.apz_str[ 23])
-#define zForkFail (option_usage_text.apz_str[ 24])
-#define zFSErrOptLoad (option_usage_text.apz_str[ 25])
-#define zFSErrReadFile (option_usage_text.apz_str[ 26])
-#define zGenshell (option_usage_text.apz_str[ 27])
+#define zAO_Alloc (option_usage_text.apz_str[ 0])
+#define zAO_Bad (option_usage_text.apz_str[ 1])
+#define zAO_Big (option_usage_text.apz_str[ 2])
+#define zAO_Err (option_usage_text.apz_str[ 3])
+#define zAO_Realloc (option_usage_text.apz_str[ 4])
+#define zAO_Sml (option_usage_text.apz_str[ 5])
+#define zAO_Strdup (option_usage_text.apz_str[ 6])
+#define zAO_Ver (option_usage_text.apz_str[ 7])
+#define zAO_Woops (option_usage_text.apz_str[ 8])
+#define zAliasRange (option_usage_text.apz_str[ 9])
+#define zAll (option_usage_text.apz_str[ 10])
+#define zAlt (option_usage_text.apz_str[ 11])
+#define zAmbigKey (option_usage_text.apz_str[ 12])
+#define zAmbigOptStr (option_usage_text.apz_str[ 13])
+#define zArgsMust (option_usage_text.apz_str[ 14])
+#define zAtMost (option_usage_text.apz_str[ 15])
+#define zAuto (option_usage_text.apz_str[ 16])
+#define zBadPipe (option_usage_text.apz_str[ 17])
+#define zBadVerArg (option_usage_text.apz_str[ 18])
+#define zCantFmt (option_usage_text.apz_str[ 19])
+#define zCantSave (option_usage_text.apz_str[ 20])
+#define zCfgAO_Flags (option_usage_text.apz_str[ 21])
+#define zCfgProg (option_usage_text.apz_str[ 22])
+#define zDefaultOpt (option_usage_text.apz_str[ 23])
+#define zDis (option_usage_text.apz_str[ 24])
+#define zDisabledErr (option_usage_text.apz_str[ 25])
+#define zDisabledOpt (option_usage_text.apz_str[ 26])
+#define zDisabledWhy (option_usage_text.apz_str[ 27])
+#define zEnab (option_usage_text.apz_str[ 28])
+#define zEquiv (option_usage_text.apz_str[ 29])
+#define zErrOnly (option_usage_text.apz_str[ 30])
+#define zExamineFmt (option_usage_text.apz_str[ 31])
+#define zFiveSpaces (option_usage_text.apz_str[ 32])
+#define zFlagOkay (option_usage_text.apz_str[ 33])
+#define zFmtFmt (option_usage_text.apz_str[ 34])
+#define zForkFail (option_usage_text.apz_str[ 35])
+#define zFreopenFail (option_usage_text.apz_str[ 36])
+#define zFSErrOptLoad (option_usage_text.apz_str[ 37])
+#define zFSErrReadFile (option_usage_text.apz_str[ 38])
+#define zFSOptError (option_usage_text.apz_str[ 39])
+#define zFSOptErrMayExist (option_usage_text.apz_str[ 40])
+#define zFSOptErrMustExist (option_usage_text.apz_str[ 41])
+#define zFSOptErrNoExist (option_usage_text.apz_str[ 42])
+#define zFSOptErrOpen (option_usage_text.apz_str[ 43])
+#define zFSOptErrFopen (option_usage_text.apz_str[ 44])
+#define zFileCannotExist (option_usage_text.apz_str[ 45])
+#define zFileMustExist (option_usage_text.apz_str[ 46])
+#define zGenshell (option_usage_text.apz_str[ 47])
#define zGnuBoolArg (option_usage_text.utpz_GnuBoolArg)
-#define zGnuBreak (option_usage_text.apz_str[ 28])
+#define zGnuBreak (option_usage_text.apz_str[ 48])
#define zGnuKeyArg (option_usage_text.utpz_GnuKeyArg)
+#define zGnuFileArg (option_usage_text.utpz_GnuFileArg)
#define zGnuKeyLArg (option_usage_text.utpz_GnuKeyLArg)
-#define zGnuNestArg (option_usage_text.apz_str[ 29])
+#define zGnuTimeArg (option_usage_text.utpz_GnuTimeArg)
+#define zGnuNestArg (option_usage_text.apz_str[ 49])
#define zGnuNumArg (option_usage_text.utpz_GnuNumArg)
-#define zGnuOptArg (option_usage_text.apz_str[ 30])
-#define zGnuOptFmt (option_usage_text.apz_str[ 31])
+#define zGnuOptArg (option_usage_text.apz_str[ 50])
+#define zGnuOptFmt (option_usage_text.apz_str[ 51])
#define zGnuStrArg (option_usage_text.utpz_GnuStrArg)
-#define zIllOptChr (option_usage_text.apz_str[ 32])
-#define zIllOptStr (option_usage_text.apz_str[ 33])
-#define zIllegal (option_usage_text.apz_str[ 34])
-#define zInvalOptDesc (option_usage_text.apz_str[ 35])
-#define zKeyWords (option_usage_text.apz_str[ 36])
-#define zLoadCooked (option_usage_text.apz_str[ 37])
-#define zLoadKeep (option_usage_text.apz_str[ 38])
-#define zLoadType (option_usage_text.apz_str[ 39])
-#define zLoadUncooked (option_usage_text.apz_str[ 40])
-#define zLtypeInteger (option_usage_text.apz_str[ 41])
-#define zLtypeNest (option_usage_text.apz_str[ 42])
-#define zLtypeString (option_usage_text.apz_str[ 43])
-#define zLtypeBool (option_usage_text.apz_str[ 44])
-#define zLtypeKeyword (option_usage_text.apz_str[ 45])
-#define zLtypeSetMembership (option_usage_text.apz_str[ 46])
-#define zMembers (option_usage_text.apz_str[ 47])
-#define zMisArg (option_usage_text.apz_str[ 48])
-#define zMultiEquiv (option_usage_text.apz_str[ 49])
-#define zMust (option_usage_text.apz_str[ 50])
-#define zNeedOne (option_usage_text.apz_str[ 51])
-#define zNoArg (option_usage_text.apz_str[ 52])
-#define zNoArgs (option_usage_text.apz_str[ 53])
-#define zNoCreat (option_usage_text.apz_str[ 54])
-#define zNoFlags (option_usage_text.apz_str[ 55])
-#define zNoKey (option_usage_text.apz_str[ 56])
-#define zNoLim (option_usage_text.apz_str[ 57])
-#define zNoPreset (option_usage_text.apz_str[ 58])
-#define zNoRq_NoShrtTtl (option_usage_text.apz_str[ 59])
-#define zNoRq_ShrtTtl (option_usage_text.apz_str[ 60])
-#define zNoStat (option_usage_text.apz_str[ 61])
-#define zNoState (option_usage_text.apz_str[ 62])
-#define zNone (option_usage_text.apz_str[ 63])
-#define zNotDef (option_usage_text.apz_str[ 64])
-#define zNotEnough (option_usage_text.apz_str[ 65])
-#define zNotFile (option_usage_text.apz_str[ 66])
-#define zNotNumber (option_usage_text.apz_str[ 67])
-#define zNrmOptFmt (option_usage_text.apz_str[ 68])
-#define zNumberOpt (option_usage_text.apz_str[ 69])
-#define zOneSpace (option_usage_text.apz_str[ 70])
-#define zOnlyOne (option_usage_text.apz_str[ 71])
-#define zOptsOnly (option_usage_text.apz_str[ 72])
-#define zPathFmt (option_usage_text.apz_str[ 73])
-#define zPlsSendBugs (option_usage_text.apz_str[ 74])
-#define zPreset (option_usage_text.apz_str[ 75])
-#define zPresetFile (option_usage_text.apz_str[ 76])
-#define zPresetIntro (option_usage_text.apz_str[ 77])
-#define zProg (option_usage_text.apz_str[ 78])
-#define zProhib (option_usage_text.apz_str[ 79])
-#define zReorder (option_usage_text.apz_str[ 80])
-#define zReqFmt (option_usage_text.apz_str[ 81])
-#define zReqOptFmt (option_usage_text.apz_str[ 82])
-#define zReqThese (option_usage_text.apz_str[ 83])
-#define zReq_NoShrtTtl (option_usage_text.apz_str[ 84])
-#define zReq_ShrtTtl (option_usage_text.apz_str[ 85])
-#define zSepChars (option_usage_text.apz_str[ 86])
-#define zSetMembers (option_usage_text.apz_str[ 87])
-#define zSetMemberSettings (option_usage_text.apz_str[ 88])
-#define zShrtGnuOptFmt (option_usage_text.apz_str[ 89])
-#define zSixSpaces (option_usage_text.apz_str[ 90])
-#define zStdBoolArg (option_usage_text.apz_str[ 91])
-#define zStdBreak (option_usage_text.apz_str[ 92])
-#define zStdKeyArg (option_usage_text.apz_str[ 93])
-#define zStdKeyLArg (option_usage_text.apz_str[ 94])
-#define zStdNestArg (option_usage_text.apz_str[ 95])
-#define zStdNoArg (option_usage_text.apz_str[ 96])
-#define zStdNumArg (option_usage_text.apz_str[ 97])
-#define zStdOptArg (option_usage_text.apz_str[ 98])
-#define zStdReqArg (option_usage_text.apz_str[ 99])
-#define zStdStrArg (option_usage_text.apz_str[100])
-#define zTabHyp (option_usage_text.apz_str[101])
-#define zTabHypAnd (option_usage_text.apz_str[102])
-#define zTabout (option_usage_text.apz_str[103])
-#define zThreeSpaces (option_usage_text.apz_str[104])
-#define zTwoSpaces (option_usage_text.apz_str[105])
-#define zUpTo (option_usage_text.apz_str[106])
-#define zValidKeys (option_usage_text.apz_str[107])
+#define zIllOptChr (option_usage_text.apz_str[ 52])
+#define zIllOptStr (option_usage_text.apz_str[ 53])
+#define zIllegal (option_usage_text.apz_str[ 54])
+#define zIntRange (option_usage_text.apz_str[ 55])
+#define zInvalOptDesc (option_usage_text.apz_str[ 56])
+#define zLowerBits (option_usage_text.apz_str[ 57])
+#define zMembers (option_usage_text.apz_str[ 58])
+#define zMisArg (option_usage_text.apz_str[ 59])
+#define zMultiEquiv (option_usage_text.apz_str[ 60])
+#define zMust (option_usage_text.apz_str[ 61])
+#define zNeedOne (option_usage_text.apz_str[ 62])
+#define zNoArg (option_usage_text.apz_str[ 63])
+#define zNoArgv (option_usage_text.apz_str[ 64])
+#define zNoArgs (option_usage_text.apz_str[ 65])
+#define zNoCreat (option_usage_text.apz_str[ 66])
+#define zNoFlags (option_usage_text.apz_str[ 67])
+#define zNoKey (option_usage_text.apz_str[ 68])
+#define zNoLim (option_usage_text.apz_str[ 69])
+#define zNoPreset (option_usage_text.apz_str[ 70])
+#define zNoResetArg (option_usage_text.apz_str[ 71])
+#define zNoRq_NoShrtTtl (option_usage_text.apz_str[ 72])
+#define zNoRq_ShrtTtl (option_usage_text.apz_str[ 73])
+#define zNoStat (option_usage_text.apz_str[ 74])
+#define zNoState (option_usage_text.apz_str[ 75])
+#define zNone (option_usage_text.apz_str[ 76])
+#define zNotDef (option_usage_text.apz_str[ 77])
+#define zNotCmdOpt (option_usage_text.apz_str[ 78])
+#define zNotEnough (option_usage_text.apz_str[ 79])
+#define zNotFile (option_usage_text.apz_str[ 80])
+#define zNotNumber (option_usage_text.apz_str[ 81])
+#define zNotDate (option_usage_text.apz_str[ 82])
+#define zNotDuration (option_usage_text.apz_str[ 83])
+#define zNrmOptFmt (option_usage_text.apz_str[ 84])
+#define zNumberOpt (option_usage_text.apz_str[ 85])
+#define zOneSpace (option_usage_text.apz_str[ 86])
+#define zOnlyOne (option_usage_text.apz_str[ 87])
+#define zOptsOnly (option_usage_text.apz_str[ 88])
+#define zOutputFail (option_usage_text.apz_str[ 89])
+#define zPathFmt (option_usage_text.apz_str[ 90])
+#define zPlsSendBugs (option_usage_text.apz_str[ 91])
+#define zPreset (option_usage_text.apz_str[ 92])
+#define zPresetFile (option_usage_text.apz_str[ 93])
+#define zPresetIntro (option_usage_text.apz_str[ 94])
+#define zProhib (option_usage_text.apz_str[ 95])
+#define zReorder (option_usage_text.apz_str[ 96])
+#define zRange (option_usage_text.apz_str[ 97])
+#define zRangeAbove (option_usage_text.apz_str[ 98])
+#define zRangeLie (option_usage_text.apz_str[ 99])
+#define zRangeOnly (option_usage_text.apz_str[100])
+#define zRangeOr (option_usage_text.apz_str[101])
+#define zRangeErr (option_usage_text.apz_str[102])
+#define zRangeExact (option_usage_text.apz_str[103])
+#define zRangeScaled (option_usage_text.apz_str[104])
+#define zRangeUpto (option_usage_text.apz_str[105])
+#define zResetNotConfig (option_usage_text.apz_str[106])
+#define zReqFmt (option_usage_text.apz_str[107])
+#define zReqOptFmt (option_usage_text.apz_str[108])
+#define zReqThese (option_usage_text.apz_str[109])
+#define zReq_NoShrtTtl (option_usage_text.apz_str[110])
+#define zReq_ShrtTtl (option_usage_text.apz_str[111])
+#define zSepChars (option_usage_text.apz_str[112])
+#define zSetMemberSettings (option_usage_text.apz_str[113])
+#define zShrtGnuOptFmt (option_usage_text.apz_str[114])
+#define zSixSpaces (option_usage_text.apz_str[115])
+#define zStdBoolArg (option_usage_text.apz_str[116])
+#define zStdBreak (option_usage_text.apz_str[117])
+#define zStdFileArg (option_usage_text.apz_str[118])
+#define zStdKeyArg (option_usage_text.apz_str[119])
+#define zStdKeyLArg (option_usage_text.apz_str[120])
+#define zStdTimeArg (option_usage_text.apz_str[121])
+#define zStdNestArg (option_usage_text.apz_str[122])
+#define zStdNoArg (option_usage_text.apz_str[123])
+#define zStdNumArg (option_usage_text.apz_str[124])
+#define zStdOptArg (option_usage_text.apz_str[125])
+#define zStdReqArg (option_usage_text.apz_str[126])
+#define zStdStrArg (option_usage_text.apz_str[127])
+#define zTabHyp (option_usage_text.apz_str[128])
+#define zTabHypAnd (option_usage_text.apz_str[129])
+#define zTabout (option_usage_text.apz_str[130])
+#define zThreeSpaces (option_usage_text.apz_str[131])
+#define zTwoSpaces (option_usage_text.apz_str[132])
+#define zUpTo (option_usage_text.apz_str[133])
+#define zValidKeys (option_usage_text.apz_str[134])
/*
* First, set up the strings. Some of these are writable. These are all in
@@ -180,19 +209,28 @@ extern usage_text_t option_usage_text;
static char eng_zGnuBoolArg[] = "=T/F";
static char eng_zGnuKeyArg[] = "=KWd";
+ static char eng_zGnuFileArg[] = "=file";
static char eng_zGnuKeyLArg[] = "=Mbr";
+ static char eng_zGnuTimeArg[] = "=Tim";
static char eng_zGnuNumArg[] = "=num";
static char eng_zGnuStrArg[] = "=str";
-static char const usage_txt[3208] =
+static char const usage_txt[4435] =
+ "malloc of %d bytes failed\n\0"
"AutoOpts function called without option descriptor\n\0"
"\tThis exceeds the compiled library version: \0"
"Automated Options Processing Error!\n"
"\t%s called AutoOpts function with structure version %d:%d:%d.\n\0"
+ "realloc of %d bytes at 0x%p failed\n\0"
"\tThis is less than the minimum library version: \0"
+ "strdup of %d byte string failed\n\0"
+ "Automated Options version %s\n"
+ "\tcopyright (c) 1999-2011 by Bruce Korb - all rights reserved\n\0"
+ "AutoOpts lib error: defaulted to option with optional arg\n\0"
+ "(AutoOpts bug): Aliasing option is out of range.\0"
"all\0"
"\t\t\t\t- an alternate for %s\n\0"
"%s error: the keyword `%s' is ambiguous for %s\n\0"
- "ambiguous\0"
+ "%s: ambiguous option -- %s\n\0"
"%s: Command line arguments required\n\0"
"%d %s%s options allowed\n\0"
"version and help options:\0"
@@ -203,19 +241,33 @@ static char const usage_txt[3208] =
"\t'n' - version and copyright notice\n\0"
"ERROR: %s option conflicts with the %s option\n\0"
"%s(optionSaveState): error: cannot allocate %d bytes\n\0"
+ "auto-options\0"
+ "program\0"
"\t\t\t\t- default option for unnamed options\n\0"
"\t\t\t\t- disabled as --%s\n\0"
+ "%s: The ``%s'' option has been disabled\0"
+ " --- %-14s %s\n\0"
+ "This option has been disabled\0"
"\t\t\t\t- enabled by default\n\0"
"-equivalence\0"
"ERROR: only \0"
" - examining environment variables named %s_*\n\0"
" \0"
- "Options are specified by doubled hyphens and their name\n"
- "or by a single hyphen and the flag character.\n\0"
+ "Options are specified by doubled hyphens and their name or by a single\n"
+ "hyphen and the flag character.\n\0"
"%%-%ds %%s\n\0"
"fs error %d (%s) on fork - cannot obtain %s usage\n\0"
+ "fs error %d (%s) on freopen\n\0"
"File error %d (%s) opening %s for loading options\n\0"
"fs error %d (%s) reading file %s\n\0"
+ "fs error %d (%s) on %s %s for option %s\n\0"
+ "stat-ing for directory\0"
+ "stat-ing for regular file\0"
+ "stat-ing for non-existant file\0"
+ "open-ing file\0"
+ "fopen-ing file\0"
+ "\t\t\t\t- file must not pre-exist\n\0"
+ "\t\t\t\t- file must pre-exist\n\0"
"\n"
"= = = = = = = =\n\n"
"This incarnation of genshell will produce\n"
@@ -226,20 +278,11 @@ static char const usage_txt[3208] =
"[=arg]\0"
"--%2$s%1$s\0"
"%s: illegal option -- %c\n\0"
- "%s: %s option -- %s\n\0"
+ "%s: illegal option -- %s\n\0"
"illegal\0"
+ " or an integer from %d through %d\n\0"
"AutoOpts ERROR: invalid option descriptor for %s\n\0"
- "words=\0"
- "cooked\0"
- "keep\0"
- "type=\0"
- "uncooked\0"
- "integer\0"
- "nested\0"
- "string\0"
- "bool\0"
- "keyword\0"
- "set\0"
+ " or an integer mask with any of the lower %d bits set\n\0"
"\t\t\t\t- is a set membership option\n\0"
"%s: option `%s' requires an argument\n\0"
"Equivalenced option '%s' was equivalenced to both\n"
@@ -247,26 +290,32 @@ static char const usage_txt[3208] =
"\t\t\t\t- must appear between %d and %d times\n\0"
"ERROR: The %s option is required\n\0"
"%s: option `%s' cannot have an argument\n\0"
+ "%s: cannot allocate new argument vector\n\0"
"%s: Command line arguments not allowed\n\0"
"error %d (%s) creating %s\n\0"
"Options are specified by single or double hyphens and their name.\n\0"
"%s error: `%s' does not match any %s keywords\n\0"
"\t\t\t\t- may appear multiple times\n\0"
"\t\t\t\t- may not be preset\n\0"
+ "The 'reset-option' option requires an argument\n\0"
" Arg Option-Name Description\n\0"
" Flg Arg Option-Name Description\n\0"
"error %d (%s) stat-ing %s\n\0"
"%s(optionRestore): error: no saved option state\n\0"
"none\0"
"'%s' not defined\n\0"
+ "'%s' is not a command line option\n\0"
"ERROR: The %s option must appear %d times\n\0"
"error: cannot load options from non-regular file %s\n\0"
"%s error: `%s' is not a recognizable number\n\0"
+ "%s error: `%s' is not a recognizable date/time\n\0"
+ "%s error: `%s' is not a recognizable time duration\n\0"
" %3s %s\0"
"The '-#<number>' option may omit the hash char\n\0"
" \0"
"one %s%s option allowed\n\0"
"All arguments are named options.\n\0"
+ "Write failure to output file\0"
" - reading file %s\0"
"\n"
"please send bug reports to: %s\n\0"
@@ -275,16 +324,24 @@ static char const usage_txt[3208] =
"# %s#\n\0"
"\n"
"The following option preset mechanisms are supported:\n\0"
- "program\0"
"prohibits these options:\n\0"
"Operands and options may be intermixed. They will be reordered.\n\0"
+ "%s%ld to %ld\0"
+ "%sgreater than or equal to %ld\0"
+ "%sIt must lie in one of the ranges:\n\0"
+ "%sIt must be in the range:\n\0"
+ ", or\n\0"
+ "%s error: %s option value ``%s'' is out of range.\n\0"
+ "%s%ld exactly\0"
+ "%sis scalable with a suffix: k/K/m/M/g/G/t/T\n\0"
+ "%sless than or equal to %ld\0"
+ "The --reset-option has not been configured.\n\0"
"ERROR: %s option requires the %s option\n\0"
" %3s %-14s %s\0"
"requires these options:\n\0"
" Arg Option-Name Req? Description\n\0"
" Flg Arg Option-Name Req? Description\n\0"
"-_^\0"
- "members=\0"
"or you may use a numeric representation. Preceding these with a '!' will\n"
"clear the bits, specifying 'none' will clear all bits, and 'all' will set them\n"
"all. Multiple entries may be passed as an option argument list.\n\0"
@@ -294,8 +351,10 @@ static char const usage_txt[3208] =
"\n"
"%s\n\n"
"%s\0"
+ "Fil\0"
"KWd\0"
"Mbr\0"
+ "Tim\0"
"Cpx\0"
"no \0"
"Num\0"
@@ -317,37 +376,44 @@ static char const usage_txt[3208] =
* Aren't you glad you don't maintain this by hand?
*/
usage_text_t option_usage_text = {
- 113,
- eng_zGnuBoolArg, eng_zGnuKeyArg, eng_zGnuKeyLArg, eng_zGnuNumArg,
- eng_zGnuStrArg,
+ 142,
+ eng_zGnuBoolArg, eng_zGnuKeyArg, eng_zGnuFileArg, eng_zGnuKeyLArg,
+ eng_zGnuTimeArg, eng_zGnuNumArg, eng_zGnuStrArg,
{
- usage_txt + 0, usage_txt + 52, usage_txt + 98, usage_txt + 197,
- usage_txt + 247, usage_txt + 251, usage_txt + 278, usage_txt + 327,
- usage_txt + 337, usage_txt + 374, usage_txt + 399, usage_txt + 425,
- usage_txt + 465, usage_txt + 602, usage_txt + 650, usage_txt + 704,
- usage_txt + 746, usage_txt + 770, usage_txt + 796, usage_txt + 809,
- usage_txt + 823, usage_txt + 870, usage_txt + 876, usage_txt + 979,
- usage_txt + 991, usage_txt +1042, usage_txt +1093, usage_txt +1127,
- usage_txt +1233, usage_txt +1239, usage_txt +1245, usage_txt +1252,
- usage_txt +1263, usage_txt +1289, usage_txt +1310, usage_txt +1318,
- usage_txt +1369, usage_txt +1376, usage_txt +1383, usage_txt +1388,
- usage_txt +1394, usage_txt +1403, usage_txt +1411, usage_txt +1418,
- usage_txt +1425, usage_txt +1430, usage_txt +1438, usage_txt +1442,
- usage_txt +1476, usage_txt +1514, usage_txt +1579, usage_txt +1622,
- usage_txt +1657, usage_txt +1698, usage_txt +1738, usage_txt +1765,
- usage_txt +1832, usage_txt +1880, usage_txt +1913, usage_txt +1938,
- usage_txt +1973, usage_txt +2011, usage_txt +2038, usage_txt +2087,
- usage_txt +2092, usage_txt +2110, usage_txt +2154, usage_txt +2208,
- usage_txt +2254, usage_txt +2262, usage_txt +2310, usage_txt +2312,
- usage_txt +2337, usage_txt +2371, usage_txt +2390, usage_txt +2424,
- usage_txt +2460, usage_txt +2498, usage_txt +2554, usage_txt +2562,
- usage_txt +2588, usage_txt +2654, usage_txt +2696, usage_txt +2710,
- usage_txt +2735, usage_txt +2775, usage_txt +2818, usage_txt +2822,
- usage_txt +2831, usage_txt +3050, usage_txt +3053, usage_txt +3060,
- usage_txt +3064, usage_txt +3072, usage_txt +3076, usage_txt +3080,
- usage_txt +3084, usage_txt +3088, usage_txt +3092, usage_txt +3096,
- usage_txt +3100, usage_txt +3104, usage_txt +3111, usage_txt +3123,
- usage_txt +3131, usage_txt +3135, usage_txt +3138, usage_txt +3171
+ usage_txt + 0, usage_txt + 27, usage_txt + 79, usage_txt + 125,
+ usage_txt + 224, usage_txt + 260, usage_txt + 310, usage_txt + 343,
+ usage_txt + 434, usage_txt + 493, usage_txt + 543, usage_txt + 547,
+ usage_txt + 574, usage_txt + 623, usage_txt + 651, usage_txt + 688,
+ usage_txt + 713, usage_txt + 739, usage_txt + 779, usage_txt + 916,
+ usage_txt + 964, usage_txt +1018, usage_txt +1031, usage_txt +1039,
+ usage_txt +1081, usage_txt +1105, usage_txt +1145, usage_txt +1160,
+ usage_txt +1190, usage_txt +1216, usage_txt +1229, usage_txt +1243,
+ usage_txt +1290, usage_txt +1296, usage_txt +1399, usage_txt +1411,
+ usage_txt +1462, usage_txt +1491, usage_txt +1542, usage_txt +1576,
+ usage_txt +1617, usage_txt +1640, usage_txt +1666, usage_txt +1697,
+ usage_txt +1711, usage_txt +1726, usage_txt +1757, usage_txt +1784,
+ usage_txt +1890, usage_txt +1896, usage_txt +1902, usage_txt +1909,
+ usage_txt +1920, usage_txt +1946, usage_txt +1972, usage_txt +1980,
+ usage_txt +2016, usage_txt +2067, usage_txt +2123, usage_txt +2157,
+ usage_txt +2195, usage_txt +2260, usage_txt +2303, usage_txt +2338,
+ usage_txt +2379, usage_txt +2420, usage_txt +2460, usage_txt +2487,
+ usage_txt +2554, usage_txt +2602, usage_txt +2635, usage_txt +2660,
+ usage_txt +2708, usage_txt +2743, usage_txt +2781, usage_txt +2808,
+ usage_txt +2857, usage_txt +2862, usage_txt +2880, usage_txt +2915,
+ usage_txt +2959, usage_txt +3013, usage_txt +3059, usage_txt +3108,
+ usage_txt +3161, usage_txt +3169, usage_txt +3217, usage_txt +3219,
+ usage_txt +3244, usage_txt +3278, usage_txt +3307, usage_txt +3326,
+ usage_txt +3360, usage_txt +3396, usage_txt +3434, usage_txt +3490,
+ usage_txt +3516, usage_txt +3582, usage_txt +3595, usage_txt +3626,
+ usage_txt +3663, usage_txt +3691, usage_txt +3697, usage_txt +3749,
+ usage_txt +3763, usage_txt +3809, usage_txt +3837, usage_txt +3882,
+ usage_txt +3924, usage_txt +3938, usage_txt +3963, usage_txt +4003,
+ usage_txt +4046, usage_txt +4050, usage_txt +4269, usage_txt +4272,
+ usage_txt +4279, usage_txt +4283, usage_txt +4291, usage_txt +4295,
+ usage_txt +4299, usage_txt +4303, usage_txt +4307, usage_txt +4311,
+ usage_txt +4315, usage_txt +4319, usage_txt +4323, usage_txt +4327,
+ usage_txt +4331, usage_txt +4338, usage_txt +4350, usage_txt +4358,
+ usage_txt +4362, usage_txt +4365, usage_txt +4398
}
};