#include <rpmsw.h>
#include <stringbuf.h>
Go to the source code of this file.
Data Structures | |
union | rpmDataType_u |
struct | _HE_s |
Defines | |
#define | RPM_MIN_TYPE 2 |
#define | RPM_MAX_TYPE 9 |
#define | RPM_MASK_TYPE 0x0000ffff |
#define | HEADER_IMAGE 61 |
Header private tags. | |
#define | HEADER_SIGNATURES 62 |
#define | HEADER_IMMUTABLE 63 |
#define | HEADER_REGIONS 64 |
#define | HEADER_I18NTABLE 100 |
#define | HEADER_SIGBASE 256 |
#define | HEADER_TAGBASE 1000 |
#define | RPMDBI_PACKAGES 0 |
Pseudo-tags used by the rpmdb and rpmgi iterator API's. | |
#define | RPMDBI_DEPENDS 1 |
#define | RPMDBI_LABEL 2 |
#define | RPMDBI_ADDED 3 |
#define | RPMDBI_REMOVED 4 |
#define | RPMDBI_AVAILABLE 5 |
#define | RPMDBI_HDLIST 6 |
#define | RPMDBI_ARGLIST 7 |
#define | RPMDBI_FTSWALK 8 |
#define | RPMTAG_PKGID RPMTAG_SIGMD5 |
#define | RPMTAG_HDRID RPMTAG_SHA1HEADER |
#define | RPMTAG_N RPMTAG_NAME |
#define | RPMTAG_V RPMTAG_VERSION |
#define | RPMTAG_R RPMTAG_RELEASE |
#define | RPMTAG_E RPMTAG_EPOCH |
#define | RPMTAG_FILEMD5S RPMTAG_FILEDIGESTS |
#define | RPMTAG_PROVIDES RPMTAG_PROVIDENAME |
#define | RPMTAG_P RPMTAG_PROVIDENAME |
#define | RPMTAG_REQUIRES RPMTAG_REQUIRENAME |
#define | RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME |
#define | RPMTAG_C RPMTAG_CONFLICTNAME |
#define | RPMTAG_OBSOLETES RPMTAG_OBSOLETENAME |
#define | RPMTAG_O RPMTAG_OBSOLETENAME |
#define | RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME |
#define | RPMTAG_ENHANCES RPMTAG_ENHANCESNAME |
#define | RPMTAG_SVNID RPMTAG_CVSID |
#define | RPMTAG_EXTERNAL_TAG 1000000 |
#define | HEADERGET_NOEXTENSION (1 << 0) |
#define | HEADERGET_NOI18NSTRING (1 << 1) |
Typedefs | |
typedef const char * | errmsg_t |
typedef struct headerToken_s * | Header |
typedef enum rpmTagType_e | rpmTagType |
typedef union rpmDataType_u | rpmTagData |
typedef uint32_t | rpmTagCount |
typedef struct _HE_s * | HE_t |
typedef enum rpmSubTagType_e | rpmSubTagType |
typedef enum rpmTagReturnType_e | rpmTagReturnType |
Identify how to return the header data type. | |
typedef struct headerIterator_s * | HeaderIterator |
typedef struct headerTagIndices_s * | headerTagIndices |
typedef struct headerSprintfExtension_s * | headerSprintfExtension |
typedef enum rpmTag_e | rpmTag |
typedef enum rpmSigTag_e | rpmSigTag |
typedef struct _HE_s | HE_s |
typedef struct tagStore_s * | tagStore_t |
typedef struct headerTagTableEntry_s * | headerTagTableEntry |
Enumerations | |
enum | rpmTagType_e { RPM_UINT8_TYPE = 2, RPM_UINT16_TYPE = 3, RPM_UINT32_TYPE = 4, RPM_UINT64_TYPE = 5, RPM_STRING_TYPE = 6, RPM_BIN_TYPE = 7, RPM_STRING_ARRAY_TYPE = 8, RPM_I18NSTRING_TYPE = 9 } |
The basic types of data in tags from headers. More... | |
enum | rpmSubTagType_e { RPM_REGION_TYPE = -10, RPM_BIN_ARRAY_TYPE = -11, RPM_XREF_TYPE = -12 } |
enum | rpmTagReturnType_e { RPM_ANY_RETURN_TYPE = 0, RPM_SCALAR_RETURN_TYPE = 0x00010000, RPM_ARRAY_RETURN_TYPE = 0x00020000, RPM_MAPPING_RETURN_TYPE = 0x00040000, RPM_PROBE_RETURN_TYPE = 0x00100000, RPM_TREE_RETURN_TYPE = 0x00200000, RPM_OPENPGP_RETURN_TYPE = 0x00400000, RPM_X509_RETURN_TYPE = 0x00800000, RPM_ASN1_RETURN_TYPE = 0x01000000, RPM_OPAQUE_RETURN_TYPE = 0x10000000, RPM_MASK_RETURN_TYPE = 0xffff0000 } |
Identify how to return the header data type. More... | |
enum | rpmTag_e { RPMTAG_HEADERIMAGE = 61, RPMTAG_HEADERSIGNATURES = 62, RPMTAG_HEADERIMMUTABLE = 63, RPMTAG_HEADERREGIONS = 64, RPMTAG_HEADERI18NTABLE = 100, RPMTAG_SIG_BASE = 256, RPMTAG_SIGSIZE = RPMTAG_SIG_BASE+1, RPMTAG_SIGLEMD5_1 = RPMTAG_SIG_BASE+2, RPMTAG_SIGPGP = RPMTAG_SIG_BASE+3, RPMTAG_SIGLEMD5_2 = RPMTAG_SIG_BASE+4, RPMTAG_SIGMD5 = RPMTAG_SIG_BASE+5 } |
Tags identify data in package headers. More... | |
enum | rpmSigTag_e { RPMSIGTAG_SIZE = 1000, RPMSIGTAG_LEMD5_1 = 1001, RPMSIGTAG_PGP = 1002, RPMSIGTAG_LEMD5_2 = 1003, RPMSIGTAG_MD5 = 1004, RPMSIGTAG_GPG = 1005, RPMSIGTAG_PGP5 = 1006, RPMSIGTAG_PAYLOADSIZE = 1007, RPMSIGTAG_BADSHA1_1 = RPMTAG_BADSHA1_1, RPMSIGTAG_BADSHA1_2 = RPMTAG_BADSHA1_2, RPMSIGTAG_SHA1 = RPMTAG_SHA1HEADER, RPMSIGTAG_DSA = RPMTAG_DSAHEADER, RPMSIGTAG_RSA = RPMTAG_RSAHEADER } |
Tags found in signature header from package. More... | |
Functions | |
const char * | tagName (rpmTag tag) |
Return tag name from value. | |
unsigned int | tagType (rpmTag tag) |
Return tag data type from value. | |
rpmTag | tagValue (const char *tagstr) |
Return tag value from name. | |
char * | tagCanonicalize (const char *s) |
Canonicalize a rpmTag string. | |
rpmTag | tagGenerate (const char *s) |
Generate a tag from arbitrary string. | |
void | tagClean (headerTagIndices _rpmTags) |
Free memory in header tag indices. | |
tagStore_t | tagStoreFree (tagStore_t dbiTags, size_t dbiNTags) |
Destroy tagStore array. | |
void | rpmDisplayQueryTags (FILE *fp, headerTagTableEntry _rpmTagTable, headerSprintfExtension _rpmHeaderFormats) |
Display list of tags that can be used in --queryformat. | |
char * | headerSprintf (Header h, const char *fmt, headerTagTableEntry tags, headerSprintfExtension exts, errmsg_t *errmsg) |
Return formatted output string from header tags. | |
int | headerGet (Header h, HE_t he, unsigned int flags) |
Retrieve extension or tag value from a header. | |
int | headerPut (Header h, HE_t he, unsigned int flags) |
Add or append tag container to header. | |
int | headerDel (Header h, HE_t he, unsigned int flags) |
Remove tag container from header. | |
int | headerMod (Header h, HE_t he, unsigned int flags) |
Modify tag container in header. | |
HeaderIterator | headerFini (HeaderIterator hi) |
Destroy header tag container iterator. | |
HeaderIterator | headerInit (Header h) |
Create header tag iterator. | |
int | headerNext (HeaderIterator hi, HE_t he, unsigned int flags) |
Return next tag from header. | |
Header | headerLink (Header h) |
Reference a header instance. | |
Header | headerUnlink (Header h) |
Dereference a header instance. | |
Header | headerFree (Header h) |
Dereference a header instance. | |
Header | headerNew (void) |
Create new (empty) header instance. | |
size_t | headerSizeof (Header h) |
Return size of on-disk header representation in bytes. | |
void * | headerUnload (Header h, size_t *lenp) |
Header | headerReload (Header h, int tag) |
Convert header to on-disk representation, and then reload. | |
Header | headerCopy (Header h) |
Duplicate a header. | |
Header | headerLoad (void *uh) |
Convert header to in-memory representation. | |
Header | headerCopyLoad (const void *uh) |
Make a copy and convert header to in-memory representation. | |
int | headerIsEntry (Header h, rpmTag tag) |
Check if tag is in header. | |
int | headerAddI18NString (Header h, rpmTag tag, const char *string, const char *lang) |
Add locale specific tag to header. | |
void | headerCopyTags (Header headerFrom, Header headerTo, rpmTag *tagstocopy) |
Duplicate tag values from one header into another. | |
int | headerGetMagic (Header h, unsigned char **magicp, size_t *nmagicp) |
Return header magic. | |
int | headerSetMagic (Header h, unsigned char *magic, size_t nmagic) |
Store header magic. | |
const char * | headerGetOrigin (Header h) |
Return header origin (e.g path or URL). | |
int | headerSetOrigin (Header h, const char *origin) |
Store header origin (e.g path or URL). | |
uint32_t | headerGetInstance (Header h) |
Return header instance (if from rpmdb). | |
uint32_t | headerSetInstance (Header h, uint32_t instance) |
Store header instance (e.g path or URL). | |
void * | headerGetStats (Header h, int opx) |
Return header stats accumulator structure. | |
int | headerMacrosLoad (Header h) |
Define per-header macros. | |
int | headerMacrosUnload (Header h) |
Define per-header macros. | |
int | headerNEVRA (Header h, const char **np, const char **ep, const char **vp, const char **rp, const char **ap) |
Return name, epoch, version, release, arch strings from header. | |
uint32_t | hGetColor (Header h) |
Return header color. | |
void | headerMergeLegacySigs (Header h, const Header sigh) |
Translate and merge legacy signature tags into header. | |
Header | headerRegenSigHeader (const Header h, int noArchiveSize) |
Regenerate signature header. | |
Variables | |
headerTagTableEntry | rpmTagTable |
Automatically generated table of tag name/value pairs. | |
int | rpmTagTableSize |
Number of entries in rpmTagTable. | |
headerTagIndices | rpmTags |
headerSprintfExtension | headerDefaultFormats |
Supported default header tag output formats. | |
headerSprintfExtension | headerCompoundFormats |
Supported default header extension/tag output formats. |
Definition in file rpmtag.h.
#define HEADER_I18NTABLE 100 |
Definition at line 119 of file rpmtag.h.
Referenced by hdrKeyList(), headerAddI18NString(), headerFindI18NString(), headerLoad(), initSourceHeader(), and regionSwab().
#define HEADER_IMAGE 61 |
Header private tags.
Definition at line 115 of file rpmtag.h.
Referenced by copyEntry(), headerCopy(), headerLoad(), and regionSwab().
#define HEADER_IMMUTABLE 63 |
#define HEADER_SIGBASE 256 |
Definition at line 120 of file rpmtag.h.
Referenced by headerMergeLegacySigs(), and headerRegenSigHeader().
#define HEADER_SIGNATURES 62 |
#define HEADER_TAGBASE 1000 |
Definition at line 121 of file rpmtag.h.
Referenced by headerMergeLegacySigs(), and headerRegenSigHeader().
#define HEADERGET_NOEXTENSION (1 << 0) |
Extension search disabler.
Definition at line 724 of file rpmtag.h.
Referenced by headerGet(), i18nTag(), and localeTag().
#define HEADERGET_NOI18NSTRING (1 << 1) |
#define RPM_MASK_TYPE 0x0000ffff |
Definition at line 42 of file rpmtag.h.
Referenced by rpmDisplayQueryTags(), sql_bind_key(), sql_copen(), and sql_initDB().
#define RPM_MAX_TYPE 9 |
#define RPMDBI_ADDED 3 |
Definition at line 141 of file rpmtag.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), rpmdbRemove(), and rpmgiNext().
#define RPMDBI_ARGLIST 7 |
Definition at line 145 of file rpmtag.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmcliArgIter(), rpmcliInstall(), rpmcliSign(), rpmgiGlobArgv(), rpmgiNext(), and rpmReSign().
#define RPMDBI_AVAILABLE 5 |
Definition at line 143 of file rpmtag.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), and rpmdbRemove().
#define RPMDBI_DEPENDS 1 |
Definition at line 139 of file rpmtag.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), rpmdbRemove(), rpmgiNext(), rpmtsCheck(), and unsatisfiedDepend().
#define RPMDBI_FTSWALK 8 |
Definition at line 146 of file rpmtag.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmcliArgIter(), rpmcliInstall(), rpmcliSign(), rpmgiGlobArgv(), rpmgiNext(), and rpmReSign().
#define RPMDBI_HDLIST 6 |
Definition at line 144 of file rpmtag.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmcliArgIter(), rpmgiGlobArgv(), and rpmgiNext().
#define RPMDBI_LABEL 2 |
Definition at line 140 of file rpmtag.h.
Referenced by rpmcliArgIter(), rpmdbInitIterator(), rpmErase(), rpmQueryVerify(), rpmts_AddErase(), and rpmtsInitIterator().
#define RPMDBI_PACKAGES 0 |
Pseudo-tags used by the rpmdb and rpmgi iterator API's.
Definition at line 138 of file rpmtag.h.
Referenced by _tagName(), _tagType(), _tagValue(), dbiFindMatches(), dbiOpen(), dbiTagsInit(), handleInstInstalledFiles(), handleRmvdInstalledFiles(), init_rpm(), markReplacedFiles(), rpmcliArgIter(), rpmdb_length(), rpmdb_Match(), rpmdb_subscript(), rpmdbAdd(), rpmdbFindByFile(), rpmdbFreeIterator(), rpmdbInitIterator(), rpmdbNextIterator(), rpmdbOpenDatabase(), rpmdbRebuild(), rpmdbRemove(), rpmgiInitFilter(), rpmgiNext(), rpmpsmStage(), rpmQueryVerify(), rpmts_AddErase(), rpmts_Match(), sql_bind_key(), sql_cget(), and sql_initDB().
#define RPMDBI_REMOVED 4 |
Definition at line 142 of file rpmtag.h.
Referenced by _tagName(), _tagType(), _tagValue(), rpmdbAdd(), rpmdbMoveDatabase(), rpmdbOpenAll(), rpmdbOpenDatabase(), rpmdbRemove(), and rpmgiNext().
#define RPMTAG_CONFLICTS RPMTAG_CONFLICTNAME |
#define RPMTAG_FILEMD5S RPMTAG_FILEDIGESTS |
#define RPMTAG_HDRID RPMTAG_SHA1HEADER |
Definition at line 182 of file rpmtag.h.
Referenced by _tagName(), addTE(), rpmHeadersIdentical(), and rpmteChain().
#define RPMTAG_PKGID RPMTAG_SIGMD5 |
#define RPMTAG_PROVIDES RPMTAG_PROVIDENAME |
typedef struct headerTagTableEntry_s* headerTagTableEntry |
int headerMacrosLoad | ( | Header | h | ) |
Define per-header macros.
h | header |
Definition at line 34 of file hdrNVR.c.
References _free(), addMacro(), alloca(), headerGet(), tagMacro::macroname, _HE_s::p, rpmDataType_u::ptr, RPM_BIN_TYPE, RPM_I18NSTRING_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, RPM_UINT16_TYPE, RPM_UINT32_TYPE, RPM_UINT64_TYPE, RPM_UINT8_TYPE, rpmExpand(), rpmDataType_u::str, _HE_s::t, tagMacro::tag, _HE_s::tag, tagMacros, rpmDataType_u::ui16p, rpmDataType_u::ui32p, rpmDataType_u::ui64p, and rpmDataType_u::ui8p.
Referenced by processBinaryFiles(), rpmfiNew(), and rpmInstallSourcePackage().
int headerMacrosUnload | ( | Header | h | ) |
Define per-header macros.
h | header |
Definition at line 106 of file hdrNVR.c.
References _free(), alloca(), delMacro(), headerGet(), tagMacro::macroname, _HE_s::p, rpmDataType_u::ptr, RPM_BIN_TYPE, RPM_I18NSTRING_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, RPM_UINT16_TYPE, RPM_UINT32_TYPE, RPM_UINT64_TYPE, RPM_UINT8_TYPE, rpmExpand(), _HE_s::t, tagMacro::tag, _HE_s::tag, and tagMacros.
Referenced by processBinaryFiles(), and rpmfiNew().
uint32_t hGetColor | ( | Header | h | ) |
Return header color.
h | header |
Definition at line 216 of file hdrNVR.c.
References _free(), alloca(), _HE_s::c, headerGet(), _HE_s::p, rpmDataType_u::ptr, _HE_s::tag, and rpmDataType_u::ui32p.
Referenced by rpmdbAdd(), and rpmtsAddInstallElement().
void rpmDisplayQueryTags | ( | FILE * | fp, | |
headerTagTableEntry | _rpmTagTable, | |||
headerSprintfExtension | _rpmHeaderFormats | |||
) |
Display list of tags that can be used in --queryformat.
fp | file handle to use for display (NULL uses stdout) | |
_rpmTagTable | rpm tag table (NULL uses rpmTagTable) | |
_rpmHeaderFormats | rpm tag extensions & formats (NULL uses headerCompoundFormats) |
Definition at line 1718 of file hdrfmt.c.
References RPM_ARRAY_RETURN_TYPE, RPM_ASN1_RETURN_TYPE, RPM_MAPPING_RETURN_TYPE, RPM_MASK_TYPE, RPM_MAX_TYPE, RPM_OPAQUE_RETURN_TYPE, RPM_OPENPGP_RETURN_TYPE, RPM_PROBE_RETURN_TYPE, RPM_TREE_RETURN_TYPE, RPM_X509_RETURN_TYPE, rpmIsVerbose, rpmTagTable, tagValue(), and ttype.
Referenced by rpmcliAllArgCallback().
char* tagCanonicalize | ( | const char * | s | ) |
Canonicalize a rpmTag string.
s | string |
Definition at line 406 of file tagname.c.
Referenced by fillOutMainPackage(), findPreambleTag(), and isPart().
void tagClean | ( | headerTagIndices | _rpmTags | ) |
Free memory in header tag indices.
_rpmTags | header tag indices (NULL uses rpmTags) |
Definition at line 416 of file tagname.c.
References _free(), and argvFree().
Referenced by rpmcliFini().
rpmTag tagGenerate | ( | const char * | s | ) |
Generate a tag from arbitrary string.
s | string |
Definition at line 411 of file tagname.c.
Referenced by fillOutMainPackage(), findPreambleTag(), and isPart().
const char* tagName | ( | rpmTag | tag | ) |
Return tag name from value.
tag | tag value |
Definition at line 391 of file tagname.c.
Referenced by checkForDuplicates(), checkForRequired(), dbiFindMatches(), dbiOpen(), findPreambleTag(), handlePreambleTag(), headerGet(), i18nTag(), isPart(), mapTagName(), miFreeHeader(), myTagName(), printNewSpecfile(), rpmdbAdd(), rpmdbCountPackages(), rpmdbFindByFile(), rpmdbGrowIterator(), rpmdbInitIterator(), rpmdbMoveDatabase(), rpmdbRemove(), rpmdbRemoveDatabase(), rpmdsMergePRCO(), rpmdsTagName(), rpmfcMergePR(), rpmgiInitFilter(), rpmgiNext(), sql_copen(), sql_initDB(), sql_open(), stashSt(), XrpmgiLink(), and XrpmgiUnlink().
tagStore_t tagStoreFree | ( | tagStore_t | dbiTags, | |
size_t | dbiNTags | |||
) |
Destroy tagStore array.
dbiTags | dbi tag storage | |
dbiNTags | no. of dbi tags |
Definition at line 428 of file tagname.c.
References _free(), and freeStringBuf().
Referenced by dbiTagsInit(), freeSpec(), rpmdbClose(), and rpmdbRebuild().
unsigned int tagType | ( | rpmTag | tag | ) |
Return tag data type from value.
tag | tag value |
Definition at line 396 of file tagname.c.
Referenced by myTagName(), sql_bind_key(), sql_copen(), and sql_initDB().
rpmTag tagValue | ( | const char * | tagstr | ) |
Return tag value from name.
tagstr | name of tag |
Definition at line 401 of file tagname.c.
Referenced by dbiTagsInit(), initSourceHeader(), myTagValue(), rpmDisplayQueryTags(), rpmdsSysinfo(), rpmgiInitFilter(), and tagNumFromPyObject().
Automatically generated table of tag name/value pairs.
Definition at line 207 of file tagtbl.c.
Referenced by headerSprintf(), init_rpm(), myTagName(), myTagValue(), rpmDisplayQueryTags(), and tagLoadIndex().
int rpmTagTableSize |
Number of entries in rpmTagTable.
Definition at line 210 of file tagtbl.c.
Referenced by tagLoadIndex().