|
Packit Service |
ff689b |
/*
|
|
Packit Service |
ff689b |
* Copyright (c) 2007-2008, Novell Inc.
|
|
Packit Service |
ff689b |
*
|
|
Packit Service |
ff689b |
* This program is licensed under the BSD license, read LICENSE.BSD
|
|
Packit Service |
ff689b |
* for further information
|
|
Packit Service |
ff689b |
*/
|
|
Packit Service |
ff689b |
|
|
Packit Service |
ff689b |
#include "queue.h"
|
|
Packit Service |
ff689b |
#include "repo.h"
|
|
Packit Service |
ff689b |
#include "chksum.h"
|
|
Packit Service |
ff689b |
|
|
Packit Service |
ff689b |
struct headerToken_s;
|
|
Packit Service |
ff689b |
|
|
Packit Service |
ff689b |
extern int repo_add_rpmdb(Repo *repo, Repo *ref, int flags);
|
|
Packit Service |
ff689b |
extern int repo_add_rpmdb_reffp(Repo *repo, FILE *reffp, int flags);
|
|
Packit Service |
ff689b |
extern Id repo_add_rpm(Repo *repo, const char *rpm, int flags);
|
|
Packit Service |
ff689b |
|
|
Packit Service |
ff689b |
#define RPMDB_REPORT_PROGRESS (1 << 8)
|
|
Packit Service |
ff689b |
#define RPM_ADD_WITH_PKGID (1 << 9)
|
|
Packit Service |
ff689b |
#define RPM_ADD_NO_FILELIST (1 << 10)
|
|
Packit Service |
ff689b |
#define RPM_ADD_NO_RPMLIBREQS (1 << 11)
|
|
Packit Service |
ff689b |
#define RPM_ADD_WITH_SHA1SUM (1 << 12)
|
|
Packit Service |
ff689b |
#define RPM_ADD_WITH_SHA256SUM (1 << 13)
|
|
Packit Service |
ff689b |
#define RPM_ADD_TRIGGERS (1 << 14)
|
|
Packit Service |
ff689b |
#define RPM_ADD_WITH_HDRID (1 << 15)
|
|
Packit Service |
ff689b |
#define RPM_ADD_WITH_LEADSIGID (1 << 16)
|
|
Packit Service |
ff689b |
#define RPM_ADD_WITH_CHANGELOG (1 << 17)
|
|
Packit Service |
ff689b |
#define RPM_ADD_FILTERED_FILELIST (1 << 18)
|
|
Packit Service |
ff689b |
#define RPMDB_KEEP_GPG_PUBKEY (1 << 19)
|
|
Packit Service |
ff689b |
|
|
Packit Service |
ff689b |
#define RPMDB_EMPTY_REFREPO (1 << 30) /* internal */
|
|
Packit Service |
ff689b |
|
|
Packit Service |
ff689b |
#define RPM_ITERATE_FILELIST_ONLYDIRS (1 << 0)
|
|
Packit Service |
ff689b |
#define RPM_ITERATE_FILELIST_WITHMD5 (1 << 1)
|
|
Packit Service |
ff689b |
#define RPM_ITERATE_FILELIST_WITHCOL (1 << 2)
|
|
Packit Service |
ff689b |
#define RPM_ITERATE_FILELIST_NOGHOSTS (1 << 3)
|
|
Packit Service |
ff689b |
|
|
Packit Service |
ff689b |
/* create and free internal state, rootdir is the rootdir of the rpm database */
|
|
Packit Service |
ff689b |
extern void *rpm_state_create(Pool *pool, const char *rootdir);
|
|
Packit Service |
ff689b |
extern void *rpm_state_free(void *rpmstate);
|
|
Packit Service |
ff689b |
|
|
Packit Service |
ff689b |
/* return all matching rpmdbids */
|
|
Packit Service |
ff689b |
extern int rpm_installedrpmdbids(void *rpmstate, const char *index, const char *match, Queue *rpmdbidq);
|
|
Packit Service |
ff689b |
/* stat the package database */
|
|
Packit Service |
ff689b |
extern int rpm_stat_database(void *rpmstate, void *stb);
|
|
Packit Service |
ff689b |
/* hash the state of the package database */
|
|
Packit Service |
ff689b |
extern int rpm_hash_database_state(void *rpmstate, Chksum *chk);
|
|
Packit Service |
ff689b |
|
|
Packit Service |
ff689b |
/* return handles to a rpm header */
|
|
Packit Service |
ff689b |
extern void *rpm_byrpmdbid(void *rpmstate, Id rpmdbid);
|
|
Packit Service |
ff689b |
extern void *rpm_byfp(void *rpmstate, FILE *fp, const char *name);
|
|
Packit Service |
ff689b |
extern void *rpm_byrpmh(void *rpmstate, struct headerToken_s *h);
|
|
Packit Service |
ff689b |
|
|
Packit Service |
ff689b |
/* operations on a rpm header handle */
|
|
Packit Service |
ff689b |
|
|
Packit Service |
ff689b |
struct filelistinfo {
|
|
Packit Service |
ff689b |
unsigned int dirlen;
|
|
Packit Service |
ff689b |
unsigned int diridx;
|
|
Packit Service |
ff689b |
const char *digest;
|
|
Packit Service |
ff689b |
unsigned int mode;
|
|
Packit Service |
ff689b |
unsigned int color;
|
|
Packit Service |
ff689b |
};
|
|
Packit Service |
ff689b |
|
|
Packit Service |
ff689b |
extern char *rpm_query(void *rpmhandle, Id what);
|
|
Packit Service |
ff689b |
extern unsigned long long rpm_query_num(void *rpmhandle, Id what, unsigned long long notfound);
|
|
Packit Service |
ff689b |
extern void rpm_iterate_filelist(void *rpmhandle, int flags, void (*cb)(void *, const char *, struct filelistinfo *), void *cbdata);
|
|
Packit Service |
ff689b |
extern Id repo_add_rpm_handle(Repo *repo, void *rpmhandle, int flags);
|