diff options
Diffstat (limited to 'lib/rpmcli.h')
-rw-r--r-- | lib/rpmcli.h | 200 |
1 files changed, 200 insertions, 0 deletions
diff --git a/lib/rpmcli.h b/lib/rpmcli.h new file mode 100644 index 000000000..9a00a06b4 --- /dev/null +++ b/lib/rpmcli.h @@ -0,0 +1,200 @@ +#ifndef H_RPMCLI +#define H_RPMCLI + +/** \ingroup rpmcli rpmbuild + * \file lib/rpmcli.h + */ + +#include <rpmlib.h> + +/** \ingroup rpmcli + * Should version 3 packages be produced? + */ +extern int _noDirTokens; + +#ifdef __cplusplus +extern "C" { +#endif + +/* ==================================================================== */ +/** \name RPMBT */ +/*@{*/ + +/** \ingroup rpmcli + * Describe build command line request. + */ +struct rpmBuildArguments_s { + int buildAmount; /*!< Bit(s) to control operation. */ +/*@null@*/ const char * buildRootOverride; /*!< from --buildroot */ +/*@null@*/ char * targets; /*!< Target platform(s), comma separated. */ + int force; /*!< from --force */ + int noBuild; /*!< from --nobuild */ + int noDeps; /*!< from --nodeps */ + int noLang; /*!< from --nolang */ + int shortCircuit; /*!< from --short-circuit */ + int sign; /*!< from --sign */ + int useCatalog; /*!< from --usecatalog */ + char buildMode; /*!< Build mode (one of "btBC") */ + char buildChar; /*!< Build stage (one of "abcilps ") */ +/*@observer@*/ /*@null@*/ const char * rootdir; +}; + +/** \ingroup rpmcli + */ +typedef struct rpmBuildArguments_s * BTA_t; + +/** \ingroup rpmcli + */ +extern struct rpmBuildArguments_s rpmBTArgs; + +/** \ingroup rpmcli + */ +extern struct poptOption rpmBuildPoptTable[]; + +/*@}*/ +/* ==================================================================== */ +/** \name RPMQV */ +/*@{*/ + +/** \ingroup rpmcli + * Bit(s) to control rpmQuery() operation, stored in qva_flags. + */ +/*@-typeuse@*/ +typedef enum rpmQueryFlags_e { + QUERY_FOR_LIST = (1 << 1), /*!< from --list */ + QUERY_FOR_STATE = (1 << 2), /*!< from --state */ + QUERY_FOR_DOCS = (1 << 3), /*!< from --docfiles */ + QUERY_FOR_CONFIG = (1 << 4), /*!< from --configfiles */ + QUERY_FOR_DUMPFILES = (1 << 8) /*!< from --dump */ +} rpmQueryFlags; +/*@=typeuse@*/ + +/** \ingroup rpmcli + * Bit(s) to control rpmVerify() operation, stored in qva_flags. + */ +/*@-typeuse@*/ +typedef enum rpmVerifyFlags_e { + VERIFY_FILES = (1 << 9), /*!< from --nofiles */ + VERIFY_DEPS = (1 << 10), /*!< from --nodeps */ + VERIFY_SCRIPT = (1 << 11), /*!< from --noscripts */ + VERIFY_MD5 = (1 << 12) /*!< from --nomd5 */ +} rpmVerifyFlags; +/*@=typeuse@*/ + +/** \ingroup rpmcli + * Describe query/verify command line request. + */ +struct rpmQVArguments_s { + rpmQVSources qva_source; /*!< Identify CLI arg type. */ + int qva_sourceCount;/*!< Exclusive check (>1 is error). */ + int qva_flags; /*!< Bit(s) to control operation. */ +/*@unused@*/ int qva_verbose; /*!< (unused) */ +/*@only@*/ /*@null@*/ const char * qva_queryFormat; /*!< Format for headerSprintf(). */ +/*@observer@*/ /*@null@*/ const char * qva_prefix; /*!< Path to top of install tree. */ + char qva_mode; /*!< 'q' is query, 'v' is verify mode. */ + char qva_char; /*!< (unused) always ' ' */ +}; + +/** \ingroup rpmcli + */ +extern struct rpmQVArguments_s rpmQVArgs; + +/** \ingroup rpmcli + */ +extern struct poptOption rpmQVSourcePoptTable[]; + +/** \ingroup rpmcli + */ +extern int specedit; + +/** \ingroup rpmcli + */ +extern struct poptOption rpmQueryPoptTable[]; + +/** \ingroup rpmcli + */ +extern struct poptOption rpmVerifyPoptTable[]; + +/*@}*/ +/* ==================================================================== */ +/** \name RPMEIU */ +/*@{*/ +/* --- install/upgrade/erase modes */ + +/** \ingroup rpmcli + * Describe database command line requests. + */ +struct rpmInstallArguments_s { + rpmtransFlags transFlags; + rpmprobFilterFlags probFilter; + rpmInstallInterfaceFlags installInterfaceFlags; + rpmEraseInterfaceFlags eraseInterfaceFlags; +/*@only@*/ rpmRelocation * relocations; + int numRelocations; + int noDeps; + int force; + int incldocs; + const char * prefix; +}; + +/** \ingroup rpmcli + */ +extern struct rpmInstallArguments_s rpmIArgs; + +/** \ingroup rpmcli + */ +extern struct poptOption rpmInstallPoptTable[]; + +/*@}*/ +/* ==================================================================== */ +/** \name RPMDB */ +/*@{*/ +/* --- database modes */ + +/** \ingroup rpmcli + * Describe database command line requests. + */ +struct rpmDatabaseArguments_s { + int init; /*!< from --initdb */ + int rebuild; /*!< from --rebuilddb */ + int verify; /*!< from --verifydb */ +}; + +/** \ingroup rpmcli + */ +extern struct rpmDatabaseArguments_s rpmDBArgs; + +/** \ingroup rpmcli + */ +extern struct poptOption rpmDatabasePoptTable[]; + +/*@}*/ +/* ==================================================================== */ +/** \name RPMK */ +/*@{*/ + +/** \ingroup rpmcli + * Describe signature command line request. + */ +struct rpmSignArguments_s { + rpmResignFlags addSign; /*!< from --checksig/--resign/--addsign */ + rpmCheckSigFlags checksigFlags; /*!< bits to control --checksig */ + int sign; /*!< Is a passphrase needed? */ +/*@unused@*/ char * passPhrase; +}; + +/** \ingroup rpmcli + */ +extern struct rpmSignArguments_s rpmKArgs; + +/** \ingroup rpmcli + */ +extern struct poptOption rpmSignPoptTable[]; + +/*@}*/ + +#ifdef __cplusplus +} +#endif + +#endif /* H_RPMCLI */ |