Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

rpmdb/header.h File Reference

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

#include <stdio.h>
#include "rpmio.h"
#include "hdrinline.h"

Go to the source code of this file.

Data Structures

struct  HE_s
struct  headerSprintfExtension_s
struct  headerTagTableEntry_s
union  hRET_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_32hTAG_t
typedef int_32hTYP_t
typedef const void * hPTR_t
typedef int_32hCNT_t
typedef headerToken_sHeader
typedef headerIterator_sHeaderIterator
typedef headerTagTableEntry_sheaderTagTableEntry
typedef char *(* headerTagFormatFunction )(int_32 type, const void *data, char *formatPrefix, int padding, int element)
typedef int(* headerTagTagFunction )(Header h, hTYP_t type, hPTR_t *data, hCNT_t count, int *freeData)
typedef headerSprintfExtension_sheaderSprintfExtension
typedef enum rpmTagType_e rpmTagType
typedef enum rpmSubTagType_e rpmSubTagType
typedef hRET_shRET_t
typedef HE_sHE_t
typedef Header(* HDRnew )(void)
typedef Header(* HDRfree )(Header h)
typedef Header(* HDRlink )(Header h)
typedef Header(* HDRunlink )(Header h)
typedef void(* HDRsort )(Header h)
typedef void(* HDRunsort )(Header h)
typedef unsigned int(* HDRsizeof )(Header h, enum hMagic magicp)
typedef void *(* HDRunload )(Header h)
typedef Header(* HDRreload )(Header h, int tag)
typedef Header(* HDRcopy )(Header h)
typedef Header(* HDRload )(void *uh)
typedef Header(* HDRcopyload )(const void *uh)
typedef Header(* HDRread )(FD_t fd, enum hMagic magicp)
typedef int(* HDRwrite )(FD_t fd, Header h, enum hMagic magicp)
typedef int(* HDRisentry )(Header h, int_32 tag)
typedef void *(* HDRfreetag )(Header h, const void *data, rpmTagType type)
typedef int(* HDRget )(Header h, int_32 tag, hTYP_t type, void **p, hCNT_t c)
typedef int(* HDRgetmin )(Header h, int_32 tag, hTYP_t type, hPTR_t *p, hCNT_t c)
typedef int(* HDRadd )(Header h, int_32 tag, int_32 type, const void *p, int_32 c)
typedef int(* HDRappend )(Header h, int_32 tag, int_32 type, const void *p, int_32 c)
typedef int(* HDRaddorappend )(Header h, int_32 tag, int_32 type, const void *p, int_32 c)
typedef int(* HDRaddi18n )(Header h, int_32 tag, const char *string, const char *lang)
typedef int(* HDRmodify )(Header h, int_32 tag, int_32 type, const void *p, int_32 c)
typedef int(* HDRremove )(Header h, int_32 tag)
typedef char *(* HDRsprintf )(Header h, const char *fmt, const struct headerTagTableEntry_s *tags, const struct headerSprintfExtension_s *extensions, errmsg_t *errmsg)
typedef void(* HDRcopytags )(Header headerFrom, Header headerTo, hTAG_t tagstocopy)
typedef HeaderIterator(* HDRfreeiter )(HeaderIterator hi)
typedef HeaderIterator(* HDRinititer )(Header h)
typedef int(* HDRnextiter )(HeaderIterator hi, hTAG_t tag, hTYP_t type, hPTR_t *p, hCNT_t c)
typedef HV_sHV_t

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 }
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
}
enum  rpmSubTagType_e { RPM_REGION_TYPE = -10, RPM_BIN_ARRAY_TYPE = -11, RPM_XREF_TYPE = -12 }

Functions

void * headerFreeData (const void *data, rpmTagType type)

Variables

const struct headerSprintfExtension_s headerDefaultFormats []


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.

Historical Issues
Here's a brief description of features/incompatibilities that have been added to headers and tags.

Todo:
Document version2 headers.

Development Issues
Here's a brief description of future features/incompatibilities that will be added to headers.

Definition in file header.h.


Define Documentation

#define HEADER_I18NTABLE   100
 

Definition at line 255 of file header.h.

Referenced by getTagString(), getTagVal(), hdrKeyList(), headerAddI18NString(), headerFindI18NString(), headerGetLangs(), headerLoad(), initSourceHeader(), and regionSwab().

#define HEADER_IMAGE   61
 

Header private tags.

Note:
General use tags should start at 1000 (RPM's tag space starts there).

Definition at line 251 of file header.h.

Referenced by copyEntry(), headerCopy(), headerLoad(), and regionSwab().

#define HEADER_IMMUTABLE   63
 

Definition at line 253 of file header.h.

Referenced by headerReload().

#define HEADER_REGIONS   64
 

Definition at line 254 of file header.h.

#define HEADER_SIGBASE   256
 

Definition at line 256 of file header.h.

Referenced by headerMergeLegacySigs(), and headerRegenSigHeader().

#define HEADER_SIGNATURES   62
 

Definition at line 252 of file header.h.

Referenced by headerReload().

#define HEADER_TAGBASE   1000
 

Definition at line 257 of file header.h.

Referenced by headerMergeLegacySigs(), and headerRegenSigHeader().

#define RPM_MAX_TYPE   9
 

#define RPM_MIN_TYPE   0
 


Typedef Documentation

typedef int_32* hCNT_t
 

Definition at line 111 of file header.h.

Referenced by copyEntry(), getExtension(), headerGetEntry(), headerGetEntryMinMemory(), headerNextIterator(), and intGetEntry().

typedef struct HE_s * HE_t
 

typedef const void* hPTR_t
 

Definition at line 110 of file header.h.

Referenced by copyEntry(), dataLength(), dateFormat(), dayFormat(), formatValue(), getExtension(), grabData(), headerCopy(), headerCopyTags(), headerGetEntry(), headerGetEntryMinMemory(), headerGetRawEntry(), headerNextIterator(), hexFormat(), intGetEntry(), octalFormat(), realDateFormat(), rpmpsmStage(), rpmReSign(), and shescapeFormat().

typedef union hRET_s * hRET_t
 

typedef int_32* hTYP_t
 

Definition at line 109 of file header.h.

Referenced by copyEntry(), getExtension(), headerGetEntry(), headerGetEntryMinMemory(), and headerNextIterator().

typedef short int int_16
 

Definition at line 91 of file header.h.

Referenced by doHeaderUnload(), handleOverlappedFiles(), headerDump(), mireSkip(), regionSwab(), rpmfiDecideFate(), rpmfiFMode(), rpmfiFNlink(), rpmfiFRdev(), and skipFiles().

typedef int int_32
 

Definition at line 90 of file header.h.

Referenced by addChangelogEntry(), addOrAppendListEntry(), addTE(), armorFormat(), base64Format(), compressFilelist(), convertAMD(), convertExistingAMD(), copyData(), copyEntry(), dataLength(), dateFormat(), dayFormat(), depflagsFormat(), descriptionTag(), doHeaderUnload(), ensureOlder(), fflagsFormat(), fileclassTag(), filenamesTag(), fileprovideTag(), filerequireTag(), findEntry(), formatValue(), fsmMapAttrs(), fsnamesTag(), fssizesTag(), ftsCacheUpdate(), getBuildTime(), getSignid(), grabData(), groupTag(), handleOneTrigger(), handleOverlappedFiles(), headerAddEntry(), headerAddI18NString(), headerAddOrAppendEntry(), headerAppendEntry(), headerCheck(), headerCopy(), headerCopyLoad(), headerCopyTags(), headerCopyWithConvert(), headerDump(), headerFree(), headerGetEntry(), headerGetEntryMinMemory(), headerGetRawEntry(), headerInject(), headerIsEntry(), headerLoad(), headerMergeLegacySigs(), headerModifyEntry(), headerRead(), headerRegenSigHeader(), headerRemoveEntry(), headerSizeof(), hexFormat(), hGetColor(), hsaNext(), i18nTag(), identifyDepend(), IDTXglob(), IDTXload(), initSourceHeader(), instprefixTag(), intGetEntry(), legacyRetrofit(), main(), makeGPGSignature(), makeHDRSignature(), makePGPSignature(), mireSkip(), octalFormat(), parsePreamble(), permsFormat(), pgpsigFormat(), printDeps(), providePackageNVR(), readFile(), realDateFormat(), regionSwab(), relocateFileList(), rhnLoad(), rhnUnload(), rpmAddSignature(), rpmcliImportPubkey(), rpmdbAdd(), rpmdbFindByFile(), rpmdbFindFpList(), rpmdbRemove(), rpmdsFlags(), rpmdsMerge(), rpmdsNew(), rpmdsNVRMatchesDep(), rpmdsRefs(), rpmdsSetRefs(), rpmdsSingle(), rpmdsThis(), rpmfcApply(), rpmfcELF(), rpmfcFileDep(), rpmfcGenerateDepends(), rpmfcHelper(), rpmfiBuildFDeps(), rpmfiFDepends(), rpmfiFFlags(), rpmfiFInode(), rpmfiFMtime(), rpmfiFNlink(), rpmfiFSize(), rpmfiVFlags(), rpmGetFilesystemUsage(), rpmHeaderGetEntry(), rpmInstallLoadMacros(), rpmMergeHeaders(), rpmpsmStage(), rpmReadHeader(), rpmReadPackageFile(), rpmReadSignature(), rpmReSign(), rpmteColorDS(), rpmteNew(), rpmtsFindPubkey(), rpmtsGetTid(), rpmtsOrder(), rpmtsRun(), rpmtsSetSig(), rpmtsSetTid(), rpmtsSiglen(), rpmtsSigtag(), rpmtsSigtype(), rpmtsSolve(), rpmVerifySignature(), rpmVerifySignatures(), rpmVersionCompare(), runImmedTriggers(), shescapeFormat(), showQueryPackage(), singleSprintf(), summaryTag(), triggercondsTag(), triggertypeFormat(), triggertypeTag(), unsatisfiedDepend(), verifyGPGSignature(), verifyMD5Signature(), verifyPGPSignature(), verifySHA1Signature(), verifySizeSignature(), writeRPM(), xmlFormat(), and zapRelation().

typedef char int_8
 

Definition at line 92 of file header.h.

Referenced by formatValue(), headerDump(), and mireSkip().

typedef unsigned short uint_16
 

Definition at line 98 of file header.h.

Referenced by formatValue(), genCpioListAndHeader(), relocateFileList(), rpmVerifyFile(), whatis(), and xmlFormat().

typedef unsigned int uint_32
 

Definition at line 97 of file header.h.

Referenced by checkPackageDeps(), fssizesTag(), genCpioListAndHeader(), handleInstInstalledFiles(), handleOverlappedFiles(), hGetColor(), relocateFileList(), rpmalAdd(), rpmalAddProvides(), rpmalAllFileSatisfiesDepend(), rpmdsColor(), rpmdsSetColor(), rpmfiColor(), rpmfiFColor(), rpmfiNew(), rpmGetFilesystemUsage(), rpmpsmStage(), rpmteColor(), rpmtePkgFileSize(), rpmteSetColor(), rpmts_AddErase(), rpmts_Rollback(), rpmts_SetColor(), rpmtsAddInstallElement(), rpmtsCheck(), rpmtsColor(), rpmtsRun(), rpmtsSetColor(), rpmtsUpdateDSI(), skipFiles(), and xmlFormat().

typedef unsigned char uint_8
 

Definition at line 99 of file header.h.

Referenced by xmlFormat().


Generated on Sun Oct 26 13:02:07 2003 for rpm by doxygen1.2.18