hdrNVR.c File Reference
RPMDB Database API.
`#include "system.h"`
`#include <rpmiotypes.h>`
`#include <rpmmacro.h>`
`#include "header_internal.h"`
`#include "debug.h"`
Include dependency graph for hdrNVR.c:

Go to the source code of this file.

## Data Structures

struct | tagMacro
| Macros to be defined from per-header tag values. More...

## Macros

#define | _RPMTAG_INTERNAL

## Functions

int | headerMacrosLoad (Header h)
| Define per-header macros. More...
int | headerMacrosUnload (Header h)
| Define per-header macros. More...
int | headerNEVRA (Header h, const char **np, const char **ep, const char **vp, const char **rp, const char **ap)
| Return name, epoch, version, release, arch strings from header. More...
rpmuint32_t | hGetColor (Header h)
| Return header color. More...
void | headerMergeLegacySigs (Header h, const Header sigh)
| Translate and merge legacy signature tags into header. More...
Header | headerRegenSigHeader (const Header h, int noArchiveSize)
| Regenerate signature header. More...

## Variables

static struct tagMacro | tagMacros []

## Macro Definition Documentation

#define _RPMTAG_INTERNAL

Definition at line 10 of file hdrNVR.c.

## Function Documentation

int headerMacrosLoad | ( | Header | h | ) |

Define per-header macros.

Parameters

  h | header

Returns
  0 always

Definition at line 36 of file hdrNVR.c.

References _free(), addMacro(), alloca(), headerGet(), tagMacro::macroname, _HE_s::p, rpmDataType_u::ptr, RPM_BIN_TYPE, RPM_I18NSTRING_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, RPM_UINT16_TYPE, RPM_UINT32_TYPE, RPM_UINT64_TYPE, RPM_UINT8_TYPE, rpmExpand(), rpmDataType_u::str, _HE_s::t, tagMacro::tag, _HE_s::tag, tagMacros, rpmDataType_u::ui16p, rpmDataType_u::ui32p, rpmDataType_u::ui64p, and rpmDataType_u::ui8p.

Referenced by processBinaryFiles(), rpmfiNew(), and rpmInstallSourcePackage().

int headerMacrosUnload | ( | Header | h | ) |

Define per-header macros.

Parameters

  h | header

Returns
  0 always

Definition at line 108 of file hdrNVR.c.

References _free(), alloca(), delMacro(), headerGet(), tagMacro::macroname, _HE_s::p, rpmDataType_u::ptr, RPM_BIN_TYPE, RPM_I18NSTRING_TYPE, RPM_STRING_ARRAY_TYPE, RPM_STRING_TYPE, RPM_UINT16_TYPE, RPM_UINT32_TYPE, RPM_UINT64_TYPE, RPM_UINT8_TYPE, rpmExpand(), _HE_s::t, tagMacro::tag, _HE_s::tag, and tagMacros.

Referenced by processBinaryFiles(), and rpmfiNew().

rpmuint32_t hGetColor | ( | Header | h | ) |

Return header color.

Parameters

  h | header

Returns
  header color

Definition at line 217 of file hdrNVR.c.

References _free(), alloca(), _HE_s::c, headerGet(), _HE_s::p, rpmDataType_u::ptr, RPMTAG_FILECOLORS, _HE_s::tag, and rpmDataType_u::ui32p.

Referenced by rpmdbAdd(), rpmtsAddInstallElement(), rpmtsAddObsoletes(), and rpmtsAddUpgrades().

## Variable Documentation

struct tagMacro tagMacros[]

static

Initial value:
= {
{ "name", RPMTAG_NAME },
{ "version", RPMTAG_VERSION },
{ "release", RPMTAG_RELEASE },
{ "distepoch", RPMTAG_DISTEPOCH },
{ "epoch", RPMTAG_EPOCH },
{ "arch", RPMTAG_ARCH },
{ "os", RPMTAG_OS },
{ NULL, 0 }
}

Referenced by headerMacrosLoad(), and headerMacrosUnload().