#include "system.h"
#include <header_internal.h>
#include "debug.h"
Go to the source code of this file.
Data Structures | |
struct | headerIteratorS |
Header tag iterator data structure. More... | |
Defines | |
#define | __HEADER_PROTOTYPES__ |
#define | PARSER_BEGIN 0 |
#define | PARSER_IN_ARRAY 1 |
#define | PARSER_IN_EXPR 2 |
#define | hdrchkTags(_ntags) ((_ntags) & 0xffff0000) |
Sanity check on no. More... | |
#define | hdrchkData(_nbytes) ((_nbytes) & 0xff000000) |
Sanity check on data size and/or offset. More... | |
Functions | |
const char* const | tagName (int tag) |
Return name of tag from value. More... | |
void* | _free (const void *p) |
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. More... | |
Header | headerNew () |
Header | headerFree (Header h) |
Header | headerLink (Header h) |
int | indexCmp (const void *avp, const void *bvp) |
void | headerSort (Header h) |
int | offsetCmp (const void *avp, const void *bvp) |
void | headerUnsort (Header h) |
unsigned int | headerSizeof (Header h, enum hMagic magicp) |
int | dataLength (int_32 type, hPTR_t p, int_32 count, int onDisk) |
Return length of entry data. More... | |
int | regionSwab (indexEntry entry, int il, int dl, entryInfo pe, char *dataStart, int regionid) |
void* | doHeaderUnload (Header h, int *lengthPtr) |
void* | headerUnload (Header h) |
Header | headerReload (Header h, int tag) |
Header | headerCopy (Header h) |
Header | headerLoad (void *uh) |
Header | headerCopyLoad (const void *uh) |
Header | headerRead (FD_t fd, enum hMagic magicp) |
int | headerWrite (FD_t fd, Header h, enum hMagic magicp) |
indexEntry | findEntry (Header h, int_32 tag, int_32 type) |
Find matching (tag,type) entry in header. More... | |
int | headerIsEntry (Header h, int_32 tag) |
int | copyEntry (const indexEntry entry, hTYP_t type, hPTR_t *p, hCNT_t c, int minMem) |
int | headerMatchLocale (const char *td, const char *l, const char *le) |
Does locale match entry in header i18n table? More... | |
char* | headerFindI18NString (Header h, indexEntry entry) |
Return i18n string from header that matches locale. More... | |
int | intGetEntry (Header h, int_32 tag, hTAG_t type, hPTR_t *p, hCNT_t c, int minMem) |
Retrieve tag data from header. More... | |
void* | headerFreeTag (Header h, const void *data, rpmTagType type) |
int | headerGetEntry (Header h, int_32 tag, hTYP_t type, void **p, hCNT_t c) |
int | headerGetEntryMinMemory (Header h, int_32 tag, hTYP_t type, hPTR_t *p, hCNT_t c) |
int | headerGetRawEntry (Header h, int_32 tag, int_32 *type, hPTR_t *p, int_32 *c) |
void | copyData (int_32 type, void *dstPtr, const void *srcPtr, int_32 c, int dataLength) |
void* | grabData (int_32 type, hPTR_t p, int_32 c, int *lengthPtr) |
Return (malloc'ed) copy of entry data. More... | |
int | headerAddEntry (Header h, int_32 tag, int_32 type, hPTR_t p, int_32 c) |
int | headerAppendEntry (Header h, int_32 tag, int_32 type, hPTR_t p, int_32 c) |
int | headerAddOrAppendEntry (Header h, int_32 tag, int_32 type, hPTR_t p, int_32 c) |
int | headerAddI18NString (Header h, int_32 tag, const char *string, const char *lang) |
int | headerModifyEntry (Header h, int_32 tag, int_32 type, hPTR_t p, int_32 c) |
int | headerRemoveEntry (Header h, int_32 tag) |
char | escapedChar (const char ch) |
sprintfToken | freeFormat (sprintfToken format, int num) |
Destroy headerSprintf format array. More... | |
void | findTag (char *name, const headerTagTableEntry tags, const headerSprintfExtension extensions, headerTagTableEntry *tagMatch, headerSprintfExtension *extMatch) |
int | parseExpression (sprintfToken token, char *str, const headerTagTableEntry tags, const headerSprintfExtension extensions, char **endPtr, errmsg_t *errmsg) |
int | parseFormat (char *str, const headerTagTableEntry tags, const headerSprintfExtension extensions, sprintfToken *formatPtr, int *numTokensPtr, char **endPtr, int state, errmsg_t *errmsg) |
int | getExtension (Header h, headerTagTagFunction fn, hTYP_t typeptr, hPTR_t *data, hCNT_t countptr, extensionCache ext) |
char* | formatValue (sprintfTag tag, Header h, const headerSprintfExtension extensions, extensionCache extCache, int element) |
const char* | singleSprintf (Header h, sprintfToken token, const headerSprintfExtension extensions, extensionCache extCache, int element) |
extensionCache | allocateExtensionCache (const headerSprintfExtension extensions) |
extensionCache | freeExtensionCache (const headerSprintfExtension extensions, extensionCache cache) |
char* | headerSprintf (Header h, const char *fmt, const struct headerTagTableEntry_s *tabletags, const struct headerSprintfExtension_s *extensions, errmsg_t *errmsg) |
char* | octalFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) |
char* | hexFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) |
char* | realDateFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element, const char *strftimeFormat) |
char* | dateFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) |
char* | dayFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) |
char* | shescapeFormat (int_32 type, hPTR_t data, char *formatPrefix, int padding, int element) |
void | headerCopyTags (Header headerFrom, Header headerTo, hTAG_t tagstocopy) |
HeaderIterator | headerFreeIterator (HeaderIterator hi) |
HeaderIterator | headerInitIterator (Header h) |
int | headerNextIterator (HeaderIterator hi, hTAG_t tag, hTYP_t type, hPTR_t *p, hCNT_t c) |
Variables | |
unsigned char | header_magic [8] |
size_t | headerMaxbytes = (32*1024*1024) |
int | typeSizes [] |
HV_t | hdrVec = &hdrVec1 |
const struct headerSprintfExtension_s | headerDefaultFormats [] |
struct HV_s | hdrVec1 |
Definition in file header.c.
|
|
|
|
|
|
|
Value: |
|
Sanity check on data size and/or offset. This check imposes a limit of 16Mb, more than enough. Definition at line 56 of file header.c. Referenced by doHeaderUnload(), headerCopyLoad(), headerLoad(), and headerRead().
|
|
Sanity check on no. of tags. This check imposes a limit of 65K tags, more than enough. Definition at line 50 of file header.c. Referenced by doHeaderUnload(), headerCopyLoad(), headerLoad(), and headerRead().
|
|
Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
|
|
Definition at line 2501 of file header.c. Referenced by headerSprintf().
|
|
Definition at line 1417 of file header.c. Referenced by grabData(), and headerAppendEntry().
|
|
Return length of entry data.
Definition at line 249 of file header.c. Referenced by grabData(), headerAppendEntry(), and regionSwab().
|
|
|
|
|
|
Definition at line 1739 of file header.c. Referenced by parseFormat().
|
|
Find matching (tag,type) entry in header.
|
|
Definition at line 1794 of file header.c. Referenced by parseExpression(), and parseFormat().
|
|
Definition at line 2251 of file header.c. Referenced by singleSprintf().
|
|
Definition at line 2522 of file header.c. Referenced by headerSprintf().
|
|
Destroy headerSprintf format array.
Definition at line 1760 of file header.c. Referenced by parseExpression(), and parseFormat().
|
|
Definition at line 2229 of file header.c. Referenced by formatValue(), and singleSprintf().
|
|
Return (malloc'ed) copy of entry data.
Definition at line 1456 of file header.c. Referenced by headerAddEntry(), and headerModifyEntry().
|
|
Definition at line 1470 of file header.c. Referenced by addChangelogEntry(), addFileToTag(), fillOutMainPackage(), genCpioListAndHeader(), handlePreambleTag(), headerAddI18NString(), headerAddOrAppendEntry(), headerCopy(), headerCopyTags(), headerCopyWithConvert(), headerInject(), headerRegenSigHeader(), initSourceHeader(), mungeFilelist(), packageBinaries(), packageSources(), parsePreamble(), parseScript(), parseSpec(), psmStage(), readIcon(), readPackageHeaders(), rhnUnload(), rpmAddSignature(), rpmMergeHeaders(), rpmReadSignature(), rpmdbAdd(), rpmdbRemove(), and writeRPM().
|
|
Definition at line 1534 of file header.c. Referenced by addFileToArrayTag(), addOrAppendListEntry(), addReqProv(), genCpioListAndHeader(), mergeFiles(), processScriptFiles(), processSourceFiles(), and providePackageNVR().
|
|
Definition at line 1499 of file header.c. Referenced by addChangelogEntry(), and headerAddOrAppendEntry().
|
|
Return i18n string from header that matches locale.
Definition at line 1261 of file header.c. Referenced by intGetEntry().
|
|
|
|
Does locale match entry in header i18n table?
* The range [l,le) contains the next locale to match: * ll[_CC][.EEEEE][@dddd] * where * ll ISO language code (in lowercase). * CC (optional) ISO coutnry code (in uppercase). * EEEEE (optional) encoding (not really standardized). * dddd (optional) dialect. *
Definition at line 1188 of file header.c. Referenced by headerFindI18NString().
|
|
Definition at line 1670 of file header.c. Referenced by doGetRecord().
|
|
|
|
|
|
Retrieve tag data from header.
Definition at line 1318 of file header.c. Referenced by headerGetEntry(), and headerGetEntryMinMemory().
|
|
|
|
|
|
Definition at line 2103 of file header.c. Referenced by parseFormat().
|
|
Definition at line 1853 of file header.c. Referenced by headerSprintf(), and parseExpression().
|
|
Definition at line 2645 of file header.c. Referenced by dateFormat(), and dayFormat().
|
|
|
|
Definition at line 2383 of file header.c. Referenced by headerSprintf().
|
|
Return name of tag from value.
|
|
Header methods for rpm headers. |
|
|