rpmtd.h File Reference
Querying package headers: » RPM Tag Data Container API.

RPM Tag Data Container API. More...

`#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 rpmFlags | 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) , RPMTD_INVALID = (1 << 4) }

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 ,
RPMTD_FORMAT_FSTATE = 16 , RPMTD_FORMAT_VFLAGS = 17 , RPMTD_FORMAT_EXPAND = 18 , RPMTD_FORMAT_FSTATUS = 19 ,
RPMTD_FORMAT_HUMANSI = 20 , RPMTD_FORMAT_HUMANIEC = 21 , RPMTD_FORMAT_TAGNAME = 22 , RPMTD_FORMAT_TAGNUM = 23
}

## Functions

rpmtd | rpmtdNew (void)
| Create new tag data container. More...
rpmtd | rpmtdFree (rpmtd td)
| Destroy tag data container. More...
void | rpmtdReset (rpmtd td)
| (Re-)initialize tag data container. More...
void | rpmtdFreeData (rpmtd td)
| Free contained data. More...
rpm_count_t | rpmtdCount (rpmtd td)
| Retrieve array size of the container. More...
rpm_count_t | rpmtdSize (rpmtd td)
| Retrieve container data size (eg required for allocation). More...
rpmTagVal | rpmtdTag (rpmtd td)
| Retrieve tag of the container. More...
rpmTagType | rpmtdType (rpmtd td)
| Retrieve type of the container. More...
rpmTagClass | rpmtdClass (rpmtd td)
| Retrieve class of the container. More...
rpmtdFlags | rpmtdGetFlags (rpmtd td)
| Retrieve flags of the container (allocation details etc) More...
int | rpmtdGetIndex (rpmtd td)
| Retrieve current iteration index of the container. More...
int | rpmtdSetIndex (rpmtd td, int index)
| Set iteration index of the container. More...
int | rpmtdInit (rpmtd td)
| Initialize tag container for iteration. More...
int | rpmtdNext (rpmtd td)
| Iterate over tag data container. More...
uint32_t * | rpmtdNextUint32 (rpmtd td)
| Iterate over uint32_t type tag data container. More...
uint64_t * | rpmtdNextUint64 (rpmtd td)
| Iterate over uint64_t type tag data container. More...
const char * | rpmtdNextString (rpmtd td)
| Iterate over string / string array type tag data container. More...
char * | rpmtdGetChar (rpmtd td)
| Return char data from tag container. More...
uint16_t * | rpmtdGetUint16 (rpmtd td)
| Return uint16_t data from tag container. More...
uint32_t * | rpmtdGetUint32 (rpmtd td)
| Return uint32_t data from tag container. More...
uint64_t * | rpmtdGetUint64 (rpmtd td)
| Return uint64_t data from tag container. More...
const char * | rpmtdGetString (rpmtd td)
| Return string data from tag container. More...
uint64_t | rpmtdGetNumber (rpmtd td)
| Return numeric value from tag container. More...
char * | rpmtdFormat (rpmtd td, rpmtdFormats fmt, const char *errmsg)
| Format data from tag container to string presentation of given format. More...
int | rpmtdSetTag (rpmtd td, rpmTagVal tag)
| Set container tag and type. More...
int | rpmtdFromUint8 (rpmtd td, rpmTagVal tag, uint8_t *data, rpm_count_t count)
| Construct tag container from uint8_t pointer. More...
int | rpmtdFromUint16 (rpmtd td, rpmTagVal tag, uint16_t *data, rpm_count_t count)
| Construct tag container from uint16_t pointer. More...
int | rpmtdFromUint32 (rpmtd td, rpmTagVal tag, uint32_t *data, rpm_count_t count)
| Construct tag container from uint32_t pointer. More...
int | rpmtdFromUint64 (rpmtd td, rpmTagVal tag, uint64_t *data, rpm_count_t count)
| Construct tag container from uint64_t pointer. More...
int | rpmtdFromString (rpmtd td, rpmTagVal tag, const char *data)
| Construct tag container from a string. More...
int | rpmtdFromStringArray (rpmtd td, rpmTagVal tag, const char **data, rpm_count_t count)
| Construct tag container from a string array. More...
int | rpmtdFromArgv (rpmtd td, rpmTagVal tag, ARGV_t argv)
| Construct tag container from ARGV_t array. More...
int | rpmtdFromArgi (rpmtd td, rpmTagVal tag, ARGI_t argi)
| Construct tag container from ARGI_t array. More...
rpmtd | rpmtdDup (rpmtd td)
| Perform deep copy of container. More...
rpmsid * | rpmtdToPool (rpmtd td, rpmstrPool pool)
| Push string array container contents to a string pool, return string ids. More...

## Detailed Description

RPM Tag Data Container API.

Definition in file rpmtd.h.

## Typedef Documentation

## rpmtdFlags

typedef rpmFlags rpmtdFlags

Definition at line 26 of file rpmtd.h.

## rpmtdFormats

typedef enum rpmtdFormats_e rpmtdFormats

## Enumeration Type Documentation

## rpmtdFlags_e

enum rpmtdFlags_e

Enumerator
RPMTD_NONE |
RPMTD_ALLOCED |
RPMTD_PTR_ALLOCED |
RPMTD_IMMUTABLE |
RPMTD_ARGV |
RPMTD_INVALID |

Definition at line 17 of file rpmtd.h.

## rpmtdFormats_e

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 |
RPMTD_FORMAT_FSTATE |
RPMTD_FORMAT_VFLAGS |
RPMTD_FORMAT_EXPAND |
RPMTD_FORMAT_FSTATUS |
RPMTD_FORMAT_HUMANSI |
RPMTD_FORMAT_HUMANIEC |
RPMTD_FORMAT_TAGNAME |
RPMTD_FORMAT_TAGNUM |

Definition at line 225 of file rpmtd.h.