40 #define RPM_MIN_TYPE 2
41 #define RPM_MAX_TYPE 9
42 #define RPM_MASK_TYPE 0x0000ffff
115 #define HEADER_IMAGE 61
116 #define HEADER_SIGNATURES 62
117 #define HEADER_IMMUTABLE 63
118 #define HEADER_REGIONS 64
119 #define HEADER_I18NTABLE 100
120 #define HEADER_SIGBASE 256
121 #define HEADER_TAGBASE 1000
138 #define RPMDBI_PACKAGES 0
139 #define RPMDBI_DEPENDS 1
140 #define RPMDBI_LABEL 2
141 #define RPMDBI_ADDED 3
142 #define RPMDBI_REMOVED 4
143 #define RPMDBI_AVAILABLE 5
144 #define RPMDBI_HDLIST 6
145 #define RPMDBI_ARGLIST 7
146 #define RPMDBI_FTSWALK 8
172 #define RPMTAG_PKGID RPMTAG_SIGMD5
182 #define RPMTAG_HDRID RPMTAG_SHA1HEADER
185 #define RPMTAG_N RPMTAG_NAME
187 #define RPMTAG_V RPMTAG_VERSION
189 #define RPMTAG_R RPMTAG_RELEASE
191 #define RPMTAG_E RPMTAG_EPOCH
226 #define RPMTAG_FILEMD5S RPMTAG_FILEDIGESTS
243 #define RPMTAG_PROVIDES RPMTAG_PROVIDENAME
244 #define RPMTAG_P RPMTAG_PROVIDENAME
247 #define RPMTAG_REQUIRES RPMTAG_REQUIRENAME
253 #define RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME
254 #define RPMTAG_C RPMTAG_CONFLICTNAME
284 #define RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME
285 #define RPMTAG_O RPMTAG_OBSOLETENAME
360 #define RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME
364 #define RPMTAG_ENHANCES RPMTAG_ENHANCESNAME
369 #define RPMTAG_SVNID RPMTAG_CVSID
425 #define RPMTAG_D RPMTAG_DISTEPOCH
450 #define RPMTAG_EXTERNAL_TAG 1000000
509 #if defined(_RPMTAG_INTERNAL)
516 struct headerTagTableEntry_s {
550 extern headerTagIndices
rpmTags;
553 #if defined(_RPMTAG_INTERNAL)
557 struct headerTagIndices_s {
559 int (*loadIndex) (headerTagTableEntry ** ipp,
size_t * np,
560 int (*cmp) (
const void * avp,
const void * bvp))
563 headerTagTableEntry * byName;
565 int (*byNameCmp) (
const void * avp,
const void * bvp)
570 headerTagTableEntry * byValue;
572 int (*byValueCmp) (
const void * avp,
const void * bvp)
574 const char * (*tagName) (rpmTag value)
584 char * (*tagCanonicalize) (
const char * s)
598 const char *
tagName(rpmTag tag)
607 unsigned int tagType(rpmTag tag)
615 rpmTag
tagValue(
const char * tagstr)
650 tagStore_t
tagStoreFree(tagStore_t dbiTags,
size_t dbiNTags)
653 #if defined(_RPMTAG_INTERNAL)
656 typedef enum headerSprintfExtensionType_e {
661 } headerSprintfExtensionType;
670 typedef char * (*headerTagFormatFunction) (HE_t he,
const char ** av)
681 typedef int (*headerTagTagFunction) (Header h, HE_t he)
688 struct headerSprintfExtension_s {
689 headerSprintfExtensionType type;
695 headerTagFormatFunction fmtFunction;
696 headerTagTagFunction tagFunction;
697 headerSprintfExtension * more;
740 headerTagTableEntry tags,
741 headerSprintfExtension exts,
754 int headerGet(Header h, HE_t he,
unsigned int flags)
757 #define HEADERGET_NOEXTENSION (1 << 0)
758 #define HEADERGET_NOI18NSTRING (1 << 1)
769 int headerPut(Header h, HE_t he,
unsigned int flags)
781 int headerDel(Header h, HE_t he,
unsigned int flags)
792 int headerMod(Header h, HE_t he,
unsigned int flags)
821 int headerNext(HeaderIterator hi, HE_t he,
unsigned int flags)
832 #define headerLink(_h) \
833 ((Header)rpmioLinkPoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__))
843 #define headerUnlink(_h) \
844 ((Header)rpmioUnlinkPoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__))
854 #define headerFree(_h) \
855 ((Header)rpmioFreePoolItem((rpmioItem)(_h), __FUNCTION__, __FILE__, __LINE__))
966 void headerCopyTags(Header headerFrom, Header headerTo, rpmTag * tagstocopy)
977 int headerGetMagic( Header h,
unsigned char **magicp,
size_t *nmagicp)
987 int headerSetMagic( Header h,
unsigned char * magic,
size_t nmagic)