lib/rpmcli.h

Go to the documentation of this file.
00001 #ifndef H_RPMCLI
00002 #define H_RPMCLI
00003 
00008 #include "rpmlib.h"
00009 #include "rpmurl.h"
00010 #include "rpmmacro.h"
00011 #include "rpmps.h"
00012 #include "argv.h"
00013 
00017 /*@-redecl@*/
00018 /*@unchecked@*/
00019 extern int _noDirTokens;
00020 /*@=redecl@*/
00021 
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025 
00029 /*@unchecked@*/
00030 extern struct poptOption                rpmcliAllPoptTable[];
00031 
00032 /*@unchecked@*/
00033 extern int ftsOpts;
00034 
00035 /*@unchecked@*/
00036 extern struct poptOption                rpmcliFtsPoptTable[];
00037 
00038 /*@unchecked@*/
00039 extern int global_depFlags;
00040 
00041 /*@unchecked@*/
00042 extern struct poptOption                rpmcliDepFlagsPoptTable[];
00043 
00044 /*@unchecked@*/ /*@observer@*/ /*@null@*/
00045 extern const char * rpmcliPipeOutput;
00046 
00047 /*@unchecked@*/ /*@observer@*/ /*@null@*/
00048 extern const char * rpmcliRcfile;
00049 
00050 /*@unchecked@*/ /*@observer@*/ /*@null@*/
00051 extern const char * rpmcliRootDir;
00052 
00053 /*@unchecked@*/ /*@observer@*/ /*@null@*/
00054 extern const char * rpmcliTargets;
00055 /*@=redecl@*/
00056 
00064 /*@null@*/
00065 poptContext
00066 rpmcliInit(int argc, char *const argv[], struct poptOption * optionsTable)
00067         /*@globals rpmRcfiles, rpmCLIMacroContext, rpmGlobalMacroContext, h_errno, stderr, 
00068                 fileSystem, internalState @*/
00069         /*@modifies rpmCLIMacroContext, rpmGlobalMacroContext, stderr, 
00070                 fileSystem, internalState @*/;
00071 
00076 /*@mayexit@*/
00077 void rpmcliConfigured(void)
00078         /*@globals rpmRcfiles, rpmCLIMacroContext,
00079                 rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00080         /*@modifies rpmCLIMacroContext, rpmGlobalMacroContext,
00081                 fileSystem, internalState @*/;
00082 
00088 poptContext
00089 rpmcliFini(/*@only@*/ /*@null@*/ poptContext optCon)
00090         /*@globals rpmTags, rpmGlobalMacroContext,
00091                 fileSystem, internalState @*/
00092         /*@modifies optCon, rpmTags, rpmGlobalMacroContext,
00093                 fileSystem, internalState @*/;
00094 
00098 #define RPMCLI_POPT_NODEPS              -1025
00099 #define RPMCLI_POPT_FORCE               -1026
00100 #define RPMCLI_POPT_NOFDIGESTS          -1027
00101 #define RPMCLI_POPT_NOSCRIPTS           -1028
00102 #define RPMCLI_POPT_NOSIGNATURE         -1029
00103 #define RPMCLI_POPT_NODIGEST            -1030
00104 #define RPMCLI_POPT_NOHDRCHK            -1031
00105 #define RPMCLI_POPT_NOCONTEXTS          -1032
00106 #define RPMCLI_POPT_TARGETPLATFORM      -1033
00107 
00108 /* ==================================================================== */
00111 
00116 typedef enum rpmQVSources_e {
00117     RPMQV_PACKAGE = 0,  
00118     RPMQV_PATH,         
00119     RPMQV_ALL,          
00120     RPMQV_RPM,          
00121     RPMQV_GROUP,        
00122     RPMQV_WHATPROVIDES, 
00123     RPMQV_WHATREQUIRES, 
00124     RPMQV_TRIGGEREDBY,  
00125     RPMQV_DBOFFSET,     
00126     RPMQV_SPECFILE,     
00127     RPMQV_PKGID,        
00128     RPMQV_HDRID,        
00129     RPMQV_FILEID,       
00130     RPMQV_TID,          
00131     RPMQV_HDLIST,       
00132     RPMQV_FTSWALK,      
00133     RPMQV_WHATNEEDS,    
00134     RPMQV_SPECSRPM      
00135 } rpmQVSources;
00136 
00140 typedef enum rpmVerifyAttrs_e {
00141     RPMVERIFY_NONE      = 0,            
00142     RPMVERIFY_FDIGEST   = (1 << 0),     
00143     RPMVERIFY_FILESIZE  = (1 << 1),     
00144     RPMVERIFY_LINKTO    = (1 << 2),     
00145     RPMVERIFY_USER      = (1 << 3),     
00146     RPMVERIFY_GROUP     = (1 << 4),     
00147     RPMVERIFY_MTIME     = (1 << 5),     
00148     RPMVERIFY_MODE      = (1 << 6),     
00149     RPMVERIFY_RDEV      = (1 << 7),     
00150         /* bits 8-14 unused, reserved for rpmVerifyAttrs */
00151     RPMVERIFY_CONTEXTS  = (1 << 15),    
00152         /* bits 16-22 used in rpmVerifyFlags */
00153         /* bits 23-27 used in rpmQueryFlags */
00154     RPMVERIFY_READLINKFAIL= (1 << 28),  
00155     RPMVERIFY_READFAIL  = (1 << 29),    
00156     RPMVERIFY_LSTATFAIL = (1 << 30),    
00157     RPMVERIFY_LGETFILECONFAIL   = (1 << 31)     
00158 } rpmVerifyAttrs;
00159 #define RPMVERIFY_MD5   RPMVERIFY_FDIGEST
00160 #define RPMVERIFY_ALL           ~(RPMVERIFY_NONE)
00161 #define RPMVERIFY_FAILURES      \
00162   (RPMVERIFY_LSTATFAIL|RPMVERIFY_READFAIL|RPMVERIFY_READLINKFAIL|RPMVERIFY_LGETFILECONFAIL)
00163 
00168 typedef enum rpmQueryFlags_e {
00169 /*@-enummemuse@*/
00170     QUERY_FOR_DEFAULT   = 0,            
00171     QUERY_FDIGEST       = (1 << 0),     
00172     QUERY_SIZE          = (1 << 1),     
00173     QUERY_LINKTO        = (1 << 2),     
00174     QUERY_USER          = (1 << 3),     
00175     QUERY_GROUP         = (1 << 4),     
00176     QUERY_MTIME         = (1 << 5),     
00177     QUERY_MODE          = (1 << 6),     
00178     QUERY_RDEV          = (1 << 7),     
00179         /* bits 8-14 unused, reserved for rpmVerifyAttrs */
00180     QUERY_CONTEXTS      = (1 << 15),    
00181     QUERY_FILES         = (1 << 16),    
00182     QUERY_DEPS          = (1 << 17),    
00183     QUERY_SCRIPT        = (1 << 18),    
00184     QUERY_DIGEST        = (1 << 19),    
00185     QUERY_SIGNATURE     = (1 << 20),    
00186     QUERY_PATCHES       = (1 << 21),    
00187     QUERY_HDRCHK        = (1 << 22),    
00188 /*@=enummemuse@*/
00189     QUERY_FOR_LIST      = (1 << 23),    
00190     QUERY_FOR_STATE     = (1 << 24),    
00191     QUERY_FOR_DOCS      = (1 << 25),    
00192     QUERY_FOR_CONFIG    = (1 << 26),    
00193     QUERY_FOR_DUMPFILES = (1 << 27)     
00194 } rpmQueryFlags;
00195 
00196 #define _QUERY_FOR_BITS \
00197    (QUERY_FOR_LIST|QUERY_FOR_STATE|QUERY_FOR_DOCS|QUERY_FOR_CONFIG|\
00198     QUERY_FOR_DUMPFILES)
00199 
00203 /*@unchecked@*/
00204 extern rpmQueryFlags rpmcliQueryFlags;
00205 
00210 typedef enum rpmVerifyFlags_e {
00211 /*@-enummemuse@*/
00212     VERIFY_DEFAULT      = 0,            
00213 /*@=enummemuse@*/
00214     VERIFY_FDIGEST      = (1 << 0),     
00215     VERIFY_SIZE         = (1 << 1),     
00216     VERIFY_LINKTO       = (1 << 2),     
00217     VERIFY_USER         = (1 << 3),     
00218     VERIFY_GROUP        = (1 << 4),     
00219     VERIFY_MTIME        = (1 << 5),     
00220     VERIFY_MODE         = (1 << 6),     
00221     VERIFY_RDEV         = (1 << 7),     
00222         /* bits 8-14 unused, reserved for rpmVerifyAttrs */
00223     VERIFY_CONTEXTS     = (1 << 15),    
00224     VERIFY_FILES        = (1 << 16),    
00225     VERIFY_DEPS         = (1 << 17),    
00226     VERIFY_SCRIPT       = (1 << 18),    
00227     VERIFY_DIGEST       = (1 << 19),    
00228     VERIFY_SIGNATURE    = (1 << 20),    
00229     VERIFY_PATCHES      = (1 << 21),    
00230     VERIFY_HDRCHK       = (1 << 22),    
00231 /*@-enummemuse@*/
00232     VERIFY_FOR_LIST     = (1 << 23),    
00233     VERIFY_FOR_STATE    = (1 << 24),    
00234     VERIFY_FOR_DOCS     = (1 << 25),    
00235     VERIFY_FOR_CONFIG   = (1 << 26),    
00236     VERIFY_FOR_DUMPFILES= (1 << 27)     
00237 /*@=enummemuse@*/
00238         /* bits 28-31 used in rpmVerifyAttrs */
00239 } rpmVerifyFlags;
00240 
00241 #define VERIFY_ATTRS    \
00242   ( VERIFY_FDIGEST | VERIFY_SIZE | VERIFY_LINKTO | VERIFY_USER | VERIFY_GROUP | \
00243     VERIFY_MTIME | VERIFY_MODE | VERIFY_RDEV | VERIFY_CONTEXTS )
00244 #define VERIFY_ALL      \
00245   ( VERIFY_ATTRS | VERIFY_FILES | VERIFY_DEPS | VERIFY_SCRIPT | VERIFY_DIGEST |\
00246     VERIFY_SIGNATURE | VERIFY_HDRCHK )
00247 
00250 typedef struct rpmQVKArguments_s * QVA_t;
00251 
00260 typedef int (*QVF_t) (QVA_t qva, rpmts ts, Header h)
00261         /*@globals fileSystem @*/
00262         /*@modifies qva, ts, fileSystem @*/;
00263 
00272 typedef int (*QSpecF_t) (rpmts ts, QVA_t qva, const char * arg)
00273         /*@globals rpmGlobalMacroContext, h_errno,
00274                 fileSystem, internalState @*/
00275         /*@modifies ts, qva, rpmGlobalMacroContext,
00276                 fileSystem, internalState @*/;
00277 
00280 /*@unchecked@*/
00281 extern struct poptOption rpmQVSourcePoptTable[];
00282 
00285 /*@unchecked@*/
00286 extern int specedit;
00287 
00290 /*@unchecked@*/
00291 extern struct poptOption rpmQueryPoptTable[];
00292 
00295 /*@unchecked@*/
00296 extern struct poptOption rpmVerifyPoptTable[];
00297 
00309 int rpmcliShowMatches(QVA_t qva, rpmts ts)
00310         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00311         /*@modifies qva, rpmGlobalMacroContext, fileSystem, internalState @*/;
00312 
00317 void rpmDisplayQueryTags(FILE * fp)
00318         /*@globals fileSystem, internalState @*/
00319         /*@modifies *fp, fileSystem, internalState @*/;
00320 
00333 int rpmQueryVerify(QVA_t qva, rpmts ts, const char * arg)
00334         /*@globals rpmGlobalMacroContext, h_errno,
00335                 fileSystem, internalState @*/
00336         /*@modifies qva, ts, rpmGlobalMacroContext,
00337                 fileSystem, internalState @*/;
00338 
00347 int showQueryPackage(QVA_t qva, rpmts ts, Header h)
00348         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00349         /*@modifies ts, h, rpmGlobalMacroContext, fileSystem, internalState @*/;
00350 
00358 int rpmcliArgIter(rpmts ts, QVA_t qva, /*@null@*/ ARGV_t argv)
00359         /*@globals ftsOpts, rpmGlobalMacroContext, h_errno,
00360                 fileSystem, internalState @*/
00361         /*@modifies ts, qva, ftsOpts, rpmGlobalMacroContext,
00362                 fileSystem, internalState @*/;
00363 
00372 int rpmcliQuery(rpmts ts, QVA_t qva, /*@null@*/ const char ** argv)
00373         /*@globals rpmGlobalMacroContext, h_errno,
00374                 fileSystem, internalState @*/
00375         /*@modifies ts, qva, rpmGlobalMacroContext,
00376                 fileSystem, internalState @*/;
00377 
00387 /*@-incondefs@*/
00388 int rpmVerifyFile(const rpmts ts, rpmfi fi,
00389                 /*@out@*/ rpmVerifyAttrs * res, rpmVerifyAttrs omitMask)
00390         /*@globals h_errno, fileSystem, internalState @*/
00391         /*@modifies ts, fi, *res, fileSystem, internalState @*/
00392         /*@requires maxSet(res) >= 0 @*/;
00393 /*@=incondefs@*/
00394 
00402 int showVerifyPackage(QVA_t qva, rpmts ts, Header h)
00403         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00404         /*@modifies ts, h, rpmGlobalMacroContext, fileSystem, internalState @*/;
00405 
00414 int rpmVerifySignatures(QVA_t qva, rpmts ts, FD_t fd, const char * fn)
00415         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00416         /*@modifies qva, ts, fd, rpmGlobalMacroContext, h_errno,
00417                 fileSystem, internalState @*/;
00418 
00427 int rpmcliVerify(rpmts ts, QVA_t qva, /*@null@*/ const char ** argv)
00428         /*@globals rpmGlobalMacroContext, h_errno,
00429                 fileSystem, internalState @*/
00430         /*@modifies ts, qva, rpmGlobalMacroContext,
00431                 fileSystem, internalState @*/;
00432 
00434 /* ==================================================================== */
00437 /* --- install/upgrade/erase modes */
00438 
00442 typedef enum rpmInstallInterfaceFlags_e {
00443     INSTALL_NONE        = 0,
00444     INSTALL_PERCENT     = (1 <<  0),    
00445     INSTALL_HASH        = (1 <<  1),    
00446     INSTALL_NODEPS      = (1 <<  2),    
00447     INSTALL_NOORDER     = (1 <<  3),    
00448     INSTALL_LABEL       = (1 <<  4),    
00449     INSTALL_UPGRADE     = (1 <<  5),    
00450     INSTALL_FRESHEN     = (1 <<  6),    
00451     INSTALL_INSTALL     = (1 <<  7),    
00452     INSTALL_ERASE       = (1 <<  8),    
00453     INSTALL_ALLMATCHES  = (1 <<  9)     
00454 } rpmInstallInterfaceFlags;
00455 
00456 /*@unchecked@*/
00457 extern int rpmcliPackagesTotal;
00458 /*@unchecked@*/
00459 extern int rpmcliHashesCurrent;
00460 /*@unchecked@*/
00461 extern int rpmcliHashesTotal;
00462 /*@unchecked@*/
00463 extern unsigned long long rpmcliProgressCurrent;
00464 /*@unchecked@*/
00465 extern unsigned long long rpmcliProgressTotal;
00466 
00483 /*@null@*/
00484 void * rpmShowProgress(/*@null@*/ const void * arg,
00485                 const rpmCallbackType what,
00486                 const unsigned long long amount,
00487                 const unsigned long long total,
00488                 /*@null@*/ fnpyKey key,
00489                 /*@null@*/ void * data)
00490         /*@globals rpmcliHashesCurrent,
00491                 rpmcliProgressCurrent, rpmcliProgressTotal,
00492                 h_errno, fileSystem, internalState @*/
00493         /*@modifies rpmcliHashesCurrent,
00494                 rpmcliProgressCurrent, rpmcliProgressTotal,
00495                 fileSystem, internalState @*/;
00496 
00505 int rpmInstallSource(rpmts ts, const char * arg,
00506                 /*@null@*/ /*@out@*/ const char ** specFilePtr,
00507                 /*@null@*/ /*@out@*/ const char ** cookie)
00508         /*@globals rpmGlobalMacroContext, h_errno,
00509                 fileSystem, internalState@*/
00510         /*@modifies ts, *specFilePtr, *cookie, rpmGlobalMacroContext,
00511                 fileSystem, internalState @*/;
00512 
00521 int rpmInstall(rpmts ts, QVA_t ia, /*@null@*/ const char ** fileArgv)
00522         /*@globals rpmcliPackagesTotal, rpmGlobalMacroContext, h_errno,
00523                 fileSystem, internalState@*/
00524         /*@modifies ts, ia, rpmcliPackagesTotal, rpmGlobalMacroContext,
00525                 fileSystem, internalState @*/;
00526 
00534 int rpmErase(rpmts ts, QVA_t ia, /*@null@*/ const char ** argv)
00535         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00536         /*@modifies ts, ia, rpmGlobalMacroContext,
00537                 fileSystem, internalState @*/;
00538 
00542 /*@-fielduse@*/
00543 typedef /*@abstract@*/ struct IDT_s * IDT;
00544 #if !defined(SWIG)
00545 struct IDT_s {
00546     int done;                   
00547     unsigned int instance;      
00548 /*@owned@*/ /*@null@*/
00549     const char * key;           
00550     Header h;                   
00551     union {
00552         uint_32 u32;            
00553     } val;
00554 };
00555 #endif
00556 /*@=fielduse@*/
00557 
00561 typedef /*@abstract@*/ struct IDTindex_s * IDTX;
00562 #if !defined(SWIG)
00563 struct IDTindex_s {
00564     int delta;                  
00565     int size;                   
00566     int alloced;                
00567     int nidt;                   
00568 /*@only@*/ /*@null@*/
00569     IDT idt;                    
00570 };
00571 #endif
00572 
00578 /*@null@*/
00579 IDTX IDTXfree(/*@only@*/ /*@null@*/ IDTX idtx)
00580         /*@modifies idtx @*/;
00581 
00586 /*@only@*/
00587 IDTX IDTXnew(void)
00588         /*@*/;
00589 
00596 /*@only@*/ /*@null@*/
00597 IDTX IDTXgrow(/*@only@*/ /*@null@*/ IDTX idtx, int need)
00598         /*@modifies idtx @*/;
00599 
00605 /*@only@*/ /*@null@*/
00606 IDTX IDTXsort(/*@only@*/ /*@null@*/ IDTX idtx)
00607         /*@modifies idtx @*/;
00608 
00616 /*@only@*/ /*@null@*/
00617 IDTX IDTXload(rpmts ts, rpmTag tag, uint_32 rbtid)
00618         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00619         /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState  @*/;
00620 
00629 /*@only@*/ /*@null@*/
00630 IDTX IDTXglob(rpmts ts, const char * globstr, rpmTag tag, uint_32 rbtid)
00631         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00632         /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/;
00633 
00641 int rpmRollback(rpmts ts, QVA_t ia, /*@null@*/ const char ** argv)
00642         /*@globals rpmcliPackagesTotal, rpmGlobalMacroContext, h_errno,
00643                 fileSystem, internalState @*/
00644         /*@modifies ts, ia, rpmcliPackagesTotal, rpmGlobalMacroContext,
00645                 fileSystem, internalState @*/;
00646 
00649 /*@unchecked@*/
00650 extern struct poptOption rpmInstallPoptTable[];
00651 
00653 /* ==================================================================== */
00656 
00659 /*@unchecked@*/
00660 extern struct poptOption rpmDatabasePoptTable[];
00661 
00663 /* ==================================================================== */
00666 
00675 rpmRC rpmcliImportPubkey(const rpmts ts,
00676                 const unsigned char * pkt, ssize_t pktlen)
00677         /*@globals RPMVERSION, rpmGlobalMacroContext, h_errno,
00678                 fileSystem, internalState @*/
00679         /*@modifies ts, rpmGlobalMacroContext,
00680                 fileSystem, internalState @*/;
00681 
00685 /*@-typeuse@*/
00686 #if !defined(SWIG)
00687 typedef enum rpmSignFlags_e {
00688     RPMSIGN_NONE                = 0,
00689     RPMSIGN_CHK_SIGNATURE       = 'K',  
00690     RPMSIGN_NEW_SIGNATURE       = 'R',  
00691     RPMSIGN_ADD_SIGNATURE       = 'A',  
00692     RPMSIGN_DEL_SIGNATURE       = 'D',  
00693     RPMSIGN_IMPORT_PUBKEY       = 'I',  
00694 } rpmSignFlags;
00695 #endif
00696 /*@=typeuse@*/
00697 
00700 /*@unchecked@*/
00701 extern struct poptOption rpmSignPoptTable[];
00702 
00710 int rpmcliSign(rpmts ts, QVA_t qva, /*@null@*/ const char ** argv)
00711         /*@globals RPMVERSION, rpmGlobalMacroContext, h_errno,
00712                 fileSystem, internalState @*/
00713         /*@modifies ts, qva, rpmGlobalMacroContext,
00714                 fileSystem, internalState @*/;
00715 
00721 #if !defined(SWIG)
00722 struct rpmQVKArguments_s {
00723     rpmQVSources qva_source;    
00724     int         qva_sourceCount;
00725     rpmQueryFlags qva_flags;    
00726     rpmfileAttrs qva_fflags;    
00727 /*@only@*/ /*@null@*/
00728     rpmdbMatchIterator qva_mi;  
00729 /*@refccounted@*/ /*@relnull@*/
00730     rpmgi qva_gi;               
00731     rpmRC qva_rc;               
00733 /*@null@*/
00734     QVF_t qva_showPackage;      
00735     int qva_showOK;             
00736     int qva_showFAIL;           
00737 /*@null@*/
00738     QSpecF_t qva_specQuery;     
00739 /*@unused@*/
00740     int qva_verbose;            
00741 /*@only@*/ /*@null@*/
00742     const char * qva_queryFormat;
00743     int sign;                   
00744     int trust;                  
00745 /*@observer@*/
00746     const char * passPhrase;    
00747 /*@owned@*/ /*@null@*/
00748     const char * qva_prefix;    
00749     char qva_mode;
00759     char qva_char;              
00761     /* install/erase mode arguments */
00762     rpmdepFlags depFlags;
00763     rpmtransFlags transFlags;
00764     rpmprobFilterFlags probFilter;
00765     rpmInstallInterfaceFlags installInterfaceFlags;
00766     uint_32 arbtid;             
00767     uint_32 rbtid;              
00768     uint_32 *rbtidExcludes;     
00769     int numrbtidExcludes;       
00770     int numRelocations;
00771     int noDeps;
00772     int incldocs;
00773     int no_rollback_links;
00774 /*@owned@*/ /*@null@*/
00775     rpmRelocation relocations;
00776 
00777     /* database mode arguments */
00778     int init;                   
00779     int rebuild;                
00780     int verify;                 
00782     /* rollback vectors */
00783     int (*rbCheck) (rpmts ts);
00784     int (*rbOrder) (rpmts ts);
00785     int (*rbRun) (rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet);
00786 };
00787 #endif
00788 
00791 /*@unchecked@*/
00792 extern struct rpmQVKArguments_s rpmQVKArgs;
00793 
00796 /*@unchecked@*/
00797 extern struct rpmQVKArguments_s rpmIArgs;
00798 
00801 /*@unchecked@*/
00802 extern struct rpmQVKArguments_s rpmDBArgs;
00803 
00804 /* ==================================================================== */
00807 
00811 struct rpmBuildArguments_s {
00812     rpmQueryFlags qva_flags;    
00813     int buildAmount;            
00814 /*@observer@*/
00815     const char * passPhrase;    
00816 /*@only@*/ /*@null@*/
00817     const char * cookie;        
00818     int force;                  
00819     int noBuild;                
00820     int noDeps;                 
00821     int noLang;                 
00822     int shortCircuit;           
00823     int sign;                   
00824     int useCatalog;             
00825     char buildMode;             
00826     char buildChar;             
00827 /*@observer@*/ /*@null@*/
00828     const char * rootdir;
00829 };
00830 
00833 typedef struct rpmBuildArguments_s *    BTA_t;
00834 
00837 /*@unchecked@*/
00838 extern struct rpmBuildArguments_s       rpmBTArgs;
00839 
00842 /*@unchecked@*/
00843 extern struct poptOption                rpmBuildPoptTable[];
00844 
00847 #ifdef __cplusplus
00848 }
00849 #endif
00850 
00851 #endif  /* H_RPMCLI */

Generated on Fri Aug 31 12:48:24 2007 for rpm by  doxygen 1.5.1