• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

lib/rpmcli.h

Go to the documentation of this file.
00001 #ifndef H_RPMCLI
00002 #define H_RPMCLI
00003 
00008 #include "popt.h"
00009 #include "argv.h"
00010 #include "rpmcb.h"
00011 #include "rpmmacro.h"
00012 #include "rpmurl.h"
00013 #include "rpmlib.h"
00014 #include "rpmps.h"
00015 #include "rpmte.h"
00016 #include "rpmts.h"
00017 
00021 /*@-redecl@*/
00022 /*@unchecked@*/
00023 extern int _noDirTokens;
00024 /*@=redecl@*/
00025 
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029 
00033 /*@unchecked@*/
00034 extern struct poptOption                rpmcliAllPoptTable[];
00035 
00036 /*@unchecked@*/
00037 extern int ftsOpts;
00038 
00039 /*@unchecked@*/
00040 extern struct poptOption                rpmcliFtsPoptTable[];
00041 
00042 /*@unchecked@*/
00043 extern int global_depFlags;
00044 
00045 /*@unchecked@*/
00046 extern struct poptOption                rpmcliDepFlagsPoptTable[];
00047 
00048 /*@unchecked@*/ /*@observer@*/ /*@null@*/
00049 extern const char * rpmcliPipeOutput;
00050 
00051 /*@unchecked@*/ /*@observer@*/ /*@null@*/
00052 extern const char * rpmcliRootDir;
00053 
00054 /*@unchecked@*/ /*@observer@*/ /*@null@*/
00055 extern const char * rpmcliTargets;
00056 /*@=redecl@*/
00057 
00065 /*@null@*/
00066 poptContext
00067 rpmcliInit(int argc, char *const argv[], struct poptOption * optionsTable)
00068         /*@globals rpmCLIMacroContext, rpmGlobalMacroContext, h_errno, stderr, 
00069                 fileSystem, internalState @*/
00070         /*@modifies rpmCLIMacroContext, rpmGlobalMacroContext, stderr, 
00071                 fileSystem, internalState @*/;
00072 
00077 /*@mayexit@*/
00078 void rpmcliConfigured(void)
00079         /*@globals rpmCLIMacroContext,
00080                 rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00081         /*@modifies rpmCLIMacroContext, rpmGlobalMacroContext,
00082                 fileSystem, internalState @*/;
00083 
00089 poptContext
00090 rpmcliFini(/*@only@*/ /*@null@*/ poptContext optCon)
00091         /*@globals rpmTags, rpmGlobalMacroContext,
00092                 fileSystem, internalState @*/
00093         /*@modifies optCon, rpmTags, rpmGlobalMacroContext,
00094                 fileSystem, internalState @*/;
00095 
00099 #define RPMCLI_POPT_NODEPS              -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     RPMQV_SOURCEPKGID   
00136 } rpmQVSources;
00137 
00141 typedef enum rpmVerifyAttrs_e {
00142     RPMVERIFY_NONE      = 0,            
00143     RPMVERIFY_FDIGEST   = (1 << 0),     
00144     RPMVERIFY_FILESIZE  = (1 << 1),     
00145     RPMVERIFY_LINKTO    = (1 << 2),     
00146     RPMVERIFY_USER      = (1 << 3),     
00147     RPMVERIFY_GROUP     = (1 << 4),     
00148     RPMVERIFY_MTIME     = (1 << 5),     
00149     RPMVERIFY_MODE      = (1 << 6),     
00150     RPMVERIFY_RDEV      = (1 << 7),     
00151         /* bits 8-14 unused, reserved for rpmVerifyAttrs */
00152     RPMVERIFY_CONTEXTS  = (1 << 15),    
00153         /* bits 16-22 used in rpmVerifyFlags */
00154         /* bits 23-27 used in rpmQueryFlags */
00155     RPMVERIFY_READLINKFAIL= (1 << 28),  
00156     RPMVERIFY_READFAIL  = (1 << 29),    
00157     RPMVERIFY_LSTATFAIL = (1 << 30),    
00158     RPMVERIFY_LGETFILECONFAIL   = (1 << 31)     
00159 } rpmVerifyAttrs;
00160 #define RPMVERIFY_MD5   RPMVERIFY_FDIGEST
00161 #define RPMVERIFY_ALL           ~(RPMVERIFY_NONE)
00162 #define RPMVERIFY_FAILURES      \
00163   (RPMVERIFY_LSTATFAIL|RPMVERIFY_READFAIL|RPMVERIFY_READLINKFAIL|RPMVERIFY_LGETFILECONFAIL)
00164 
00169 typedef enum rpmQueryFlags_e {
00170 /*@-enummemuse@*/
00171     QUERY_FOR_DEFAULT   = 0,            
00172     QUERY_FDIGEST       = (1 << 0),     
00173     QUERY_SIZE          = (1 << 1),     
00174     QUERY_LINKTO        = (1 << 2),     
00175     QUERY_USER          = (1 << 3),     
00176     QUERY_GROUP         = (1 << 4),     
00177     QUERY_MTIME         = (1 << 5),     
00178     QUERY_MODE          = (1 << 6),     
00179     QUERY_RDEV          = (1 << 7),     
00180         /* bits 8-14 unused, reserved for rpmVerifyAttrs */
00181     QUERY_CONTEXTS      = (1 << 15),    
00182     QUERY_FILES         = (1 << 16),    
00183     QUERY_DEPS          = (1 << 17),    
00184     QUERY_SCRIPT        = (1 << 18),    
00185     QUERY_DIGEST        = (1 << 19),    
00186     QUERY_SIGNATURE     = (1 << 20),    
00187     QUERY_PATCHES       = (1 << 21),    
00188     QUERY_HDRCHK        = (1 << 22),    
00189 /*@=enummemuse@*/
00190     QUERY_FOR_LIST      = (1 << 23),    
00191     QUERY_FOR_STATE     = (1 << 24),    
00192     QUERY_FOR_DOCS      = (1 << 25),    
00193     QUERY_FOR_CONFIG    = (1 << 26),    
00194     QUERY_FOR_DUMPFILES = (1 << 27)     
00195 } rpmQueryFlags;
00196 
00197 #define _QUERY_FOR_BITS \
00198    (QUERY_FOR_LIST|QUERY_FOR_STATE|QUERY_FOR_DOCS|QUERY_FOR_CONFIG|\
00199     QUERY_FOR_DUMPFILES)
00200 
00204 /*@unchecked@*/
00205 extern rpmQueryFlags rpmcliQueryFlags;
00206 
00211 typedef enum rpmVerifyFlags_e {
00212 /*@-enummemuse@*/
00213     VERIFY_DEFAULT      = 0,            
00214 /*@=enummemuse@*/
00215     VERIFY_FDIGEST      = (1 << 0),     
00216     VERIFY_SIZE         = (1 << 1),     
00217     VERIFY_LINKTO       = (1 << 2),     
00218     VERIFY_USER         = (1 << 3),     
00219     VERIFY_GROUP        = (1 << 4),     
00220     VERIFY_MTIME        = (1 << 5),     
00221     VERIFY_MODE         = (1 << 6),     
00222     VERIFY_RDEV         = (1 << 7),     
00223         /* bits 8-14 unused, reserved for rpmVerifyAttrs */
00224     VERIFY_CONTEXTS     = (1 << 15),    
00225     VERIFY_FILES        = (1 << 16),    
00226     VERIFY_DEPS         = (1 << 17),    
00227     VERIFY_SCRIPT       = (1 << 18),    
00228     VERIFY_DIGEST       = (1 << 19),    
00229     VERIFY_SIGNATURE    = (1 << 20),    
00230     VERIFY_PATCHES      = (1 << 21),    
00231     VERIFY_HDRCHK       = (1 << 22),    
00232 /*@-enummemuse@*/
00233     VERIFY_FOR_LIST     = (1 << 23),    
00234     VERIFY_FOR_STATE    = (1 << 24),    
00235     VERIFY_FOR_DOCS     = (1 << 25),    
00236     VERIFY_FOR_CONFIG   = (1 << 26),    
00237     VERIFY_FOR_DUMPFILES= (1 << 27)     
00238 /*@=enummemuse@*/
00239         /* bits 28-31 used in rpmVerifyAttrs */
00240 } rpmVerifyFlags;
00241 
00242 #define VERIFY_ATTRS    \
00243   ( VERIFY_FDIGEST | VERIFY_SIZE | VERIFY_LINKTO | VERIFY_USER | VERIFY_GROUP | \
00244     VERIFY_MTIME | VERIFY_MODE | VERIFY_RDEV | VERIFY_CONTEXTS )
00245 #define VERIFY_ALL      \
00246   ( VERIFY_ATTRS | VERIFY_FILES | VERIFY_DEPS | VERIFY_SCRIPT | VERIFY_DIGEST |\
00247     VERIFY_SIGNATURE | VERIFY_HDRCHK )
00248 
00251 typedef struct rpmQVKArguments_s * QVA_t;
00252 
00261 typedef int (*QVF_t) (QVA_t qva, rpmts ts, Header h)
00262         /*@globals fileSystem @*/
00263         /*@modifies qva, ts, fileSystem @*/;
00264 
00273 typedef int (*QSpecF_t) (rpmts ts, QVA_t qva, const char * arg)
00274         /*@globals rpmGlobalMacroContext, h_errno,
00275                 fileSystem, internalState @*/
00276         /*@modifies ts, qva, rpmGlobalMacroContext,
00277                 fileSystem, internalState @*/;
00278 
00281 /*@unchecked@*/
00282 extern struct poptOption rpmQVSourcePoptTable[];
00283 
00286 /*@unchecked@*/
00287 extern int specedit;
00288 
00291 /*@unchecked@*/
00292 extern struct poptOption rpmQueryPoptTable[];
00293 
00296 /*@unchecked@*/
00297 extern struct poptOption rpmVerifyPoptTable[];
00298 
00310 int rpmcliShowMatches(QVA_t qva, rpmts ts)
00311         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00312         /*@modifies qva, rpmGlobalMacroContext, fileSystem, internalState @*/;
00313 
00326 int rpmQueryVerify(QVA_t qva, rpmts ts, const char * arg)
00327         /*@globals rpmGlobalMacroContext, h_errno,
00328                 fileSystem, internalState @*/
00329         /*@modifies qva, ts, rpmGlobalMacroContext,
00330                 fileSystem, internalState @*/;
00331 
00340 int showQueryPackage(QVA_t qva, rpmts ts, Header h)
00341         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00342         /*@modifies ts, h, rpmGlobalMacroContext, fileSystem, internalState @*/;
00343 
00351 int rpmcliArgIter(rpmts ts, QVA_t qva, /*@null@*/ ARGV_t argv)
00352         /*@globals ftsOpts, rpmGlobalMacroContext, h_errno,
00353                 fileSystem, internalState @*/
00354         /*@modifies ts, qva, ftsOpts, rpmGlobalMacroContext,
00355                 fileSystem, internalState @*/;
00356 
00365 int rpmcliQuery(rpmts ts, QVA_t qva, /*@null@*/ const char ** argv)
00366         /*@globals rpmGlobalMacroContext, h_errno,
00367                 fileSystem, internalState @*/
00368         /*@modifies ts, qva, rpmGlobalMacroContext,
00369                 fileSystem, internalState @*/;
00370 
00380 /*@-incondefs@*/
00381 int rpmVerifyFile(const rpmts ts, rpmfi fi,
00382                 /*@out@*/ rpmVerifyAttrs * res, rpmVerifyAttrs omitMask)
00383         /*@globals h_errno, fileSystem, internalState @*/
00384         /*@modifies ts, fi, *res, fileSystem, internalState @*/
00385         /*@requires maxSet(res) >= 0 @*/;
00386 /*@=incondefs@*/
00387 
00395 int showVerifyPackage(QVA_t qva, rpmts ts, Header h)
00396         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00397         /*@modifies ts, h, rpmGlobalMacroContext, fileSystem, internalState @*/;
00398 
00407 int rpmVerifySignatures(QVA_t qva, rpmts ts, FD_t fd, const char * fn)
00408         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00409         /*@modifies qva, ts, fd, rpmGlobalMacroContext, h_errno,
00410                 fileSystem, internalState @*/;
00411 
00420 int rpmcliVerify(rpmts ts, QVA_t qva, /*@null@*/ const char ** argv)
00421         /*@globals rpmGlobalMacroContext, h_errno,
00422                 fileSystem, internalState @*/
00423         /*@modifies ts, qva, rpmGlobalMacroContext,
00424                 fileSystem, internalState @*/;
00425 
00427 /* ==================================================================== */
00430 /* --- install/upgrade/erase modes */
00431 
00435 typedef enum rpmInstallInterfaceFlags_e {
00436     INSTALL_NONE        = 0,
00437     INSTALL_PERCENT     = (1 <<  0),    
00438     INSTALL_HASH        = (1 <<  1),    
00439     INSTALL_NODEPS      = (1 <<  2),    
00440     INSTALL_NOORDER     = (1 <<  3),    
00441     INSTALL_LABEL       = (1 <<  4),    
00442     INSTALL_UPGRADE     = (1 <<  5),    
00443     INSTALL_FRESHEN     = (1 <<  6),    
00444     INSTALL_INSTALL     = (1 <<  7),    
00445     INSTALL_ERASE       = (1 <<  8),    
00446     INSTALL_ALLMATCHES  = (1 <<  9)     
00447 } rpmInstallInterfaceFlags;
00448 
00449 /*@-redecl@*/
00450 /*@unchecked@*/
00451 extern int rpmcliPackagesTotal;
00452 /*@=redecl@*/
00453 /*@unchecked@*/
00454 extern int rpmcliHashesCurrent;
00455 /*@unchecked@*/
00456 extern int rpmcliHashesTotal;
00457 /*@unchecked@*/
00458 extern uint64_t rpmcliProgressCurrent;
00459 /*@unchecked@*/
00460 extern uint64_t rpmcliProgressTotal;
00461 
00478 /*@null@*/
00479 void * rpmShowProgress(/*@null@*/ const void * arg,
00480                 const rpmCallbackType what,
00481                 const uint64_t amount,
00482                 const uint64_t total,
00483                 /*@null@*/ fnpyKey key,
00484                 /*@null@*/ void * data)
00485         /*@globals rpmcliHashesCurrent,
00486                 rpmcliProgressCurrent, rpmcliProgressTotal,
00487                 h_errno, fileSystem, internalState @*/
00488         /*@modifies rpmcliHashesCurrent,
00489                 rpmcliProgressCurrent, rpmcliProgressTotal,
00490                 fileSystem, internalState @*/;
00491 
00500 int rpmInstallSource(rpmts ts, const char * arg,
00501                 /*@null@*/ /*@out@*/ const char ** specFilePtr,
00502                 /*@null@*/ /*@out@*/ const char ** cookie)
00503         /*@globals rpmGlobalMacroContext, h_errno,
00504                 fileSystem, internalState@*/
00505         /*@modifies ts, *specFilePtr, *cookie, rpmGlobalMacroContext,
00506                 fileSystem, internalState @*/;
00507 
00515 int rpmcliInstallProblems(rpmts ts, /*@null@*/ const char * msg, int rc)
00516         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00517         /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/;
00518 
00524 int rpmcliInstallSuggests(rpmts ts)
00525         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00526         /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/;
00527 
00533 int rpmcliInstallCheck(rpmts ts)
00534         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00535         /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/;
00536 
00542 int rpmcliInstallOrder(rpmts ts)
00543         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00544         /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/;
00545 
00553 int rpmcliInstallRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet)
00554         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00555         /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/;
00556 
00565 int rpmcliInstall(rpmts ts, QVA_t ia, /*@null@*/ const char ** argv)
00566         /*@globals rpmcliPackagesTotal, rpmGlobalMacroContext, h_errno,
00567                 fileSystem, internalState@*/
00568         /*@modifies ts, ia, rpmcliPackagesTotal, rpmGlobalMacroContext,
00569                 fileSystem, internalState @*/;
00570 
00578 int rpmErase(rpmts ts, QVA_t ia, /*@null@*/ const char ** argv)
00579         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00580         /*@modifies ts, ia, rpmGlobalMacroContext,
00581                 fileSystem, internalState @*/;
00582 
00586 /*@-fielduse@*/
00587 typedef /*@abstract@*/ struct IDT_s * IDT;
00588 #if !defined(SWIG)
00589 struct IDT_s {
00590     int done;                   
00591     unsigned int instance;      
00592 /*@owned@*/ /*@null@*/
00593     const char * key;           
00594     Header h;                   
00595     union {
00596         uint32_t u32;           
00597     } val;
00598 };
00599 #endif
00600 /*@=fielduse@*/
00601 
00605 typedef /*@abstract@*/ struct IDTindex_s * IDTX;
00606 #if !defined(SWIG)
00607 struct IDTindex_s {
00608     int delta;                  
00609     int size;                   
00610     int alloced;                
00611     int nidt;                   
00612 /*@only@*/ /*@null@*/
00613     IDT idt;                    
00614 };
00615 #endif
00616 
00622 /*@null@*/
00623 IDTX IDTXfree(/*@only@*/ /*@null@*/ IDTX idtx)
00624         /*@modifies idtx @*/;
00625 
00630 /*@only@*/
00631 IDTX IDTXnew(void)
00632         /*@*/;
00633 
00640 /*@only@*/ /*@null@*/
00641 IDTX IDTXgrow(/*@only@*/ /*@null@*/ IDTX idtx, int need)
00642         /*@modifies idtx @*/;
00643 
00649 /*@only@*/ /*@null@*/
00650 IDTX IDTXsort(/*@only@*/ /*@null@*/ IDTX idtx)
00651         /*@modifies idtx @*/;
00652 
00660 /*@only@*/ /*@null@*/
00661 IDTX IDTXload(rpmts ts, rpmTag tag, uint32_t rbtid)
00662         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00663         /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState  @*/;
00664 
00673 /*@only@*/ /*@null@*/
00674 IDTX IDTXglob(rpmts ts, const char * globstr, rpmTag tag, uint32_t rbtid)
00675         /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
00676         /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/;
00677 
00685 int rpmRollback(rpmts ts, QVA_t ia, /*@null@*/ const char ** argv)
00686         /*@globals rpmcliPackagesTotal, rpmGlobalMacroContext, h_errno,
00687                 fileSystem, internalState @*/
00688         /*@modifies ts, ia, rpmcliPackagesTotal, rpmGlobalMacroContext,
00689                 fileSystem, internalState @*/;
00690 
00693 /*@unchecked@*/
00694 extern struct poptOption rpmInstallPoptTable[];
00695 
00697 /* ==================================================================== */
00700 
00703 /*@unchecked@*/
00704 extern struct poptOption rpmDatabasePoptTable[];
00705 
00707 /* ==================================================================== */
00710 
00719 rpmRC rpmcliImportPubkey(const rpmts ts,
00720                 const unsigned char * pkt, ssize_t pktlen)
00721         /*@globals RPMVERSION, rpmGlobalMacroContext, h_errno,
00722                 fileSystem, internalState @*/
00723         /*@modifies ts, rpmGlobalMacroContext,
00724                 fileSystem, internalState @*/;
00725 
00729 /*@-typeuse@*/
00730 #if !defined(SWIG)
00731 typedef enum rpmSignFlags_e {
00732     RPMSIGN_NONE                = 0,
00733     RPMSIGN_CHK_SIGNATURE       = 'K',  
00734     RPMSIGN_NEW_SIGNATURE       = 'R',  
00735     RPMSIGN_ADD_SIGNATURE       = 'A',  
00736     RPMSIGN_DEL_SIGNATURE       = 'D',  
00737     RPMSIGN_IMPORT_PUBKEY       = 'I',  
00738 } rpmSignFlags;
00739 #endif
00740 /*@=typeuse@*/
00741 
00744 /*@unchecked@*/
00745 extern struct poptOption rpmSignPoptTable[];
00746 
00754 int rpmcliSign(rpmts ts, QVA_t qva, /*@null@*/ const char ** argv)
00755         /*@globals RPMVERSION, rpmGlobalMacroContext, h_errno,
00756                 fileSystem, internalState @*/
00757         /*@modifies ts, qva, rpmGlobalMacroContext,
00758                 fileSystem, internalState @*/;
00759 
00765 #if !defined(SWIG)
00766 struct rpmQVKArguments_s {
00767     rpmQVSources qva_source;    
00768     int         qva_sourceCount;
00769     rpmQueryFlags qva_flags;    
00770     rpmfileAttrs qva_fflags;    
00771 /*@only@*/ /*@null@*/
00772     rpmdbMatchIterator qva_mi;  
00773 /*@refccounted@*/ /*@relnull@*/
00774     rpmgi qva_gi;               
00775     rpmRC qva_rc;               
00777 /*@null@*/
00778     QVF_t qva_showPackage;      
00779     int qva_showOK;             
00780     int qva_showFAIL;           
00781 /*@null@*/
00782     QSpecF_t qva_specQuery;     
00783 /*@unused@*/
00784     int qva_verbose;            
00785 /*@only@*/ /*@null@*/
00786     const char * qva_queryFormat;
00787     int sign;                   
00788     int trust;                  
00789 /*@observer@*/
00790     const char * passPhrase;    
00791 /*@owned@*/ /*@null@*/
00792     const char * qva_prefix;    
00793     char qva_mode;
00803     char qva_char;              
00805     /* install/erase mode arguments */
00806     rpmdepFlags depFlags;
00807     rpmtransFlags transFlags;
00808     rpmprobFilterFlags probFilter;
00809     rpmInstallInterfaceFlags installInterfaceFlags;
00810     uint32_t arbtid;            
00811     uint32_t rbtid;             
00812     uint32_t *rbtidExcludes;    
00813     int numrbtidExcludes;       
00814     int numRelocations;
00815     int noDeps;
00816     int incldocs;
00817     int no_rollback_links;
00818 /*@owned@*/ /*@null@*/
00819     rpmRelocation relocations;
00820 
00821     /* database mode arguments */
00822     int init;                   
00823     int rebuild;                
00824     int verify;                 
00826     /* rollback vectors */
00827     int (*rbCheck) (rpmts ts);
00828     int (*rbOrder) (rpmts ts);
00829     int (*rbRun) (rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet);
00830 };
00831 #endif
00832 
00835 /*@unchecked@*/
00836 extern struct rpmQVKArguments_s rpmQVKArgs;
00837 
00840 /*@unchecked@*/
00841 extern struct rpmQVKArguments_s rpmIArgs;
00842 
00845 /*@unchecked@*/
00846 extern struct rpmQVKArguments_s rpmDBArgs;
00847 
00848 /* ==================================================================== */
00851 
00855 struct rpmBuildArguments_s {
00856     rpmQueryFlags qva_flags;    
00857     int buildAmount;            
00858 /*@observer@*/
00859     const char * passPhrase;    
00860 /*@only@*/ /*@null@*/
00861     const char * cookie;        
00862     int noBuild;                
00863     int noDeps;                 
00864     int noLang;                 
00865     int shortCircuit;           
00866     int sign;                   
00867     int useCatalog;             
00868     char buildMode;             
00869     char buildChar;             
00870 /*@observer@*/ /*@null@*/
00871     const char * rootdir;
00872 };
00873 
00876 typedef struct rpmBuildArguments_s *    BTA_t;
00877 
00880 /*@unchecked@*/
00881 extern struct rpmBuildArguments_s       rpmBTArgs;
00882 
00885 /*@unchecked@*/
00886 extern struct poptOption                rpmBuildPoptTable[];
00887 
00890 #ifdef __cplusplus
00891 }
00892 #endif
00893 
00894 #endif  /* H_RPMCLI */

Generated on Mon Nov 29 2010 05:18:44 for rpm by  doxygen 1.7.2