# rpmtd.h File Reference

`#include <rpm/rpmtypes.h>`
`#include <rpm/argv.h>`

Include dependency graph for rpmtd.h:

Go to the source code of this file.

## Data Structures
struct | rpmtd_s
| Container for rpm tag data (from headers or extensions). More...
## Typedefs
typedef enum rpmtdFlags_e | rpmtdFlags
typedef enum rpmtdFormats_e | rpmtdFormats
## Enumerations
enum | rpmtdFlags_e { RPMTD_NONE = 0, RPMTD_ALLOCED = (1 << 0), RPMTD_PTR_ALLOCED = (1 << 1), RPMTD_IMMUTABLE = (1 << 2), RPMTD_ARGV = (1 << 3) }
enum | rpmtdFormats_e { RPMTD_FORMAT_STRING = 0, RPMTD_FORMAT_ARMOR = 1, RPMTD_FORMAT_BASE64 = 2, RPMTD_FORMAT_PGPSIG = 3, RPMTD_FORMAT_DEPFLAGS = 4, RPMTD_FORMAT_FFLAGS = 5, RPMTD_FORMAT_PERMS = 6, RPMTD_FORMAT_TRIGGERTYPE = 7, RPMTD_FORMAT_XML = 8, RPMTD_FORMAT_OCTAL = 9, RPMTD_FORMAT_HEX = 10, RPMTD_FORMAT_DATE = 11, RPMTD_FORMAT_DAY = 12, RPMTD_FORMAT_SHESCAPE = 13, RPMTD_FORMAT_ARRAYSIZE = 14, RPMTD_FORMAT_DEPTYPE = 15 }
## Functions
rpmtd | rpmtdNew (void)
| Create new tag data container.
rpmtd | rpmtdFree (rpmtd td)
| Destroy tag data container.
void | rpmtdReset (rpmtd td)
| (Re-)initialize tag data container.
void | rpmtdFreeData (rpmtd td)
| Free contained data.
rpm_count_t | rpmtdCount (rpmtd td)
| Retrieve array size of the container.
rpmTag | rpmtdTag (rpmtd td)
| Retrieve tag of the container.
rpmTagType | rpmtdType (rpmtd td)
| Retrieve type of the container.
rpmTagClass | rpmtdClass (rpmtd td)
| Retrieve class of the container.
int | rpmtdGetIndex (rpmtd td)
| Retrieve current iteration index of the container.
int | rpmtdSetIndex (rpmtd td, int index)
| Set iteration index of the container.
int | rpmtdInit (rpmtd td)
| Initialize tag container for iteration.
int | rpmtdNext (rpmtd td)
| Iterate over tag data container.
uint32_t * | rpmtdNextUint32 (rpmtd td)
| Iterate over uint32_t type tag data container.
uint64_t * | rpmtdNextUint64 (rpmtd td)
| Iterate over uint64_t type tag data container.
const char * | rpmtdNextString (rpmtd td)
| Iterate over string / string array type tag data container.
char * | rpmtdGetChar (rpmtd td)
| Return char data from tag container.
uint16_t * | rpmtdGetUint16 (rpmtd td)
| Return uint16_t data from tag container.
uint32_t * | rpmtdGetUint32 (rpmtd td)
| Return uint32_t data from tag container.
uint64_t * | rpmtdGetUint64 (rpmtd td)
| Return uint64_t data from tag container.
const char * | rpmtdGetString (rpmtd td)
| Return string data from tag container.
uint64_t | rpmtdGetNumber (rpmtd td)
| Return numeric value from tag container.
char * | rpmtdFormat (rpmtd td, rpmtdFormats fmt, const char *errmsg)
| Format data from tag container to string presentation of given format.
int | rpmtdSetTag (rpmtd td, rpmTag tag)
| Set container tag and type.
int | rpmtdFromUint8 (rpmtd td, rpmTag tag, uint8_t *data, rpm_count_t count)
| Construct tag container from uint8_t pointer.
int | rpmtdFromUint16 (rpmtd td, rpmTag tag, uint16_t *data, rpm_count_t count)
| Construct tag container from uint16_t pointer.
int | rpmtdFromUint32 (rpmtd td, rpmTag tag, uint32_t *data, rpm_count_t count)
| Construct tag container from uint32_t pointer.
int | rpmtdFromUint64 (rpmtd td, rpmTag tag, uint64_t *data, rpm_count_t count)
| Construct tag container from uint64_t pointer.
int | rpmtdFromString (rpmtd td, rpmTag tag, const char *data)
| Construct tag container from a string.
int | rpmtdFromStringArray (rpmtd td, rpmTag tag, const char **data, rpm_count_t count)
| Construct tag container from a string array.
int | rpmtdFromArgv (rpmtd td, rpmTag tag, ARGV_t argv)
| Construct tag container from ARGV_t array.
int | rpmtdFromArgi (rpmtd td, rpmTag tag, ARGI_t argi)
| Construct tag container from ARGI_t array.
rpmtd | rpmtdDup (rpmtd td)

## Typedef Documentation

typedef enum rpmtdFlags_e rpmtdFlags

typedef enum rpmtdFormats_e rpmtdFormats

## Enumeration Type Documentation

enum rpmtdFlags_e

Enumerator:

  RPMTD_NONE |
  RPMTD_ALLOCED |
  RPMTD_PTR_ALLOCED |
  RPMTD_IMMUTABLE |
  RPMTD_ARGV |

Definition at line 11 of file rpmtd.h.

enum rpmtdFormats_e

Enumerator:

  RPMTD_FORMAT_STRING |
  RPMTD_FORMAT_ARMOR |
  RPMTD_FORMAT_BASE64 |
  RPMTD_FORMAT_PGPSIG |
  RPMTD_FORMAT_DEPFLAGS |
  RPMTD_FORMAT_FFLAGS |
  RPMTD_FORMAT_PERMS |
  RPMTD_FORMAT_TRIGGERTYPE |
  RPMTD_FORMAT_XML |
  RPMTD_FORMAT_OCTAL |
  RPMTD_FORMAT_HEX |
  RPMTD_FORMAT_DATE |
  RPMTD_FORMAT_DAY |
  RPMTD_FORMAT_SHESCAPE |
  RPMTD_FORMAT_ARRAYSIZE |
  RPMTD_FORMAT_DEPTYPE |

Definition at line 200 of file rpmtd.h.

## Function Documentation

rpmtd rpmtdDup | ( | rpmtd | td | ) |