#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 | headerLink (Header h) |
| Header | headerUnlink (Header h) |
| Header | headerFree (Header h) |
| Header | headerNew (void) |
| 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) |
| indexEntry | findEntry (Header h, int_32 tag, int_32 type) |
| Find matching (tag,type) entry in header. More... | |
| int | headerRemoveEntry (Header h, int_32 tag) |
| Header | headerLoad (void *uh) |
| Header | headerReload (Header h, int tag) |
| Header | headerCopyLoad (const void *uh) |
| Header | headerRead (FD_t fd, enum hMagic magicp) |
| int | headerWrite (FD_t fd, Header h, enum hMagic magicp) |
| 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, const void *p, int_32 c) |
| int | headerAppendEntry (Header h, int_32 tag, int_32 type, const void *p, int_32 c) |
| int | headerAddOrAppendEntry (Header h, int_32 tag, int_32 type, const void *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, const void *p, int_32 c) |
| 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 *tbltags, 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) |
| Header | headerCopy (Header h) |
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 58 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 52 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 2809 of file header.c. Referenced by headerSprintf().
|
|
|
Definition at line 1632 of file header.c. Referenced by grabData(), and headerAppendEntry().
|
|
|
Return length of entry data.
Definition at line 319 of file header.c. Referenced by grabData(), headerAppendEntry(), and regionSwab().
|
|
|
|
|
|
|
|
|
Definition at line 2003 of file header.c. Referenced by parseFormat().
|
|
|
Find matching (tag,type) entry in header.
|
|
|
Definition at line 2058 of file header.c. Referenced by parseExpression(), and parseFormat().
|
|
|
Definition at line 2515 of file header.c. Referenced by singleSprintf().
|
|
|
Definition at line 2832 of file header.c. Referenced by headerSprintf().
|
|
|
Destroy headerSprintf format array.
Definition at line 2024 of file header.c. Referenced by parseExpression(), and parseFormat().
|
|
|
Definition at line 2493 of file header.c. Referenced by formatValue(), and singleSprintf().
|
|
|
Return (malloc'ed) copy of entry data.
Definition at line 1671 of file header.c. Referenced by headerAddEntry(), and headerModifyEntry().
|
|
|
Return i18n string from header that matches locale.
Definition at line 1445 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 1372 of file header.c. Referenced by headerFindI18NString().
|
|
|
|
|
|
|
|
|
Retrieve tag data from header.
Definition at line 1499 of file header.c. Referenced by headerGetEntry(), and headerGetEntryMinMemory().
|
|
|
|
|
|
|
|
|
Definition at line 2367 of file header.c. Referenced by parseFormat().
|
|
|
Definition at line 2117 of file header.c. Referenced by headerSprintf(), and parseExpression().
|
|
|
Definition at line 2972 of file header.c. Referenced by dateFormat(), and dayFormat().
|
|
|
|
|
|
Definition at line 2691 of file header.c. Referenced by headerSprintf().
|
|
|
Return name of tag from value.
|
|
|
Header methods for rpm headers. |
|
|
|
1.2.8.1 written by Dimitri van Heesch,
© 1997-2001