/*   -*- buffer-read-only: t -*- vi: set ro:
 *  
 *  DO NOT EDIT THIS FILE   (usage-txt.h)
 *  
 *  It has been AutoGen-ed  Thursday July 28, 2005 at 04:18:43 PM PDT
 *  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 114
 *  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 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.
 */
#ifndef AUTOOPTS_USAGE_TXT_H_GUARD
#define AUTOOPTS_USAGE_TXT_H_GUARD

#undef  cch_t
#define cch_t const char

/*
 *  One structure to hold all the pointers to all the stringlets.
 */
typedef struct {
  int       field_ct;
  char*     utpz_GnuBoolArg;
  char*     utpz_GnuKeyArg;
  char*     utpz_GnuKeyLArg;
  char*     utpz_GnuNumArg;
  char*     utpz_GnuStrArg;
  cch_t*    apz_str[ 109 ];
} usage_text_t;

/*
 *  Declare the global structure with all the pointers to translated
 *  strings.  This is then used by the usage generation procedure.
 */
extern usage_text_t option_usage_text;

#if defined(AUTOOPTS_INTERNAL) /* DEFINE ALL THE STRINGS = = = = = */
/*
 *  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 zGnuBoolArg           (option_usage_text.utpz_GnuBoolArg)
#define zGnuBreak             (option_usage_text.apz_str[28])
#define zGnuKeyArg            (option_usage_text.utpz_GnuKeyArg)
#define zGnuKeyLArg           (option_usage_text.utpz_GnuKeyLArg)
#define zGnuNestArg           (option_usage_text.apz_str[29])
#define zGnuNumArg            (option_usage_text.utpz_GnuNumArg)
#define zGnuOptArg            (option_usage_text.apz_str[30])
#define zGnuOptFmt            (option_usage_text.apz_str[31])
#define zGnuStrArg            (option_usage_text.utpz_GnuStrArg)
#define zHomePath             (option_usage_text.apz_str[32])
#define zIllOptChr            (option_usage_text.apz_str[33])
#define zIllOptStr            (option_usage_text.apz_str[34])
#define zIllegal              (option_usage_text.apz_str[35])
#define zInvalOptDesc         (option_usage_text.apz_str[36])
#define zKeyWords             (option_usage_text.apz_str[37])
#define zLoadCooked           (option_usage_text.apz_str[38])
#define zLoadKeep             (option_usage_text.apz_str[39])
#define zLoadType             (option_usage_text.apz_str[40])
#define zLoadUncooked         (option_usage_text.apz_str[41])
#define zLtypeInteger         (option_usage_text.apz_str[42])
#define zLtypeNest            (option_usage_text.apz_str[43])
#define zLtypeString          (option_usage_text.apz_str[44])
#define zLtypeBool            (option_usage_text.apz_str[45])
#define zLtypeKeyword         (option_usage_text.apz_str[46])
#define zLtypeSetMembership   (option_usage_text.apz_str[47])
#define zMembers              (option_usage_text.apz_str[48])
#define zMisArg               (option_usage_text.apz_str[49])
#define zMultiEquiv           (option_usage_text.apz_str[50])
#define zMust                 (option_usage_text.apz_str[51])
#define zNeedOne              (option_usage_text.apz_str[52])
#define zNoArg                (option_usage_text.apz_str[53])
#define zNoArgs               (option_usage_text.apz_str[54])
#define zNoCreat              (option_usage_text.apz_str[55])
#define zNoFlags              (option_usage_text.apz_str[56])
#define zNoKey                (option_usage_text.apz_str[57])
#define zNoLim                (option_usage_text.apz_str[58])
#define zNoPreset             (option_usage_text.apz_str[59])
#define zNoRq_NoShrtTtl       (option_usage_text.apz_str[60])
#define zNoRq_ShrtTtl         (option_usage_text.apz_str[61])
#define zNoStat               (option_usage_text.apz_str[62])
#define zNoState              (option_usage_text.apz_str[63])
#define zNone                 (option_usage_text.apz_str[64])
#define zNotDef               (option_usage_text.apz_str[65])
#define zNotEnough            (option_usage_text.apz_str[66])
#define zNotFile              (option_usage_text.apz_str[67])
#define zNotNumber            (option_usage_text.apz_str[68])
#define zNrmOptFmt            (option_usage_text.apz_str[69])
#define zNumberOpt            (option_usage_text.apz_str[70])
#define zOneSpace             (option_usage_text.apz_str[71])
#define zOnlyOne              (option_usage_text.apz_str[72])
#define zOptsOnly             (option_usage_text.apz_str[73])
#define zPathFmt              (option_usage_text.apz_str[74])
#define zPlsSendBugs          (option_usage_text.apz_str[75])
#define zPreset               (option_usage_text.apz_str[76])
#define zPresetFile           (option_usage_text.apz_str[77])
#define zPresetIntro          (option_usage_text.apz_str[78])
#define zProg                 (option_usage_text.apz_str[79])
#define zProhib               (option_usage_text.apz_str[80])
#define zReorder              (option_usage_text.apz_str[81])
#define zReqFmt               (option_usage_text.apz_str[82])
#define zReqOptFmt            (option_usage_text.apz_str[83])
#define zReqThese             (option_usage_text.apz_str[84])
#define zReq_NoShrtTtl        (option_usage_text.apz_str[85])
#define zReq_ShrtTtl          (option_usage_text.apz_str[86])
#define zSepChars             (option_usage_text.apz_str[87])
#define zSetMembers           (option_usage_text.apz_str[88])
#define zSetMemberSettings    (option_usage_text.apz_str[89])
#define zShrtGnuOptFmt        (option_usage_text.apz_str[90])
#define zSixSpaces            (option_usage_text.apz_str[91])
#define zStdBoolArg           (option_usage_text.apz_str[92])
#define zStdBreak             (option_usage_text.apz_str[93])
#define zStdKeyArg            (option_usage_text.apz_str[94])
#define zStdKeyLArg           (option_usage_text.apz_str[95])
#define zStdNestArg           (option_usage_text.apz_str[96])
#define zStdNoArg             (option_usage_text.apz_str[97])
#define zStdNumArg            (option_usage_text.apz_str[98])
#define zStdOptArg            (option_usage_text.apz_str[99])
#define zStdReqArg            (option_usage_text.apz_str[100])
#define zStdStrArg            (option_usage_text.apz_str[101])
#define zTabHyp               (option_usage_text.apz_str[102])
#define zTabHypAnd            (option_usage_text.apz_str[103])
#define zTabout               (option_usage_text.apz_str[104])
#define zThreeSpaces          (option_usage_text.apz_str[105])
#define zTwoSpaces            (option_usage_text.apz_str[106])
#define zUpTo                 (option_usage_text.apz_str[107])
#define zValidKeys            (option_usage_text.apz_str[108])

  /*
   *  First, set up the strings.  Some of these are writable.  These are all in
   *  English.  This gets compiled into libopts and is distributed here so that
   *  xgettext (or equivalents) can extract these strings for translation.
   */

  static cch_t   eng_zAO_Bad[] =
       "AutoOpts function called without option descriptor\n";
  static cch_t   eng_zAO_Big[] =
       "\tThis exceeds the compiled library version:  ";
  static cch_t   eng_zAO_Err[] =
       "Automated Options Processing Error!\n\
\t%s called AutoOpts function with structure version %d:%d:%d.\n";
  static cch_t   eng_zAO_Sml[] =
       "\tThis is less than the minimum library version:  ";
  static cch_t   eng_zAll[] =
       "all";
  static cch_t   eng_zAlt[] =
       "\t\t\t\t- an alternate for %s\n";
  static cch_t   eng_zAmbigKey[] =
       "%s error:  the keyword `%s' is ambiguous\n";
  static cch_t   eng_zAmbiguous[] =
       "ambiguous";
  static cch_t   eng_zArgsMust[] =
       "%s: Command line arguments required\n";
  static cch_t   eng_zAtMost[] =
       "%4$d %1$s%s options allowed\n";
  static cch_t   eng_zAuto[] =
       "version and help options:";
  static cch_t   eng_zBadPipe[] =
       "Error %d (%s) from the pipe(2) syscall\n";
  static cch_t   eng_zBadVerArg[] =
       "ERROR: version option argument '%c' invalid.  Use:\n\
\t'v' - version only\n\
\t'c' - version and copyright\n\
\t'n' - version and copyright notice\n";
  static cch_t   eng_zCantFmt[] =
       "ERROR:  %s option conflicts with the %s option\n";
  static cch_t   eng_zCantSave[] =
       "%s(optionSaveState): error: cannot allocate %d bytes\n";
  static cch_t   eng_zDefaultOpt[] =
       "\t\t\t\t- default option for unnamed options\n";
  static cch_t   eng_zDis[] =
       "\t\t\t\t- disabled as --%s\n";
  static cch_t   eng_zEnab[] =
       "\t\t\t\t- enabled by default\n";
  static cch_t   eng_zEquiv[] =
       "-equivalence";
  static cch_t   eng_zErrOnly[] =
       "ERROR:  only ";
  static cch_t   eng_zExamineFmt[] =
       " - examining environment variables named %s_*\n";
  static cch_t   eng_zFiveSpaces[] =
       "     ";
  static cch_t   eng_zFlagOkay[] =
       "Options are specified by doubled hyphens and their name\n\
or by a single hyphen and the flag character.\n";
  static cch_t   eng_zFmtFmt[] =
       "%%-%ds %%s\n";
  static cch_t   eng_zForkFail[] =
       "fs error %d (%s) on fork - cannot obtain %s usage\n";
  static cch_t   eng_zFSErrOptLoad[] =
       "File error %d (%s) opening %s for loading options\n";
  static cch_t   eng_zFSErrReadFile[] =
       "fs error %d (%s) reading file %s\n";
  static cch_t   eng_zGenshell[] =
       "\n\
= = = = = = = =\n\n\
This incarnation of genshell will produce\n\
a shell script to parse the options for %s:\n\n";
  static char    eng_zGnuBoolArg[] =
       "=T/F";
  static cch_t   eng_zGnuBreak[] =
       "\n\
%s\n\n";
  static char    eng_zGnuKeyArg[] =
       "=KWd";
  static char    eng_zGnuKeyLArg[] =
       "=Mbr";
  static cch_t   eng_zGnuNestArg[] =
       "=Cplx";
  static char    eng_zGnuNumArg[] =
       "=num";
  static cch_t   eng_zGnuOptArg[] =
       "[=arg]";
  static cch_t   eng_zGnuOptFmt[] =
       "--%2$s%1$s";
  static char    eng_zGnuStrArg[] =
       "=str";
  static cch_t   eng_zHomePath[] =
       " - reading file /... %s's exe directory .../%s \n";
  static cch_t   eng_zIllOptChr[] =
       "%s: illegal option -- %c\n";
  static cch_t   eng_zIllOptStr[] =
       "%s: %s option -- %s\n";
  static cch_t   eng_zIllegal[] =
       "illegal";
  static cch_t   eng_zInvalOptDesc[] =
       "AutoOpts ERROR:  invalid option descriptor for %s\n";
  static cch_t   eng_zKeyWords[] =
       "words=";
  static cch_t   eng_zLoadCooked[] =
       "cooked";
  static cch_t   eng_zLoadKeep[] =
       "keep";
  static cch_t   eng_zLoadType[] =
       "type=";
  static cch_t   eng_zLoadUncooked[] =
       "uncooked";
  static cch_t   eng_zLtypeInteger[] =
       "integer";
  static cch_t   eng_zLtypeNest[] =
       "nested";
  static cch_t   eng_zLtypeString[] =
       "string";
  static cch_t   eng_zLtypeBool[] =
       "bool";
  static cch_t   eng_zLtypeKeyword[] =
       "keyword";
  static cch_t   eng_zLtypeSetMembership[] =
       "set";
  static cch_t   eng_zMembers[] =
       "\t\t\t\t- is a set membership option\n";
  static cch_t   eng_zMisArg[] =
       "%s: option `%s' requires an argument\n";
  static cch_t   eng_zMultiEquiv[] =
       "Equivalenced option '%s' was equivalenced to both\n\
\t'%s' and '%s'";
  static cch_t   eng_zMust[] =
       "\t\t\t\t- must appear between %d and %d times\n";
  static cch_t   eng_zNeedOne[] =
       "ERROR:  The %s option is required\n";
  static cch_t   eng_zNoArg[] =
       "%s: option `%s' cannot have an argument\n";
  static cch_t   eng_zNoArgs[] =
       "%s: Command line arguments not allowed\n";
  static cch_t   eng_zNoCreat[] =
       "error %d (%s) creating %s\n";
  static cch_t   eng_zNoFlags[] =
       "Options are specified by single or double hyphens and their name.\n";
  static cch_t   eng_zNoKey[] =
       "%s error:  `%s' does not match any keywords\n";
  static cch_t   eng_zNoLim[] =
       "\t\t\t\t- may appear multiple times\n";
  static cch_t   eng_zNoPreset[] =
       "\t\t\t\t- may not be preset\n";
  static cch_t   eng_zNoRq_NoShrtTtl[] =
       "   Arg Option-Name    Description\n";
  static cch_t   eng_zNoRq_ShrtTtl[] =
       "  Flg Arg Option-Name    Description\n";
  static cch_t   eng_zNoStat[] =
       "error %d (%s) stat-ing %s\n";
  static cch_t   eng_zNoState[] =
       "%s(optionRestore): error: no saved option state\n";
  static cch_t   eng_zNone[] =
       "none";
  static cch_t   eng_zNotDef[] =
       "'%s' not defined\n";
  static cch_t   eng_zNotEnough[] =
       "ERROR:  The %s option must appear %d times\n";
  static cch_t   eng_zNotFile[] =
       "error:  cannot load options from non-regular file %s\n";
  static cch_t   eng_zNotNumber[] =
       "%s error:  `%s' is not a recognizable number\n";
  static cch_t   eng_zNrmOptFmt[] =
       " %3s %s";
  static cch_t   eng_zNumberOpt[] =
       "The '-#<number>' option may omit the hash char\n";
  static cch_t   eng_zOneSpace[] =
       " ";
  static cch_t   eng_zOnlyOne[] =
       "one %s%s option allowed\n";
  static cch_t   eng_zOptsOnly[] =
       "All arguments are named options.\n";
  static cch_t   eng_zPathFmt[] =
       " - reading file %s";
  static cch_t   eng_zPlsSendBugs[] =
       "\n\
please send bug reports to:  %s\n";
  static cch_t   eng_zPreset[] =
       "\t\t\t\t- may NOT appear - preset only\n";
  static cch_t   eng_zPresetFile[] =
       "#  preset/initialization file\n\
#  %s#\n";
  static cch_t   eng_zPresetIntro[] =
       "\n\
The following option preset mechanisms are supported:\n";
  static cch_t   eng_zProg[] =
       "program";
  static cch_t   eng_zProhib[] =
       "prohibits these options:\n";
  static cch_t   eng_zReorder[] =
       "Operands and options may be intermixed.  They will be reordered.\n";
  static cch_t   eng_zReqFmt[] =
       "ERROR:  %s option requires the %s option\n";
  static cch_t   eng_zReqOptFmt[] =
       " %3s %-14s %s";
  static cch_t   eng_zReqThese[] =
       "requires these options:\n";
  static cch_t   eng_zReq_NoShrtTtl[] =
       "   Arg Option-Name   Req?  Description\n";
  static cch_t   eng_zReq_ShrtTtl[] =
       "  Flg Arg Option-Name   Req?  Description\n";
  static cch_t   eng_zSepChars[] =
       "-_^";
  static cch_t   eng_zSetMembers[] =
       "members=";
  static cch_t   eng_zSetMemberSettings[] =
       "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";
  static cch_t   eng_zShrtGnuOptFmt[] =
       "%s";
  static cch_t   eng_zSixSpaces[] =
       "      ";
  static cch_t   eng_zStdBoolArg[] =
       "T/F";
  static cch_t   eng_zStdBreak[] =
       "\n\
%s\n\n\
%s";
  static cch_t   eng_zStdKeyArg[] =
       "KWd";
  static cch_t   eng_zStdKeyLArg[] =
       "Mbr";
  static cch_t   eng_zStdNestArg[] =
       "Cpx";
  static cch_t   eng_zStdNoArg[] =
       "no ";
  static cch_t   eng_zStdNumArg[] =
       "Num";
  static cch_t   eng_zStdOptArg[] =
       "opt";
  static cch_t   eng_zStdReqArg[] =
       "YES";
  static cch_t   eng_zStdStrArg[] =
       "Str";
  static cch_t   eng_zTabHyp[] =
       "\t\t\t\t- ";
  static cch_t   eng_zTabHypAnd[] =
       "\t\t\t\t-- and ";
  static cch_t   eng_zTabout[] =
       "\t\t\t\t%s\n";
  static cch_t   eng_zThreeSpaces[] =
       "   ";
  static cch_t   eng_zTwoSpaces[] =
       "  ";
  static cch_t   eng_zUpTo[] =
       "\t\t\t\t- may appear up to %d times\n";
  static cch_t   eng_zValidKeys[] =
       "The valid \"%s\" option keywords are:\n";

  /*
   *  Now, define (and initialize) the structure that contains
   *  the pointers to all these strings.
   *  Aren't you glad you don't maintain this by hand?
   */
  usage_text_t option_usage_text = {
    114,
    eng_zGnuBoolArg, eng_zGnuKeyArg,  eng_zGnuKeyLArg, eng_zGnuNumArg,
    eng_zGnuStrArg,
    {
      eng_zAO_Bad,             eng_zAO_Big,             eng_zAO_Err,
      eng_zAO_Sml,             eng_zAll,                eng_zAlt,
      eng_zAmbigKey,           eng_zAmbiguous,          eng_zArgsMust,
      eng_zAtMost,             eng_zAuto,               eng_zBadPipe,
      eng_zBadVerArg,          eng_zCantFmt,            eng_zCantSave,
      eng_zDefaultOpt,         eng_zDis,                eng_zEnab,
      eng_zEquiv,              eng_zErrOnly,            eng_zExamineFmt,
      eng_zFiveSpaces,         eng_zFlagOkay,           eng_zFmtFmt,
      eng_zForkFail,           eng_zFSErrOptLoad,       eng_zFSErrReadFile,
      eng_zGenshell,           eng_zGnuBreak,           eng_zGnuNestArg,
      eng_zGnuOptArg,          eng_zGnuOptFmt,          eng_zHomePath,
      eng_zIllOptChr,          eng_zIllOptStr,          eng_zIllegal,
      eng_zInvalOptDesc,       eng_zKeyWords,           eng_zLoadCooked,
      eng_zLoadKeep,           eng_zLoadType,           eng_zLoadUncooked,
      eng_zLtypeInteger,       eng_zLtypeNest,          eng_zLtypeString,
      eng_zLtypeBool,          eng_zLtypeKeyword,       eng_zLtypeSetMembership,
      eng_zMembers,            eng_zMisArg,             eng_zMultiEquiv,
      eng_zMust,               eng_zNeedOne,            eng_zNoArg,
      eng_zNoArgs,             eng_zNoCreat,            eng_zNoFlags,
      eng_zNoKey,              eng_zNoLim,              eng_zNoPreset,
      eng_zNoRq_NoShrtTtl,     eng_zNoRq_ShrtTtl,       eng_zNoStat,
      eng_zNoState,            eng_zNone,               eng_zNotDef,
      eng_zNotEnough,          eng_zNotFile,            eng_zNotNumber,
      eng_zNrmOptFmt,          eng_zNumberOpt,          eng_zOneSpace,
      eng_zOnlyOne,            eng_zOptsOnly,           eng_zPathFmt,
      eng_zPlsSendBugs,        eng_zPreset,             eng_zPresetFile,
      eng_zPresetIntro,        eng_zProg,               eng_zProhib,
      eng_zReorder,            eng_zReqFmt,             eng_zReqOptFmt,
      eng_zReqThese,           eng_zReq_NoShrtTtl,      eng_zReq_ShrtTtl,
      eng_zSepChars,           eng_zSetMembers,         eng_zSetMemberSettings,
      eng_zShrtGnuOptFmt,      eng_zSixSpaces,          eng_zStdBoolArg,
      eng_zStdBreak,           eng_zStdKeyArg,          eng_zStdKeyLArg,
      eng_zStdNestArg,         eng_zStdNoArg,           eng_zStdNumArg,
      eng_zStdOptArg,          eng_zStdReqArg,          eng_zStdStrArg,
      eng_zTabHyp,             eng_zTabHypAnd,          eng_zTabout,
      eng_zThreeSpaces,        eng_zTwoSpaces,          eng_zUpTo,
      eng_zValidKeys
    }
  };

#endif /* DO_TRANSLATIONS */
#endif /* AUTOOPTS_USAGE_TXT_H_GUARD */
