header.h File Reference
Querying package headers: | I/O » Header API.
`#include <rpm/rpmio.h>`
`#include <rpm/rpmtypes.h>`
`#include <rpm/rpmtd.h>`
`#include <rpm/rpmutil.h>`
Include dependency graph for header.h:

Go to the source code of this file.

## Typedefs

typedef rpmFlags | headerImportFlags
typedef rpmFlags | headerGetFlags
typedef rpmFlags | headerPutFlags
typedef enum headerConvOps_e | headerConvOps

## Enumerations

enum | hMagic { HEADER_MAGIC_NO = 0, HEADER_MAGIC_YES = 1 }
enum | headerImportFlags_e { HEADERIMPORT_COPY = (1 << 0), HEADERIMPORT_FAST = (1 << 1) }
enum | headerGetFlags_e { HEADERGET_DEFAULT = 0, HEADERGET_MINMEM = (1 << 0), HEADERGET_EXT = (1 << 1), HEADERGET_RAW = (1 << 2), HEADERGET_ALLOC = (1 << 3), HEADERGET_ARGV = (1 << 4) }
enum | headerPutFlags_e { HEADERPUT_DEFAULT = 0, HEADERPUT_APPEND = (1 << 0) }
enum | headerConvOps_e { HEADERCONV_EXPANDFILELIST = 0, HEADERCONV_COMPRESSFILELIST = 1, HEADERCONV_RETROFIT_V3 = 2 }

## Functions

Header | headerNew (void)
Header | headerFree (Header h)
Header | headerLink (Header h)
unsigned int | headerSizeof (Header h, int magicp)
void * | headerUnload (Header h)
void * | headerExport (Header h, unsigned int *bsize)
Header | headerReload (Header h, rpmTagVal tag)
Header | headerCopy (Header h)
Header | headerLoad (void *uh)
Header | headerCopyLoad (const void *uh)
Header | headerImport (void *blob, unsigned int bsize, headerImportFlags flags)
Header | headerRead (FD_t fd, int magicp)
int | headerWrite (FD_t fd, Header h, int magicp)
int | headerIsEntry (Header h, rpmTagVal tag)
int | headerGet (Header h, rpmTagVal tag, rpmtd td, headerGetFlags flags)
int | headerPut (Header h, rpmtd td, headerPutFlags flags)
int | headerAddI18NString (Header h, rpmTagVal tag, const char *string, const char *lang)
int | headerMod (Header h, rpmtd td)
int | headerDel (Header h, rpmTagVal tag)
char * | headerFormat (Header h, const char *fmt, errmsg_t *errmsg)
void | headerCopyTags (Header headerFrom, Header headerTo, const rpmTagVal *tagstocopy)
HeaderIterator | headerFreeIterator (HeaderIterator hi)
HeaderIterator | headerInitIterator (Header h)
int | headerNext (HeaderIterator hi, rpmtd td)
rpmTagVal | headerNextTag (HeaderIterator hi)
char * | headerGetAsString (Header h, rpmTagVal tag)
const char * | headerGetString (Header h, rpmTagVal tag)
uint64_t | headerGetNumber (Header h, rpmTagVal tag)
int | headerIsSource (Header h)
unsigned int | headerGetInstance (Header h)
int | headerConvert (Header h, int op)
int | headerPutBin (Header h, rpmTagVal tag, const uint8_t *val, rpm_count_t size)
int | headerPutString (Header h, rpmTagVal tag, const char *val)
int | headerPutStringArray (Header h, rpmTagVal tag, const char **val, rpm_count_t size)
int | headerPutChar (Header h, rpmTagVal tag, const char *val, rpm_count_t size)
int | headerPutUint8 (Header h, rpmTagVal tag, const uint8_t *val, rpm_count_t size)
int | headerPutUint16 (Header h, rpmTagVal tag, const uint16_t *val, rpm_count_t size)
int | headerPutUint32 (Header h, rpmTagVal tag, const uint32_t *val, rpm_count_t size)
int | headerPutUint64 (Header h, rpmTagVal tag, const uint64_t *val, rpm_count_t size)

## Variables

const unsigned char | rpm_header_magic [8]

## Detailed Description

An rpm header carries all information about a package. 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.

## Typedef Documentation

## headerConvOps

typedef enum headerConvOps_e headerConvOps

## headerGetFlags

typedef rpmFlags headerGetFlags

Definition at line 172 of file header.h.

## headerImportFlags

typedef rpmFlags headerImportFlags

Definition at line 118 of file header.h.

## headerPutFlags

typedef rpmFlags headerPutFlags

Definition at line 190 of file header.h.

## Enumeration Type Documentation

## headerConvOps_e

enum headerConvOps_e

Enumerator
HEADERCONV_EXPANDFILELIST |
HEADERCONV_COMPRESSFILELIST |
HEADERCONV_RETROFIT_V3 |

Definition at line 365 of file header.h.

## headerImportFlags_e

enum headerImportFlags_e

Enumerator
HEADERIMPORT_COPY |
HEADERIMPORT_FAST |

Definition at line 113 of file header.h.

## headerPutFlags_e

enum headerPutFlags_e

Enumerator
HEADERPUT_DEFAULT |
HEADERPUT_APPEND |

Definition at line 185 of file header.h.