# RPM Tag API.

## Typedefs

typedef enum rpmTag_e | rpmTag
| Tags identify data in package headers.
typedef enum rpmDbiTag_e | rpmDbiTag
| Rpm database index tags.
typedef enum rpmTagClass_e | rpmTagClass
| The classes of data in tags from headers.

## Enumerations

enum | rpmTag_e { RPMTAG_NOT_FOUND = -1, RPMTAG_HEADERIMAGE = 61, RPMTAG_HEADERSIGNATURES = 62, RPMTAG_HEADERIMMUTABLE = 63, RPMTAG_HEADERREGIONS = 64, RPMTAG_HEADERI18NTABLE = 100, RPMTAG_SIG_BASE = 256, RPMTAG_SIGSIZE = RPMTAG_SIG_BASE+1, RPMTAG_SIGLEMD5_1 = RPMTAG_SIG_BASE+2, RPMTAG_SIGPGP = RPMTAG_SIG_BASE+3, RPMTAG_SIGLEMD5_2 = RPMTAG_SIG_BASE+4, RPMTAG_SIGMD5 = RPMTAG_SIG_BASE+5 }
| Tags identify data in package headers. More...

enum

rpmDbiTag_e {
RPMDBI_PACKAGES = 0, RPMDBI_LABEL = 2, RPMDBI_NAME = RPMTAG_NAME, RPMDBI_BASENAMES = RPMTAG_BASENAMES,
RPMDBI_GROUP = RPMTAG_GROUP, RPMDBI_REQUIRENAME = RPMTAG_REQUIRENAME, RPMDBI_PROVIDENAME = RPMTAG_PROVIDENAME, RPMDBI_CONFLICTNAME = RPMTAG_CONFLICTNAME,
RPMDBI_OBSOLETENAME = RPMTAG_OBSOLETENAME, RPMDBI_TRIGGERNAME = RPMTAG_TRIGGERNAME, RPMDBI_DIRNAMES = RPMTAG_DIRNAMES, RPMDBI_INSTALLTID = RPMTAG_INSTALLTID,
RPMDBI_SIGMD5 = RPMTAG_SIGMD5, RPMDBI_SHA1HEADER = RPMTAG_SHA1HEADER
}

| Rpm database index tags. More...
enum | rpmTagClass_e { RPM_NULL_CLASS = 0, RPM_NUMERIC_CLASS = 1, RPM_STRING_CLASS = 2, RPM_BINARY_CLASS = 3 }
| The classes of data in tags from headers. More...

## Functions

const char * | rpmTagGetName (rpmTagVal tag)
| Return tag name from value.
rpmTagType | rpmTagGetType (rpmTagVal tag)
| Return tag data type from value.
rpmTagType | rpmTagGetTagType (rpmTagVal tag)
| Return tag data type from value.
rpmTagReturnType | rpmTagGetReturnType (rpmTagVal tag)
| Return tag data type from value.
rpmTagClass | rpmTagGetClass (rpmTagVal tag)
| Return tag data class from value.
rpmTagVal | rpmTagGetValue (const char *tagstr)
| Return tag value from name.
rpmTagClass | rpmTagTypeGetClass (rpmTagType type)
| Return data class of type.
int | rpmTagGetNames (rpmtd tagnames, int fullname)
| Return known rpm tag names, sorted by name.

## Typedef Documentation

typedef enum rpmDbiTag_e rpmDbiTag

Rpm database index tags.

typedef enum rpmTag_e rpmTag

Tags identify data in package headers.

Note:
  tags should not have value 0!
  all new tags should be added above 5000

Todo:
  : Somehow supply type

typedef enum rpmTagClass_e rpmTagClass

The classes of data in tags from headers.

## Enumeration Type Documentation

enum rpmDbiTag_e

Rpm database index tags.

Enumerator:

  RPMDBI_PACKAGES |
  RPMDBI_LABEL |
  RPMDBI_NAME |
  RPMDBI_BASENAMES |
  RPMDBI_GROUP |
  RPMDBI_REQUIRENAME |
  RPMDBI_PROVIDENAME |
  RPMDBI_CONFLICTNAME |
  RPMDBI_OBSOLETENAME |
  RPMDBI_TRIGGERNAME |
  RPMDBI_DIRNAMES |
  RPMDBI_INSTALLTID |
  RPMDBI_SIGMD5 |
  RPMDBI_SHA1HEADER |

Definition at line 311 of file rpmtag.h.

enum rpmTag_e

Tags identify data in package headers.

Note:
  tags should not have value 0!
  all new tags should be added above 5000

Todo:
  : Somehow supply type

Enumerator:

  RPMTAG_NOT_FOUND | Unknown tag
  RPMTAG_HEADERIMAGE | Current image.
  RPMTAG_HEADERSIGNATURES | Signatures.
  RPMTAG_HEADERIMMUTABLE | Original image.
  RPMTAG_HEADERREGIONS | Regions.
  RPMTAG_HEADERI18NTABLE |
  RPMTAG_SIG_BASE |
  RPMTAG_SIGSIZE |
  RPMTAG_SIGLEMD5_1 |
  RPMTAG_SIGPGP |
  RPMTAG_SIGLEMD5_2 |
  RPMTAG_SIGMD5 |

Definition at line 28 of file rpmtag.h.

enum rpmTagClass_e

The classes of data in tags from headers.

Enumerator:

  RPM_NULL_CLASS |
  RPM_NUMERIC_CLASS |
  RPM_STRING_CLASS |
  RPM_BINARY_CLASS |

Definition at line 373 of file rpmtag.h.

## Function Documentation

rpmTagClass rpmTagGetClass | ( | rpmTagVal | tag | ) |

Return tag data class from value.

Parameters:

  | tag | tag value

Returns:
  tag data class, RPM_NULL_CLASS on not found.

const char* rpmTagGetName | ( | rpmTagVal | tag | ) |

Return tag name from value.

Parameters:

  | tag | tag value

Returns:
  tag name, "(unknown)" on not found

int rpmTagGetNames | ( | rpmtd | tagnames,
|  | int | fullname |
| ) |  |  |

Return known rpm tag names, sorted by name.

Return values:

  | tagnames | tag container of string array type

Parameters:

  | fullname | return short or full name

Returns:
  number of tag names, 0 on error

rpmTagReturnType rpmTagGetReturnType | ( | rpmTagVal | tag | ) |

Return tag data type from value.

Parameters:

  | tag | tag value

Returns:
  tag data return type, RPM_NULL_TYPE on not found.

rpmTagType rpmTagGetTagType | ( | rpmTagVal | tag | ) |

Return tag data type from value.

Parameters:

  | tag | tag value

Returns:
  tag data type, RPM_NULL_TYPE on not found.

rpmTagType rpmTagGetType | ( | rpmTagVal | tag | ) |

Return tag data type from value.

Parameters:

  | tag | tag value

Returns:
  tag data type + return type, RPM_NULL_TYPE on not found.

rpmTagVal rpmTagGetValue | ( | const char * | tagstr | ) |

Return tag value from name.

Parameters:

  | tagstr | name of tag

Returns:
  tag value, -1 on not found

rpmTagClass rpmTagTypeGetClass | ( | rpmTagType | type | ) |

Return data class of type.

Parameters:

  | type | tag type

Returns:
  data class, RPM_NULL_CLASS on unknown.