rpm  4.9.1.3
rpmdb.h
Go to the documentation of this file.
00001 #ifndef H_RPMDB
00002 #define H_RPMDB
00003 
00009 #include <rpm/rpmtypes.h>
00010 #include <rpm/rpmsw.h>
00011 
00012 #ifdef __cplusplus
00013 extern "C" {
00014 #endif
00015 
00019 typedef enum rpmMireMode_e {
00020     RPMMIRE_DEFAULT     = 0,    
00021     RPMMIRE_STRCMP      = 1,    
00022     RPMMIRE_REGEX       = 2,    
00023     RPMMIRE_GLOB        = 3     
00024 } rpmMireMode;
00025 
00026 typedef enum rpmdbOpX_e {
00027     RPMDB_OP_DBGET              = 1,
00028     RPMDB_OP_DBPUT              = 2,
00029     RPMDB_OP_DBDEL              = 3,
00030     RPMDB_OP_MAX                = 4
00031 } rpmdbOpX;
00032 
00039 rpmop rpmdbOp(rpmdb db, rpmdbOpX opx);
00040 
00046 int rpmdbOpenAll (rpmdb db);
00047 
00054 int rpmdbCountPackages(rpmdb db, const char * name);
00055 
00061 unsigned int rpmdbGetIteratorOffset(rpmdbMatchIterator mi);
00062 
00068 int rpmdbGetIteratorCount(rpmdbMatchIterator mi);
00069 
00072 unsigned int rpmdbGetIteratorFileNum(rpmdbMatchIterator mi);
00073 
00081 int rpmdbAppendIterator(rpmdbMatchIterator mi,
00082                 const int * hdrNums, int nHdrNums);
00083 
00092 int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTagVal tag,
00093                 rpmMireMode mode, const char * pattern);
00094 
00102 int rpmdbSetIteratorRewrite(rpmdbMatchIterator mi, int rewrite);
00103 
00110 int rpmdbSetIteratorModified(rpmdbMatchIterator mi, int modified);
00111 
00119 int rpmdbSetHdrChk(rpmdbMatchIterator mi, rpmts ts,
00120         rpmRC (*hdrchk) (rpmts ts, const void * uh, size_t uc, char ** msg));
00121 
00130 rpmdbMatchIterator rpmdbInitIterator(rpmdb db, rpmDbiTagVal rpmtag,
00131                         const void * keyp, size_t keylen);
00132 
00138 Header rpmdbNextIterator(rpmdbMatchIterator mi);
00139 
00143 int rpmdbCheckSignals(void);
00144 
00153 int rpmdbCheckTerminate(int terminate);
00154 
00160 rpmdbMatchIterator rpmdbFreeIterator(rpmdbMatchIterator mi);
00161 
00168 rpmdbIndexIterator rpmdbIndexIteratorInit(rpmdb db, rpmDbiTag rpmtag);
00169 
00178 int rpmdbIndexIteratorNext(rpmdbIndexIterator ii, const void ** key, size_t * keylen);
00179 
00185 unsigned int rpmdbIndexIteratorNumPkgs(rpmdbIndexIterator ii);
00186 
00193 unsigned int rpmdbIndexIteratorPkgOffset(rpmdbIndexIterator ii, unsigned int nr);
00194 
00201 unsigned int rpmdbIndexIteratorTagNum(rpmdbIndexIterator ii, unsigned int nr);
00202 
00208 rpmdbIndexIterator rpmdbIndexIteratorFree(rpmdbIndexIterator ii);
00209 
00210 
00211 #ifdef __cplusplus
00212 }
00213 #endif
00214 
00215 #endif  /* H_RPMDB */