# rpmdb/hdrNVR.c File Reference

`#include "system.h"`
`#include <rpmio.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...

## Defines

#define | _RPMTAG_INTERNAL

## Functions

int | headerMacrosLoad (Header h)
| Define per-header macros.
int | headerMacrosUnload (Header h)
| Define per-header macros.
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.
uint32_t | hGetColor (Header h)
| Return header color.
void | headerMergeLegacySigs (Header h, const Header sigh)
| Translate and merge legacy signature tags into header.
Header | headerRegenSigHeader (const Header h, int noArchiveSize)
| Regenerate signature header.

## Variables

static struct tagMacro | tagMacros []
| Macros to be defined from per-header tag values.

## Detailed Description

Definition in file hdrNVR.c.

## Define Documentation

#define _RPMTAG_INTERNAL

Definition at line 9 of file hdrNVR.c.

## Function Documentation

int headerMacrosLoad | ( | Header | h | ) |

Define per-header macros.

Parameters:

  | h | header

Returns:
  0 always

Definition at line 34 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 106 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().

uint32_t hGetColor | ( | Header | h | ) |

Return header color.

Parameters:

  | h | header

Returns:
  header color

Definition at line 216 of file hdrNVR.c.

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

Referenced by rpmdbAdd(), and rpmtsAddInstallElement().

## Variable Documentation

struct tagMacro tagMacros[]`[static]`

Macros to be defined from per-header tag values.

Todo:
  Should other macros be added from header when installing a package?

Referenced by headerMacrosLoad(), and headerMacrosUnload().