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

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 rpmdb rpmdbLink(rpmdb db);
00047 
00056 int rpmdbOpen (const char * prefix, rpmdb * dbp,
00057                 int mode, int perms);
00058 
00065 int rpmdbInit(const char * prefix, int perms);
00066 
00072 int rpmdbVerify(const char * prefix);
00073 
00079 int rpmdbClose (rpmdb db);
00080 
00086 int rpmdbSync (rpmdb db);
00087 
00093 int rpmdbOpenAll (rpmdb db);
00094 
00101 int rpmdbCountPackages(rpmdb db, const char * name);
00102 
00108 unsigned int rpmdbGetIteratorOffset(rpmdbMatchIterator mi);
00109 
00115 int rpmdbGetIteratorCount(rpmdbMatchIterator mi);
00116 
00119 unsigned int rpmdbGetIteratorFileNum(rpmdbMatchIterator mi);
00120 
00128 int rpmdbAppendIterator(rpmdbMatchIterator mi,
00129                 const int * hdrNums, int nHdrNums);
00130 
00139 int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTagVal tag,
00140                 rpmMireMode mode, const char * pattern);
00141 
00149 int rpmdbSetIteratorRewrite(rpmdbMatchIterator mi, int rewrite);
00150 
00157 int rpmdbSetIteratorModified(rpmdbMatchIterator mi, int modified);
00158 
00166 int rpmdbSetHdrChk(rpmdbMatchIterator mi, rpmts ts,
00167         rpmRC (*hdrchk) (rpmts ts, const void * uh, size_t uc, char ** msg));
00168 
00177 rpmdbMatchIterator rpmdbInitIterator(rpmdb db, rpmDbiTagVal rpmtag,
00178                         const void * keyp, size_t keylen);
00179 
00185 Header rpmdbNextIterator(rpmdbMatchIterator mi);
00186 
00190 int rpmdbCheckSignals(void);
00191 
00200 int rpmdbCheckTerminate(int terminate);
00201 
00207 rpmdbMatchIterator rpmdbFreeIterator(rpmdbMatchIterator mi);
00208 
00216 int rpmdbRebuild(const char * prefix, rpmts ts,
00217                 rpmRC (*hdrchk) (rpmts ts, const void *uh, size_t uc, char ** msg));
00218 
00219 
00220 
00221 
00228 rpmdbIndexIterator rpmdbIndexIteratorInit(rpmdb db, rpmDbiTag rpmtag);
00229 
00238 int rpmdbIndexIteratorNext(rpmdbIndexIterator ii, const void ** key, size_t * keylen);
00239 
00245 unsigned int rpmdbIndexIteratorNumPkgs(rpmdbIndexIterator ii);
00246 
00253 unsigned int rpmdbIndexIteratorPkgOffset(rpmdbIndexIterator ii, unsigned int nr);
00254 
00261 unsigned int rpmdbIndexIteratorTagNum(rpmdbIndexIterator ii, unsigned int nr);
00262 
00268 rpmdbIndexIterator rpmdbIndexIteratorFree(rpmdbIndexIterator ii);
00269 
00270 
00271 #ifdef __cplusplus
00272 }
00273 #endif
00274 
00275 #endif  /* H_RPMDB */

Generated on Thu Nov 18 2010 for rpm by  doxygen 1.7.1