* @return RPMRC_OK on success
*/
static rpmRC processMetadataFile(Package pkg, FileList fl, const char * fileURL,
- rpmTag tag)
+ rpm_tag_t tag)
{
const char * buildURL = "%{_builddir}/%{?buildsubdir}/";
const char * fn = NULL;
void initSourceHeader(rpmSpec spec)
{
HeaderIterator hi;
- int32_t tag, type;
+ int32_t type;
+ rpm_tag_t tag;
rpm_count_t count;
const void * ptr;
/**
*/
-static int addFileToTag(rpmSpec spec, const char * file, Header h, int tag)
+static int addFileToTag(rpmSpec spec, const char * file, Header h, rpm_tag_t tag)
{
HGE_t hge = (HGE_t)headerGetEntryMinMemory;
StringBuf sb = newStringBuf();
/**
*/
-static int addFileToArrayTag(rpmSpec spec, const char *file, Header h, int tag)
+static int addFileToArrayTag(rpmSpec spec, const char *file, Header h, rpm_tag_t tag)
{
StringBuf sb = newStringBuf();
char *s;
return rc;
}
-static int32_t copyTags[] = {
+static rpm_tag_t copyTags[] = {
RPMTAG_CHANGELOGTIME,
RPMTAG_CHANGELOGNAME,
RPMTAG_CHANGELOGTEXT,
/**
*/
-static rpmTag copyTagsDuringParse[] = {
+static rpm_tag_t copyTagsDuringParse[] = {
RPMTAG_EPOCH,
RPMTAG_VERSION,
RPMTAG_RELEASE,
/**
*/
-static rpmTag requiredTags[] = {
+static rpm_tag_t requiredTags[] = {
RPMTAG_NAME,
RPMTAG_VERSION,
RPMTAG_RELEASE,
/**
*/
-static void addOrAppendListEntry(Header h, int32_t tag, char * line)
+static void addOrAppendListEntry(Header h, rpm_tag_t tag, char * line)
{
int xx;
int argc;
/**
*/
-static int isMemberInEntry(Header h, const char *name, rpmTag tag)
+static int isMemberInEntry(Header h, const char *name, rpm_tag_t tag)
{
HGE_t hge = (HGE_t)headerGetEntryMinMemory;
HFD_t hfd = headerFreeData;
/* LCL: parse error here with modifies */
{
int res = RPMRC_OK;
- rpmTag * p;
+ rpm_tag_t * p;
for (p = requiredTags; *p != 0; p++) {
if (!headerIsEntry(h, *p)) {
static int checkForDuplicates(Header h, const char * NVR)
{
int res = RPMRC_OK;
- int lastTag, tag;
+ rpm_tag_t lastTag, tag;
HeaderIterator hi;
for (hi = headerInitIterator(h), lastTag = 0;
/**
*/
static struct optionalTag {
- rpmTag ot_tag;
+ rpm_tag_t ot_tag;
const char * ot_mac;
} optionalTags[] = {
{ RPMTAG_VENDOR, "%{vendor}" },
return rc;
}
-spectag stashSt(rpmSpec spec, Header h, int tag, const char * lang)
+spectag stashSt(rpmSpec spec, Header h, rpm_tag_t tag, const char * lang)
{
HGE_t hge = (HGE_t)headerGetEntryMinMemory;
spectag t = NULL;
/**
*/
-static int handlePreambleTag(rpmSpec spec, Package pkg, rpmTag tag,
+static int handlePreambleTag(rpmSpec spec, Package pkg, rpm_tag_t tag,
const char *macro, const char *lang)
{
HGE_t hge = (HGE_t)headerGetEntryMinMemory;
/**
*/
typedef struct PreambleRec_s {
- rpmTag tag;
+ rpm_tag_t tag;
int len;
int multiLang;
int obsolete;
/**
*/
-static int findPreambleTag(rpmSpec spec,rpmTag * tag,
+static int findPreambleTag(rpmSpec spec,rpm_tag_t * tag,
const char ** macro, char * lang)
{
PreambleRec p;
return rc;
while (! (nextPart = isPart(spec->line))) {
const char * macro;
- rpmTag tag;
+ rpm_tag_t tag;
/* Skip blank lines */
linep = spec->line;
if (pkg != spec->packages)
headerCopyTags(spec->packages->header, pkg->header,
- (int32_t *)copyTagsDuringParse);
+ (rpm_tag_t *)copyTagsDuringParse);
if (checkForRequired(pkg->header, NVR))
return RPMRC_FAIL;
#define SKIPWHITE(_x) {while(*(_x) && (xisspace(*_x) || *(_x) == ',')) (_x)++;}
#define SKIPNONWHITE(_x){while(*(_x) &&!(xisspace(*_x) || *(_x) == ',')) (_x)++;}
-rpmRC parseRCPOT(rpmSpec spec, Package pkg, const char *field, rpmTag tagN,
+rpmRC parseRCPOT(rpmSpec spec, Package pkg, const char *field, rpm_tag_t tagN,
int index, rpmsenseFlags tagflags)
{
const char *r, *re, *v, *ve;
const char **progArgv = NULL;
int progArgc;
char *partname = NULL;
- rpmTag reqtag = 0;
- rpmTag tag = 0;
+ rpm_tag_t reqtag = 0;
+ rpm_tag_t tag = 0;
int tagflags = 0;
- rpmTag progtag = 0;
+ rpm_tag_t progtag = 0;
int flag = PART_SUBNAME;
Package pkg;
StringBuf sb = NULL;
#include <rpm/rpmbuild.h>
#include "debug.h"
-int addReqProv(rpmSpec spec, Header h, rpmTag tagN,
+int addReqProv(rpmSpec spec, Header h, rpm_tag_t tagN,
const char * N, const char * EVR, rpmsenseFlags Flags,
int index)
{
HFD_t hfd = headerFreeData;
const char ** names;
rpmTagType dnt;
- rpmTag nametag = 0;
- rpmTag versiontag = 0;
- rpmTag flagtag = 0;
- rpmTag indextag = 0;
+ rpm_tag_t nametag = 0;
+ rpm_tag_t versiontag = 0;
+ rpm_tag_t flagtag = 0;
+ rpm_tag_t indextag = 0;
rpm_count_t len;
rpmsenseFlags extra = RPMSENSE_ANY;
int xx;
* @param tagflags dependency flags already known from context
* @return RPMRC_OK on success, RPMRC_FAIL on failure
*/
-rpmRC parseRCPOT(rpmSpec spec, Package pkg, const char * field, rpmTag tagN,
+rpmRC parseRCPOT(rpmSpec spec, Package pkg, const char * field, rpm_tag_t tagN,
int index, rpmsenseFlags tagflags);
/** \ingroup rpmbuild
* @param index (0 always)
* @return 0 always
*/
-int addReqProv(rpmSpec spec, Header h, rpmTag tagN,
+int addReqProv(rpmSpec spec, Header h, rpm_tag_t tagN,
const char * N, const char * EVR, rpmsenseFlags Flags,
int index);
static char * rpmfcFileDep(char * buf, int ix,
rpmds ds)
{
- int32_t tagN = rpmdsTagN(ds);
+ rpm_tag_t tagN = rpmdsTagN(ds);
char deptype = 'X';
buf[0] = '\0';
struct stat sb, * st = &sb;
const char * soname = NULL;
rpmds * depsp, ds;
- int32_t tagN, dsContext;
+ rpm_tag_t tagN;
+ int32_t dsContext;
char * t;
int xx;
int isElf64;
struct DepMsg_s {
const char * msg;
const char * argv[4];
- rpmTag ntag;
- rpmTag vtag;
- rpmTag ftag;
+ rpm_tag_t ntag;
+ rpm_tag_t vtag;
+ rpm_tag_t ftag;
int mask;
int xor;
};
appendLineStringBuf(sb_stdin, rpmfiFN(fi));
for (dm = DepMsgs; dm->msg != NULL; dm++) {
- int tag, tagflags;
+ rpm_tag_t tag;
+ int tagflags;
char * s;
int xx;
* @param tag tag
* @param lang locale
*/
-spectag stashSt(rpmSpec spec, Header h, int tag, const char * lang);
+spectag stashSt(rpmSpec spec, Header h, rpm_tag_t tag, const char * lang);
/** \ingroup rpmbuild
* addSource.
* @param field field to parse
* @param tag tag
*/
-int addSource(rpmSpec spec, Package pkg, const char * field, int tag);
+int addSource(rpmSpec spec, Package pkg, const char * field, rpm_tag_t tag);
/** \ingroup rpmbuild
* parseNoSource.
* @param field field to parse
* @param tag tag
*/
-int parseNoSource(rpmSpec spec, const char * field, int tag);
+int parseNoSource(rpmSpec spec, const char * field, rpm_tag_t tag);
#ifdef __cplusplus
}
return NULL;
}
-int parseNoSource(rpmSpec spec, const char * field, int tag)
+int parseNoSource(rpmSpec spec, const char * field, rpm_tag_t tag)
{
const char *f, *fe;
const char *name;
return 0;
}
-int addSource(rpmSpec spec, Package pkg, const char *field, int tag)
+int addSource(rpmSpec spec, Package pkg, const char *field, rpm_tag_t tag)
{
struct Source *p;
int flag = 0;
* @retval *freeData data-was-malloc'ed indicator
* @return 0 on success
*/
-static int i18nTag(Header h, int32_t tag, rpmTagType * type,
+static int i18nTag(Header h, rpm_tag_t tag, rpmTagType * type,
const void ** data, rpm_count_t * count,
int * freeData)
{
return idtx;
}
-IDTX IDTXload(rpmts ts, rpmTag tag)
+IDTX IDTXload(rpmts ts, rpm_tag_t tag)
{
IDTX idtx = NULL;
rpmdbMatchIterator mi;
return IDTXsort(idtx);
}
-IDTX IDTXglob(rpmts ts, const char * globstr, rpmTag tag)
+IDTX IDTXglob(rpmts ts, const char * globstr, rpm_tag_t tag)
{
IDTX idtx = NULL;
HGE_t hge = (HGE_t) headerGetEntry;
* @param tag rpm tag
* @return id index
*/
-IDTX IDTXload(rpmts ts, rpmTag tag);
+IDTX IDTXload(rpmts ts, rpm_tag_t tag);
/**
* Load tag (instance,value) pairs from packages, and return sorted id index.
* @param tag rpm tag
* @return id index
*/
-IDTX IDTXglob(rpmts ts, const char * globstr, rpmTag tag);
+IDTX IDTXglob(rpmts ts, const char * globstr, rpm_tag_t tag);
#ifdef __cplusplus
}
HFD_t hfd = (HFD_t) headerFreeData;
HAE_t hae = (HAE_t) headerAddEntry;
HeaderIterator hi;
- int32_t tag, type;
+ int32_t type;
+ rpm_tag_t tag;
rpm_count_t count;
const void * ptr;
int xx;
Header sigh = rpmNewSignature();
HeaderIterator hi;
rpm_count_t count;
- int32_t tag, stag, type;
+ rpm_tag_t tag, stag;
+ int32_t type;
const void * ptr;
int xx;
ssize_t count;
rpmlead l = NULL;
Header sigh = NULL;
- int32_t sigtag;
+ rpm_tag_t sigtag;
int32_t sigtype;
const void * sig;
rpm_count_t siglen;
*/
static struct tagMacro {
const char * macroname; /*!< Macro name to define. */
- rpmTag tag; /*!< Header tag to use for value. */
+ rpm_tag_t tag; /*!< Header tag to use for value. */
} tagMacros[] = {
{ "name", RPMTAG_NAME },
{ "version", RPMTAG_VERSION },
* @param tag scriptlet tag
* @return name of scriptlet
*/
-static const char * tag2sln(int tag)
+static const char * tag2sln(rpm_tag_t tag)
{
switch (tag) {
case RPMTAG_PRETRANS: return "%pretrans";
return "%unknownscript";
}
-static int triggertag(uint32_t sense)
+static rpm_tag_t triggertag(rpm_tag_t sense)
{
- int tag = 0;
+ rpm_tag_t tag = 0;
switch (sense) {
case RPMSENSE_TRIGGERIN:
tag = RPMTAG_TRIGGERIN;
/**
* Run internal Lua script.
*/
-static rpmRC runLuaScript(rpmpsm psm, Header h, rpmTag stag,
+static rpmRC runLuaScript(rpmpsm psm, Header h, rpm_tag_t stag,
unsigned int progArgc, const char **progArgv,
const char *script, int arg1, int arg2)
{
* @param arg2 ditto, but for the target package
* @return 0 on success
*/
-static rpmRC runScript(rpmpsm psm, Header h, rpmTag stag,
+static rpmRC runScript(rpmpsm psm, Header h, rpm_tag_t stag,
unsigned int progArgc, const char ** progArgv,
const char * script, int arg1, int arg2)
{
if (headerGetEntry(fi->h, RPMTAG_HEADERIMAGE, &uht, &uh, &uhc))
{
HeaderIterator hi;
- int32_t tag, type;
+ int32_t type;
+ rpm_tag_t tag;
rpm_count_t count;
hPTR_t ptr;
Header oh;
* @retval signid signer fingerprint
* @return 0 on success
*/
-static int getSignid(Header sig, int sigtag, pgpKeyID_t signid)
+static int getSignid(Header sig, rpm_tag_t sigtag, pgpKeyID_t signid)
{
void * pkt = NULL;
int32_t pkttyp = 0;
FD_t fd = NULL;
FD_t ofd = NULL;
rpmlead lead;
- int32_t sigtag;
+ rpm_tag_t sigtag;
const char *rpm, *trpm;
const char *sigtarget = NULL;
char tmprpm[1024+1];
/* Dump the immutable region (if present). */
if (headerGetEntry(sigh, RPMTAG_HEADERSIGNATURES, &uht, &uh, &uhc)) {
HeaderIterator hi;
- int32_t tag, type;
+ int32_t type;
+ rpm_tag_t tag;
rpm_count_t count;
hPTR_t ptr;
Header oh;
char buf[8192], * b;
char missingKeys[7164], * m;
char untrustedKeys[7164], * u;
- int32_t sigtag;
+ rpm_tag_t sigtag;
int32_t sigtype;
const void * sig;
pgpDig dig;
uint32_t * Color; /*!< Bit(s) calculated from file color(s). */
int32_t * Refs; /*!< No. of file refs. */
int32_t BT; /*!< Package build time tie breaker. */
- rpmTag tagN; /*!< Header tag. */
+ rpm_tag_t tagN; /*!< Header tag. */
rpmTagType Nt, EVRt, Ft; /*!< Tag data types. */
int32_t Count; /*!< No. of elements */
int i; /*!< Element index. */
rpmds rpmdsFree(rpmds ds)
{
HFD_t hfd = headerFreeData;
- rpmTag tagEVR, tagF;
+ rpm_tag_t tagEVR, tagF;
if (ds == NULL)
return NULL;
return NULL;
}
-rpmds rpmdsNew(Header h, rpmTag tagN, int flags)
+rpmds rpmdsNew(Header h, rpm_tag_t tagN, int flags)
{
int scareMem = (flags & 0x1);
HGE_t hge =
(scareMem ? (HGE_t) headerGetEntryMinMemory : (HGE_t) headerGetEntry);
- rpmTag tagBT = RPMTAG_BUILDTIME;
+ rpm_tag_t tagBT = RPMTAG_BUILDTIME;
rpmTagType BTt;
int32_t * BTp;
- rpmTag tagEVR, tagF;
+ rpm_tag_t tagEVR, tagF;
rpmds ds = NULL;
const char * Type;
const char ** N;
return tbuf;
}
-rpmds rpmdsThis(Header h, rpmTag tagN, int32_t Flags)
+rpmds rpmdsThis(Header h, rpm_tag_t tagN, int32_t Flags)
{
HGE_t hge = (HGE_t) headerGetEntryMinMemory;
rpmds ds = NULL;
return rpmdsLink(ds, (ds ? ds->Type : RPMDBG()));
}
-rpmds rpmdsSingle(rpmTag tagN, const char * N, const char * EVR, int32_t Flags)
+rpmds rpmdsSingle(rpm_tag_t tagN, const char * N, const char * EVR, int32_t Flags)
{
rpmds ds = NULL;
const char * Type;
return Flags;
}
-rpmTag rpmdsTagN(const rpmds ds)
+rpm_tag_t rpmdsTagN(const rpmds ds)
{
- rpmTag tagN = 0;
+ rpm_tag_t tagN = 0;
if (ds != NULL)
tagN = ds->tagN;
* @param flags scareMem(0x1)
* @return new dependency set
*/
-rpmds rpmdsNew(Header h, rpmTag tagN, int flags);
+rpmds rpmdsNew(Header h, rpm_tag_t tagN, int flags);
/** \ingroup rpmds
* Return new formatted dependency string.
* @param Flags comparison flags
* @return new dependency set
*/
-rpmds rpmdsThis(Header h, rpmTag tagN, int32_t Flags);
+rpmds rpmdsThis(Header h, rpm_tag_t tagN, int32_t Flags);
/** \ingroup rpmds
* Create, load and initialize a dependency set of size 1.
* @param Flags comparison flags
* @return new dependency set
*/
-rpmds rpmdsSingle(rpmTag tagN, const char * N, const char * EVR, int32_t Flags);
+rpmds rpmdsSingle(rpm_tag_t tagN, const char * N, const char * EVR, int32_t Flags);
/** \ingroup rpmds
* Return dependency set count.
* @param ds dependency set
* @return current dependency type, 0 on invalid
*/
-rpmTag rpmdsTagN(const rpmds ds);
+rpm_tag_t rpmdsTagN(const rpmds ds);
/** \ingroup rpmds
* Return dependency build time.
if (hge((_h), (_tag), NULL, (void **) &(_data), NULL)) \
_data = xstrdup(_data)
-rpmfi rpmfiNew(const rpmts ts, Header h, rpmTag tagN, int scareMem)
+rpmfi rpmfiNew(const rpmts ts, Header h, rpm_tag_t tagN, int scareMem)
{
HGE_t hge =
(scareMem ? (HGE_t) headerGetEntryMinMemory : (HGE_t) headerGetEntry);
if (fcp) *fcp = ac;
}
-void rpmfiBuildFDeps(Header h, rpmTag tagN,
+void rpmfiBuildFDeps(Header h, rpm_tag_t tagN,
const char *** fdepsp, rpm_count_t * fcp)
{
int scareMem = 0;
if (fcp) *fcp = ac;
}
-void rpmfiBuildFNames(Header h, rpmTag tagN,
+void rpmfiBuildFNames(Header h, rpm_tag_t tagN,
const char *** fnp, rpm_count_t * fcp)
{
HGE_t hge = (HGE_t)headerGetEntryMinMemory;
rpm_count_t count;
const char ** fileNames;
int size;
- rpmTag dirNameTag = 0;
- rpmTag dirIndexesTag = 0;
+ rpm_tag_t dirNameTag = 0;
+ rpm_tag_t dirIndexesTag = 0;
rpmTagType bnt, dnt;
char * t;
int i, xx;
* @param scareMem Use pointers to refcounted header memory?
* @return new file info set
*/
-rpmfi rpmfiNew(const rpmts ts, Header h, rpmTag tagN, int scareMem);
+rpmfi rpmfiNew(const rpmts ts, Header h, rpm_tag_t tagN, int scareMem);
/** \ingroup rpmfi
* Retrieve file classes from header.
* @retval *fdepsp array of file dependencies
* @retval *fcp number of files
*/
-void rpmfiBuildFDeps(Header h, rpmTag tagN,
+void rpmfiBuildFDeps(Header h, rpm_tag_t tagN,
const char *** fdepsp, rpm_count_t * fcp);
/** \ingroup rpmfi
* @retval *fnp array of file names
* @retval *fcp number of files
*/
-void rpmfiBuildFNames(Header h, rpmTag tagN,
+void rpmfiBuildFNames(Header h, rpm_tag_t tagN,
const char *** fnp, rpm_count_t * fcp);
/** \ingroup rpmfi
const char * Type; /*!< Tag name. */
- rpmTag tagN; /*!< Header tag. */
+ rpm_tag_t tagN; /*!< Header tag. */
Header h; /*!< Header for file info set (or NULL) */
/*?null?*/
*/
struct rpmgi_s {
rpmts ts; /*!< Iterator transaction set. */
- int tag; /*!< Iterator type. */
+ rpm_tag_t tag; /*!< Iterator type. */
const void * keyp; /*!< Iterator key. */
size_t keylen; /*!< Iterator key length. */
if (gi->argv != NULL)
for (av = (const char **) gi->argv; *av != NULL; av++) {
- int tag = RPMTAG_NAME;
+ rpm_tag_t tag = RPMTAG_NAME;
const char * pat;
char * a, * ae;
if ((ae = strchr(a, '=')) != NULL) {
*ae++ = '\0';
tag = rpmTagGetValue(a);
- if (tag < 0) {
+ if (tag == RPMTAG_NOT_FOUND) {
rpmlog(RPMLOG_NOTICE, _("unknown tag: \"%s\"\n"), a);
res = 1;
}
return NULL;
}
-rpmgi rpmgiNew(rpmts ts, int tag, const void * keyp, size_t keylen)
+rpmgi rpmgiNew(rpmts ts, rpm_tag_t tag, const void * keyp, size_t keylen)
{
rpmgi gi = xcalloc(1, sizeof(*gi));
* @param keylen key data length (0 will use strlen(keyp))
* @return new iterator
*/
-rpmgi rpmgiNew(rpmts ts, int tag, const void * keyp,
+rpmgi rpmgiNew(rpmts ts, rpm_tag_t tag, const void * keyp,
size_t keylen);
/** \ingroup rpmgi
* @retval c address of number of values (or NULL)
* @return 1 on success, 0 on failure
*/
-typedef int (*HGE_t) (Header h, rpmTag tag,
+typedef int (*HGE_t) (Header h, rpm_tag_t tag,
rpmTagType * type,
void ** p,
rpm_count_t * c);
* @param c number of values
* @return 1 on success, 0 on failure
*/
-typedef int (*HAE_t) (Header h, rpmTag tag, rpmTagType type,
+typedef int (*HAE_t) (Header h, rpm_tag_t tag, rpmTagType type,
const void * p, rpm_count_t c);
/**
* @param c number of values
* @return 1 on success, 0 on failure
*/
-typedef int (*HME_t) (Header h, rpmTag tag, rpmTagType type,
+typedef int (*HME_t) (Header h, rpm_tag_t tag, rpmTagType type,
const void * p, rpm_count_t c);
/**
* @param tag tag
* @return 0 on success, 1 on failure (INCONSISTENT)
*/
-typedef int (*HRE_t) (Header h, int32_t tag);
+typedef int (*HRE_t) (Header h, rpm_tag_t tag);
/**
* We pass these around as an array with a sentinel.
} rpmTag;
#define RPMTAG_EXTERNAL_TAG 1000000
+#define RPMTAG_NOT_FOUND -1
/** \ingroup rpmtag
* @param tag tag value
* @return tag name, "(unknown)" on not found
*/
-const char * rpmTagGetName(int tag);
+const char * rpmTagGetName(rpm_tag_t tag);
/** \ingroup rpmtag
* Return tag data type from value.
* @param tag tag value
* @return tag data type, RPM_NULL_TYPE on not found.
*/
-int rpmTagGetType(int tag);
+int rpmTagGetType(rpm_tag_t tag);
/** \ingroup rpmtag
* Return tag value from name.
* @param tagstr name of tag
* @return tag value, -1 on not found
*/
-int rpmTagGetValue(const char * tagstr);
+rpm_tag_t rpmTagGetValue(const char * tagstr);
#endif /* _RPMTAG_H */
return (te != NULL ? te->key : NULL);
}
-rpmds rpmteDS(rpmte te, rpmTag tag)
+rpmds rpmteDS(rpmte te, rpm_tag_t tag)
{
if (te == NULL)
return NULL;
return NULL;
}
-rpmfi rpmteFI(rpmte te, rpmTag tag)
+rpmfi rpmteFI(rpmte te, rpm_tag_t tag)
{
if (te == NULL)
return NULL;
return NULL;
}
-void rpmteColorDS(rpmte te, rpmTag tag)
+void rpmteColorDS(rpmte te, rpm_tag_t tag)
{
rpmfi fi = rpmteFI(te, RPMTAG_BASENAMES);
rpmds ds = rpmteDS(te, tag);
* @param tag dependency tag
* @return dependency tag set
*/
-rpmds rpmteDS(rpmte te, rpmTag tag);
+rpmds rpmteDS(rpmte te, rpm_tag_t tag);
/** \ingroup rpmte
* Retrieve file info tag set from transaction element.
* @param tag file info tag (RPMTAG_BASENAMES)
* @return file info tag set
*/
-rpmfi rpmteFI(rpmte te, rpmTag tag);
+rpmfi rpmteFI(rpmte te, rpm_tag_t tag);
/** \ingroup rpmte
* Calculate transaction element dependency colors/refs from file info.
* @param te transaction element
* @param tag dependency tag (RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME)
*/
-void rpmteColorDS(rpmte te, rpmTag tag);
+void rpmteColorDS(rpmte te, rpm_tag_t tag);
/** \ingroup rpmte
* Return transaction element index.
}
/* keyp might no be defined. */
-rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmTag rpmtag,
+rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpm_tag_t rpmtag,
const void * keyp, size_t keylen)
{
rpmdbMatchIterator mi;
Header h;
size_t bhnamelen;
time_t bhtime;
- rpmTag rpmtag;
+ rpm_tag_t rpmtag;
const char * keyp;
size_t keylen;
int rc = 1; /* assume not found */
return otid;
}
-int32_t rpmtsSigtag(const rpmts ts)
+rpm_tag_t rpmtsSigtag(const rpmts ts)
{
- int32_t sigtag = 0;
+ rpm_tag_t sigtag = 0;
if (ts != NULL)
sigtag = ts->sigtag;
return sigtag;
return siglen;
}
-int rpmtsSetSig(rpmts ts,
- int32_t sigtag, int32_t sigtype, const void * sig, size_t siglen)
+int rpmtsSetSig(rpmts ts, rpm_tag_t sigtag, int32_t sigtype,
+ const void * sig, size_t siglen)
{
if (ts != NULL) {
if (ts->sig && ts->sigtype)
* @param keylen key data length (0 will use strlen(keyp))
* @return NULL on failure
*/
-rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpmTag rpmtag,
+rpmdbMatchIterator rpmtsInitIterator(const rpmts ts, rpm_tag_t rpmtag,
const void * keyp, size_t keylen);
/** \ingroup rpmts
* @param ts transaction set
* @return signature tag
*/
-int32_t rpmtsSigtag(const rpmts ts);
+rpm_tag_t rpmtsSigtag(const rpmts ts);
/** \ingroup rpmts
* Get signature tag type.
* @return 0 always
*/
int rpmtsSetSig(rpmts ts,
- int32_t sigtag, int32_t sigtype,
+ rpm_tag_t sigtag, int32_t sigtype,
const void * sig, size_t siglen);
/** \ingroup rpmts
rpmVSFlags vsflags; /*!< Signature/digest verification flags. */
const char * fn; /*!< Current package fn. */
- int32_t sigtag; /*!< Current package signature tag. */
+ rpm_tag_t sigtag; /*!< Current package signature tag. */
int32_t sigtype; /*!< Current package signature data type. */
const void * sig; /*!< Current package signature. */
int32_t siglen; /*!< Current package signature length. */
(void) memcpy(info, dataEnd, REGION_TAG_COUNT);
/* XXX Really old packages have HEADER_IMAGE, not HEADER_SIGNATURES. */
if (info->tag == htonl(RPMTAG_HEADERIMAGE)) {
- int32_t stag = htonl(RPMTAG_HEADERSIGNATURES);
+ rpm_tag_t stag = htonl(RPMTAG_HEADERSIGNATURES);
info->tag = stag;
memcpy(dataEnd, &stag, sizeof(stag));
}
#ifdef NOTYET
int32_t siglen = rpmtsSiglen(ts);
#endif
- int32_t sigtag = rpmtsSigtag(ts);
+ rpm_tag_t sigtag = rpmtsSigtag(ts);
pgpDig dig = rpmtsDig(ts);
pgpDigParams sigp = rpmtsSignature(ts);
SECOidTag sigalg;
#ifdef NOTYET
int32_t siglen = rpmtsSiglen(ts);
#endif
- int32_t sigtag = rpmtsSigtag(ts);
+ rpm_tag_t sigtag = rpmtsSigtag(ts);
pgpDig dig = rpmtsDig(ts);
pgpDigParams sigp = rpmtsSignature(ts);
rpmRC res;
{
const void * sig = rpmtsSig(ts);
int32_t siglen = rpmtsSiglen(ts);
- int32_t sigtag = rpmtsSigtag(ts);
+ rpm_tag_t sigtag = rpmtsSigtag(ts);
pgpDig dig = rpmtsDig(ts);
rpmRC res;
int main(int argc, char *argv[])
{
- rpmTag tagN = RPMTAG_REQUIRENAME;
+ rpm_tag_t tagN = RPMTAG_REQUIRENAME;
rpmds ds = NULL;
rpmds dsA;
rpmds dsA1;
rpmts ts = NULL;
rpmVSFlags vsflags;
rpmgi gi = NULL;
- int gitag = RPMDBI_PACKAGES;
+ rpm_tag_t gitag = RPMDBI_PACKAGES;
const char ** av;
int ac;
int rc = 0;
if (gitagstr != NULL) {
gitag = rpmTagGetValue(gitagstr);
- if (gitag < 0) {
+ if (gitag == RPMTAG_NOT_FOUND) {
fprintf(stderr, _("unknown --tag argument: %s\n"), gitagstr);
exit(EXIT_FAILURE);
}
{
PyObject * list, *o;
HeaderIterator hi;
- int tag, type;
+ rpm_tag_t tag;
+ int type;
list = PyList_New(0);
/** \ingroup py_c
*/
-long tagNumFromPyObject (PyObject *item)
+rpm_tag_t tagNumFromPyObject (PyObject *item)
{
char * str;
str = PyString_AsString(item);
return rpmTagGetValue(str);
}
- return -1;
+ return RPMTAG_NOT_FOUND;
}
/** \ingroup py_c
* @retval c address of number of values
* @return 0 on success, 1 on bad magic, 2 on error
*/
-static int dressedHeaderGetEntry(Header h, int32_t tag, int32_t *type,
+static int dressedHeaderGetEntry(Header h, rpm_tag_t tag, int32_t *type,
void **p, rpm_count_t *c)
{
switch (tag) {
*/
static PyObject * hdr_subscript(hdrObject * s, PyObject * item)
{
- int tagtype, type, tag = -1;
+ int tagtype, type;
+ rpm_tag_t tag = RPMTAG_NOT_FOUND;
rpm_count_t count, i;
void * data;
PyObject * o, * metao;
ext = PyCObject_AsVoidPtr(item);
else
tag = tagNumFromPyObject (item);
- if (tag == -1 && PyString_Check(item)) {
+ if (tag == RPMTAG_NOT_FOUND && PyString_Check(item)) {
/* if we still don't have the tag, go looking for the header
extensions */
str = PyString_AsString(item);
if (ext) {
ext->u.tagFunction(s->h, &type, (const void **) &data, &count, &freeData);
} else {
- if (tag == -1) {
+ if (tag == RPMTAG_NOT_FOUND) {
PyErr_SetString(PyExc_KeyError, "unknown header tag");
return NULL;
}
int32_t * oldMatch;
hdrObject * hdr;
rpm_count_t c, count = 0;
- int type, tag;
+ rpm_tag_t tag;
+ int type;
void * p;
Py_BEGIN_ALLOW_THREADS
Header hdrGetHeader(hdrObject * h);
-long tagNumFromPyObject (PyObject *item);
+rpm_tag_t tagNumFromPyObject (PyObject *item);
PyObject * labelCompare (PyObject * self, PyObject * args);
PyObject * versionCompare (PyObject * self, PyObject * args, PyObject * kwds);
PyObject *TagN = NULL;
char *key = NULL;
int len = 0;
- int tag = RPMDBI_PACKAGES;
+ rpm_tag_t tag = RPMDBI_PACKAGES;
char * kwlist[] = {"tagNumber", "key", "len", NULL};
if (!PyArg_ParseTupleAndKeywords(args, kwds, "|Ozi", kwlist,
if (rpmdsNext(s->ds) >= 0) {
const char * N = rpmdsN(s->ds);
const char * EVR = rpmdsEVR(s->ds);
- int tagN = rpmdsTagN(s->ds);
+ rpm_tag_t tagN = rpmdsTagN(s->ds);
int Flags = rpmdsFlags(s->ds);
if (N != NULL) N = xstrdup(N);
{
hdrObject * ho = NULL;
PyObject * to = NULL;
- int tagN = RPMTAG_REQUIRENAME;
+ rpm_tag_t tagN = RPMTAG_REQUIRENAME;
int flags = 0;
char * kwlist[] = {"header", "tag", "flags", NULL};
rpmds_Single(PyObject * s, PyObject * args, PyObject * kwds)
{
PyObject * to = NULL;
- int tagN = RPMTAG_PROVIDENAME;
+ rpm_tag_t tagN = RPMTAG_PROVIDENAME;
const char * N;
const char * EVR = NULL;
int Flags = 0;
{
hdrObject * ho = (hdrObject *)s;
PyObject * to = NULL;
- rpmTag tagN = RPMTAG_REQUIRENAME;
+ rpm_tag_t tagN = RPMTAG_REQUIRENAME;
int flags = 0;
char * kwlist[] = {"to", "flags", NULL};
hdr_dsOfHeader(PyObject * s)
{
hdrObject * ho = (hdrObject *)s;
- int tagN = RPMTAG_PROVIDENAME;
+ rpm_tag_t tagN = RPMTAG_PROVIDENAME;
int Flags = RPMSENSE_EQUAL;
return rpmds_Wrap( rpmdsThis(hdrGetHeader(ho), tagN, Flags) );
hdrObject * ho = NULL;
PyObject * to = NULL;
rpmts ts = NULL; /* XXX FIXME: fiFromHeader should be a ts method. */
- int tagN = RPMTAG_BASENAMES;
+ rpm_tag_t tagN = RPMTAG_BASENAMES;
int flags = 0;
char * kwlist[] = {"header", "tag", "flags", NULL};
hdrObject * ho = (hdrObject *)s;
PyObject * to = NULL;
rpmts ts = NULL; /* XXX FIXME: fiFromHeader should be a ts method. */
- rpmTag tagN = RPMTAG_BASENAMES;
+ rpm_tag_t tagN = RPMTAG_BASENAMES;
int flags = 0;
char * kwlist[] = {"tag", "flags", NULL};
PyObject *TagN = NULL;
int type;
char * pattern;
- rpmTag tag;
+ rpm_tag_t tag;
char * kwlist[] = {"tag", "type", "patern", NULL};
if (!PyArg_ParseTupleAndKeywords(args, kwds, "Ois:Pattern", kwlist,
PyDict_SetItemString(d, #val, o=PyInt_FromLong( val )); \
Py_DECREF(o);
+ REGISTER_ENUM(RPMTAG_NOT_FOUND);
+
REGISTER_ENUM(RPMFILE_STATE_NORMAL);
REGISTER_ENUM(RPMFILE_STATE_REPLACED);
REGISTER_ENUM(RPMFILE_STATE_NOTINSTALLED);
{
PyObject * TagN = NULL;
rpmds ds;
- rpmTag tag;
+ rpm_tag_t tag;
char * kwlist[] = {"tag", NULL};
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O:DS", kwlist, &TagN))
{
PyObject * TagN = NULL;
rpmfi fi;
- rpmTag tag;
+ rpm_tag_t tag;
char * kwlist[] = {"tag", NULL};
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O:FI", kwlist, &TagN))
rpmts_IDTXload(rpmtsObject * s)
{
PyObject * result = NULL;
- rpmTag tag = RPMTAG_INSTALLTID;
+ rpm_tag_t tag = RPMTAG_INSTALLTID;
IDTX idtx;
if (_rpmts_debug)
rpmts_IDTXglob(rpmtsObject * s)
{
PyObject * result = NULL;
- rpmTag tag = RPMTAG_REMOVETID;
+ rpm_tag_t tag = RPMTAG_REMOVETID;
const char * globstr;
IDTX idtx;
/* XXX lkey *must* be a 32 bit integer, int "works" on all known platforms. */
int lkey = 0;
int len = 0;
- int tag = RPMDBI_PACKAGES;
+ rpm_tag_t tag = RPMDBI_PACKAGES;
char * kwlist[] = {"tagNumber", "key", NULL};
if (_rpmts_debug)
return rc;
}
-static int db3open(rpmdb rpmdb, rpmTag rpmtag, dbiIndex * dbip)
+static int db3open(rpmdb rpmdb, rpm_tag_t rpmtag, dbiIndex * dbip)
{
extern struct _dbiVec db3vec;
const char * urlfn = NULL;
static const char *db3_config_default =
"db3:hash:mpool:cdb:usecursors:verbose:mp_mmapsize=8Mb:cachesize=512Kb:pagesize=512:perms=0644";
-dbiIndex db3New(rpmdb rpmdb, rpmTag rpmtag)
+dbiIndex db3New(rpmdb rpmdb, rpm_tag_t rpmtag)
{
dbiIndex dbi = xcalloc(1, sizeof(*dbi));
char dbiTagMacro[128];
* @return header entry
*/
static
-indexEntry findEntry(Header h, int32_t tag, int32_t type)
+indexEntry findEntry(Header h, rpm_tag_t tag, int32_t type)
{
indexEntry entry, entry2, last;
struct indexEntry_s key;
* @return 0 on success, 1 on failure (INCONSISTENT)
*/
static
-int _headerRemoveEntry(Header h, int32_t tag)
+int _headerRemoveEntry(Header h, rpm_tag_t tag)
{
indexEntry last = h->index + h->indexUsed;
indexEntry entry, first;
* @return on-disk header (with offsets)
*/
static
-Header _headerReload(Header h, int tag)
+Header _headerReload(Header h, rpm_tag_t tag)
{
Header nh;
size_t length;
* @return 1 on success, 0 on failure
*/
static
-int _headerIsEntry(Header h, int32_t tag)
+int _headerIsEntry(Header h, rpm_tag_t tag)
{
/* FIX: h modified by sort. */
return (findEntry(h, tag, RPM_NULL_TYPE) ? 1 : 0);
* @param minMem string pointers reference header memory?
* @return 1 on success, 0 on not found
*/
-static int intGetEntry(Header h, int32_t tag,
- hTAG_t type,
+static int intGetEntry(Header h, rpm_tag_t tag,
+ int32_t * type,
hPTR_t * p,
rpm_count_t * c,
int minMem)
* @return 1 on success, 0 on failure
*/
static
-int _headerGetEntry(Header h, int32_t tag,
+int _headerGetEntry(Header h, rpm_tag_t tag,
hTYP_t type,
void ** p,
rpm_count_t * c)
* @return 1 on success, 0 on failure
*/
static
-int _headerGetEntryMinMemory(Header h, int32_t tag,
+int _headerGetEntryMinMemory(Header h, rpm_tag_t tag,
hTYP_t type,
hPTR_t * p,
rpm_count_t * c)
return intGetEntry(h, tag, type, p, c, 1);
}
-int headerGetRawEntry(Header h, int32_t tag, int32_t * type, hPTR_t * p,
+int headerGetRawEntry(Header h, rpm_tag_t tag, int32_t * type, hPTR_t * p,
rpm_count_t * c)
{
indexEntry entry;
* @return 1 on success, 0 on failure
*/
static
-int _headerAddEntry(Header h, int32_t tag, int32_t type, const void * p, rpm_count_t c)
+int _headerAddEntry(Header h, rpm_tag_t tag, int32_t type, const void * p, rpm_count_t c)
{
indexEntry entry;
void * data;
* @return 1 on success, 0 on failure
*/
static
-int _headerAppendEntry(Header h, int32_t tag, int32_t type,
+int _headerAppendEntry(Header h, rpm_tag_t tag, int32_t type,
const void * p, rpm_count_t c)
{
indexEntry entry;
* @return 1 on success, 0 on failure
*/
static
-int _headerAddOrAppendEntry(Header h, int32_t tag, int32_t type,
+int _headerAddOrAppendEntry(Header h, rpm_tag_t tag, int32_t type,
const void * p, rpm_count_t c)
{
return (findEntry(h, tag, type)
* @return 1 on success, 0 on failure
*/
static
-int _headerAddI18NString(Header h, int32_t tag, const char * string,
+int _headerAddI18NString(Header h, rpm_tag_t tag, const char * string,
const char * lang)
{
indexEntry table, entry;
* @return 1 on success, 0 on failure
*/
static
-int _headerModifyEntry(Header h, int32_t tag, int32_t type,
+int _headerModifyEntry(Header h, rpm_tag_t tag, int32_t type,
const void * p, rpm_count_t c)
{
indexEntry entry;
*/
static
int _headerNextIterator(HeaderIterator hi,
- hTAG_t tag,
+ rpm_tag_t * tag,
hTYP_t type,
hPTR_t * p,
rpm_count_t * c)
{
Header nh = _headerNew();
HeaderIterator hi;
- int32_t tag, type;
+ int32_t type;
+ rpm_tag_t tag;
rpm_count_t count;
hPTR_t ptr;
if (hsa->hi == NULL) {
hsa->i++;
} else {
- int32_t tagno;
+ rpm_tag_t tagno;
int32_t type;
rpm_count_t count;
* @param tagstocopy array of tags that are copied
*/
static
-void _headerCopyTags(Header headerFrom, Header headerTo, hTAG_t tagstocopy)
+void _headerCopyTags(Header headerFrom, Header headerTo, rpm_tag_t * tagstocopy)
{
- int * p;
+ rpm_tag_t * p;
if (headerFrom == headerTo)
return;
/** \ingroup header
*/
-typedef int32_t * hTAG_t;
typedef int32_t * hTYP_t;
typedef const void * hPTR_t;
+typedef int32_t rpm_tag_t;
typedef uint32_t rpm_count_t;
/** \ingroup header
/**
*/
typedef struct HE_s {
- int32_t tag;
+ rpm_tag_t tag;
hTYP_t typ;
union {
hPTR_t * ptr;
* @param tag tag
* @return 1 on success, 0 on failure
*/
-int headerIsEntry(Header h, int32_t tag);
+int headerIsEntry(Header h, rpm_tag_t tag);
/** \ingroup header
* Free data allocated when retrieved from header.
* @retval *c number of values (or NULL)
* @return 1 on success, 0 on failure
*/
-int headerGetEntry(Header h, int32_t tag,
+int headerGetEntry(Header h, rpm_tag_t tag,
hTYP_t type,
void ** p,
rpm_count_t * c);
* @retval *c number of values (or NULL)
* @return 1 on success, 0 on failure
*/
-int headerGetEntryMinMemory(Header h, int32_t tag,
+int headerGetEntryMinMemory(Header h, rpm_tag_t tag,
hTYP_t type,
hPTR_t * p,
rpm_count_t * c);
* @param c number of values
* @return 1 on success, 0 on failure
*/
-int headerAddEntry(Header h, int32_t tag, int32_t type, const void * p, rpm_count_t c);
+int headerAddEntry(Header h, rpm_tag_t tag, int32_t type, const void * p, rpm_count_t c);
/** \ingroup header
* Append element to tag array in header.
* @param c number of values
* @return 1 on success, 0 on failure
*/
-int headerAppendEntry(Header h, int32_t tag, int32_t type,
+int headerAppendEntry(Header h, rpm_tag_t tag, int32_t type,
const void * p, rpm_count_t c);
/** \ingroup header
* @param c number of values
* @return 1 on success, 0 on failure
*/
-int headerAddOrAppendEntry(Header h, int32_t tag, int32_t type,
+int headerAddOrAppendEntry(Header h, rpm_tag_t tag, int32_t type,
const void * p, rpm_count_t c);
/** \ingroup header
* @param lang locale
* @return 1 on success, 0 on failure
*/
-int headerAddI18NString(Header h, int32_t tag, const char * string,
+int headerAddI18NString(Header h, rpm_tag_t tag, const char * string,
const char * lang);
/** \ingroup header
* @param c number of values
* @return 1 on success, 0 on failure
*/
-int headerModifyEntry(Header h, int32_t tag, int32_t type,
+int headerModifyEntry(Header h, rpm_tag_t tag, int32_t type,
const void * p, rpm_count_t c);
/** \ingroup header
* @param tag tag
* @return 0 on success, 1 on failure (INCONSISTENT)
*/
-int headerRemoveEntry(Header h, int32_t tag);
+int headerRemoveEntry(Header h, rpm_tag_t tag);
/** \ingroup header
* Return formatted output string from header tags.
* @param headerTo destination header
* @param tagstocopy array of tags that are copied
*/
-void headerCopyTags(Header headerFrom, Header headerTo, hTAG_t tagstocopy);
+void headerCopyTags(Header headerFrom, Header headerTo, rpm_tag_t * tagstocopy);
/** \ingroup header
* Destroy header tag iterator.
* @return 1 on success, 0 on failure
*/
int headerNextIterator(HeaderIterator hi,
- hTAG_t tag,
+ rpm_tag_t * tag,
hTYP_t type,
hPTR_t * p,
rpm_count_t * c);
return (h2hv(h)->hdrwrite) (fd, h, magicp);
}
-int headerIsEntry(Header h, int32_t tag)
+int headerIsEntry(Header h, rpm_tag_t tag)
{
if (h == NULL) return 0;
return (h2hv(h)->hdrisentry) (h, tag);
return (h2hv(h)->hdrfreetag) (h, data, type);
}
-int headerGetEntry(Header h, int32_t tag,
+int headerGetEntry(Header h, rpm_tag_t tag,
hTYP_t type,
void ** p,
rpm_count_t * c)
return (h2hv(h)->hdrget) (h, tag, type, p, c);
}
-int headerGetEntryMinMemory(Header h, int32_t tag,
+int headerGetEntryMinMemory(Header h, rpm_tag_t tag,
hTYP_t type,
hPTR_t * p,
rpm_count_t * c)
return (h2hv(h)->hdrgetmin) (h, tag, type, p, c);
}
-int headerAddEntry(Header h, int32_t tag, int32_t type, const void * p, rpm_count_t c)
+int headerAddEntry(Header h, rpm_tag_t tag, int32_t type, const void * p, rpm_count_t c)
{
return (h2hv(h)->hdradd) (h, tag, type, p, c);
}
-int headerAppendEntry(Header h, int32_t tag, int32_t type,
+int headerAppendEntry(Header h, rpm_tag_t tag, int32_t type,
const void * p, rpm_count_t c)
{
return (h2hv(h)->hdrappend) (h, tag, type, p, c);
}
-int headerAddOrAppendEntry(Header h, int32_t tag, int32_t type,
+int headerAddOrAppendEntry(Header h, rpm_tag_t tag, int32_t type,
const void * p, rpm_count_t c)
{
return (h2hv(h)->hdraddorappend) (h, tag, type, p, c);
}
-int headerAddI18NString(Header h, int32_t tag, const char * string,
+int headerAddI18NString(Header h, rpm_tag_t tag, const char * string,
const char * lang)
{
return (h2hv(h)->hdraddi18n) (h, tag, string, lang);
}
-int headerModifyEntry(Header h, int32_t tag, int32_t type,
+int headerModifyEntry(Header h, rpm_tag_t tag, int32_t type,
const void * p, rpm_count_t c)
{
return (h2hv(h)->hdrmodify) (h, tag, type, p, c);
}
-int headerRemoveEntry(Header h, int32_t tag)
+int headerRemoveEntry(Header h, rpm_tag_t tag)
{
return (h2hv(h)->hdrremove) (h, tag);
}
return (h2hv(h)->hdrsprintf) (h, fmt, tbltags, extensions, errmsg);
}
-void headerCopyTags(Header headerFrom, Header headerTo, hTAG_t tagstocopy)
+void headerCopyTags(Header headerFrom, Header headerTo, rpm_tag_t * tagstocopy)
{
/* FIX: add rc */
hdrVec->hdrcopytags(headerFrom, headerTo, tagstocopy);
}
int headerNextIterator(HeaderIterator hi,
- hTAG_t tag,
+ rpm_tag_t * tag,
hTYP_t type,
hPTR_t * p,
rpm_count_t * c)
*/
typedef struct entryInfo_s * entryInfo;
struct entryInfo_s {
- int32_t tag; /*!< Tag identifier. */
+ rpm_tag_t tag; /*!< Tag identifier. */
int32_t type; /*!< Tag data type. */
int32_t offset; /*!< Offset into data segment (ondisk only). */
rpm_count_t count; /*!< Number of tag elements. */
headerTagFormatFunction fmt;
headerTagTagFunction ext; /*!< NULL if tag element is invalid */
int extNum;
- int32_t tag;
+ rpm_tag_t tag;
int justOne;
int arrayCount;
char * format;
* @retval c address of number of values (or NULL)
* @return 1 on success, 0 on failure
*/
-int headerGetRawEntry(Header h, int32_t tag,
+int headerGetRawEntry(Header h, rpm_tag_t tag,
hTYP_t type,
hPTR_t * p,
rpm_count_t * c);
* @return on-disk header (with offsets)
*/
typedef
-Header (*HDRreload) (Header h, int tag);
+Header (*HDRreload) (Header h, rpm_tag_t tag);
/** \ingroup header
* Duplicate a header.
* @return 1 on success, 0 on failure
*/
typedef
-int (*HDRisentry) (Header h, int32_t tag);
+int (*HDRisentry) (Header h, rpm_tag_t tag);
/** \ingroup header
* Free data allocated when retrieved from header.
* @return 1 on success, 0 on failure
*/
typedef
-int (*HDRget) (Header h, int32_t tag,
+int (*HDRget) (Header h, rpm_tag_t tag,
hTYP_t type,
void ** p,
rpm_count_t * c);
* @return 1 on success, 0 on failure
*/
typedef
-int (*HDRgetmin) (Header h, int32_t tag,
+int (*HDRgetmin) (Header h, rpm_tag_t tag,
hTYP_t type,
hPTR_t * p,
rpm_count_t * c);
* @return 1 on success, 0 on failure
*/
typedef
-int (*HDRadd) (Header h, int32_t tag, int32_t type, const void * p, rpm_count_t c);
+int (*HDRadd) (Header h, rpm_tag_t tag, int32_t type, const void * p, rpm_count_t c);
/** \ingroup header
* Append element to tag array in header.
* @return 1 on success, 0 on failure
*/
typedef
-int (*HDRappend) (Header h, int32_t tag, int32_t type, const void * p, rpm_count_t c);
+int (*HDRappend) (Header h, rpm_tag_t tag, int32_t type, const void * p, rpm_count_t c);
/** \ingroup header
* Add or append element to tag array in header.
* @return 1 on success, 0 on failure
*/
typedef
-int (*HDRaddorappend) (Header h, int32_t tag, int32_t type, const void * p, rpm_count_t c);
+int (*HDRaddorappend) (Header h, rpm_tag_t tag, int32_t type, const void * p, rpm_count_t c);
/** \ingroup header
* Add locale specific tag to header.
* @return 1 on success, 0 on failure
*/
typedef
-int (*HDRaddi18n) (Header h, int32_t tag, const char * string,
+int (*HDRaddi18n) (Header h, rpm_tag_t tag, const char * string,
const char * lang);
/** \ingroup header
* @return 1 on success, 0 on failure
*/
typedef
-int (*HDRmodify) (Header h, int32_t tag, int32_t type, const void * p, rpm_count_t c);
+int (*HDRmodify) (Header h, rpm_tag_t tag, int32_t type, const void * p, rpm_count_t c);
/** \ingroup header
* Delete tag in header.
* @return 0 on success, 1 on failure (INCONSISTENT)
*/
typedef
-int (*HDRremove) (Header h, int32_t tag);
+int (*HDRremove) (Header h, rpm_tag_t tag);
/** \ingroup header
* Return formatted output string from header tags.
* @param tagstocopy array of tags that are copied
*/
typedef
-void (*HDRcopytags) (Header headerFrom, Header headerTo, hTAG_t tagstocopy);
+void (*HDRcopytags) (Header headerFrom, Header headerTo, rpm_tag_t * tagstocopy);
/** \ingroup header
* Destroy header tag iterator.
*/
typedef
int (*HDRnextiter) (HeaderIterator hi,
- hTAG_t tag,
+ rpm_tag_t * tag,
hTYP_t type,
hPTR_t * p,
rpm_count_t * c);
#define _DBI_PERMS 0644
#define _DBI_MAJOR -1
-int * dbiTags = NULL;
-int dbiTagsMax = 0;
+rpm_tag_t * dbiTags = NULL;
+rpm_tag_t dbiTagsMax = 0;
/* We use this to comunicate back to the the rpm transaction
* what their install instance was on a rpmdbAdd().
* @param rpmtag rpm header tag
* @return dbi index, -1 on error
*/
-static int dbiTagToDbix(int rpmtag)
+static int dbiTagToDbix(rpm_tag_t rpmtag)
{
int dbix;
"Packages:Name:Basenames:Group:Requirename:Providename:Conflictname:Triggername:Dirnames:Requireversion:Provideversion:Installtid:Sigmd5:Sha1header:Filemd5s:Depends:Pubkeys";
char * dbiTagStr = NULL;
char * o, * oe;
- int rpmtag;
+ rpm_tag_t rpmtag;
dbiTagStr = rpmExpand("%{?_dbi_tags}", NULL);
if (!(dbiTagStr && *dbiTagStr)) {
if (oe && *oe)
*oe++ = '\0';
rpmtag = rpmTagGetValue(o);
- if (rpmtag < 0) {
+ if (rpmtag != RPMTAG_NOT_FOUND) {
rpmlog(RPMLOG_WARNING,
_("dbiTagsInit: unrecognized tag name: \"%s\" ignored\n"), o);
continue;
DB1vec, DB1vec, DB2vec, DB3vec, SQLITEvec, NULL
};
-dbiIndex dbiOpen(rpmdb db, rpmTag rpmtag, unsigned int flags)
+dbiIndex dbiOpen(rpmdb db, rpm_tag_t rpmtag, unsigned int flags)
{
int dbix;
dbiIndex dbi = NULL;
}
typedef struct miRE_s {
- rpmTag tag; /*!< header tag */
+ rpm_tag_t tag; /*!< header tag */
rpmMireMode mode; /*!< pattern match mode */
const char * pattern; /*!< pattern string */
int notmatch; /*!< like "grep -v" */
const void * mi_keyp;
size_t mi_keylen;
rpmdb mi_db;
- rpmTag mi_rpmtag;
+ rpm_tag_t mi_rpmtag;
dbiIndexSet mi_set;
DBC * mi_dbc;
DBT mi_key;
_DB_MAJOR, _DB_ERRPFX
};
-static int isTemporaryDB(int rpmtag)
+static int isTemporaryDB(rpm_tag_t rpmtag)
{
int rc = 0;
switch (rpmtag) {
return rc;
}
-int rpmdbCloseDBI(rpmdb db, int rpmtag)
+int rpmdbCloseDBI(rpmdb db, rpm_tag_t rpmtag)
{
int dbix;
int rc = 0;
if (dbiTags != NULL)
for (dbix = 0; rc == 0 && dbix < dbiTagsMax; dbix++) {
dbiIndex dbi;
- int rpmtag;
+ rpm_tag_t rpmtag;
/* Filter out temporary databases */
if (isTemporaryDB((rpmtag = dbiTags[dbix])))
* @param pattern pattern to duplicate
* @return duplicated pattern
*/
-static char * mireDup(rpmTag tag, rpmMireMode *modep,
+static char * mireDup(rpm_tag_t tag, rpmMireMode *modep,
const char * pattern)
{
const char * s;
return pat;
}
-int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTag tag,
+int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpm_tag_t tag,
rpmMireMode mode, const char * pattern)
{
static rpmMireMode defmode = (rpmMireMode)-1;
return 0;
}
-rpmdbMatchIterator rpmdbInitIterator(rpmdb db, rpmTag rpmtag,
+rpmdbMatchIterator rpmdbInitIterator(rpmdb db, rpm_tag_t rpmtag,
const void * keyp, size_t keylen)
{
rpmdbMatchIterator mi;
const char ** rpmvals = NULL;
rpmTagType rpmtype = 0;
rpm_count_t rpmcnt = 0;
- int rpmtag;
+ rpm_tag_t rpmtag;
int xx;
rpm_count_t i, j;
const char **rpmvals = NULL;
rpmTagType rpmtype = 0;
rpm_count_t rpmcnt = 0;
- int rpmtag;
+ rpm_tag_t rpmtag;
int32_t * requireFlags;
rpmRC rpmrc;
int i, j;
if (dbiTags != NULL)
for (i = 0; i < dbiTagsMax; i++) {
const char * base;
- int rpmtag;
+ rpm_tag_t rpmtag;
/* Filter out temporary databases */
if (isTemporaryDB((rpmtag = dbiTags[i])))
* @param rpmtag rpm tag
* @return 0 on success
*/
-int rpmdbCloseDBI(rpmdb db, int rpmtag);
+int rpmdbCloseDBI(rpmdb db, rpm_tag_t rpmtag);
/** \ingroup rpmdb
* Close all database indices and free rpmdb.
* @param pattern pattern to match
* @return 0 on success
*/
-int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTag tag,
+int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpm_tag_t tag,
rpmMireMode mode, const char * pattern);
/** \ingroup rpmdb
* @param keylen key data length (0 will use strlen(keyp))
* @return NULL on failure
*/
-rpmdbMatchIterator rpmdbInitIterator(rpmdb db, rpmTag rpmtag,
+rpmdbMatchIterator rpmdbInitIterator(rpmdb db, rpm_tag_t rpmtag,
const void * keyp, size_t keylen);
/** \ingroup rpmdb
* @param rpmtag rpm tag
* @return 0 on success
*/
- int (*open) (rpmdb rpmdb, rpmTag rpmtag, dbiIndex * dbip);
+ int (*open) (rpmdb rpmdb, rpm_tag_t rpmtag, dbiIndex * dbip);
/** \ingroup dbi
* Close index database, and destroy database handle.
unsigned int dbi_q_extentsize;
rpmdb dbi_rpmdb; /*!< the parent rpm database */
- rpmTag dbi_rpmtag; /*!< rpm tag used for index */
+ rpm_tag_t dbi_rpmtag; /*!< rpm tag used for index */
int dbi_jlen; /*!< size of join key */
DB * dbi_db; /*!< Berkeley DB * handle */
* @param rpmtag rpm tag
* @return index database handle
*/
-dbiIndex db3New(rpmdb rpmdb, rpmTag rpmtag);
+dbiIndex db3New(rpmdb rpmdb, rpm_tag_t rpmtag);
/** \ingroup db3
* Destroy index database handle instance.
* @param flags (unused)
* @return index database handle
*/
-dbiIndex dbiOpen(rpmdb db, rpmTag rpmtag,
+dbiIndex dbiOpen(rpmdb db, rpm_tag_t rpmtag,
unsigned int flags);
/* FIX: vector annotations */
/** \ingroup rpmdb
* Tags for which rpmdb indices will be built.
*/
-extern int * dbiTags;
-extern int dbiTagsMax;
+extern rpm_tag_t * dbiTags;
+extern rpm_tag_t dbiTagsMax;
#ifndef __APPLE__
/**
* @param dbip
* @return 0 on success
*/
-static int sql_open(rpmdb rpmdb, rpmTag rpmtag, dbiIndex * dbip)
+static int sql_open(rpmdb rpmdb, rpm_tag_t rpmtag, dbiIndex * dbip)
{
extern struct _dbiVec sqlitevec;
headerTagTableEntry * byName; /*!< header tags sorted by name. */
int byNameSize; /*!< no. of entries. */
int (*byNameCmp) (const void * avp, const void * bvp); /*!< compare entries by name. */
- int (*tagValue) (const char * name); /* return value from name. */
+ rpm_tag_t (*tagValue) (const char * name); /* return value from name. */
headerTagTableEntry * byValue; /*!< header tags sorted by value. */
int byValueSize; /*!< no. of entries. */
int (*byValueCmp) (const void * avp, const void * bvp); /*!< compare entries by value. */
- const char * (*tagName) (int value); /* Return name from value. */
- int (*tagType) (int value); /* Return type from value. */
+ const char * (*tagName) (rpm_tag_t value); /* Return name from value. */
+ int (*tagType) (rpm_tag_t value); /* Return type from value. */
};
/**
/* forward refs */
-static const char * _tagName(int tag);
-static int _tagType(int tag);
-static int _tagValue(const char * tagstr);
+static const char * _tagName(rpm_tag_t tag);
+static int _tagType(rpm_tag_t tag);
+static rpm_tag_t _tagValue(const char * tagstr);
static struct headerTagIndices_s _rpmTags = {
tagLoadIndex,
headerTagIndices rpmTags = &_rpmTags;
-static const char * _tagName(int tag)
+static const char * _tagName(rpm_tag_t tag)
{
static char nameBuf[128]; /* XXX yuk */
const struct headerTagTableEntry_s *t;
return nameBuf;
}
-static int _tagType(int tag)
+static int _tagType(rpm_tag_t tag)
{
const struct headerTagTableEntry_s *t;
int comparison, i, l, u;
return RPM_NULL_TYPE;
}
-static int _tagValue(const char * tagstr)
+static rpm_tag_t _tagValue(const char * tagstr)
{
const struct headerTagTableEntry_s *t;
int comparison, i, l, u;
if (_rpmTags.byName == NULL)
xx = tagLoadIndex(&_rpmTags.byName, &_rpmTags.byNameSize, tagCmpName);
if (_rpmTags.byName == NULL)
- return -1;
+ return RPMTAG_NOT_FOUND;
l = 0;
u = _rpmTags.byNameSize;
else
return t->val;
}
- return -1;
+ return RPMTAG_NOT_FOUND;
}
-const char * rpmTagGetName(int tag)
+const char * rpmTagGetName(rpm_tag_t tag)
{
return ((*rpmTags->tagName)(tag));
}
* @param tag tag value
* @return tag data type, RPM_NULL_TYPE on not found.
*/
-int rpmTagGetType(int tag)
+int rpmTagGetType(rpm_tag_t tag)
{
return ((*rpmTags->tagType)(tag));
}
/**
* Return tag value from name.
* @param tagstr name of tag
- * @return tag value, -1 on not found
+ * @return tag value, RPMTAG_NOT_FOUND on not found
*/
-int rpmTagGetValue(const char * tagstr)
+rpm_tag_t rpmTagGetValue(const char * tagstr)
{
return ((*rpmTags->tagValue)(tagstr));
}
ncmds++;
}
c->tagval = rpmTagGetValue(optArg);
- if (!((c->tagval >= RPMTAG_NAME && c->tagval < RPMTAG_FIRSTFREE_TAG)
- || c->tagval >= RPMTAG_EXTERNAL_TAG))
+ if (c->tagval == RPMTAG_NOT_FOUND)
errx(EXIT_FAILURE, _("unknown rpm tag \"--tag %s\""), optArg);
c->tag = xstrdup(optArg);
break;