- Main Page
- Related Pages
- Modules
- Data Structures
- Files

# 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
    00016 extern int _rpmdb_debug;
    00017
    00021 typedef enum rpmMireMode_e {
    00022     RPMMIRE_DEFAULT     = 0,
    00023     RPMMIRE_STRCMP      = 1,
    00024     RPMMIRE_REGEX       = 2,
    00025     RPMMIRE_GLOB        = 3
    00026 } rpmMireMode;
    00027
    00028 typedef enum rpmdbOpX_e {
    00029     RPMDB_OP_DBGET              = 1,
    00030     RPMDB_OP_DBPUT              = 2,
    00031     RPMDB_OP_DBDEL              = 3,
    00032     RPMDB_OP_MAX                = 4
    00033 } rpmdbOpX;
    00034
    00041 rpmop rpmdbOp(rpmdb db, rpmdbOpX opx);
    00042
    00049 int rpmdbSetChrootDone(rpmdb db, int chrootDone);
    00050
    00057 rpmdb rpmdbUnlink (rpmdb db, const char * msg);
    00058
    00065 rpmdb rpmdbLink (rpmdb db, const char * msg);
    00066
    00075 int rpmdbOpen (const char * prefix, rpmdb * dbp,
    00076                 int mode, int perms);
    00077
    00084 int rpmdbInit(const char * prefix, int perms);
    00085
    00091 int rpmdbVerify(const char * prefix);
    00092
    00099 int rpmdbCloseDBI(rpmdb db, rpmTag rpmtag);
    00100
    00106 int rpmdbClose (rpmdb db);
    00107
    00113 int rpmdbSync (rpmdb db);
    00114
    00120 int rpmdbOpenAll (rpmdb db);
    00121
    00128 int rpmdbCountPackages(rpmdb db, const char * name);
    00129
    00135 unsigned int rpmdbGetIteratorOffset(rpmdbMatchIterator mi);
    00136
    00142 int rpmdbGetIteratorCount(rpmdbMatchIterator mi);
    00143
    00146 unsigned int rpmdbGetIteratorFileNum(rpmdbMatchIterator mi);
    00147
    00155 int rpmdbAppendIterator(rpmdbMatchIterator mi,
    00156                 const int * hdrNums, int nHdrNums);
    00157
    00167 int rpmdbPruneIterator(rpmdbMatchIterator mi,
    00168                 int * hdrNums, int nHdrNums, int sorted);
    00169
    00178 int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTag tag,
    00179                 rpmMireMode mode, const char * pattern);
    00180
    00188 int rpmdbSetIteratorRewrite(rpmdbMatchIterator mi, int rewrite);
    00189
    00196 int rpmdbSetIteratorModified(rpmdbMatchIterator mi, int modified);
    00197
    00205 int rpmdbSetHdrChk(rpmdbMatchIterator mi, rpmts ts,
    00206         rpmRC (*hdrchk) (rpmts ts, const void * uh, size_t uc, char ** msg));
    00207
    00216 rpmdbMatchIterator rpmdbInitIterator(rpmdb db, rpmTag rpmtag,
    00217                         const void * keyp, size_t keylen);
    00218
    00224 Header rpmdbNextIterator(rpmdbMatchIterator mi);
    00225
    00229 int rpmdbCheckSignals(void);
    00230
    00239 int rpmdbCheckTerminate(int terminate);
    00240
    00246 rpmdbMatchIterator rpmdbFreeIterator(rpmdbMatchIterator mi);
    00247
    00257 int rpmdbAdd(rpmdb db, int iid, Header h, rpmts ts,
    00258              rpmRC (*hdrchk) (rpmts ts, const void *uh, size_t uc, char ** msg));
    00259
    00269 int rpmdbRemove(rpmdb db, int rid, unsigned int hdrNum,
    00270                 rpmts ts,
    00271                 rpmRC (*hdrchk) (rpmts ts, const void *uh, size_t uc, char ** msg));
    00272
    00280 int rpmdbRebuild(const char * prefix, rpmts ts,
    00281                 rpmRC (*hdrchk) (rpmts ts, const void *uh, size_t uc, char ** msg));
    00282
    00283 #ifdef __cplusplus
    00284 }
    00285 #endif
    00286
    00287 #endif  /* H_RPMDB */