Files | |
file | formats.c |
file | package.c |
file | rpmlib.h |
In Memoriam: Steve Taylor <staylor@redhat.com> was here, now he's not. | |
file | hdrinline.h |
file | header.c |
file | header.h |
An rpm header carries all information about a package. | |
file | header_internal.c |
file | header_internal.h |
Data Structures | |
struct | _HE_s |
struct | headerToken_s |
The Header data structure. More... | |
Typedefs | |
typedef enum rpmTag_e | rpmTag |
typedef const char * | errmsg_t |
typedef headerToken_s * | Header |
typedef enum rpmTagType_e | rpmTagType |
typedef rpmDataType_u | rpmTagData |
typedef int_32 | rpmTagCount |
typedef _HE_s * | HE_t |
typedef rpmDataType_u | hRET_t |
typedef int_32 * | hTAG_t |
typedef headerIterator_s * | HeaderIterator |
typedef headerTagTableEntry_s * | headerTagTableEntry |
Associate tag names with numeric values. | |
typedef char *(* | headerTagFormatFunction )(HE_t he, const char **av) |
HEADER_EXT_TAG format function prototype. | |
typedef int(* | headerTagTagFunction )(Header h, HE_t he) |
HEADER_EXT_FORMAT format function prototype. | |
typedef headerSprintfExtension_s * | headerSprintfExtension |
Define header tag output formats. | |
typedef enum rpmSubTagType_e | rpmSubTagType |
New rpm data types under consideration/development. | |
typedef enum rpmTagReturnType_e | rpmTagReturnType |
Identify how to return the header data type. | |
typedef Header(* | HDRnew )(void) |
Create new (empty) header instance. | |
typedef Header(* | HDRfree )(Header h) |
Dereference a header instance. | |
typedef Header(* | HDRlink )(Header h) |
Reference a header instance. | |
typedef Header(* | HDRunlink )(Header h) |
Dereference a header instance. | |
typedef void(* | HDRsort )(Header h) |
Sort tags in header. | |
typedef void(* | HDRunsort )(Header h) |
Restore tags in header to original ordering. | |
typedef unsigned int(* | HDRsizeof )(Header h, enum hMagic magicp) |
Return size of on-disk header representation in bytes. | |
typedef void *(* | HDRunload )(Header h) |
Convert header to on-disk representation. | |
typedef Header(* | HDRreload )(Header h, int tag) |
Convert header to on-disk representation, and then reload. | |
typedef Header(* | HDRcopy )(Header h) |
Duplicate a header. | |
typedef Header(* | HDRload )(void *uh) |
Convert header to in-memory representation. | |
typedef Header(* | HDRcopyload )(const void *uh) |
Make a copy and convert header to in-memory representation. | |
typedef Header(* | HDRread )(void *_fd, enum hMagic magicp) |
Read (and load) header from file handle. | |
typedef int(* | HDRwrite )(void *_fd, Header h, enum hMagic magicp) |
Write (with unload) header to file handle. | |
typedef int(* | HDRisentry )(Header h, int_32 tag) |
Check if tag is in header. | |
typedef void *(* | HDRfreetag )(Header h, const void *data, rpmTagType type) |
Free data allocated when retrieved from header. | |
typedef int(* | HDRext )(Header h, int_32 tag, hTYP_t type, hRET_t *p, hCNT_t c) |
Retrieve extension or tag value. | |
typedef int(* | HDRget )(Header h, int_32 tag, hTYP_t type, void *p, hCNT_t c) |
Retrieve tag value. | |
typedef int(* | HDRgetmin )(Header h, int_32 tag, hTYP_t type, void *p, hCNT_t c) |
Retrieve tag value using header internal array. | |
typedef int(* | HDRadd )(Header h, int_32 tag, int_32 type, const void *p, int_32 c) |
Add tag to header. | |
typedef int(* | HDRappend )(Header h, int_32 tag, int_32 type, const void *p, int_32 c) |
Append element to tag array in header. | |
typedef int(* | HDRaddorappend )(Header h, int_32 tag, int_32 type, const void *p, int_32 c) |
Add or append element to tag array in header. | |
typedef int(* | HDRaddi18n )(Header h, int_32 tag, const char *string, const char *lang) |
Add locale specific tag to header. | |
typedef int(* | HDRmodify )(Header h, int_32 tag, int_32 type, const void *p, int_32 c) |
Modify tag in header. | |
typedef int(* | HDRremove )(Header h, int_32 tag) |
Delete tag in header. | |
typedef char *(* | HDRsprintf )(Header h, const char *fmt, const struct headerTagTableEntry_s *tags, const struct headerSprintfExtension_s *exts, errmsg_t *errmsg) |
Return formatted output string from header tags. | |
typedef void(* | HDRcopytags )(Header headerFrom, Header headerTo, hTAG_t tagstocopy) |
Duplicate tag values from one header into another. | |
typedef HeaderIterator(* | HDRfreeiter )(HeaderIterator hi) |
Destroy header tag iterator. | |
typedef HeaderIterator(* | HDRinititer )(Header h) |
Create header tag iterator. | |
typedef int(* | HDRnextiter )(HeaderIterator hi, hTAG_t tag, hTYP_t type, hPTR_t *p, hCNT_t c) |
Return next tag from header. | |
typedef int(* | HDRgetmagic )(Header h, unsigned char **magicp, size_t *nmagicp) |
Return header magic. | |
typedef int(* | HDRsetmagic )(Header h, unsigned char *magic, size_t nmagic) |
Store header magic. | |
typedef const char *(* | HDRgetorigin )(Header h) |
Return header origin (e.g path or URL). | |
typedef int(* | HDRsetorigin )(Header h, const char *origin) |
Store header origin (e.g path or URL). | |
typedef int(* | HDRgetinstance )(Header h) |
Return header instance (if from rpmdb). | |
typedef int(* | HDRsetinstance )(Header h, int instance) |
Store header instance (e.g path or URL). | |
typedef HV_s * | HV_t |
Header method vectors. | |
typedef entryInfo_s * | entryInfo |
Description of tag data. | |
typedef indexEntry_s * | indexEntry |
A single tag from a Header. | |
typedef sprintfTag_s * | sprintfTag |
typedef sprintfToken_s * | sprintfToken |
Enumerations | |
enum | rpmTag_e { RPMTAG_HEADERIMAGE = HEADER_IMAGE, RPMTAG_HEADERSIGNATURES = HEADER_SIGNATURES, RPMTAG_HEADERIMMUTABLE = HEADER_IMMUTABLE, RPMTAG_HEADERREGIONS = HEADER_REGIONS, RPMTAG_HEADERI18NTABLE = HEADER_I18NTABLE, RPMTAG_SIG_BASE = HEADER_SIGBASE, 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, RPMTAG_SIGGPG = RPMTAG_SIG_BASE+6, RPMTAG_SIGPGP5 = RPMTAG_SIG_BASE+7, RPMTAG_BADSHA1_1 = RPMTAG_SIG_BASE+8, RPMTAG_BADSHA1_2 = RPMTAG_SIG_BASE+9, RPMTAG_PUBKEYS = RPMTAG_SIG_BASE+10, RPMTAG_DSAHEADER = RPMTAG_SIG_BASE+11, RPMTAG_RSAHEADER = RPMTAG_SIG_BASE+12, RPMTAG_SHA1HEADER = RPMTAG_SIG_BASE+13, RPMTAG_NAME = 1000, RPMTAG_VERSION = 1001, RPMTAG_RELEASE = 1002, RPMTAG_EPOCH = 1003, RPMTAG_SUMMARY = 1004, RPMTAG_DESCRIPTION = 1005, RPMTAG_BUILDTIME = 1006, RPMTAG_BUILDHOST = 1007, RPMTAG_INSTALLTIME = 1008, RPMTAG_SIZE = 1009, RPMTAG_DISTRIBUTION = 1010, RPMTAG_VENDOR = 1011, RPMTAG_GIF = 1012, RPMTAG_XPM = 1013, RPMTAG_LICENSE = 1014, RPMTAG_PACKAGER = 1015, RPMTAG_GROUP = 1016, RPMTAG_CHANGELOG = 1017, RPMTAG_SOURCE = 1018, RPMTAG_PATCH = 1019, RPMTAG_URL = 1020, RPMTAG_OS = 1021, RPMTAG_ARCH = 1022, RPMTAG_PREIN = 1023, RPMTAG_POSTIN = 1024, RPMTAG_PREUN = 1025, RPMTAG_POSTUN = 1026, RPMTAG_OLDFILENAMES = 1027, RPMTAG_FILESIZES = 1028, RPMTAG_FILESTATES = 1029, RPMTAG_FILEMODES = 1030, RPMTAG_FILEUIDS = 1031, RPMTAG_FILEGIDS = 1032, RPMTAG_FILERDEVS = 1033, RPMTAG_FILEMTIMES = 1034, RPMTAG_FILEDIGESTS = 1035, RPMTAG_FILELINKTOS = 1036, RPMTAG_FILEFLAGS = 1037, RPMTAG_ROOT = 1038, RPMTAG_FILEUSERNAME = 1039, RPMTAG_FILEGROUPNAME = 1040, RPMTAG_EXCLUDE = 1041, RPMTAG_EXCLUSIVE = 1042, RPMTAG_ICON = 1043, RPMTAG_SOURCERPM = 1044, RPMTAG_FILEVERIFYFLAGS = 1045, RPMTAG_ARCHIVESIZE = 1046, RPMTAG_PROVIDENAME = 1047, RPMTAG_REQUIREFLAGS = 1048, RPMTAG_REQUIRENAME = 1049, RPMTAG_REQUIREVERSION = 1050, RPMTAG_NOSOURCE = 1051, RPMTAG_NOPATCH = 1052, RPMTAG_CONFLICTFLAGS = 1053, RPMTAG_CONFLICTNAME = 1054, RPMTAG_CONFLICTVERSION = 1055, RPMTAG_DEFAULTPREFIX = 1056, RPMTAG_BUILDROOT = 1057, RPMTAG_INSTALLPREFIX = 1058, RPMTAG_EXCLUDEARCH = 1059, RPMTAG_EXCLUDEOS = 1060, RPMTAG_EXCLUSIVEARCH = 1061, RPMTAG_EXCLUSIVEOS = 1062, RPMTAG_AUTOREQPROV = 1063, RPMTAG_RPMVERSION = 1064, RPMTAG_TRIGGERSCRIPTS = 1065, RPMTAG_TRIGGERNAME = 1066, RPMTAG_TRIGGERVERSION = 1067, RPMTAG_TRIGGERFLAGS = 1068, RPMTAG_TRIGGERINDEX = 1069, RPMTAG_VERIFYSCRIPT = 1079, RPMTAG_CHANGELOGTIME = 1080, RPMTAG_CHANGELOGNAME = 1081, RPMTAG_CHANGELOGTEXT = 1082, RPMTAG_BROKENMD5 = 1083, RPMTAG_PREREQ = 1084, RPMTAG_PREINPROG = 1085, RPMTAG_POSTINPROG = 1086, RPMTAG_PREUNPROG = 1087, RPMTAG_POSTUNPROG = 1088, RPMTAG_BUILDARCHS = 1089, RPMTAG_OBSOLETENAME = 1090, RPMTAG_VERIFYSCRIPTPROG = 1091, RPMTAG_TRIGGERSCRIPTPROG = 1092, RPMTAG_DOCDIR = 1093, RPMTAG_COOKIE = 1094, RPMTAG_FILEDEVICES = 1095, RPMTAG_FILEINODES = 1096, RPMTAG_FILELANGS = 1097, RPMTAG_PREFIXES = 1098, RPMTAG_INSTPREFIXES = 1099, RPMTAG_TRIGGERIN = 1100, RPMTAG_TRIGGERUN = 1101, RPMTAG_TRIGGERPOSTUN = 1102, RPMTAG_AUTOREQ = 1103, RPMTAG_AUTOPROV = 1104, RPMTAG_CAPABILITY = 1105, RPMTAG_SOURCEPACKAGE = 1106, RPMTAG_OLDORIGFILENAMES = 1107, RPMTAG_BUILDPREREQ = 1108, RPMTAG_BUILDREQUIRES = 1109, RPMTAG_BUILDCONFLICTS = 1110, RPMTAG_BUILDMACROS = 1111, RPMTAG_PROVIDEFLAGS = 1112, RPMTAG_PROVIDEVERSION = 1113, RPMTAG_OBSOLETEFLAGS = 1114, RPMTAG_OBSOLETEVERSION = 1115, RPMTAG_DIRINDEXES = 1116, RPMTAG_BASENAMES = 1117, RPMTAG_DIRNAMES = 1118, RPMTAG_ORIGDIRINDEXES = 1119, RPMTAG_ORIGBASENAMES = 1120, RPMTAG_ORIGDIRNAMES = 1121, RPMTAG_OPTFLAGS = 1122, RPMTAG_DISTURL = 1123, RPMTAG_PAYLOADFORMAT = 1124, RPMTAG_PAYLOADCOMPRESSOR = 1125, RPMTAG_PAYLOADFLAGS = 1126, RPMTAG_INSTALLCOLOR = 1127, RPMTAG_INSTALLTID = 1128, RPMTAG_REMOVETID = 1129, RPMTAG_SHA1RHN = 1130, RPMTAG_RHNPLATFORM = 1131, RPMTAG_PLATFORM = 1132, RPMTAG_PATCHESNAME = 1133, RPMTAG_PATCHESFLAGS = 1134, RPMTAG_PATCHESVERSION = 1135, RPMTAG_CACHECTIME = 1136, RPMTAG_CACHEPKGPATH = 1137, RPMTAG_CACHEPKGSIZE = 1138, RPMTAG_CACHEPKGMTIME = 1139, RPMTAG_FILECOLORS = 1140, RPMTAG_FILECLASS = 1141, RPMTAG_CLASSDICT = 1142, RPMTAG_FILEDEPENDSX = 1143, RPMTAG_FILEDEPENDSN = 1144, RPMTAG_DEPENDSDICT = 1145, RPMTAG_SOURCEPKGID = 1146, RPMTAG_FILECONTEXTS = 1147, RPMTAG_FSCONTEXTS = 1148, RPMTAG_RECONTEXTS = 1149, RPMTAG_POLICIES = 1150, RPMTAG_PRETRANS = 1151, RPMTAG_POSTTRANS = 1152, RPMTAG_PRETRANSPROG = 1153, RPMTAG_POSTTRANSPROG = 1154, RPMTAG_DISTTAG = 1155, RPMTAG_SUGGESTSNAME = 1156, RPMTAG_SUGGESTSVERSION = 1157, RPMTAG_SUGGESTSFLAGS = 1158, RPMTAG_ENHANCESNAME = 1159, RPMTAG_ENHANCESVERSION = 1160, RPMTAG_ENHANCESFLAGS = 1161, RPMTAG_PRIORITY = 1162, RPMTAG_CVSID = 1163, RPMTAG_BLINKPKGID = 1164, RPMTAG_BLINKHDRID = 1165, RPMTAG_BLINKNEVRA = 1166, RPMTAG_FLINKPKGID = 1167, RPMTAG_FLINKHDRID = 1168, RPMTAG_FLINKNEVRA = 1169, RPMTAG_PACKAGEORIGIN = 1170, RPMTAG_TRIGGERPREIN = 1171, RPMTAG_BUILDSUGGESTS = 1172, RPMTAG_BUILDENHANCES = 1173, RPMTAG_SCRIPTSTATES = 1174, RPMTAG_SCRIPTMETRICS = 1175, RPMTAG_BUILDCPUCLOCK = 1176, RPMTAG_FILEDIGESTALGOS = 1177, RPMTAG_VARIANTS = 1178, RPMTAG_XMAJOR = 1179, RPMTAG_XMINOR = 1180, RPMTAG_REPOTAG = 1181, RPMTAG_KEYWORDS = 1182, RPMTAG_BUILDPLATFORMS = 1183, RPMTAG_PACKAGECOLOR = 1184, RPMTAG_PACKAGEPREFCOLOR = 1185, RPMTAG_XATTRSDICT = 1186, RPMTAG_FILEXATTRSX = 1187, RPMTAG_DEPATTRSDICT = 1188, RPMTAG_CONFLICTATTRSX = 1189, RPMTAG_OBSOLETEATTRSX = 1190, RPMTAG_PROVIDEATTRSX = 1191, RPMTAG_REQUIREATTRSX = 1192, RPMTAG_BUILDPROVIDES = 1193, RPMTAG_BUILDOBSOLETES = 1194, RPMTAG_DBINSTANCE = 1195, RPMTAG_NVRA = 1196, RPMTAG_FILEPATHS = 1197, RPMTAG_ORIGPATHS = 1198, RPMTAG_RPMLIBVERSION = 1199, RPMTAG_RPMLIBTIMESTAMP = 1200, RPMTAG_RPMLIBVENDOR = 1201, RPMTAG_CLASS = 1202, RPMTAG_TRACK = 1203, RPMTAG_TRACKPROG = 1204, RPMTAG_SANITYCHECK = 1205, RPMTAG_SANITYCHECKPROG = 1206, RPMTAG_FILESTAT = 1207, RPMTAG_STAT = 1208, RPMTAG_ORIGINTID = 1209, RPMTAG_ORIGINTIME = 1210, RPMTAG_HEADERSTARTOFF = 1211, RPMTAG_HEADERENDOFF = 1212, RPMTAG_PACKAGETIME = 1213, RPMTAG_PACKAGESIZE = 1214, RPMTAG_PACKAGEDIGEST = 1215, RPMTAG_PACKAGESTAT = 1216, RPMTAG_PACKAGEBASEURL = 1217, RPMTAG_FIRSTFREE_TAG, RPMTAG_Triggertype } |
enum | rpmTagType_e { RPM_NULL_TYPE = 0, RPM_CHAR_TYPE = 1, RPM_INT8_TYPE = 2, RPM_INT16_TYPE = 3, RPM_INT32_TYPE = 4, RPM_INT64_TYPE = 5, RPM_STRING_TYPE = 6, RPM_BIN_TYPE = 7, RPM_STRING_ARRAY_TYPE = 8, RPM_I18NSTRING_TYPE = 9, RPM_ASN1_TYPE = 10, RPM_OPENPGP_TYPE = 11, RPM_MASK_TYPE = 0x0000ffff } |
The basic types of data in tags from headers. More... | |
enum | headerSprintfExtensionType { HEADER_EXT_LAST = 0, HEADER_EXT_FORMAT, HEADER_EXT_MORE, HEADER_EXT_TAG } |
enum | hMagic { HEADER_MAGIC_NO = 0, HEADER_MAGIC_YES = 1 } |
Include calculation for 8 bytes of (magic, 0)? More... | |
enum | rpmSubTagType_e { RPM_REGION_TYPE = -10, RPM_BIN_ARRAY_TYPE = -11, RPM_XREF_TYPE = -12 } |
New rpm data types under consideration/development. More... | |
enum | rpmTagReturnType_e { RPM_ANY_RETURN_TYPE = 0, RPM_SCALAR_RETURN_TYPE = 0x00010000, RPM_ARRAY_RETURN_TYPE = 0x00020000, RPM_MAPPING_RETURN_TYPE = 0x00040000, RPM_MASK_RETURN_TYPE = 0xffff0000 } |
Identify how to return the header data type. More... | |
Functions | |
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. | |
static HV_t | h2hv (Header h) |
static Header | headerNew (void) |
Create new (empty) header instance. | |
static Header | headerFree (Header h) |
Dereference a header instance. | |
static Header | headerLink (Header h) |
Reference a header instance. | |
static Header | headerUnlink (Header h) |
Dereference a header instance. | |
static void | headerSort (Header h) |
Sort tags in header. | |
static void | headerUnsort (Header h) |
Restore tags in header to original ordering. | |
static unsigned int | headerSizeof (Header h, enum hMagic magicp) |
Return size of on-disk header representation in bytes. | |
static void * | headerUnload (Header h) |
Convert header to on-disk representation. | |
static Header | headerReload (Header h, int tag) |
Convert header to on-disk representation, and then reload. | |
static Header | headerCopy (Header h) |
Duplicate a header. | |
static Header | headerLoad (void *uh) |
Convert header to in-memory representation. | |
static Header | headerCopyLoad (const void *uh) |
Make a copy and convert header to in-memory representation. | |
static Header | headerRead (void *_fd, enum hMagic magicp) |
Read (and load) header from file handle. | |
static int | headerWrite (void *_fd, Header h, enum hMagic magicp) |
Write (with unload) header to file handle. | |
static int | headerIsEntry (Header h, int_32 tag) |
Check if tag is in header. | |
static void * | headerFreeTag (Header h, const void *data, rpmTagType type) |
Free data allocated when retrieved from header. | |
static int | headerGetEntry (Header h, int_32 tag, hTYP_t type, void *p, hCNT_t c) |
Retrieve tag value. | |
static int | headerGetEntryMinMemory (Header h, int_32 tag, hTYP_t type, void *p, hCNT_t c) |
Retrieve tag value using header internal array. | |
static int | headerAddEntry (Header h, int_32 tag, int_32 type, const void *p, int_32 c) |
Add tag to header. | |
static int | headerAppendEntry (Header h, int_32 tag, int_32 type, const void *p, int_32 c) |
Append element to tag array in header. | |
static int | headerAddOrAppendEntry (Header h, int_32 tag, int_32 type, const void *p, int_32 c) |
Add or append element to tag array in header. | |
static int | headerAddI18NString (Header h, int_32 tag, const char *string, const char *lang) |
Add locale specific tag to header. | |
static int | headerModifyEntry (Header h, int_32 tag, int_32 type, const void *p, int_32 c) |
Modify tag in header. | |
static int | headerRemoveEntry (Header h, int_32 tag) |
Delete tag in header. | |
static char * | headerSprintf (Header h, const char *fmt, const struct headerTagTableEntry_s *tags, const struct headerSprintfExtension_s *exts, errmsg_t *errmsg) |
Return formatted output string from header tags. | |
static void | headerCopyTags (Header headerFrom, Header headerTo, hTAG_t tagstocopy) |
Duplicate tag values from one header into another. | |
static HeaderIterator | headerFreeIterator (HeaderIterator hi) |
Destroy header tag iterator. | |
static HeaderIterator | headerInitIterator (Header h) |
Create header tag iterator. | |
static int | headerNextIterator (HeaderIterator hi, hTAG_t tag, hTYP_t type, hPTR_t *p, hCNT_t c) |
Return next tag from header. | |
static const char * | headerGetOrigin (Header h) |
Return header origin (e.g path or URL). | |
static int | headerSetOrigin (Header h, const char *origin) |
Store header origin (e.g path or URL). | |
const char * | headerGetBaseURL (Header h) |
Return header base URL (e.g path or URL). | |
int | headerSetBaseURL (Header h, const char *baseurl) |
Store header base URL (e.g path or URL). | |
stat * | headerGetStatbuf (Header h) |
Return header stat(2) buffer (of origin *.rpm file). | |
int | headerSetStatbuf (Header h, struct stat *st) |
Copy into header stat(2) buffer (of origin *.rpm file). | |
const char * | headerGetDigest (Header h) |
Return digest of origin *.rpm file. | |
int | headerSetDigest (Header h, const char *digest) |
Store digest of origin *.rpm file. | |
static int | headerGetInstance (Header h) |
Return header instance (if from rpmdb). | |
static int | headerSetInstance (Header h, int instance) |
Store header instance (e.g path or URL). | |
uint32_t | headerGetStartOff (Header h) |
Return header starting byte offset. | |
uint32_t | headerSetStartOff (Header h, uint32_t startoff) |
Store header starting byte offset. | |
uint32_t | headerGetEndOff (Header h) |
Return header ending byte offset. | |
uint32_t | headerSetEndOff (Header h, uint32_t endoff) |
Store header ending byte offset. | |
static void * | headerGetStats (Header h, int opx) |
Return header stats accumulator structure. | |
static int | regionSwab (indexEntry entry, int il, int dl, entryInfo pe, unsigned char *dataStart, const unsigned char *dataEnd, int regionid) |
Swap int_32 and int_16 arrays within header region. | |
static void * | doHeaderUnload (Header h, size_t *lenp) |
static int | copyEntry (const indexEntry entry, rpmTagType *type, rpmTagData *p, rpmTagCount *c, int minMem) |
Retrieve data from header entry. | |
static void * | headerFreeData (const void *data, rpmTagType type) |
Free data allocated when retrieved from header. | |
int | headerNVR (Header h, const char **np, const char **vp, const char **rp) |
Return name, version, release strings from header. | |
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. | |
char ** | headerGetLangs (Header h) |
Return array of locales found in header. | |
int | headerGetRawEntry (Header h, int_32 tag, rpmTagType *type, void *p, rpmTagCount *c) |
Retrieve tag value with type match. | |
static int | headerUsageCount (Header h) |
Return header reference count. | |
void | headerDump (Header h, FILE *f, int flags, const struct headerTagTableEntry_s *tags) |
Dump a header in human readable format (for debugging). | |
Variables | |
HV_s * | hdrVec = &hdrVec1 |
Header methods for rpm headers. | |
static unsigned char | header_magic [8] |
static int | typeAlign [16] |
Alignment needed for header data types. | |
static int | typeSizes [16] |
Size of header data types. | |
static size_t | headerMaxbytes = (32*1024*1024) |
Maximum no. | |
const struct headerSprintfExtension_s | headerDefaultFormats [] |
Supported default header tag output formats. |
|
Description of tag data.
Definition at line 26 of file header_internal.h. |
|
|
|
Add tag to header. Duplicate tags are okay, but only defined for iteration (with the exceptions noted below). While you are allowed to add i18n string arrays through this function, you probably don't mean to. See headerAddI18NString() instead.
|
|
Add locale specific tag to header. A NULL lang is interpreted as the C locale. Here are the rules: * - If the tag isn't in the header, it's added with the passed string * as new value. * - If the tag occurs multiple times in entry, which tag is affected * by the operation is undefined. * - If the tag is in the header w/ this language, the entry is * *replaced* (like headerModifyEntry()). *
|
|
Add or append element to tag array in header.
|
|
Append element to tag array in header. Appends item p to entry w/ tag and type as passed. Won't work on RPM_STRING_TYPE. Any pointers into header memory returned from headerGetEntryMinMemory() for this entry are invalid after this call has been made!
|
|
Duplicate a header.
|
|
Make a copy and convert header to in-memory representation.
|
|
Duplicate tag values from one header into another.
|
|
Retrieve extension or tag value.
|
|
Dereference a header instance.
|
|
Destroy header tag iterator.
|
|
Free data allocated when retrieved from header.
|
|
Retrieve tag value. Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with RPM_I18NSTRING_TYPE equivalent entries are translated (if HEADER_I18NTABLE entry is present).
|
|
Return header instance (if from rpmdb).
|
|
Return header magic.
|
|
Retrieve tag value using header internal array. Get an entry using as little extra RAM as possible to return the tag value. This is only an issue for RPM_STRING_ARRAY_TYPE.
|
|
Return header origin (e.g path or URL).
|
|
Create header tag iterator.
|
|
Check if tag is in header.
|
|
Reference a header instance.
|
|
Convert header to in-memory representation.
|
|
Modify tag in header. If there are multiple entries with this tag, the first one gets replaced.
|
|
Create new (empty) header instance.
|
|
Return next tag from header.
|
|
Read (and load) header from file handle.
|
|
Convert header to on-disk representation, and then reload. This is used to insure that all header data is in one chunk.
|
|
Delete tag in header. Removes all entries of type tag from the header, returns 1 if none were found.
|
|
Store header instance (e.g path or URL).
|
|
Store header magic.
|
|
Store header origin (e.g path or URL).
|
|
Return size of on-disk header representation in bytes.
|
|
Sort tags in header.
|
|
Return formatted output string from header tags. The returned string must be free()d.
|
|
Dereference a header instance.
|
|
Convert header to on-disk representation.
|
|
Restore tags in header to original ordering.
|
|
Write (with unload) header to file handle.
|
|
|
|
|
|
|
|
Define header tag output formats.
|
|
HEADER_EXT_TAG format function prototype.
|
|
Associate tag names with numeric values.
|
|
HEADER_EXT_FORMAT format function prototype. This is allowed to fail, which indicates the tag doesn't exist.
|
|
|
|
|
|
Header method vectors.
|
|
A single tag from a Header.
Definition at line 44 of file header_internal.h. |
|
New rpm data types under consideration/development. These data types may (or may not) be added to rpm at some point. In order to avoid incompatibility with legacy versions of rpm, these data (sub-)types are introduced into the header by overloading RPM_BIN_TYPE, with the binary value of the tag a 16 byte image of what should/will be in the header index, followed by per-tag private data. |
|
|
|
|
|
|
|
Identify how to return the header data type.
|
|
|
|
Definition at line 84 of file header_internal.h. |
|
Definition at line 105 of file header_internal.h. |
|
|
|
Include calculation for 8 bytes of (magic, 0)?
|
|
New rpm data types under consideration/development. These data types may (or may not) be added to rpm at some point. In order to avoid incompatibility with legacy versions of rpm, these data (sub-)types are introduced into the header by overloading RPM_BIN_TYPE, with the binary value of the tag a 16 byte image of what should/will be in the header index, followed by per-tag private data. |
|
|
|
Identify how to return the header data type.
|
|
The basic types of data in tags from headers.
|
|
Retrieve data from header entry.
Definition at line 1525 of file header.c. References entryInfo_s::count, ENTRY_IS_REGION, HEADER_IMAGE, indexEntry_s::info, REGION_TAG_COUNT, regionSwab(), RPM_ASN1_TYPE, RPM_BIN_TYPE, RPM_I18NSTRING_TYPE, RPM_OPENPGP_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, entryInfo_s::type, and xmalloc(). Referenced by headerGetRawEntry(), and intGetEntry(). |
|
Definition at line 610 of file header.c. References _free(), entryInfo_s::count, indexEntry_s::data, ENTRY_IS_REGION, headerToken_s::flags, hdrchkData, hdrchkTags, HEADERFLAG_LEGACY, HEADERFLAG_SORTED, headerGetStats(), headerSort(), headerUnsort(), headerToken_s::index, indexEntry_s::info, indexEntry_s::length, entryInfo_s::offset, indexEntry_s::rdlen, regionSwab(), RPM_INT16_TYPE, RPM_INT32_TYPE, RPM_INT64_TYPE, rpmswEnter(), rpmswExit(), entryInfo_s::tag, entryInfo_s::type, typeSizes, and xmalloc(). |
|
Definition at line 22 of file hdrinline.h. Referenced by headerAddEntry(), headerAddI18NString(), headerAddOrAppendEntry(), headerAppendEntry(), headerCopy(), headerFree(), headerFreeTag(), headerGetEntry(), headerGetEntryMinMemory(), headerIsEntry(), headerLink(), headerModifyEntry(), headerReload(), headerRemoveEntry(), headerSizeof(), headerSort(), headerSprintf(), headerUnlink(), headerUnload(), headerUnsort(), and headerWrite(). |
|
|
Add locale specific tag to header. A NULL lang is interpreted as the C locale. Here are the rules: * - If the tag isn't in the header, it's added with the passed string * as new value. * - If the tag occurs multiple times in entry, which tag is affected * by the operation is undefined. * - If the tag is in the header w/ this language, the entry is * *replaced* (like headerModifyEntry()). *
Definition at line 385 of file hdrinline.h. References h2hv(), and HV_s::hdraddi18n. Referenced by handlePreambleTag(), and parseDescription(). |
|
Add or append element to tag array in header.
Definition at line 357 of file hdrinline.h. References h2hv(), and HV_s::hdraddorappend. Referenced by addChangelogEntry(), addFileToArrayTag(), addOrAppendListEntry(), addReqProv(), genCpioListAndHeader(), initSourceHeader(), processMetadataFile(), processScriptFiles(), providePackageNVR(), rpm3to4(), and rpmcliImportPubkey(). |
|
Append element to tag array in header. Appends item p to entry w/ tag and type as passed. Won't work on RPM_STRING_TYPE. Any pointers into header memory returned from headerGetEntryMinMemory() for this entry are invalid after this call has been made!
Definition at line 339 of file hdrinline.h. References h2hv(), and HV_s::hdrappend. |
|
Duplicate a header.
Definition at line 163 of file hdrinline.h. References h2hv(), and HV_s::hdrcopy. Referenced by hdrUnload(), and rpmdbRebuild(). |
|
Make a copy and convert header to in-memory representation.
Definition at line 187 of file hdrinline.h. References HV_s::hdrcopyload. Referenced by rpmdbNextIterator(), rpmpsmStage(), and rpmReSign(). |
|
Duplicate tag values from one header into another.
Definition at line 454 of file hdrinline.h. References HV_s::hdrcopytags. Referenced by packageBinaries(), and parsePreamble(). |
|
Dump a header in human readable format (for debugging).
Definition at line 35 of file header_internal.c. References _, entryInfo_s::count, indexEntry_s::data, HEADER_DUMP_INLINE, headerToken_s::index, headerToken_s::indexUsed, indexEntry_s::info, headerTagTableEntry_s::name, entryInfo_s::offset, RPM_BIN_TYPE, RPM_CHAR_TYPE, RPM_I18NSTRING_TYPE, RPM_INT16_TYPE, RPM_INT32_TYPE, RPM_INT8_TYPE, RPM_NULL_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, entryInfo_s::tag, entryInfo_s::type, headerTagTableEntry_s::type, and headerTagTableEntry_s::val. |
|
Dereference a header instance.
Definition at line 47 of file hdrinline.h. References h2hv(), and HV_s::hdrfree. Referenced by delTE(), freePackage(), freeSpec(), hdr_dealloc(), hdrLoad(), hdrUnload(), IDTXfree(), IDTXglob(), makeHDRSignature(), miFreeHeader(), readFile(), readRPM(), rpmcliImportPubkey(), rpmdb_subscript(), rpmdbFindByFile(), rpmdbRebuild(), rpmdbRemove(), rpmdsFree(), rpmfiFree(), rpmfiNew(), rpmFreeSignature(), rpmgiFree(), rpmgiLoadReadHeader(), rpmgiNext(), rpmgiReadHeader(), rpmgiWalkReadHeader(), rpmInstall(), rpmInstallSourcePackage(), rpmMergeHeaders(), rpmpsmStage(), rpmReadHeader(), rpmReadHeaders(), rpmReadPackageFile(), rpmReadSignature(), rpmReSign(), rpmRollback(), rpmSingleHeaderFromFD(), rpmteSetHeader(), rpmts_HdrFromFdno(), rpmtsRun(), rpmtsSolve(), and writeRPM(). |
|
Free data allocated when retrieved from header.
Definition at line 939 of file header.h. References RPM_BIN_TYPE, RPM_I18NSTRING_TYPE, and RPM_STRING_ARRAY_TYPE. Referenced by addReqProv(), addTE(), compressFilelist(), findErases(), getSignid(), handleOneTrigger(), handlePreambleTag(), hCopyTag(), headerMacrosLoad(), headerMacrosUnload(), headerMergeLegacySigs(), headerRegenSigHeader(), hLoadTID(), initSourceHeader(), instprefixTag(), isMemberInEntry(), makeHDRSignature(), mireSkip(), providePackageNVR(), readFile(), relocateFileList(), rpmdbAdd(), rpmdbFindByFile(), rpmdbFindFpList(), rpmdbRemove(), rpmdsFree(), rpmdsNew(), rpmfiBuildFNames(), rpmfiFree(), rpmfiNew(), rpmInstall(), rpmMergeHeaders(), rpmpsmStage(), rpmReadPackageFile(), rpmReSign(), rpmteChain(), rpmtsCleanDig(), rpmtsFindPubkey(), rpmtsSetSig(), rpmVerifySignatures(), runImmedTriggers(), runInstScript(), runScript(), str2uuid(), tag2uuidv1(), tag2uuidv5(), timeCheck(), triggercondsTag(), and triggertypeTag(). |
|
Destroy header tag iterator.
Definition at line 469 of file hdrinline.h. References HV_s::hdrfreeiter. Referenced by checkForDuplicates(), hdrKeyList(), headerMergeLegacySigs(), headerRegenSigHeader(), hsaFini(), initSourceHeader(), rpmMergeHeaders(), rpmpsmStage(), rpmReSign(), and rpmVerifySignatures(). |
|
Free data allocated when retrieved from header.
Definition at line 247 of file hdrinline.h. References h2hv(), and HV_s::hdrfreetag. Referenced by rpm3to4(). |
|
Return header base URL (e.g path or URL).
Definition at line 1202 of file header.c. References headerToken_s::baseurl. Referenced by pkgbaseurlTag(). |
|
Return digest of origin *.rpm file.
Definition at line 1232 of file header.c. References headerToken_s::digest. Referenced by pkgdigestTag(). |
|
Return header ending byte offset.
Definition at line 1278 of file header.c. References headerToken_s::endoff. Referenced by headerendoffTag(). |
|
Retrieve tag value. Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with RPM_I18NSTRING_TYPE equivalent entries are translated (if HEADER_I18NTABLE entry is present).
Definition at line 269 of file hdrinline.h. References h2hv(), and HV_s::hdrget. Referenced by FDGsqlTag(), FDGxmlTag(), formatValue(), fssizesTag(), getSignid(), hCopyTag(), headerNEVRA(), headerNVR(), hGetNEVRA(), hLoadTID(), i18nTag(), IDTXglob(), IDTXload(), instprefixTag(), localeTag(), makeHDRSignature(), parsePreamble(), pkgbaseurlTag(), pkgoriginTag(), PRCOsqlTag(), PRCOxmlTag(), readFile(), rpm3to4(), rpmdbExportInfo(), rpmdsNew(), rpmfcFindRequiredPackages(), rpmfiNew(), rpmHeaderGetEntry(), rpmHeadersIdentical(), rpmInstall(), rpmMergeHeaders(), rpmpsmStage(), rpmReadPackageFile(), rpmReadSignature(), rpmReSign(), rpmteNew(), rpmtsFindPubkey(), rpmtsSolve(), rpmVerifySignatures(), rpmVersionCompare(), singleSprintf(), tag2uuidv1(), tag2uuidv5(), triggercondsTag(), triggertypeTag(), and writeRPM(). |
|
Retrieve tag value using header internal array. Get an entry using as little extra RAM as possible to return the tag value. This is only an issue for RPM_STRING_ARRAY_TYPE.
Definition at line 292 of file hdrinline.h. References h2hv(), and HV_s::hdrgetmin. Referenced by addFileToTag(), addReqProv(), addTE(), compressFilelist(), findErases(), handlePreambleTag(), headerMacrosLoad(), headerMacrosUnload(), hGetColor(), isMemberInEntry(), mireSkip(), processPackageFiles(), providePackageNVR(), rpmdbAdd(), rpmdbFindByFile(), rpmdbFindFpList(), rpmdbRemove(), rpmdsNew(), rpmdsNVRMatchesDep(), rpmdsThis(), rpmfcGenerateScriptletDeps(), rpmfiBuildFNames(), rpmfiNew(), rpmteChain(), rpmtsAddInstallElement(), stashSt(), timeCheck(), and writeRPM(). |
|
Return header instance (if from rpmdb).
Definition at line 591 of file hdrinline.h. References HV_s::hdrgetinstance. Referenced by dbinstanceTag(), FDGsqlTag(), PRCOsqlTag(), rpmgiNext(), rpmpsmStage(), and verifyDependencies(). |
|
Return array of locales found in header. The array is terminated with a NULL sentinel.
Definition at line 13 of file header_internal.c. References HEADER_I18NTABLE, headerGetRawEntry(), and xcalloc(). |
|
Return header origin (e.g path or URL).
Definition at line 513 of file hdrinline.h. References HV_s::hdrgetorigin. Referenced by hdrGetOrigin(), IDTXglob(), pkgoriginTag(), and populateInstallHeader(). |
|
Retrieve tag value with type match. If *type is RPM_NULL_TYPE any type will match, otherwise only *type will match.
Definition at line 1899 of file header.c. References copyEntry(), findEntry(), headerIsEntry(), and RPM_NULL_TYPE. Referenced by headerGetLangs(). |
|
Return header starting byte offset.
Definition at line 1264 of file header.c. References headerToken_s::startoff. Referenced by headerstartoffTag(). |
|
Return header stat(2) buffer (of origin *.rpm file).
Definition at line 1218 of file header.c. References headerToken_s::sb. Referenced by pkgmtimeTag(), pkgsizeTag(), and rpmReadHeader(). |
|
Return header stats accumulator structure.
Definition at line 134 of file header.c. Referenced by doHeaderUnload(). |
|
Create header tag iterator.
Definition at line 481 of file hdrinline.h. References HV_s::hdrinititer. Referenced by checkForDuplicates(), hdrKeyList(), headerMergeLegacySigs(), headerRegenSigHeader(), hsaInit(), initSourceHeader(), rpmMergeHeaders(), rpmpsmStage(), rpmReSign(), and rpmVerifySignatures(). |
|
Check if tag is in header.
Definition at line 230 of file hdrinline.h. References h2hv(), and HV_s::hdrisentry. Referenced by addTE(), checkForRequired(), checkSpec(), compressFilelist(), expandFilelist(), fillOutMainPackage(), headerGetRawEntry(), headerMergeLegacySigs(), headerRegenSigHeader(), IDTXglob(), makeHDRSignature(), mungeFilelist(), parseDescription(), parseScript(), parseSpec(), readFile(), relocateFileList(), rpmdbAdd(), rpmdbNextIterator(), rpmdbRebuild(), rpmdsNew(), rpmfiNew(), rpmInstall(), rpmInstallSourcePackage(), rpmpsmStage(), rpmReadPackageFile(), rpmtsAddInstallElement(), rpmVerifySignatures(), showVerifyPackage(), and singleSprintf(). |
|
Reference a header instance.
Definition at line 62 of file hdrinline.h. References h2hv(), and HV_s::hdrlink. Referenced by hdr_Wrap(), hdrUnload(), IDTXglob(), IDTXload(), relocateFileList(), rpmdbFindByFile(), rpmdbRemove(), rpmdsDup(), rpmdsNew(), rpmfiNew(), rpmgiLoadReadHeader(), rpmgiNext(), rpmgiWalkReadHeader(), rpmInstallSourcePackage(), rpmpsmStage(), rpmReadHeader(), rpmReadPackageFile(), rpmReadSignature(), rpmReSign(), rpmteHeader(), rpmteSetHeader(), rpmtsSolve(), and writeRPM(). |
|
Convert header to in-memory representation.
Definition at line 175 of file hdrinline.h. References HV_s::hdrload. Referenced by hdrLoad(), rpmdbNextIterator(), rpmReadHeader(), and rpmReadSignature(). |
|
Translate and merge legacy signature tags into header.
Definition at line 464 of file package.c. References hdrchkData, hdrchkType, HEADER_SIGBASE, HEADER_TAGBASE, headerAddEntry(), headerFreeData(), headerFreeIterator(), headerInitIterator(), headerIsEntry(), headerNextIterator(), RPM_BIN_TYPE, RPM_CHAR_TYPE, RPM_I18NSTRING_TYPE, RPM_INT16_TYPE, RPM_INT32_TYPE, RPM_INT8_TYPE, RPM_NULL_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, RPMSIGTAG_DSA, RPMSIGTAG_GPG, RPMSIGTAG_LEMD5_1, RPMSIGTAG_LEMD5_2, RPMSIGTAG_MD5, RPMSIGTAG_PAYLOADSIZE, RPMSIGTAG_PGP, RPMSIGTAG_PGP5, RPMSIGTAG_RSA, RPMSIGTAG_SHA1, RPMSIGTAG_SIZE, RPMTAG_ARCHIVESIZE, RPMTAG_SIGGPG, RPMTAG_SIGLEMD5_1, RPMTAG_SIGLEMD5_2, RPMTAG_SIGMD5, RPMTAG_SIGPGP, RPMTAG_SIGPGP5, and RPMTAG_SIGSIZE. Referenced by rpmReadPackageFile(), and writeRPM(). |
|
Modify tag in header. If there are multiple entries with this tag, the first one gets replaced.
Definition at line 403 of file hdrinline.h. References h2hv(), and HV_s::hdrmodify. Referenced by rpmfiNew(). |
|
Return name, epoch, version, release, arch strings from header.
Definition at line 162 of file hdrNVR.c. References headerGetEntry(), RPM_STRING_TYPE, RPMTAG_ARCH, RPMTAG_NAME, RPMTAG_RELEASE, and RPMTAG_VERSION. Referenced by hGetNVRA(). |
|
Create new (empty) header instance.
Definition at line 35 of file hdrinline.h. References HV_s::hdrnew. Referenced by newPackage(), newSpec(), rpmcliImportPubkey(), rpmNewSignature(), rpmpsmStage(), and rpmReSign(). |
|
Return next tag from header.
Definition at line 497 of file hdrinline.h. References HV_s::hdrnextiter. Referenced by checkForDuplicates(), hdrKeyList(), headerMergeLegacySigs(), headerRegenSigHeader(), hsaNext(), initSourceHeader(), rpmMergeHeaders(), rpmpsmStage(), rpmReSign(), and rpmVerifySignatures(). |
|
Return name, version, release strings from header.
Definition at line 137 of file hdrNVR.c. References headerGetEntry(), RPM_STRING_TYPE, RPMTAG_NAME, RPMTAG_RELEASE, and RPMTAG_VERSION. Referenced by doSetupMacro(), genSourceRpmName(), handleOneTrigger(), hGetNEVR(), hGetNEVRA(), lookupPackage(), packageBinaries(), parsePreamble(), parseSpec(), printNewSpecfile(), processBinaryFiles(), providePackageNVR(), rpm3to4(), rpmdbRebuild(), rpmdbRemove(), rpmdsNVRMatchesDep(), rpmdsThis(), rpmInstall(), rpmtsCallback(), runScript(), and writeRPM(). |
|
Read (and load) header from file handle.
Definition at line 200 of file hdrinline.h. References HV_s::hdrread. Referenced by makeHDRSignature(), readFile(), rpmgiNext(), rpmMergeHeaders(), rpmReadHeaders(), rpmSingleHeaderFromFD(), and writeRPM(). |
|
Regenerate signature header.
Definition at line 544 of file package.c. References HEADER_SIGBASE, HEADER_TAGBASE, headerAddEntry(), headerFreeData(), headerFreeIterator(), headerInitIterator(), headerIsEntry(), headerNextIterator(), rpmNewSignature(), RPMSIGTAG_GPG, RPMSIGTAG_LEMD5_1, RPMSIGTAG_LEMD5_2, RPMSIGTAG_MD5, RPMSIGTAG_PAYLOADSIZE, RPMSIGTAG_PGP, RPMSIGTAG_PGP5, RPMSIGTAG_SIZE, RPMTAG_ARCHIVESIZE, RPMTAG_DSAHEADER, RPMTAG_RSAHEADER, RPMTAG_SHA1HEADER, RPMTAG_SIGGPG, RPMTAG_SIGLEMD5_1, RPMTAG_SIGLEMD5_2, RPMTAG_SIGMD5, RPMTAG_SIGPGP, RPMTAG_SIGPGP5, and RPMTAG_SIGSIZE. Referenced by rpmpsmStage(). |
|
Convert header to on-disk representation, and then reload. This is used to insure that all header data is in one chunk.
Definition at line 149 of file hdrinline.h. References h2hv(), and HV_s::hdrreload. Referenced by rpmpsmStage(), rpmReSign(), and writeRPM(). |
|
Delete tag in header. Removes all entries of type tag from the header, returns 1 if none were found.
Definition at line 420 of file hdrinline.h. References h2hv(), and HV_s::hdrremove. Referenced by addFileToTag(), compressFilelist(), expandFilelist(), rpmdbAdd(), rpmfcGenerateDepends(), rpmfiNew(), rpmMergeHeaders(), and rpmReSign(). |
|
Store header base URL (e.g path or URL).
Definition at line 1208 of file header.c. References _free(), headerToken_s::baseurl, and xstrdup(). |
|
Store digest of origin *.rpm file.
Definition at line 1238 of file header.c. References _free(), headerToken_s::digest, and xstrdup(). |
|
Store header ending byte offset.
Definition at line 1284 of file header.c. References headerToken_s::endoff. Referenced by rpmReadHeader(). |
|
Store header instance (e.g path or URL).
Definition at line 604 of file hdrinline.h. References HV_s::hdrsetinstance. Referenced by rpmdbAdd(), rpmdbNextIterator(), and rpmpsmStage(). |
|
Store header origin (e.g path or URL).
Definition at line 526 of file hdrinline.h. References HV_s::hdrsetorigin. Referenced by hdrSetOrigin(), rpmdbNextIterator(), and rpmReadHeader(). |
|
Store header starting byte offset.
Definition at line 1270 of file header.c. References headerToken_s::startoff. Referenced by rpmReadHeader(). |
|
Copy into header stat(2) buffer (of origin *.rpm file).
Definition at line 1224 of file header.c. References headerToken_s::sb. |
|
Return size of on-disk header representation in bytes.
Definition at line 120 of file hdrinline.h. References h2hv(), and HV_s::hdrsizeof. Referenced by hdrUnload(), miFreeHeader(), readFile(), rpmdbAdd(), rpmReadSignature(), rpmWriteSignature(), and writeRPM(). |
|
Sort tags in header.
Definition at line 89 of file hdrinline.h. References h2hv(), and HV_s::hdrsort. Referenced by doHeaderUnload(), and findEntry(). |
|
Return formatted output string from header tags. The returned string must be free()d.
Definition at line 438 of file hdrinline.h. References h2hv(), and HV_s::hdrsprintf. Referenced by hdrPrintErased(), hdrPrintInstalled(), hdrSprintf(), packageBinaries(), parseForSimple(), printNewSpecfile(), queryHeader(), rpmcliImportPubkey(), rpmfiNew(), rpmHeaderGetEntry(), rpmpsmStage(), rpmShowProgress(), rpmtsSolve(), and runScript(). |
|
Dereference a header instance.
Definition at line 74 of file hdrinline.h. References h2hv(), and HV_s::hdrunlink. |
|
Convert header to on-disk representation.
Definition at line 135 of file hdrinline.h. References h2hv(), and HV_s::hdrunload. Referenced by hdrUnload(), miFreeHeader(), rpmdbAdd(), and writeRPM(). |
|
Restore tags in header to original ordering.
Definition at line 103 of file hdrinline.h. References h2hv(), and HV_s::hdrunsort. Referenced by doHeaderUnload(). |
|
Return header reference count.
Definition at line 183 of file header_internal.h. References headerToken_s::nrefs. |
|
Write (with unload) header to file handle.
Definition at line 214 of file hdrinline.h. References h2hv(), and HV_s::hdrwrite. Referenced by makeHDRSignature(), rpmpsmStage(), rpmWriteSignature(), and writeRPM(). |
|
Swap int_32 and int_16 arrays within header region. This code is way more twisty than I would like. A bug with RPM_I18NSTRING_TYPE in rpm-2.5.x (fixed in August 1998) causes the offset and length of elements in a header region to disagree regarding the total length of the region data. The "fix" is to compute the size using both offset and length and return the larger of the two numbers as the size of the region. Kinda like computing left and right Riemann sums of the data elements to determine the size of a data structure, go figger :-). There's one other twist if a header region tag is in the set to be swabbed, as the data for a header region is located after all other tag data.
Definition at line 467 of file header.c. References entryInfo_s::count, indexEntry_s::data, dataLength(), hdrchkAlign, hdrchkData, hdrchkType, HEADER_I18NTABLE, HEADER_IMAGE, indexEntry_s::info, indexEntry_s::length, entryInfo_s::offset, rpmDataType_u::ptr, indexEntry_s::rdlen, REGION_TAG_COUNT, RPM_I18NSTRING_TYPE, RPM_INT16_TYPE, RPM_INT32_TYPE, RPM_INT64_TYPE, entryInfo_s::tag, entryInfo_s::type, typeSizes, and rpmDataType_u::ui8p. Referenced by copyEntry(), and doHeaderUnload(). |
|
Header methods for rpm headers.
|
|
Initial value: { 0x8e, 0xad, 0xe8, 0x01, 0x00, 0x00, 0x00, 0x00 } |
|
Supported default header tag output formats.
Definition at line 3025 of file header.c. Referenced by queryHeader(). |
|
Maximum no. of bytes permitted in a header. |
|
Initial value: { 1, 1, 1, 2, 4, 8, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 }
|
|
Initial value: { 0, 1, 1, 2, 4, 8, -1, 1, -1, -1, 1, 1, 0, 0, 0, 0 }
Definition at line 72 of file header.c. Referenced by dataLength(), doHeaderUnload(), and regionSwab(). |