rpm  4.17.0
Data Structures | Typedefs | Enumerations | Functions

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...
 
rpmsidrpmtdToPool (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

Definition at line 26 of file rpmtd.h.

◆ rpmtdFormats

Enumeration Type Documentation

◆ 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

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.