rpm 6.1.90
The RPM Package Manager
Loading...
Searching...
No Matches
header.h File Reference
#include <rpm/rpmio.h>
#include <rpm/rpmtypes.h>
#include <rpm/rpmtd.h>
#include <rpm/rpmutil.h>
Include dependency graph for header.h:
This graph shows which files directly or indirectly include this file:

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

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

Variables

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