/* -*- buffer-read-only: t -*- vi: set ro: * * DO NOT EDIT THIS FILE (tpmtool-args.c) * * It has been AutoGen-ed June 10, 2013 at 07:23:01 PM by AutoGen 5.17.3 * From the definitions tpmtool-args.def * and the template file options * * Generated from AutoOpts 38:0:13 templates. * * AutoOpts is a copyrighted work. This source file is not encumbered * by AutoOpts licensing, but is provided under the licensing terms chosen * by the tpmtool author or copyright holder. AutoOpts is * licensed under the terms of the LGPL. The redistributable library * (``libopts'') is licensed under the terms of either the LGPL or, at the * users discretion, the BSD license. See the AutoOpts and/or libopts sources * for details. * * The tpmtool program is copyrighted and licensed * under the following terms: * * Copyright (C) 2000-2012 Free Software Foundation, all rights reserved. * This is free software. It is licensed for use, modification and * redistribution under the terms of the GNU General Public License, * version 3 or later * * tpmtool is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * tpmtool 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ #ifndef __doxygen__ #define OPTION_CODE_COMPILE 1 #include "tpmtool-args.h" #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif extern FILE * option_usage_fp; #define zCopyright (tpmtool_opt_strs+0) #define zLicenseDescrip (tpmtool_opt_strs+274) #ifndef NULL # define NULL 0 #endif /** * static const strings for tpmtool options */ static char const tpmtool_opt_strs[2103] = /* 0 */ "tpmtool @VERSION@\n" "Copyright (C) 2000-2012 Free Software Foundation, all rights reserved.\n" "This is free software. It is licensed for use, modification and\n" "redistribution under the terms of the GNU General Public License,\n" "version 3 or later \n\0" /* 274 */ "tpmtool is free software: you can redistribute it and/or modify it under\n" "the terms of the GNU General Public License as published by the Free\n" "Software Foundation, either version 3 of the License, or (at your option)\n" "any later version.\n\n" "tpmtool is distributed in the hope that it will be useful, but WITHOUT ANY\n" "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\n" "FOR A PARTICULAR PURPOSE. See the GNU General Public License for more\n" "details.\n\n" "You should have received a copy of the GNU General Public License along\n" "with this program. If not, see .\n\0" /* 877 */ "Enable debugging.\0" /* 895 */ "DEBUG\0" /* 901 */ "debug\0" /* 907 */ "Input file\0" /* 918 */ "INFILE\0" /* 925 */ "infile\0" /* 932 */ "Output file\0" /* 944 */ "OUTFILE\0" /* 952 */ "outfile\0" /* 960 */ "Generate an RSA private-public key pair\0" /* 1000 */ "GENERATE_RSA\0" /* 1013 */ "generate-rsa\0" /* 1026 */ "Any generated key will be registered in the TPM\0" /* 1074 */ "REGISTER\0" /* 1083 */ "register\0" /* 1092 */ "Any generated key will be a signing key\0" /* 1132 */ "SIGNING\0" /* 1140 */ "signing\0" /* 1148 */ "Any generated key will be a legacy key\0" /* 1187 */ "LEGACY\0" /* 1194 */ "legacy\0" /* 1201 */ "Any registered key will be a user key\0" /* 1239 */ "USER\0" /* 1244 */ "user\0" /* 1249 */ "Any registred key will be a system key\0" /* 1288 */ "SYSTEM\0" /* 1295 */ "system\0" /* 1302 */ "Prints the public key of the provided key\0" /* 1344 */ "PUBKEY\0" /* 1351 */ "pubkey\0" /* 1358 */ "Lists all stored keys in the TPM\0" /* 1391 */ "LIST\0" /* 1396 */ "list\0" /* 1401 */ "Delete the key identified by the given URL (UUID).\0" /* 1452 */ "DELETE\0" /* 1459 */ "delete\0" /* 1466 */ "Specify the security level [low, legacy, normal, high, ultra].\0" /* 1529 */ "SEC_PARAM\0" /* 1539 */ "sec-param\0" /* 1549 */ "Specify the number of bits for key generate\0" /* 1593 */ "BITS\0" /* 1598 */ "bits\0" /* 1603 */ "Use the DER format for keys.\0" /* 1632 */ "INDER\0" /* 1638 */ "no-inder\0" /* 1647 */ "no\0" /* 1650 */ "Use DER format for output keys\0" /* 1681 */ "OUTDER\0" /* 1688 */ "no-outder\0" /* 1698 */ "display extended usage information and exit\0" /* 1742 */ "help\0" /* 1747 */ "extended usage information passed thru pager\0" /* 1792 */ "more-help\0" /* 1802 */ "output version information and exit\0" /* 1838 */ "version\0" /* 1846 */ "TPMTOOL\0" /* 1854 */ "tpmtool - GnuTLS TPM tool\n" "Usage: %s [ - [] | --[{=| }] ]...\n\0" /* 1938 */ "bug-gnutls@gnu.org\0" /* 1957 */ "\n\0" /* 1959 */ "Program that allows handling cryptographic data from the TPM chip.\n\0" /* 2027 */ "tpmtool @VERSION@\0" /* 2045 */ "tpmtool [options]\n" "tpmtool --help for usage instructions.\n"; /** * debug option description: */ /** Descriptive text for the debug option */ #define DEBUG_DESC (tpmtool_opt_strs+877) /** Upper-cased name for the debug option */ #define DEBUG_NAME (tpmtool_opt_strs+895) /** Name string for the debug option */ #define DEBUG_name (tpmtool_opt_strs+901) /** Compiled in flag settings for the debug option */ #define DEBUG_FLAGS (OPTST_DISABLED \ | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC)) /** * infile option description: */ /** Descriptive text for the infile option */ #define INFILE_DESC (tpmtool_opt_strs+907) /** Upper-cased name for the infile option */ #define INFILE_NAME (tpmtool_opt_strs+918) /** Name string for the infile option */ #define INFILE_name (tpmtool_opt_strs+925) /** Compiled in flag settings for the infile option */ #define INFILE_FLAGS (OPTST_DISABLED \ | OPTST_SET_ARGTYPE(OPARG_TYPE_FILE)) /** * outfile option description: */ /** Descriptive text for the outfile option */ #define OUTFILE_DESC (tpmtool_opt_strs+932) /** Upper-cased name for the outfile option */ #define OUTFILE_NAME (tpmtool_opt_strs+944) /** Name string for the outfile option */ #define OUTFILE_name (tpmtool_opt_strs+952) /** Compiled in flag settings for the outfile option */ #define OUTFILE_FLAGS (OPTST_DISABLED \ | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) /** * generate-rsa option description: */ /** Descriptive text for the generate-rsa option */ #define GENERATE_RSA_DESC (tpmtool_opt_strs+960) /** Upper-cased name for the generate-rsa option */ #define GENERATE_RSA_NAME (tpmtool_opt_strs+1000) /** Name string for the generate-rsa option */ #define GENERATE_RSA_name (tpmtool_opt_strs+1013) /** Compiled in flag settings for the generate-rsa option */ #define GENERATE_RSA_FLAGS (OPTST_DISABLED) /** * register option description with * "Must also have options" and "Incompatible options": */ /** Descriptive text for the register option */ #define REGISTER_DESC (tpmtool_opt_strs+1026) /** Upper-cased name for the register option */ #define REGISTER_NAME (tpmtool_opt_strs+1074) /** Name string for the register option */ #define REGISTER_name (tpmtool_opt_strs+1083) /** Other options that are required by the register option */ static int const aRegisterMustList[] = { INDEX_OPT_GENERATE_RSA, NO_EQUIVALENT }; /** Compiled in flag settings for the register option */ #define REGISTER_FLAGS (OPTST_DISABLED) /** * signing option description with * "Must also have options" and "Incompatible options": */ /** Descriptive text for the signing option */ #define SIGNING_DESC (tpmtool_opt_strs+1092) /** Upper-cased name for the signing option */ #define SIGNING_NAME (tpmtool_opt_strs+1132) /** Name string for the signing option */ #define SIGNING_name (tpmtool_opt_strs+1140) /** Other options that are required by the signing option */ static int const aSigningMustList[] = { INDEX_OPT_GENERATE_RSA, NO_EQUIVALENT }; /** Other options that appear in conjunction with the signing option */ static int const aSigningCantList[] = { INDEX_OPT_LEGACY, NO_EQUIVALENT }; /** Compiled in flag settings for the signing option */ #define SIGNING_FLAGS (OPTST_DISABLED) /** * legacy option description with * "Must also have options" and "Incompatible options": */ /** Descriptive text for the legacy option */ #define LEGACY_DESC (tpmtool_opt_strs+1148) /** Upper-cased name for the legacy option */ #define LEGACY_NAME (tpmtool_opt_strs+1187) /** Name string for the legacy option */ #define LEGACY_name (tpmtool_opt_strs+1194) /** Other options that are required by the legacy option */ static int const aLegacyMustList[] = { INDEX_OPT_GENERATE_RSA, NO_EQUIVALENT }; /** Other options that appear in conjunction with the legacy option */ static int const aLegacyCantList[] = { INDEX_OPT_SIGNING, NO_EQUIVALENT }; /** Compiled in flag settings for the legacy option */ #define LEGACY_FLAGS (OPTST_DISABLED) /** * user option description with * "Must also have options" and "Incompatible options": */ /** Descriptive text for the user option */ #define USER_DESC (tpmtool_opt_strs+1201) /** Upper-cased name for the user option */ #define USER_NAME (tpmtool_opt_strs+1239) /** Name string for the user option */ #define USER_name (tpmtool_opt_strs+1244) /** Other options that are required by the user option */ static int const aUserMustList[] = { INDEX_OPT_REGISTER, NO_EQUIVALENT }; /** Other options that appear in conjunction with the user option */ static int const aUserCantList[] = { INDEX_OPT_SYSTEM, NO_EQUIVALENT }; /** Compiled in flag settings for the user option */ #define USER_FLAGS (OPTST_DISABLED) /** * system option description with * "Must also have options" and "Incompatible options": */ /** Descriptive text for the system option */ #define SYSTEM_DESC (tpmtool_opt_strs+1249) /** Upper-cased name for the system option */ #define SYSTEM_NAME (tpmtool_opt_strs+1288) /** Name string for the system option */ #define SYSTEM_name (tpmtool_opt_strs+1295) /** Other options that are required by the system option */ static int const aSystemMustList[] = { INDEX_OPT_REGISTER, NO_EQUIVALENT }; /** Other options that appear in conjunction with the system option */ static int const aSystemCantList[] = { INDEX_OPT_USER, NO_EQUIVALENT }; /** Compiled in flag settings for the system option */ #define SYSTEM_FLAGS (OPTST_DISABLED) /** * pubkey option description: */ /** Descriptive text for the pubkey option */ #define PUBKEY_DESC (tpmtool_opt_strs+1302) /** Upper-cased name for the pubkey option */ #define PUBKEY_NAME (tpmtool_opt_strs+1344) /** Name string for the pubkey option */ #define PUBKEY_name (tpmtool_opt_strs+1351) /** Compiled in flag settings for the pubkey option */ #define PUBKEY_FLAGS (OPTST_DISABLED \ | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) /** * list option description: */ /** Descriptive text for the list option */ #define LIST_DESC (tpmtool_opt_strs+1358) /** Upper-cased name for the list option */ #define LIST_NAME (tpmtool_opt_strs+1391) /** Name string for the list option */ #define LIST_name (tpmtool_opt_strs+1396) /** Compiled in flag settings for the list option */ #define LIST_FLAGS (OPTST_DISABLED) /** * delete option description: */ /** Descriptive text for the delete option */ #define DELETE_DESC (tpmtool_opt_strs+1401) /** Upper-cased name for the delete option */ #define DELETE_NAME (tpmtool_opt_strs+1452) /** Name string for the delete option */ #define DELETE_name (tpmtool_opt_strs+1459) /** Compiled in flag settings for the delete option */ #define DELETE_FLAGS (OPTST_DISABLED \ | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) /** * sec-param option description: */ /** Descriptive text for the sec-param option */ #define SEC_PARAM_DESC (tpmtool_opt_strs+1466) /** Upper-cased name for the sec-param option */ #define SEC_PARAM_NAME (tpmtool_opt_strs+1529) /** Name string for the sec-param option */ #define SEC_PARAM_name (tpmtool_opt_strs+1539) /** Compiled in flag settings for the sec-param option */ #define SEC_PARAM_FLAGS (OPTST_DISABLED \ | OPTST_SET_ARGTYPE(OPARG_TYPE_STRING)) /** * bits option description: */ /** Descriptive text for the bits option */ #define BITS_DESC (tpmtool_opt_strs+1549) /** Upper-cased name for the bits option */ #define BITS_NAME (tpmtool_opt_strs+1593) /** Name string for the bits option */ #define BITS_name (tpmtool_opt_strs+1598) /** Compiled in flag settings for the bits option */ #define BITS_FLAGS (OPTST_DISABLED \ | OPTST_SET_ARGTYPE(OPARG_TYPE_NUMERIC)) /** * inder option description: */ /** Descriptive text for the inder option */ #define INDER_DESC (tpmtool_opt_strs+1603) /** Upper-cased name for the inder option */ #define INDER_NAME (tpmtool_opt_strs+1632) /** disablement name for the inder option */ #define NOT_INDER_name (tpmtool_opt_strs+1638) /** disablement prefix for the inder option */ #define NOT_INDER_PFX (tpmtool_opt_strs+1647) /** Name string for the inder option */ #define INDER_name (NOT_INDER_name + 3) /** Compiled in flag settings for the inder option */ #define INDER_FLAGS (OPTST_DISABLED) /** * outder option description: */ /** Descriptive text for the outder option */ #define OUTDER_DESC (tpmtool_opt_strs+1650) /** Upper-cased name for the outder option */ #define OUTDER_NAME (tpmtool_opt_strs+1681) /** disablement name for the outder option */ #define NOT_OUTDER_name (tpmtool_opt_strs+1688) /** disablement prefix for the outder option */ #define NOT_OUTDER_PFX (tpmtool_opt_strs+1647) /** Name string for the outder option */ #define OUTDER_name (NOT_OUTDER_name + 3) /** Compiled in flag settings for the outder option */ #define OUTDER_FLAGS (OPTST_DISABLED) /* * Help/More_Help/Version option descriptions: */ #define HELP_DESC (tpmtool_opt_strs+1698) #define HELP_name (tpmtool_opt_strs+1742) #ifdef HAVE_WORKING_FORK #define MORE_HELP_DESC (tpmtool_opt_strs+1747) #define MORE_HELP_name (tpmtool_opt_strs+1792) #define MORE_HELP_FLAGS (OPTST_IMM | OPTST_NO_INIT) #else #define MORE_HELP_DESC NULL #define MORE_HELP_name NULL #define MORE_HELP_FLAGS (OPTST_OMITTED | OPTST_NO_INIT) #endif #ifdef NO_OPTIONAL_OPT_ARGS # define VER_FLAGS (OPTST_IMM | OPTST_NO_INIT) #else # define VER_FLAGS (OPTST_SET_ARGTYPE(OPARG_TYPE_STRING) | \ OPTST_ARG_OPTIONAL | OPTST_IMM | OPTST_NO_INIT) #endif #define VER_DESC (tpmtool_opt_strs+1802) #define VER_name (tpmtool_opt_strs+1838) /** * Declare option callback procedures */ extern tOptProc optionBooleanVal, optionNestedVal, optionNumericVal, optionPagedUsage, optionPrintVersion, optionResetOpt, optionStackArg, optionTimeDate, optionTimeVal, optionUnstackArg, optionVendorOption; static tOptProc doOptDebug, doOptInfile, doUsageOpt; #define VER_PROC optionPrintVersion /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /** * Define the tpmtool Option Descriptions. * This is an array of OPTION_CT entries, one for each * option that the tpmtool program responds to. */ static tOptDesc optDesc[OPTION_CT] = { { /* entry idx, value */ 0, VALUE_OPT_DEBUG, /* equiv idx, value */ 0, VALUE_OPT_DEBUG, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ DEBUG_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --debug */ /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ doOptDebug, /* desc, NAME, name */ DEBUG_DESC, DEBUG_NAME, DEBUG_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 1, VALUE_OPT_INFILE, /* equiv idx, value */ 1, VALUE_OPT_INFILE, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ INFILE_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --infile */ /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ doOptInfile, /* desc, NAME, name */ INFILE_DESC, INFILE_NAME, INFILE_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 2, VALUE_OPT_OUTFILE, /* equiv idx, value */ 2, VALUE_OPT_OUTFILE, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ OUTFILE_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --outfile */ /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ NULL, /* desc, NAME, name */ OUTFILE_DESC, OUTFILE_NAME, OUTFILE_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 3, VALUE_OPT_GENERATE_RSA, /* equiv idx, value */ 3, VALUE_OPT_GENERATE_RSA, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ GENERATE_RSA_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --generate-rsa */ /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ NULL, /* desc, NAME, name */ GENERATE_RSA_DESC, GENERATE_RSA_NAME, GENERATE_RSA_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 4, VALUE_OPT_REGISTER, /* equiv idx, value */ 4, VALUE_OPT_REGISTER, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ REGISTER_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --register */ /* arg list/cookie */ NULL, /* must/cannot opts */ aRegisterMustList, NULL, /* option proc */ NULL, /* desc, NAME, name */ REGISTER_DESC, REGISTER_NAME, REGISTER_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 5, VALUE_OPT_SIGNING, /* equiv idx, value */ 5, VALUE_OPT_SIGNING, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ SIGNING_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --signing */ /* arg list/cookie */ NULL, /* must/cannot opts */ aSigningMustList, aSigningCantList, /* option proc */ NULL, /* desc, NAME, name */ SIGNING_DESC, SIGNING_NAME, SIGNING_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 6, VALUE_OPT_LEGACY, /* equiv idx, value */ 6, VALUE_OPT_LEGACY, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ LEGACY_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --legacy */ /* arg list/cookie */ NULL, /* must/cannot opts */ aLegacyMustList, aLegacyCantList, /* option proc */ NULL, /* desc, NAME, name */ LEGACY_DESC, LEGACY_NAME, LEGACY_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 7, VALUE_OPT_USER, /* equiv idx, value */ 7, VALUE_OPT_USER, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ USER_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --user */ /* arg list/cookie */ NULL, /* must/cannot opts */ aUserMustList, aUserCantList, /* option proc */ NULL, /* desc, NAME, name */ USER_DESC, USER_NAME, USER_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 8, VALUE_OPT_SYSTEM, /* equiv idx, value */ 8, VALUE_OPT_SYSTEM, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ SYSTEM_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --system */ /* arg list/cookie */ NULL, /* must/cannot opts */ aSystemMustList, aSystemCantList, /* option proc */ NULL, /* desc, NAME, name */ SYSTEM_DESC, SYSTEM_NAME, SYSTEM_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 9, VALUE_OPT_PUBKEY, /* equiv idx, value */ 9, VALUE_OPT_PUBKEY, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ PUBKEY_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --pubkey */ /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ NULL, /* desc, NAME, name */ PUBKEY_DESC, PUBKEY_NAME, PUBKEY_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 10, VALUE_OPT_LIST, /* equiv idx, value */ 10, VALUE_OPT_LIST, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ LIST_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --list */ /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ NULL, /* desc, NAME, name */ LIST_DESC, LIST_NAME, LIST_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 11, VALUE_OPT_DELETE, /* equiv idx, value */ 11, VALUE_OPT_DELETE, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ DELETE_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --delete */ /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ NULL, /* desc, NAME, name */ DELETE_DESC, DELETE_NAME, DELETE_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 12, VALUE_OPT_SEC_PARAM, /* equiv idx, value */ 12, VALUE_OPT_SEC_PARAM, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ SEC_PARAM_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --sec-param */ /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ NULL, /* desc, NAME, name */ SEC_PARAM_DESC, SEC_PARAM_NAME, SEC_PARAM_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 13, VALUE_OPT_BITS, /* equiv idx, value */ 13, VALUE_OPT_BITS, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ BITS_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --bits */ /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ optionNumericVal, /* desc, NAME, name */ BITS_DESC, BITS_NAME, BITS_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ 14, VALUE_OPT_INDER, /* equiv idx, value */ 14, VALUE_OPT_INDER, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ INDER_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --inder */ /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ NULL, /* desc, NAME, name */ INDER_DESC, INDER_NAME, INDER_name, /* disablement strs */ NOT_INDER_name, NOT_INDER_PFX }, { /* entry idx, value */ 15, VALUE_OPT_OUTDER, /* equiv idx, value */ 15, VALUE_OPT_OUTDER, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ OUTDER_FLAGS, 0, /* last opt argumnt */ { NULL }, /* --outder */ /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ NULL, /* desc, NAME, name */ OUTDER_DESC, OUTDER_NAME, OUTDER_name, /* disablement strs */ NOT_OUTDER_name, NOT_OUTDER_PFX }, { /* entry idx, value */ INDEX_OPT_VERSION, VALUE_OPT_VERSION, /* equiv idx value */ NO_EQUIVALENT, VALUE_OPT_VERSION, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ VER_FLAGS, AOUSE_VERSION, /* last opt argumnt */ { NULL }, /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ VER_PROC, /* desc, NAME, name */ VER_DESC, NULL, VER_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ INDEX_OPT_HELP, VALUE_OPT_HELP, /* equiv idx value */ NO_EQUIVALENT, VALUE_OPT_HELP, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ OPTST_IMM | OPTST_NO_INIT, AOUSE_HELP, /* last opt argumnt */ { NULL }, /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ doUsageOpt, /* desc, NAME, name */ HELP_DESC, NULL, HELP_name, /* disablement strs */ NULL, NULL }, { /* entry idx, value */ INDEX_OPT_MORE_HELP, VALUE_OPT_MORE_HELP, /* equiv idx value */ NO_EQUIVALENT, VALUE_OPT_MORE_HELP, /* equivalenced to */ NO_EQUIVALENT, /* min, max, act ct */ 0, 1, 0, /* opt state flags */ MORE_HELP_FLAGS, AOUSE_MORE_HELP, /* last opt argumnt */ { NULL }, /* arg list/cookie */ NULL, /* must/cannot opts */ NULL, NULL, /* option proc */ optionPagedUsage, /* desc, NAME, name */ MORE_HELP_DESC, NULL, MORE_HELP_name, /* disablement strs */ NULL, NULL } }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /** Reference to the upper cased version of tpmtool. */ #define zPROGNAME (tpmtool_opt_strs+1846) /** Reference to the title line for tpmtool usage. */ #define zUsageTitle (tpmtool_opt_strs+1854) /** There is no tpmtool configuration file. */ #define zRcName NULL /** There are no directories to search for tpmtool config files. */ #define apzHomeList NULL /** The tpmtool program bug email address. */ #define zBugsAddr (tpmtool_opt_strs+1938) /** Clarification/explanation of what tpmtool does. */ #define zExplain (tpmtool_opt_strs+1957) /** Extra detail explaining what tpmtool does. */ #define zDetail (tpmtool_opt_strs+1959) /** The full version string for tpmtool. */ #define zFullVersion (tpmtool_opt_strs+2027) /* extracted from optcode.tlib near line 371 */ #if defined(ENABLE_NLS) # define OPTPROC_BASE OPTPROC_TRANSLATE | OPTPROC_NXLAT_OPT static tOptionXlateProc translate_option_strings; #else # define OPTPROC_BASE OPTPROC_NONE # define translate_option_strings NULL #endif /* ENABLE_NLS */ #define tpmtool_full_usage (NULL) #define tpmtool_short_usage (tpmtool_opt_strs+2045) #endif /* not defined __doxygen__ */ /* * Create the static procedure(s) declared above. */ /** * The callout function that invokes the optionUsage function. * * @param[in] pOptions the AutoOpts option description structure * @param[in] pOptDesc the descriptor for the "help" (usage) option. * @noreturn */ static void doUsageOpt(tOptions * pOptions, tOptDesc * pOptDesc) { optionUsage(&tpmtoolOptions, TPMTOOL_EXIT_SUCCESS); /* NOTREACHED */ (void)pOptDesc; (void)pOptions; } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /** * Code to handle the debug option. * Specifies the debug level. * @param[in] pOptions the tpmtool options data structure * @param[in,out] pOptDesc the option descriptor for this option. */ static void doOptDebug(tOptions* pOptions, tOptDesc* pOptDesc) { static struct {long rmin, rmax;} const rng[1] = { { 0 , 9999 } }; int ix; if (pOptions <= OPTPROC_EMIT_LIMIT) goto emit_ranges; optionNumericVal(pOptions, pOptDesc); for (ix = 0; ix < 1; ix++) { if (pOptDesc->optArg.argInt < rng[ix].rmin) continue; /* ranges need not be ordered. */ if (pOptDesc->optArg.argInt == rng[ix].rmin) return; if (rng[ix].rmax == LONG_MIN) continue; if (pOptDesc->optArg.argInt <= rng[ix].rmax) return; } option_usage_fp = stderr; emit_ranges: optionShowRange(pOptions, pOptDesc, (void *)rng, 1); } /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /** * Code to handle the infile option. * * @param[in] pOptions the tpmtool options data structure * @param[in,out] pOptDesc the option descriptor for this option. */ static void doOptInfile(tOptions* pOptions, tOptDesc* pOptDesc) { static teOptFileType const type = FTYPE_MODE_MUST_EXIST + FTYPE_MODE_NO_OPEN; static tuFileMode mode; #ifndef O_CLOEXEC # define O_CLOEXEC 0 #endif mode.file_flags = O_CLOEXEC; /* * This function handles special invalid values for "pOptions" */ optionFileCheck(pOptions, pOptDesc, type, mode); } /* extracted from optmain.tlib near line 1254 */ /** * The directory containing the data associated with tpmtool. */ #ifndef PKGDATADIR # define PKGDATADIR "" #endif /** * Information about the person or institution that packaged tpmtool * for the current distribution. */ #ifndef WITH_PACKAGER # define tpmtool_packager_info NULL #else /** Packager information for tpmtool. */ static char const tpmtool_packager_info[] = "Packaged by " WITH_PACKAGER # ifdef WITH_PACKAGER_VERSION " ("WITH_PACKAGER_VERSION")" # endif # ifdef WITH_PACKAGER_BUG_REPORTS "\nReport tpmtool bugs to " WITH_PACKAGER_BUG_REPORTS # endif "\n"; #endif #ifndef __doxygen__ #endif /* __doxygen__ */ /** * The option definitions for tpmtool. The one structure that * binds them all. */ tOptions tpmtoolOptions = { OPTIONS_STRUCT_VERSION, 0, NULL, /* original argc + argv */ ( OPTPROC_BASE + OPTPROC_ERRSTOP + OPTPROC_SHORTOPT + OPTPROC_LONGOPT + OPTPROC_NO_REQ_OPT + OPTPROC_NEGATIONS + OPTPROC_NO_ARGS + OPTPROC_GNUUSAGE + OPTPROC_MISUSE ), 0, NULL, /* current option index, current option */ NULL, NULL, zPROGNAME, zRcName, zCopyright, zLicenseDescrip, zFullVersion, apzHomeList, zUsageTitle, zExplain, zDetail, optDesc, zBugsAddr, /* address to send bugs to */ NULL, NULL, /* extensions/saved state */ optionUsage, /* usage procedure */ translate_option_strings, /* translation procedure */ /* * Indexes to special options */ { INDEX_OPT_MORE_HELP, /* more-help option index */ NO_EQUIVALENT, /* save option index */ NO_EQUIVALENT, /* '-#' option index */ NO_EQUIVALENT /* index of default opt */ }, 19 /* full option count */, 16 /* user option count */, tpmtool_full_usage, tpmtool_short_usage, NULL, NULL, PKGDATADIR, tpmtool_packager_info }; #if ENABLE_NLS /** * This code is designed to translate translatable option text for the * tpmtool program. These translations happen upon entry * to optionProcess(). */ #include #include #include #include #ifdef HAVE_DCGETTEXT # include #endif #include static char * AO_gettext(char const * pz); static void coerce_it(void ** s); /** * AutoGen specific wrapper function for gettext. It relies on the macro _() * to convert from English to the target language, then strdup-duplicates the * result string. It tries the "libopts" domain first, then whatever has been * set via the \a textdomain(3) call. * * @param[in] pz the input text used as a lookup key. * @returns the translated text (if there is one), * or the original text (if not). */ static char * AO_gettext(char const * pz) { char * res; if (pz == NULL) return NULL; #ifdef HAVE_DCGETTEXT /* * While processing the option_xlateable_txt data, try to use the * "libopts" domain. Once we switch to the option descriptor data, * do *not* use that domain. */ if (option_xlateable_txt.field_ct != 0) { res = dgettext("libopts", pz); if (res == pz) res = (char *)(void *)_(pz); } else res = (char *)(void *)_(pz); #else res = (char *)(void *)_(pz); #endif if (res == pz) return res; res = strdup(res); if (res == NULL) { fputs(_("No memory for duping translated strings\n"), stderr); exit(TPMTOOL_EXIT_FAILURE); } return res; } /** * All the pointers we use are marked "* const", but they are stored in * writable memory. Coerce the mutability and set the pointer. */ static void coerce_it(void ** s) { *s = AO_gettext(*s); } /** * Translate all the translatable strings in the tpmtoolOptions * structure defined above. This is done only once. */ static void translate_option_strings(void) { tOptions * const opts = &tpmtoolOptions; /* * Guard against re-translation. It won't work. The strings will have * been changed by the first pass through this code. One shot only. */ if (option_xlateable_txt.field_ct != 0) { /* * Do the translations. The first pointer follows the field count * field. The field count field is the size of a pointer. */ char ** ppz = (char**)(void*)&(option_xlateable_txt); int ix = option_xlateable_txt.field_ct; do { ppz++; /* skip over field_ct */ *ppz = AO_gettext(*ppz); } while (--ix > 0); /* prevent re-translation and disable "libopts" domain lookup */ option_xlateable_txt.field_ct = 0; coerce_it((void*)&(opts->pzCopyright)); coerce_it((void*)&(opts->pzCopyNotice)); coerce_it((void*)&(opts->pzFullVersion)); coerce_it((void*)&(opts->pzUsageTitle)); coerce_it((void*)&(opts->pzExplain)); coerce_it((void*)&(opts->pzDetail)); { tOptDesc * od = opts->pOptDesc; for (ix = opts->optCt; ix > 0; ix--, od++) coerce_it((void*)&(od->pzText)); } } } #endif /* ENABLE_NLS */ #ifdef DO_NOT_COMPILE_THIS_CODE_IT_IS_FOR_GETTEXT /** I18N function strictly for xgettext. Do not compile. */ static void bogus_function(void) { /* TRANSLATORS: The following dummy function was crated solely so that xgettext can extract the correct strings. These strings are actually referenced by a field name in the tpmtoolOptions structure noted in the comments below. The literal text is defined in tpmtool_opt_strs. NOTE: the strings below are segmented with respect to the source string tpmtool_opt_strs. The strings above are handed off for translation at run time a paragraph at a time. Consequently, they are presented here for translation a paragraph at a time. ALSO: often the description for an option will reference another option by name. These are set off with apostrophe quotes (I hope). Do not translate option names. */ /* referenced via tpmtoolOptions.pzCopyright */ puts(_("tpmtool @VERSION@\n\ Copyright (C) 2000-2012 Free Software Foundation, all rights reserved.\n\ This is free software. It is licensed for use, modification and\n\ redistribution under the terms of the GNU General Public License,\n\ version 3 or later \n")); /* referenced via tpmtoolOptions.pzCopyNotice */ puts(_("tpmtool is free software: you can redistribute it and/or modify it under\n\ the terms of the GNU General Public License as published by the Free\n\ Software Foundation, either version 3 of the License, or (at your option)\n\ any later version.\n\n")); puts(_("tpmtool is distributed in the hope that it will be useful, but WITHOUT ANY\n\ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\n\ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more\n\ details.\n\n")); puts(_("You should have received a copy of the GNU General Public License along\n\ with this program. If not, see .\n")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Enable debugging.")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Input file")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Output file")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Generate an RSA private-public key pair")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Any generated key will be registered in the TPM")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Any generated key will be a signing key")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Any generated key will be a legacy key")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Any registered key will be a user key")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Any registred key will be a system key")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Prints the public key of the provided key")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Lists all stored keys in the TPM")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Delete the key identified by the given URL (UUID).")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Specify the security level [low, legacy, normal, high, ultra].")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Specify the number of bits for key generate")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Use the DER format for keys.")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("Use DER format for output keys")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("display extended usage information and exit")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("extended usage information passed thru pager")); /* referenced via tpmtoolOptions.pOptDesc->pzText */ puts(_("output version information and exit")); /* referenced via tpmtoolOptions.pzUsageTitle */ puts(_("tpmtool - GnuTLS TPM tool\n\ Usage: %s [ - [] | --[{=| }] ]...\n")); /* referenced via tpmtoolOptions.pzExplain */ puts(_("\n")); /* referenced via tpmtoolOptions.pzDetail */ puts(_("Program that allows handling cryptographic data from the TPM chip.\n")); /* referenced via tpmtoolOptions.pzFullVersion */ puts(_("tpmtool @VERSION@")); /* referenced via tpmtoolOptions.pzFullUsage */ puts(_("<<>>")); /* referenced via tpmtoolOptions.pzShortUsage */ puts(_("tpmtool [options]\n\ tpmtool --help for usage instructions.\n")); /* LIBOPTS-MESSAGES: */ #line 60 "../autoopts.c" puts(_("allocation of %d bytes failed\n")); #line 86 "../autoopts.c" puts(_("allocation of %d bytes failed\n")); #line 53 "../init.c" puts(_("AutoOpts function called without option descriptor\n")); #line 89 "../init.c" puts(_("\tThis exceeds the compiled library version: ")); #line 87 "../init.c" puts(_("Automated Options Processing Error!\n" "\t%s called AutoOpts function with structure version %d:%d:%d.\n")); #line 73 "../autoopts.c" puts(_("realloc of %d bytes at 0x%p failed\n")); #line 91 "../init.c" puts(_("\tThis is less than the minimum library version: ")); #line 121 "../version.c" puts(_("Automated Options version %s\n" "\tCopyright (C) 1999-2013 by Bruce Korb - all rights reserved\n")); #line 310 "../usage.c" puts(_("(AutoOpts bug): %s.\n")); #line 90 "../reset.c" puts(_("optionResetOpt() called, but reset-option not configured")); #line 329 "../usage.c" puts(_("could not locate the 'help' option")); #line 351 "../autoopts.c" puts(_("optionProcess() was called with invalid data")); #line 783 "../usage.c" puts(_("invalid argument type specified")); #line 589 "../find.c" puts(_("defaulted to option with optional arg")); #line 76 "../alias.c" puts(_("aliasing option is out of range.")); #line 229 "../enum.c" puts(_("%s error: the keyword '%s' is ambiguous for %s\n")); #line 108 "../find.c" puts(_(" The following options match:\n")); #line 290 "../find.c" puts(_("%s: ambiguous option name: %s (matches %d options)\n")); #line 161 "../check.c" puts(_("%s: Command line arguments required\n")); #line 43 "../alias.c" puts(_("%d %s%s options allowed\n")); #line 81 "../makeshell.c" puts(_("%s error %d (%s) calling %s for '%s'\n")); #line 293 "../makeshell.c" puts(_("interprocess pipe")); #line 168 "../version.c" puts(_("error: version option argument '%c' invalid. Use:\n" "\t'v' - version only\n" "\t'c' - version and copyright\n" "\t'n' - version and full copyright notice\n")); #line 58 "../check.c" puts(_("%s error: the '%s' and '%s' options conflict\n")); #line 214 "../find.c" puts(_("%s: The '%s' option has been disabled.")); #line 421 "../find.c" puts(_("%s: The '%s' option has been disabled.")); #line 38 "../alias.c" puts(_("-equivalence")); #line 460 "../find.c" puts(_("%s: illegal option -- %c\n")); #line 110 "../reset.c" puts(_("%s: illegal option -- %c\n")); #line 268 "../find.c" puts(_("%s: illegal option -- %s\n")); #line 746 "../find.c" puts(_("%s: illegal option -- %s\n")); #line 118 "../reset.c" puts(_("%s: illegal option -- %s\n")); #line 332 "../find.c" puts(_("%s: unknown vendor extension option -- %s\n")); #line 154 "../enum.c" puts(_(" or an integer from %d through %d\n")); #line 164 "../enum.c" puts(_(" or an integer from %d through %d\n")); #line 782 "../usage.c" puts(_("%s error: invalid option descriptor for %s\n")); #line 1110 "../usage.c" puts(_("%s error: invalid option descriptor for %s\n")); #line 379 "../find.c" puts(_("%s: invalid option name: %s\n")); #line 518 "../find.c" puts(_("%s: The '%s' option requires an argument.\n")); #line 171 "../autoopts.c" puts(_("(AutoOpts bug): Equivalenced option '%s' was equivalenced to both\n" "\t'%s' and '%s'.")); #line 94 "../check.c" puts(_("%s error: The %s option is required\n")); #line 623 "../find.c" puts(_("%s: The '%s' option cannot have an argument.\n")); #line 151 "../check.c" puts(_("%s: Command line arguments are not allowed.\n")); #line 531 "../save.c" puts(_("error %d (%s) creating %s\n")); #line 229 "../enum.c" puts(_("%s error: '%s' does not match any %s keywords.\n")); #line 93 "../reset.c" puts(_("%s error: The '%s' option requires an argument.\n")); #line 184 "../save.c" puts(_("error %d (%s) stat-ing %s\n")); #line 238 "../save.c" puts(_("error %d (%s) stat-ing %s\n")); #line 143 "../restore.c" puts(_("%s error: no saved option state\n")); #line 246 "../autoopts.c" puts(_("'%s' is not a command line option.\n")); #line 114 "../time.c" puts(_("%s error: '%s' is not a recognizable date/time.\n")); #line 132 "../save.c" puts(_("'%s' not defined\n")); #line 53 "../time.c" puts(_("%s error: '%s' is not a recognizable time duration.\n")); #line 92 "../check.c" puts(_("%s error: The %s option must appear %d times.\n")); #line 157 "../numeric.c" puts(_("%s error: '%s' is not a recognizable number.\n")); #line 195 "../enum.c" puts(_("%s error: %s exceeds %s keyword count\n")); #line 366 "../usage.c" puts(_("Try '%s %s' for more information.\n")); #line 45 "../alias.c" puts(_("one %s%s option allowed\n")); #line 195 "../makeshell.c" puts(_("standard output")); #line 930 "../makeshell.c" puts(_("standard output")); #line 304 "../usage.c" puts(_("standard output")); #line 451 "../usage.c" puts(_("standard output")); #line 660 "../usage.c" puts(_("standard output")); #line 175 "../version.c" puts(_("standard output")); #line 304 "../usage.c" puts(_("standard error")); #line 451 "../usage.c" puts(_("standard error")); #line 660 "../usage.c" puts(_("standard error")); #line 175 "../version.c" puts(_("standard error")); #line 195 "../makeshell.c" puts(_("write")); #line 930 "../makeshell.c" puts(_("write")); #line 303 "../usage.c" puts(_("write")); #line 450 "../usage.c" puts(_("write")); #line 659 "../usage.c" puts(_("write")); #line 174 "../version.c" puts(_("write")); #line 60 "../numeric.c" puts(_("%s error: %s option value %ld is out of range.\n")); #line 44 "../check.c" puts(_("%s error: %s option requires the %s option\n")); #line 131 "../save.c" puts(_("%s warning: cannot save options - %s not regular file\n")); #line 183 "../save.c" puts(_("%s warning: cannot save options - %s not regular file\n")); #line 237 "../save.c" puts(_("%s warning: cannot save options - %s not regular file\n")); #line 256 "../save.c" puts(_("%s warning: cannot save options - %s not regular file\n")); #line 530 "../save.c" puts(_("%s warning: cannot save options - %s not regular file\n")); /* END-LIBOPTS-MESSAGES */ /* USAGE-TEXT: */ #line 908 "../usage.c" puts(_("\t\t\t\t- an alternate for '%s'\n")); #line 1177 "../usage.c" puts(_("Version, usage and configuration options:")); #line 959 "../usage.c" puts(_("\t\t\t\t- default option for unnamed options\n")); #line 872 "../usage.c" puts(_("\t\t\t\t- disabled as '--%s'\n")); #line 1146 "../usage.c" puts(_(" --- %-14s %s\n")); #line 1144 "../usage.c" puts(_("This option has been disabled")); #line 899 "../usage.c" puts(_("\t\t\t\t- enabled by default\n")); #line 40 "../alias.c" puts(_("%s error: only ")); #line 1221 "../usage.c" puts(_(" - examining environment variables named %s_*\n")); #line 168 "../file.c" puts(_("\t\t\t\t- file must not pre-exist\n")); #line 172 "../file.c" puts(_("\t\t\t\t- file must pre-exist\n")); #line 416 "../usage.c" puts(_("Options are specified by doubled hyphens and their name or by a single\n" "hyphen and the flag character.\n")); #line 908 "../makeshell.c" puts(_("\n" "= = = = = = = =\n\n" "This incarnation of genshell will produce\n" "a shell script to parse the options for %s:\n\n")); #line 161 "../enum.c" puts(_(" or an integer mask with any of the lower %d bits set\n")); #line 932 "../usage.c" puts(_("\t\t\t\t- is a set membership option\n")); #line 953 "../usage.c" puts(_("\t\t\t\t- must appear between %d and %d times\n")); #line 418 "../usage.c" puts(_("Options are specified by single or double hyphens and their name.\n")); #line 939 "../usage.c" puts(_("\t\t\t\t- may appear multiple times\n")); #line 926 "../usage.c" puts(_("\t\t\t\t- may not be preset\n")); #line 1336 "../usage.c" puts(_(" Arg Option-Name Description\n")); #line 1272 "../usage.c" puts(_(" Flg Arg Option-Name Description\n")); #line 1330 "../usage.c" puts(_(" Flg Arg Option-Name Description\n")); #line 1331 "../usage.c" puts(_(" %3s %s")); #line 1337 "../usage.c" puts(_(" %3s %s")); #line 423 "../usage.c" puts(_("The '-#' option may omit the hash char\n")); #line 419 "../usage.c" puts(_("All arguments are named options.\n")); #line 1006 "../usage.c" puts(_(" - reading file %s")); #line 445 "../usage.c" puts(_("\n" "Please send bug reports to: <%s>\n")); #line 100 "../version.c" puts(_("\n" "Please send bug reports to: <%s>\n")); #line 129 "../version.c" puts(_("\n" "Please send bug reports to: <%s>\n")); #line 938 "../usage.c" puts(_("\t\t\t\t- may NOT appear - preset only\n")); #line 978 "../usage.c" puts(_("\n" "The following option preset mechanisms are supported:\n")); #line 1219 "../usage.c" puts(_("\n" "The following option preset mechanisms are supported:\n")); #line 717 "../usage.c" puts(_("prohibits these options:\n")); #line 712 "../usage.c" puts(_("prohibits the option '%s'\n")); #line 81 "../numeric.c" puts(_("%s%ld to %ld")); #line 79 "../numeric.c" puts(_("%sgreater than or equal to %ld")); #line 75 "../numeric.c" puts(_("%s%ld exactly")); #line 68 "../numeric.c" puts(_("%sit must lie in one of the ranges:\n")); #line 68 "../numeric.c" puts(_("%sit must be in the range:\n")); #line 88 "../numeric.c" puts(_(", or\n")); #line 66 "../numeric.c" puts(_("%sis scalable with a suffix: k/K/m/M/g/G/t/T\n")); #line 77 "../numeric.c" puts(_("%sless than or equal to %ld")); #line 426 "../usage.c" puts(_("Operands and options may be intermixed. They will be reordered.\n")); #line 687 "../usage.c" puts(_("requires the option '%s'\n")); #line 690 "../usage.c" puts(_("requires these options:\n")); #line 1348 "../usage.c" puts(_(" Arg Option-Name Req? Description\n")); #line 1342 "../usage.c" puts(_(" Flg Arg Option-Name Req? Description\n")); #line 162 "../enum.c" puts(_("or you may use a numeric representation. Preceding these with a '!'\n" "will clear the bits, specifying 'none' will clear all bits, and 'all'\n" "will set them all. Multiple entries may be passed as an option\n" "argument list.\n")); #line 945 "../usage.c" puts(_("\t\t\t\t- may appear up to %d times\n")); #line 72 "../enum.c" puts(_("The valid \"%s\" option keywords are:\n")); #line 1181 "../usage.c" puts(_("The next option supports vendor supported extra options:")); #line 808 "../usage.c" puts(_("These additional options are:")); /* END-USAGE-TEXT */ } #endif /* uncompilable code */ #ifdef __cplusplus } #endif /* tpmtool-args.c ends here */