#include <stdio.h>
#include "rpmio.h"
#include "hdrinline.h"
Go to the source code of this file.
Data Structures | |
struct | headerTagTableEntry_s |
struct | headerSprintfExtension_s |
union | hRET_s |
struct | HE_s |
struct | HV_s |
Defines | |
#define | RPM_MIN_TYPE 0 |
#define | RPM_MAX_TYPE 9 |
#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 |
Typedefs | |
typedef int | int_32 |
typedef short int | int_16 |
typedef char | int_8 |
typedef unsigned int | uint_32 |
typedef unsigned short | uint_16 |
typedef unsigned char | uint_8 |
typedef const char * | errmsg_t |
typedef int_32 * | hTAG_t |
typedef int_32 * | hTYP_t |
typedef const void * | hPTR_t |
typedef int_32 * | hCNT_t |
typedef headerToken_s * | Header |
typedef headerIterator_s * | HeaderIterator |
typedef headerTagTableEntry_s * | headerTagTableEntry |
Associate tag names with numeric values. | |
typedef char *(*) | headerTagFormatFunction (int_32 type, const void *data, char *formatPrefix, int padding, int element) |
HEADER_EXT_TAG format function prototype. | |
typedef int(*) | headerTagTagFunction (Header h, hTYP_t type, hPTR_t *data, hCNT_t count, int *freeData) |
HEADER_EXT_FORMAT format function prototype. | |
typedef headerSprintfExtension_s * | headerSprintfExtension |
Define header tag output formats. | |
typedef enum rpmTagType_e | rpmTagType |
The basic types of data in tags from headers. | |
typedef enum rpmSubTagType_e | rpmSubTagType |
New rpm data types under consideration/development. | |
typedef hRET_s * | hRET_t |
typedef HE_s * | HE_t |
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 (FD_t fd, enum hMagic magicp) |
Read (and load) header from file handle. | |
typedef int(*) | HDRwrite (FD_t 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(*) | 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, hPTR_t *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 *extensions, 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 HV_s * | HV_t |
Header method vectors. | |
Enumerations | |
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 | rpmTagType_e { RPM_NULL_TYPE = 0, RPM_CHAR_TYPE = 1, RPM_INT8_TYPE = 2, RPM_INT16_TYPE = 3, RPM_INT32_TYPE = 4, RPM_STRING_TYPE = 6, RPM_BIN_TYPE = 7, RPM_STRING_ARRAY_TYPE = 8, RPM_I18NSTRING_TYPE } |
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 } |
New rpm data types under consideration/development. More... | |
Functions | |
static void * | headerFreeData (const void *data, rpmTagType type) |
Free data allocated when retrieved from header. | |
Variables | |
headerSprintfExtension_s | headerDefaultFormats [] |
Supported default header tag output formats. |
A header is a collection of data elements called tags. Each tag has a data type, and includes 1 or more values.
Definition in file header.h.
#define HEADER_I18NTABLE 100 |
Definition at line 258 of file header.h.
Referenced by getTagString(), getTagVal(), hdrKeyList(), headerFindI18NString(), headerGetLangs(), initSourceHeader(), and regionSwab().
#define HEADER_IMAGE 61 |
Header private tags.
Definition at line 254 of file header.h.
Referenced by copyEntry(), and regionSwab().
#define HEADER_SIGBASE 256 |
Definition at line 259 of file header.h.
Referenced by headerMergeLegacySigs(), and headerRegenSigHeader().
#define HEADER_TAGBASE 1000 |
Definition at line 260 of file header.h.
Referenced by headerMergeLegacySigs(), and headerRegenSigHeader().
#define RPM_MAX_TYPE 9 |
#define RPM_MIN_TYPE 0 |