Blame ext/repo_rpmdb.h

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);