Typedefs | Enumerations | Functions | Variables
header.h File Reference

An rpm header carries all information about a package. More...

#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.


typedef rpmFlags headerGetFlags
typedef rpmFlags headerPutFlags
typedef enum headerConvOps_e headerConvOps


enum  hMagic { HEADER_MAGIC_NO = 0, HEADER_MAGIC_YES = 1 }
 Include calculation for 8 bytes of (magic, 0)? More...
enum  headerGetFlags_e {
  HEADERGET_ALLOC = (1 << 3), HEADERGET_ARGV = (1 << 4)
 Modifier flags for headerGet() operation. More...
enum  headerPutFlags_e { HEADERPUT_DEFAULT = 0, HEADERPUT_APPEND = (1 << 0) }


Header headerNew (void)
 Create new (empty) header instance.
Header headerFree (Header h)
 Dereference a header instance.
Header headerLink (Header h)
 Reference a header instance.
void headerSort (Header h)
 Sort tags in header.
void headerUnsort (Header h)
 Restore tags in header to original ordering.
unsigned int headerSizeof (Header h, int magicp)
 Return size of on-disk header representation in bytes.
int headerVerifyInfo (int il, int dl, const void *pev, void *iv, int negate)
 Perform simple sanity and range checks on header tag(s).
void * headerUnload (Header h)
 Convert header to on-disk representation.
Header headerReload (Header h, rpmTagVal tag)
 Convert header to on-disk representation, and then reload.
Header headerCopy (Header h)
 Duplicate a header.
Header headerLoad (void *uh)
 Convert header to in-memory representation.
Header headerCopyLoad (const void *uh)
 Make a copy and convert header to in-memory representation.
Header headerRead (FD_t fd, int magicp)
 Read (and load) header from file handle.
int headerWrite (FD_t fd, Header h, int magicp)
 Write (with unload) header to file handle.
int headerIsEntry (Header h, rpmTagVal tag)
 Check if tag is in header.
int headerGet (Header h, rpmTagVal tag, rpmtd td, headerGetFlags flags)
 Retrieve tag value.
int headerPut (Header h, rpmtd td, headerPutFlags flags)
 Add or append tag to header.
int headerAddI18NString (Header h, rpmTagVal tag, const char *string, const char *lang)
 Add locale specific tag to header.
int headerMod (Header h, rpmtd td)
 Modify tag in header.
int headerDel (Header h, rpmTagVal tag)
 Delete tag in header.
char * headerFormat (Header h, const char *fmt, errmsg_t *errmsg)
 Return formatted output string from header tags.
void headerCopyTags (Header headerFrom, Header headerTo, const rpmTagVal *tagstocopy)
 Duplicate tag values from one header into another.
HeaderIterator headerFreeIterator (HeaderIterator hi)
 Destroy header tag iterator.
HeaderIterator headerInitIterator (Header h)
 Create header tag iterator.
int headerNext (HeaderIterator hi, rpmtd td)
 Return next tag contents from header.
rpmTagVal headerNextTag (HeaderIterator hi)
 Return next tag number from header.
RPM_GNUC_DEPRECATED int headerNVR (Header h, const char **np, const char **vp, const char **rp)
 Return name, version, release strings from header.
RPM_GNUC_DEPRECATED int headerNEVRA (Header h, const char **np, uint32_t **ep, const char **vp, const char **rp, const char **ap)
 Return name, epoch, version, release, arch strings from header.
RPM_GNUC_DEPRECATED char * headerGetNEVR (Header h, const char **np)
 Return (malloc'd) header name-version-release string.
RPM_GNUC_DEPRECATED char * headerGetNEVRA (Header h, const char **np)
 Return (malloc'd) header name-version-release.arch string.
RPM_GNUC_DEPRECATED char * headerGetEVR (Header h, const char **np)
char * headerGetAsString (Header h, rpmTagVal tag)
 Return any non-array tag from header, converted to string.
const char * headerGetString (Header h, rpmTagVal tag)
 Return a simple string tag from header.
uint64_t headerGetNumber (Header h, rpmTagVal tag)
RPM_GNUC_DEPRECATED rpm_color_t headerGetColor (Header h)
 Return header color.
int headerIsSource (Header h)
 Check if header is a source or binary package header.
unsigned int headerGetInstance (Header h)
 Return header instance, ie is the header from rpmdb.
int headerConvert (Header h, int op)
 Convert header to/from (legacy) data presentation.
int headerPutString (Header h, rpmTagVal tag, const char *val)
 Type-safe methods for inserting tag data to header.
int headerPutStringArray (Header h, rpmTagVal tag, const char **val, rpm_count_t size)
int headerPutBin (Header h, rpmTagVal tag, const uint8_t *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)


const unsigned char rpm_header_magic [8]
 Header magic value.

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

Definition at line 168 of file header.h.

Definition at line 186 of file header.h.

Enumeration Type Documentation


Definition at line 428 of file header.h.


Definition at line 181 of file header.h.

Function Documentation

RPM_GNUC_DEPRECATED char* headerGetEVR ( Header  h,
const char **  np 
uint64_t headerGetNumber ( Header  h,
rpmTagVal  tag