Sophie

Sophie

distrib > Mandriva > 9.0 > i586 > by-pkgid > 2269bb274471fd2722517c2c0b740d7f > files > 119

rpm-devel-4.0.4-19mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>HEADER.</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.17 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>HEADER.</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Files</h2></td></tr>
<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="formats_8c.html">formats.c</a></td></tr>
<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="hdrinline_8h.html">hdrinline.h</a></td></tr>
<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="header_8c.html">header.c</a></td></tr>
<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="header_8h.html">header.h</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>An rpm header carries all information about a package.</em></font><br><br></td></tr>

<p>
<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="header__internal_8c.html">header_internal.c</a></td></tr>
<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="header__internal_8h.html">header_internal.h</a></td></tr>
<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="package_8c.html">package.c</a></td></tr>
<tr><td nowrap align=right valign=top>file &nbsp;</td><td valign=bottom><a class="el" href="rpmlib_8h.html">rpmlib.h</a></td></tr>
<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
<tr><td nowrap align=right valign=top>struct &nbsp;</td><td valign=bottom><a class="el" href="structheaderToken.html">headerToken</a></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td nowrap align=right valign=top>typedef const char *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a4">errmsg_t</a></td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="header_8h.html#a9">int_32</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a5">hTAG_t</a></td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="structheaderToken.html">headerToken</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a6">Header</a></td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="structheaderIteratorS.html">headerIteratorS</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a7">HeaderIterator</a></td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="structheaderTagTableEntry__s.html">headerTagTableEntry_s</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a8">headerTagTableEntry</a></td></tr>
<tr><td nowrap align=right valign=top>typedef char *(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a9">headerTagFormatFunction</a> )(<a class="el" href="header_8h.html#a9">int_32</a> type, const void *data, char *formatPrefix, int padding, int element)</td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a10">headerTagTagFunction</a> )(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a16">hTYP_t</a> type, <a class="el" href="header_8h.html#a17">hPTR_t</a> *data, <a class="el" href="header_8h.html#a18">hCNT_t</a> count, int *freeData)</td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="structheaderSprintfExtension__s.html">headerSprintfExtension_s</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a11">headerSprintfExtension</a></td></tr>
<tr><td nowrap align=right valign=top>typedef enum <a class="el" href="group__header.html#a93">rpmTagType_e</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a13">rpmTagType</a></td></tr>
<tr><td nowrap align=right valign=top>typedef enum <a class="el" href="group__header.html#a94">rpmSubTagType_e</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a14">rpmSubTagType</a></td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__header.html#a6">Header</a>(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a15">HDRnew</a> )(void)</td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__header.html#a6">Header</a>(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a16">HDRfree</a> )(<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__header.html#a6">Header</a>(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a17">HDRlink</a> )(<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__header.html#a6">Header</a>(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a18">HDRunlink</a> )(<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>typedef void(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a19">HDRsort</a> )(<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>typedef void(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a20">HDRunsort</a> )(<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>typedef unsigned int(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a21">HDRsizeof</a> )(<a class="el" href="group__header.html#a6">Header</a> h, enum <a class="el" href="group__header.html#a92">hMagic</a> magicp)</td></tr>
<tr><td nowrap align=right valign=top>typedef void *(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a22">HDRunload</a> )(<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__header.html#a6">Header</a>(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a23">HDRreload</a> )(<a class="el" href="group__header.html#a6">Header</a> h, int tag)</td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__header.html#a6">Header</a>(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a24">HDRcopy</a> )(<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__header.html#a6">Header</a>(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a25">HDRload</a> )(void *uh)</td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__header.html#a6">Header</a>(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a26">HDRcopyload</a> )(const void *uh)</td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__header.html#a6">Header</a>(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a27">HDRhdrread</a> )(<a class="el" href="group__rpmio.html#a1">FD_t</a> fd, enum <a class="el" href="group__header.html#a92">hMagic</a> magicp)</td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a28">HDRhdrwrite</a> )(<a class="el" href="group__rpmio.html#a1">FD_t</a> fd, <a class="el" href="group__header.html#a6">Header</a> h, enum <a class="el" href="group__header.html#a92">hMagic</a> magicp)</td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a29">HDRisentry</a> )(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag)</td></tr>
<tr><td nowrap align=right valign=top>typedef void *(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a30">HDRfreetag</a> )(<a class="el" href="group__header.html#a6">Header</a> h, const void *data, <a class="el" href="group__header.html#a13">rpmTagType</a> type)</td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a31">HDRget</a> )(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a16">hTYP_t</a> type, void **p, <a class="el" href="header_8h.html#a18">hCNT_t</a> c)</td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a32">HDRgetmin</a> )(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a16">hTYP_t</a> type, <a class="el" href="header_8h.html#a17">hPTR_t</a> *p, <a class="el" href="header_8h.html#a18">hCNT_t</a> c)</td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a33">HDRadd</a> )(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a9">int_32</a> type, const void *p, <a class="el" href="header_8h.html#a9">int_32</a> c)</td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a34">HDRappend</a> )(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a9">int_32</a> type, const void *p, <a class="el" href="header_8h.html#a9">int_32</a> c)</td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a35">HDRaddorappend</a> )(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a9">int_32</a> type, const void *p, <a class="el" href="header_8h.html#a9">int_32</a> c)</td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a36">HDRaddi18n</a> )(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, const char *string, const char *<a class="el" href="parseDescription_8c.html#a2">lang</a>)</td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a37">HDRmodify</a> )(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a9">int_32</a> type, const void *p, <a class="el" href="header_8h.html#a9">int_32</a> c)</td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a38">HDRremove</a> )(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag)</td></tr>
<tr><td nowrap align=right valign=top>typedef char *(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a39">HDRhdrsprintf</a> )(<a class="el" href="group__header.html#a6">Header</a> h, const char *fmt, const struct <a class="el" href="structheaderTagTableEntry__s.html">headerTagTableEntry_s</a> *tags, const struct <a class="el" href="structheaderSprintfExtension__s.html">headerSprintfExtension_s</a> *extensions, <a class="el" href="group__header.html#a4">errmsg_t</a> *errmsg)</td></tr>
<tr><td nowrap align=right valign=top>typedef void(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a40">HDRcopytags</a> )(<a class="el" href="group__header.html#a6">Header</a> headerFrom, <a class="el" href="group__header.html#a6">Header</a> headerTo, <a class="el" href="group__header.html#a5">hTAG_t</a> tagstocopy)</td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__header.html#a7">HeaderIterator</a>(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a41">HDRfreeiter</a> )(<a class="el" href="group__header.html#a7">HeaderIterator</a> hi)</td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="group__header.html#a7">HeaderIterator</a>(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a42">HDRinititer</a> )(<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>typedef int(*&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a43">HDRnextiter</a> )(<a class="el" href="group__header.html#a7">HeaderIterator</a> hi, <a class="el" href="group__header.html#a5">hTAG_t</a> tag, <a class="el" href="header_8h.html#a16">hTYP_t</a> type, <a class="el" href="header_8h.html#a17">hPTR_t</a> *p, <a class="el" href="header_8h.html#a18">hCNT_t</a> c)</td></tr>
<tr><td nowrap align=right valign=top>typedef <a class="el" href="structHV__s.html">HV_s</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a44">HV_t</a></td></tr>
<tr><td nowrap align=right valign=top>typedef entryInfo *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a45">entryInfo</a></td></tr>
<tr><td nowrap align=right valign=top>typedef indexEntry *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a46">indexEntry</a></td></tr>
<tr><td nowrap align=right valign=top>typedef sprintfTag *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a47">sprintfTag</a></td></tr>
<tr><td nowrap align=right valign=top>typedef extensionCache *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a48">extensionCache</a></td></tr>
<tr><td nowrap align=right valign=top>typedef sprintfToken *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a49">sprintfToken</a></td></tr>
<tr><td colspan=2><br><h2>Enumerations</h2></td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a91">headerSprintfExtenstionType</a> { <a class="el" href="group__header.html#a91a60">HEADER_EXT_LAST</a> =  0, 
<a class="el" href="group__header.html#a91a61">HEADER_EXT_FORMAT</a>, 
<a class="el" href="group__header.html#a91a62">HEADER_EXT_MORE</a>, 
<a class="el" href="group__header.html#a91a63">HEADER_EXT_TAG</a>
 }</td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a92">hMagic</a> { <a class="el" href="group__header.html#a92a64">HEADER_MAGIC_NO</a> =  0, 
<a class="el" href="group__header.html#a92a65">HEADER_MAGIC_YES</a> =  1
 }</td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a93">rpmTagType_e</a> { <br>
&nbsp;&nbsp;<a class="el" href="group__header.html#a93a66">RPM_NULL_TYPE</a> =   0, 
<a class="el" href="group__header.html#a93a67">RPM_CHAR_TYPE</a> =   1, 
<a class="el" href="group__header.html#a93a68">RPM_INT8_TYPE</a> =   2, 
<a class="el" href="group__header.html#a93a69">RPM_INT16_TYPE</a> =   3, 
<br>
&nbsp;&nbsp;<a class="el" href="group__header.html#a93a70">RPM_INT32_TYPE</a> =   4, 
<a class="el" href="group__header.html#a93a71">RPM_STRING_TYPE</a> =   6, 
<a class="el" href="group__header.html#a93a72">RPM_BIN_TYPE</a> =   7, 
<a class="el" href="group__header.html#a93a73">RPM_STRING_ARRAY_TYPE</a> =   8, 
<br>
&nbsp;&nbsp;<a class="el" href="group__header.html#a93a74">RPM_I18NSTRING_TYPE</a>
<br>
 }</td></tr>
<tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a94">rpmSubTagType_e</a> { <a class="el" href="group__header.html#a94a75">RPM_REGION_TYPE</a> =  -10, 
<a class="el" href="group__header.html#a94a76">RPM_BIN_ARRAY_TYPE</a> =  -11, 
<a class="el" href="group__header.html#a94a77">RPM_XREF_TYPE</a> =  -12
 }</td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a44">HV_t</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a50">h2hv</a> (<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a51">headerNew</a> (void)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a52">headerFree</a> (<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a53">headerLink</a> (<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a54">headerUnlink</a> (<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a55">headerSort</a> (<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a56">headerUnsort</a> (<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>unsigned int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a57">headerSizeof</a> (<a class="el" href="group__header.html#a6">Header</a> h, enum <a class="el" href="group__header.html#a92">hMagic</a> magicp)</td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a58">headerUnload</a> (<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a59">headerReload</a> (<a class="el" href="group__header.html#a6">Header</a> h, int tag)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a60">headerCopy</a> (<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a61">headerLoad</a> (void *uh)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a62">headerCopyLoad</a> (const void *uh)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a63">headerRead</a> (<a class="el" href="group__rpmio.html#a1">FD_t</a> fd, enum <a class="el" href="group__header.html#a92">hMagic</a> magicp)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a64">headerWrite</a> (<a class="el" href="group__rpmio.html#a1">FD_t</a> fd, <a class="el" href="group__header.html#a6">Header</a> h, enum <a class="el" href="group__header.html#a92">hMagic</a> magicp)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a65">headerIsEntry</a> (<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag)</td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a66">headerFreeTag</a> (<a class="el" href="group__header.html#a6">Header</a> h, const void *data, <a class="el" href="group__header.html#a13">rpmTagType</a> type)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a67">headerGetEntry</a> (<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a16">hTYP_t</a> type, void **p, <a class="el" href="header_8h.html#a18">hCNT_t</a> c)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a68">headerGetEntryMinMemory</a> (<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a16">hTYP_t</a> type, <a class="el" href="header_8h.html#a17">hPTR_t</a> *p, <a class="el" href="header_8h.html#a18">hCNT_t</a> c)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a69">headerAddEntry</a> (<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a9">int_32</a> type, const void *p, <a class="el" href="header_8h.html#a9">int_32</a> c)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a70">headerAppendEntry</a> (<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a9">int_32</a> type, const void *p, <a class="el" href="header_8h.html#a9">int_32</a> c)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a71">headerAddOrAppendEntry</a> (<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a9">int_32</a> type, const void *p, <a class="el" href="header_8h.html#a9">int_32</a> c)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a72">headerAddI18NString</a> (<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, const char *string, const char *<a class="el" href="parseDescription_8c.html#a2">lang</a>)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a73">headerModifyEntry</a> (<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a9">int_32</a> type, const void *p, <a class="el" href="header_8h.html#a9">int_32</a> c)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a74">headerRemoveEntry</a> (<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag)</td></tr>
<tr><td nowrap align=right valign=top>char *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a75">headerSprintf</a> (<a class="el" href="group__header.html#a6">Header</a> h, const char *fmt, const struct <a class="el" href="structheaderTagTableEntry__s.html">headerTagTableEntry_s</a> *tbltags, const struct <a class="el" href="structheaderSprintfExtension__s.html">headerSprintfExtension_s</a> *extensions, <a class="el" href="group__header.html#a4">errmsg_t</a> *errmsg)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a76">headerCopyTags</a> (<a class="el" href="group__header.html#a6">Header</a> headerFrom, <a class="el" href="group__header.html#a6">Header</a> headerTo, <a class="el" href="group__header.html#a5">hTAG_t</a> tagstocopy)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a7">HeaderIterator</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a77">headerFreeIterator</a> (<a class="el" href="group__header.html#a7">HeaderIterator</a> hi)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a7">HeaderIterator</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a78">headerInitIterator</a> (<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a79">headerNextIterator</a> (<a class="el" href="group__header.html#a7">HeaderIterator</a> hi, <a class="el" href="group__header.html#a5">hTAG_t</a> tag, <a class="el" href="header_8h.html#a16">hTYP_t</a> type, <a class="el" href="header_8h.html#a17">hPTR_t</a> *p, <a class="el" href="header_8h.html#a18">hCNT_t</a> c)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a80">regionSwab</a> (<a class="el" href="structindexEntry.html">indexEntry</a> entry, int il, int dl, <a class="el" href="structentryInfo.html">entryInfo</a> pe, char *dataStart, int regionid)</td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a81">doHeaderUnload</a> (<a class="el" href="group__header.html#a6">Header</a> h, int *lengthPtr)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a82">copyEntry</a> (const <a class="el" href="structindexEntry.html">indexEntry</a> entry, <a class="el" href="header_8h.html#a16">hTYP_t</a> type, <a class="el" href="header_8h.html#a17">hPTR_t</a> *p, <a class="el" href="header_8h.html#a18">hCNT_t</a> c, int minMem)</td></tr>
<tr><td nowrap align=right valign=top>void *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a83">headerFreeData</a> (const void *data, <a class="el" href="group__header.html#a13">rpmTagType</a> type)</td></tr>
<tr><td nowrap align=right valign=top>char **&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a84">headerGetLangs</a> (<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a85">headerGetRawEntry</a> (<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a16">hTYP_t</a> type, <a class="el" href="header_8h.html#a17">hPTR_t</a> *p, <a class="el" href="header_8h.html#a18">hCNT_t</a> c)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a86">headerUsageCount</a> (<a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a87">headerDump</a> (<a class="el" href="group__header.html#a6">Header</a> h, FILE *f, int flags, const struct <a class="el" href="structheaderTagTableEntry__s.html">headerTagTableEntry_s</a> *tags)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a88">headerNVR</a> (<a class="el" href="group__header.html#a6">Header</a> h, const char **np, const char **vp, const char **rp)</td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a89">headerMergeLegacySigs</a> (<a class="el" href="group__header.html#a6">Header</a> h, const <a class="el" href="group__header.html#a6">Header</a> sig)</td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a90">headerRegenSigHeader</a> (const <a class="el" href="group__header.html#a6">Header</a> h)</td></tr>
<tr><td colspan=2><br><h2>Variables</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="structHV__s.html">HV_s</a> *&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a0">hdrVec</a> = &amp;<a class="el" href="header_8c.html#a11">hdrVec1</a></td></tr>
<tr><td nowrap align=right valign=top>unsigned char&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a1">header_magic</a> [8]</td></tr>
<tr><td nowrap align=right valign=top>size_t&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a2">headerMaxbytes</a> = (32*1024*1024)</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a3">typeSizes</a> []</td></tr>
<tr><td nowrap align=right valign=top>const struct <a class="el" href="structheaderSprintfExtension__s.html">headerSprintfExtension_s</a>&nbsp;</td><td valign=bottom><a class="el" href="group__header.html#a12">headerDefaultFormats</a> []</td></tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a name="a45" doxytag="header_internal.h::entryInfo"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct entryInfo* entryInfo
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Description of tag data. 
<p>
Definition at line <a class="el" href="header__internal_8h-source.html#l00025">25</a> of file <a class="el" href="header__internal_8h-source.html">header_internal.h</a>.    </td>
  </tr>
</table>
<a name="a4" doxytag="header.h::errmsg_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef const char* errmsg_t
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="header_8h-source.html#l00110">110</a> of file <a class="el" href="header_8h-source.html">header.h</a>.
<p>
Referenced by <a class="el" href="hdrinline_8h-source.html#l00435">headerSprintf</a>(), <a class="el" href="header_8c-source.html#l02367">parseExpression</a>(), and <a class="el" href="header_8c-source.html#l02117">parseFormat</a>().    </td>
  </tr>
</table>
<a name="a48" doxytag="header_internal.h::extensionCache"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct extensionCache* extensionCache
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="header__internal_8h-source.html#l00083">83</a> of file <a class="el" href="header__internal_8h-source.html">header_internal.h</a>.    </td>
  </tr>
</table>
<a name="a33" doxytag="header.h::HDRadd"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* HDRadd)(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a9">int_32</a> type, const void * p, <a class="el" href="header_8h.html#a9">int_32</a> c)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add tag to header. Duplicate tags are okay, but only defined for iteration (with the exceptions noted below). While you are allowed to add i18n string arrays through this function, you probably don't mean to. See <a class="el" href="group__header.html#a72">headerAddI18NString</a>() instead.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
tag value data type </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
pointer to tag value(s) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
number of values </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00497">497</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a36" doxytag="header.h::HDRaddi18n"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* HDRaddi18n)(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, const char * string, const char * <a class="el" href="parseDescription_8c.html#a2">lang</a>)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add locale specific tag to header. A NULL lang is interpreted as the C locale. Here are the rules: <div class="fragment"><pre>
 *      - If the tag isn't in the header, it's added with the passed string
 *         as new value.
 *      - If the tag occurs multiple times in entry, which tag is affected
 *         by the operation is undefined.
 *      - If the tag is in the header w/ this language, the entry is
 *         *replaced* (like headerModifyEntry()).
 * </pre></div> This function is intended to just "do the right thing". If you need more fine grained control use <a class="el" href="group__header.html#a69">headerAddEntry</a>() and <a class="el" href="group__header.html#a73">headerModifyEntry</a>().<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
<tr><td valign=top><em>string</em>&nbsp;</td><td>
tag value </td></tr>
<tr><td valign=top><em>lang</em>&nbsp;</td><td>
locale </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00553">553</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a35" doxytag="header.h::HDRaddorappend"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* HDRaddorappend)(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a9">int_32</a> type, const void * p, <a class="el" href="header_8h.html#a9">int_32</a> c)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add or append element to tag array in header. <dl compact><dt><b><a class="el" href="todo.html#_todo000026">Todo: </a></b></dt><dd>
Arg "p" should have const.</dl> <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
tag value data type </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
pointer to tag value(s) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
number of values </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00529">529</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a34" doxytag="header.h::HDRappend"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* HDRappend)(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a9">int_32</a> type, const void * p, <a class="el" href="header_8h.html#a9">int_32</a> c)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Append element to tag array in header. Appends item p to entry w/ tag and type as passed. Won't work on RPM_STRING_TYPE. Any pointers into header memory returned from <a class="el" href="group__header.html#a68">headerGetEntryMinMemory</a>() for this entry are invalid after this call has been made!<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
tag value data type </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
pointer to tag value(s) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
number of values </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00515">515</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a24" doxytag="header.h::HDRcopy"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef <a class="el" href="group__header.html#a6">Header</a>(* HDRcopy)(<a class="el" href="group__header.html#a6">Header</a> h)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Duplicate a header. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
new header instance </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00378">378</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a26" doxytag="header.h::HDRcopyload"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef <a class="el" href="group__header.html#a6">Header</a>(* HDRcopyload)(const void * uh)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Make a copy and convert header to in-memory representation. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>uh</em>&nbsp;</td><td>
on-disk header blob (i.e. with offsets) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
header </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00396">396</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a40" doxytag="header.h::HDRcopytags"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef void(* HDRcopytags)(<a class="el" href="group__header.html#a6">Header</a> headerFrom, <a class="el" href="group__header.html#a6">Header</a> headerTo, <a class="el" href="group__header.html#a5">hTAG_t</a> tagstocopy)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Duplicate tag values from one header into another. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>headerFrom</em>&nbsp;</td><td>
source header </td></tr>
<tr><td valign=top><em>headerTo</em>&nbsp;</td><td>
destination header </td></tr>
<tr><td valign=top><em>tagstocopy</em>&nbsp;</td><td>
array of tags that are copied </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00609">609</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a16" doxytag="header.h::HDRfree"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef <a class="el" href="group__header.html#a6">Header</a>(* HDRfree)( <a class="el" href="group__header.html#a6">Header</a> h)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Dereference a header instance. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
NULL always </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00303">303</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a41" doxytag="header.h::HDRfreeiter"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef <a class="el" href="group__header.html#a7">HeaderIterator</a>(* HDRfreeiter)( <a class="el" href="group__header.html#a7">HeaderIterator</a> hi)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Destroy header tag iterator. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hi</em>&nbsp;</td><td>
header tag iterator </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
NULL always </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00618">618</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a30" doxytag="header.h::HDRfreetag"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef void*(* HDRfreetag)(<a class="el" href="group__header.html#a6">Header</a> h, const void * data, <a class="el" href="group__header.html#a13">rpmTagType</a> type)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Free data allocated when retrieved from header. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>data</em>&nbsp;</td><td>
address of data (or NULL) </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
type of data (or -1 to force free) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
NULL always </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00439">439</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a31" doxytag="header.h::HDRget"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* HDRget)(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a16">hTYP_t</a> type, void ** p, <a class="el" href="header_8h.html#a18">hCNT_t</a> c)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve tag value. Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with RPM_I18NSTRING_TYPE equivalent entries are translated (if HEADER_I18NTABLE entry is present).<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
</table>
</dl><dl compact><dt><b>Return values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
address of tag value data type (or NULL) </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
address of pointer to tag value(s) (or NULL) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
address of number of values (or NULL) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00457">457</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a32" doxytag="header.h::HDRgetmin"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* HDRgetmin)(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a16">hTYP_t</a> type, <a class="el" href="header_8h.html#a17">hPTR_t</a> * p, <a class="el" href="header_8h.html#a18">hCNT_t</a> c)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve tag value using header internal array. Get an entry using as little extra RAM as possible to return the tag value. This is only an issue for RPM_STRING_ARRAY_TYPE.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
</table>
</dl><dl compact><dt><b>Return values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
address of tag value data type (or NULL) </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
address of pointer to tag value(s) (or NULL) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
address of number of values (or NULL) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00476">476</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a27" doxytag="header.h::HDRhdrread"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef <a class="el" href="group__header.html#a6">Header</a>(* HDRhdrread)(<a class="el" href="group__rpmio.html#a1">FD_t</a> fd, enum <a class="el" href="group__header.html#a92">hMagic</a> magicp)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Read (and load) header from file handle. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>fd</em>&nbsp;</td><td>
file handle </td></tr>
<tr><td valign=top><em>magicp</em>&nbsp;</td><td>
read (and verify) 8 bytes of (magic, 0)? </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
header (or NULL on error) </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00406">406</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a39" doxytag="header.h::HDRhdrsprintf"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef char*(* HDRhdrsprintf)(<a class="el" href="group__header.html#a6">Header</a> h, const char * fmt, const struct <a class="el" href="structheaderTagTableEntry__s.html">headerTagTableEntry_s</a> * tags, const struct <a class="el" href="structheaderSprintfExtension__s.html">headerSprintfExtension_s</a> * extensions, <a class="el" href="group__header.html#a4">errmsg_t</a> * errmsg)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return formatted output string from header tags. The returned string must be free()d.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>fmt</em>&nbsp;</td><td>
format to use </td></tr>
<tr><td valign=top><em>tags</em>&nbsp;</td><td>
array of tag name/value pairs </td></tr>
<tr><td valign=top><em>extensions</em>&nbsp;</td><td>
chained table of formatting extensions. </td></tr>
</table>
</dl><dl compact><dt><b>Return values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>errmsg</em>&nbsp;</td><td>
error message (if any) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
formatted output string (malloc'ed) </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00596">596</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a28" doxytag="header.h::HDRhdrwrite"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* HDRhdrwrite)(<a class="el" href="group__rpmio.html#a1">FD_t</a> fd, <a class="el" href="group__header.html#a6">Header</a> h, enum <a class="el" href="group__header.html#a92">hMagic</a> magicp)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Write (with unload) header to file handle. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>fd</em>&nbsp;</td><td>
file handle </td></tr>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>magicp</em>&nbsp;</td><td>
prefix write with 8 bytes of (magic, 0)? </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
0 on success, 1 on error </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00417">417</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a42" doxytag="header.h::HDRinititer"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef <a class="el" href="group__header.html#a7">HeaderIterator</a>(* HDRinititer)(<a class="el" href="group__header.html#a6">Header</a> h)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Create header tag iterator. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
header tag iterator </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00627">627</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a29" doxytag="header.h::HDRisentry"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* HDRisentry)(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Check if tag is in header. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00428">428</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a17" doxytag="header.h::HDRlink"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef <a class="el" href="group__header.html#a6">Header</a>(* HDRlink)(<a class="el" href="group__header.html#a6">Header</a> h)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Reference a header instance. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
referenced header instance </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00312">312</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a25" doxytag="header.h::HDRload"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef <a class="el" href="group__header.html#a6">Header</a>(* HDRload)( void * uh)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert header to in-memory representation. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>uh</em>&nbsp;</td><td>
on-disk header blob (i.e. with offsets) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
header </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00387">387</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a37" doxytag="header.h::HDRmodify"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* HDRmodify)(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag, <a class="el" href="header_8h.html#a9">int_32</a> type, const void * p, <a class="el" href="header_8h.html#a9">int_32</a> c)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Modify tag in header. If there are multiple entries with this tag, the first one gets replaced. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
tag value data type </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
pointer to tag value(s) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
number of values </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00568">568</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a15" doxytag="header.h::HDRnew"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef <a class="el" href="group__header.html#a6">Header</a>(* HDRnew)(void)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Create new (empty) header instance. <dl compact><dt><b>Returns :</b></dt><dd>
header </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00294">294</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a43" doxytag="header.h::HDRnextiter"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* HDRnextiter)(<a class="el" href="group__header.html#a7">HeaderIterator</a> hi, <a class="el" href="group__header.html#a5">hTAG_t</a> tag, <a class="el" href="header_8h.html#a16">hTYP_t</a> type, <a class="el" href="header_8h.html#a17">hPTR_t</a> * p, <a class="el" href="header_8h.html#a18">hCNT_t</a> c)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return next tag from header. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hi</em>&nbsp;</td><td>
header tag iterator </td></tr>
</table>
</dl><dl compact><dt><b>Return values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
address of tag </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
address of tag value data type </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
address of pointer to tag value(s) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
address of number of values </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00640">640</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a23" doxytag="header.h::HDRreload"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef <a class="el" href="group__header.html#a6">Header</a>(* HDRreload)( <a class="el" href="group__header.html#a6">Header</a> h, int tag)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert header to on-disk representation, and then reload. This is used to insure that all header data is in one chunk. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header (with pointers) </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
region tag </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
on-disk header (with offsets) </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00369">369</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a38" doxytag="header.h::HDRremove"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* HDRremove)(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a9">int_32</a> tag)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Delete tag in header. Removes all entries of type tag from the header, returns 1 if none were found.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
0 on success, 1 on failure (INCONSISTENT) </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00581">581</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a21" doxytag="header.h::HDRsizeof"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef unsigned int(* HDRsizeof)( <a class="el" href="group__header.html#a6">Header</a> h, enum <a class="el" href="group__header.html#a92">hMagic</a> magicp)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return size of on-disk header representation in bytes. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>magicp</em>&nbsp;</td><td>
include size of 8 bytes for (magic, 0)? </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
size of on-disk header </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00349">349</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a19" doxytag="header.h::HDRsort"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef void(* HDRsort)(<a class="el" href="group__header.html#a6">Header</a> h)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Sort tags in header. <dl compact><dt><b><a class="el" href="todo.html#_todo000024">Todo: </a></b></dt><dd>
Eliminate from API.</dl> <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00330">330</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a18" doxytag="header.h::HDRunlink"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef <a class="el" href="group__header.html#a6">Header</a>(* HDRunlink)( <a class="el" href="group__header.html#a6">Header</a> h)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Dereference a header instance. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
NULL always </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00321">321</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a22" doxytag="header.h::HDRunload"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef void*(* HDRunload)(<a class="el" href="group__header.html#a6">Header</a> h)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert header to on-disk representation. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header (with pointers) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
on-disk header blob (i.e. with offsets) </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00358">358</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a20" doxytag="header.h::HDRunsort"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef void(* HDRunsort)(<a class="el" href="group__header.html#a6">Header</a> h)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Restore tags in header to original ordering. <dl compact><dt><b><a class="el" href="todo.html#_todo000025">Todo: </a></b></dt><dd>
Eliminate from API.</dl> <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00339">339</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a6" doxytag="header.h::Header"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct <a class="el" href="structheaderToken.html">headerToken</a>* Header
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="header_8h-source.html#l00121">121</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a7" doxytag="header.h::HeaderIterator"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct <a class="el" href="structheaderIteratorS.html">headerIteratorS</a>* HeaderIterator
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="header_8h-source.html#l00125">125</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a11" doxytag="header.h::headerSprintfExtension"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct <a class="el" href="structheaderSprintfExtension__s.html">headerSprintfExtension_s</a>* headerSprintfExtension
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Define header tag output formats. 
<p>
Definition at line <a class="el" href="header_8h-source.html#l00180">180</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a9" doxytag="header.h::headerTagFormatFunction"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef char*(* headerTagFormatFunction)(<a class="el" href="header_8h.html#a9">int_32</a> type, const void * data, char * formatPrefix, int padding, int element)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
HEADER_EXT_TAG format function prototype. This will only ever be passed RPM_INT32_TYPE or RPM_STRING_TYPE to help keep things simple.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
tag type </td></tr>
<tr><td valign=top><em>data</em>&nbsp;</td><td>
tag value </td></tr>
<tr><td valign=top><em>formatPrefix</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em>padding</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em>element</em>&nbsp;</td><td>
</td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
formatted string </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00157">157</a> of file <a class="el" href="header_8h-source.html">header.h</a>.
<p>
Referenced by <a class="el" href="header_8c-source.html#l02515">formatValue</a>().    </td>
  </tr>
</table>
<a name="a8" doxytag="header.h::headerTagTableEntry"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct <a class="el" href="structheaderTagTableEntry__s.html">headerTagTableEntry_s</a>* headerTagTableEntry
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Associate tag names with numeric values. 
<p>
Definition at line <a class="el" href="header_8h-source.html#l00130">130</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a10" doxytag="header.h::headerTagTagFunction"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef int(* headerTagTagFunction)(<a class="el" href="group__header.html#a6">Header</a> h, <a class="el" href="header_8h.html#a16">hTYP_t</a> type, <a class="el" href="header_8h.html#a17">hPTR_t</a> * data, <a class="el" href="header_8h.html#a18">hCNT_t</a> count, int * freeData)
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
HEADER_EXT_FORMAT format function prototype. This is allowed to fail, which indicates the tag doesn't exist.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Return values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
address of tag type </td></tr>
<tr><td valign=top><em>data</em>&nbsp;</td><td>
address of tag value pointer </td></tr>
<tr><td valign=top><em>count</em>&nbsp;</td><td>
address of no. of data items </td></tr>
<tr><td valign=top><em>freedata</em>&nbsp;</td><td>
address of data-was-malloc'ed indicator </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
0 on success </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00171">171</a> of file <a class="el" href="header_8h-source.html">header.h</a>.
<p>
Referenced by <a class="el" href="header_8c-source.html#l02493">getExtension</a>().    </td>
  </tr>
</table>
<a name="a5" doxytag="header.h::hTAG_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef <a class="el" href="header_8h.html#a9">int_32</a>* hTAG_t
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="header_8h-source.html#l00114">114</a> of file <a class="el" href="header_8h-source.html">header.h</a>.
<p>
Referenced by <a class="el" href="hdrinline_8h-source.html#l00451">headerCopyTags</a>(), <a class="el" href="hdrinline_8h-source.html#l00494">headerNextIterator</a>(), and <a class="el" href="header_8c-source.html#l01499">intGetEntry</a>().    </td>
  </tr>
</table>
<a name="a44" doxytag="header.h::HV_t"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct <a class="el" href="structHV__s.html">HV_s</a>* HV_t
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Header method vectors. 
<p>
Definition at line <a class="el" href="header_8h-source.html#l00650">650</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a46" doxytag="header_internal.h::indexEntry"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct indexEntry* indexEntry
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
A single tag from a Header. 
<p>
Definition at line <a class="el" href="header__internal_8h-source.html#l00043">43</a> of file <a class="el" href="header__internal_8h-source.html">header_internal.h</a>.    </td>
  </tr>
</table>
<a name="a14" doxytag="header.h::rpmSubTagType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef enum <a class="el" href="group__header.html#a94">rpmSubTagType_e</a>  rpmSubTagType
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
New rpm data types under consideration/development. These data types may (or may not) be added to rpm at some point. In order to avoid incompatibility with legacy versions of rpm, these data (sub-)types are introduced into the header by overloading RPM_BIN_TYPE, with the binary value of the tag a 16 byte image of what should/will be in the header index, followed by per-tag private data.     </td>
  </tr>
</table>
<a name="a13" doxytag="header.h::rpmTagType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef enum <a class="el" href="group__header.html#a93">rpmTagType_e</a>  rpmTagType
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The basic types of data in tags from headers. 
<p>
Referenced by <a class="el" href="reqprov_8c-source.html#l00011">addReqProv</a>(), <a class="el" href="depends_8c-source.html#l00241">alAddPackage</a>(), <a class="el" href="depends_8c-source.html#l01371">checkPackageDeps</a>(), <a class="el" href="lib_2misc_8c-source.html#l00298">compressFilelist</a>(), <a class="el" href="formats_8c-source.html#l00692">descriptionTag</a>(), <a class="el" href="lib_2misc_8c-source.html#l00389">doBuildFileList</a>(), <a class="el" href="formats_8c-source.html#l00551">filenamesTag</a>(), <a class="el" href="fprint_8c-source.html#l00247">fpLookupHeader</a>(), <a class="el" href="formats_8c-source.html#l00372">fssizesTag</a>(), <a class="el" href="formats_8c-source.html#l00709">groupTag</a>(), <a class="el" href="transaction_8c-source.html#l00895">handleInstInstalledFiles</a>(), <a class="el" href="psm_8c-source.html#l01096">handleOneTrigger</a>(), <a class="el" href="parsePreamble_8c-source.html#l00445">handlePreambleTag</a>(), <a class="el" href="hdrinline_8h-source.html#l00247">headerFreeTag</a>(), <a class="el" href="formats_8c-source.html#l00588">i18nTag</a>(), <a class="el" href="rpminstall_8c-source.html#l00834">IDTXglob</a>(), <a class="el" href="rpminstall_8c-source.html#l00789">IDTXload</a>(), <a class="el" href="formats_8c-source.html#l00339">instprefixTag</a>(), <a class="el" href="parsePreamble_8c-source.html#l00197">isMemberInEntry</a>(), <a class="el" href="psm_8c-source.html#l00314">mergeFiles</a>(), <a class="el" href="rpmdb_8c-source.html#l01932">mireSkip</a>(), <a class="el" href="files_8c-source.html#l02590">printDeps</a>(), <a class="el" href="lib_2misc_8c-source.html#l00712">providePackageNVR</a>(), <a class="el" href="depends_8c-source.html#l00609">rangeMatchesDepFlags</a>(), <a class="el" href="transaction_8c-source.html#l00310">relocateFileList</a>(), <a class="el" href="rpmdb_8c-source.html#l02691">rpmdbAdd</a>(), <a class="el" href="rpmdb_8c-source.html#l01169">rpmdbFindByFile</a>(), <a class="el" href="rpmdb_8c-source.html#l03015">rpmdbFindFpList</a>(), <a class="el" href="rpmdb_8c-source.html#l02423">rpmdbRemove</a>(), <a class="el" href="depends_8c-source.html#l02256">rpmdepCheck</a>(), <a class="el" href="psm_8c-source.html#l00267">rpmInstallLoadMacros</a>(), <a class="el" href="depends_8c-source.html#l00797">rpmtransAddPackage</a>(), <a class="el" href="verify_8c-source.html#l00305">rpmVerifyDigest</a>(), <a class="el" href="verify_8c-source.html#l00022">rpmVerifyFile</a>(), <a class="el" href="psm_8c-source.html#l01249">runImmedTriggers</a>(), <a class="el" href="psm_8c-source.html#l01049">runInstScript</a>(), <a class="el" href="psm_8c-source.html#l00825">runScript</a>(), <a class="el" href="query_8c-source.html#l00150">showQueryPackage</a>(), <a class="el" href="formats_8c-source.html#l00675">summaryTag</a>(), <a class="el" href="files_8c-source.html#l00257">timeCheck</a>(), <a class="el" href="formats_8c-source.html#l00426">triggercondsTag</a>(), and <a class="el" href="formats_8c-source.html#l00498">triggertypeTag</a>().    </td>
  </tr>
</table>
<a name="a47" doxytag="header_internal.h::sprintfTag"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct sprintfTag* sprintfTag
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="header__internal_8h-source.html#l00069">69</a> of file <a class="el" href="header__internal_8h-source.html">header_internal.h</a>.    </td>
  </tr>
</table>
<a name="a49" doxytag="header_internal.h::sprintfToken"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> typedef struct sprintfToken* sprintfToken
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="header__internal_8h-source.html#l00095">95</a> of file <a class="el" href="header__internal_8h-source.html">header_internal.h</a>.    </td>
  </tr>
</table>
<hr><h2>Enumeration Type Documentation</h2>
<a name="a91" doxytag="header.h::headerSprintfExtenstionType"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum headerSprintfExtenstionType
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a name="a91a60" doxytag="HEADER_EXT_LAST"></a><em>HEADER_EXT_LAST</em></em>&nbsp;</td><td>
End of extension chain. </td></tr>
<tr><td valign=top><em><a name="a91a61" doxytag="HEADER_EXT_FORMAT"></a><em>HEADER_EXT_FORMAT</em></em>&nbsp;</td><td>
<a class="el" href="group__header.html#a9">headerTagFormatFunction</a> extension </td></tr>
<tr><td valign=top><em><a name="a91a62" doxytag="HEADER_EXT_MORE"></a><em>HEADER_EXT_MORE</em></em>&nbsp;</td><td>
Chain to next table. </td></tr>
<tr><td valign=top><em><a name="a91a63" doxytag="HEADER_EXT_TAG"></a><em>HEADER_EXT_TAG</em></em>&nbsp;</td><td>
<a class="el" href="group__header.html#a10">headerTagTagFunction</a> extension </td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="header_8h-source.html#l00138">138</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a92" doxytag="header.h::hMagic"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum hMagic
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Include calculation for 8 bytes of (magic, 0)? <dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a name="a92a64" doxytag="HEADER_MAGIC_NO"></a><em>HEADER_MAGIC_NO</em></em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a name="a92a65" doxytag="HEADER_MAGIC_YES"></a><em>HEADER_MAGIC_YES</em></em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="header_8h-source.html#l00205">205</a> of file <a class="el" href="header_8h-source.html">header.h</a>.
<p>
Referenced by <a class="el" href="hdrinline_8h-source.html#l00200">headerRead</a>(), <a class="el" href="hdrinline_8h-source.html#l00120">headerSizeof</a>(), and <a class="el" href="hdrinline_8h-source.html#l00214">headerWrite</a>().    </td>
  </tr>
</table>
<a name="a94" doxytag="header.h::rpmSubTagType_e"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum rpmSubTagType_e
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
New rpm data types under consideration/development. These data types may (or may not) be added to rpm at some point. In order to avoid incompatibility with legacy versions of rpm, these data (sub-)types are introduced into the header by overloading RPM_BIN_TYPE, with the binary value of the tag a 16 byte image of what should/will be in the header index, followed by per-tag private data. <dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a name="a94a75" doxytag="RPM_REGION_TYPE"></a><em>RPM_REGION_TYPE</em></em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a name="a94a76" doxytag="RPM_BIN_ARRAY_TYPE"></a><em>RPM_BIN_ARRAY_TYPE</em></em>&nbsp;</td><td>
<dl compact><dt><b><a class="el" href="todo.html#_todo000084">Todo: </a></b></dt><dd>
 Implement, kinda like RPM_STRING_ARRAY_TYPE for known (but variable) length binary data.</dl> </td></tr>
<tr><td valign=top><em><a name="a94a77" doxytag="RPM_XREF_TYPE"></a><em>RPM_XREF_TYPE</em></em>&nbsp;</td><td>
<dl compact><dt><b><a class="el" href="todo.html#_todo000085">Todo: </a></b></dt><dd>
 Implement, intent is to to carry a (???,tagNum,valNum) cross reference to retrieve data from other tags.</dl> </td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="header_8h-source.html#l00237">237</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a93" doxytag="header.h::rpmTagType_e"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> enum rpmTagType_e
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The basic types of data in tags from headers. <dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a name="a93a66" doxytag="RPM_NULL_TYPE"></a><em>RPM_NULL_TYPE</em></em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a name="a93a67" doxytag="RPM_CHAR_TYPE"></a><em>RPM_CHAR_TYPE</em></em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a name="a93a68" doxytag="RPM_INT8_TYPE"></a><em>RPM_INT8_TYPE</em></em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a name="a93a69" doxytag="RPM_INT16_TYPE"></a><em>RPM_INT16_TYPE</em></em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a name="a93a70" doxytag="RPM_INT32_TYPE"></a><em>RPM_INT32_TYPE</em></em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a name="a93a71" doxytag="RPM_STRING_TYPE"></a><em>RPM_STRING_TYPE</em></em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a name="a93a72" doxytag="RPM_BIN_TYPE"></a><em>RPM_BIN_TYPE</em></em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a name="a93a73" doxytag="RPM_STRING_ARRAY_TYPE"></a><em>RPM_STRING_ARRAY_TYPE</em></em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a name="a93a74" doxytag="RPM_I18NSTRING_TYPE"></a><em>RPM_I18NSTRING_TYPE</em></em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>
Definition at line <a class="el" href="header_8h-source.html#l00213">213</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a82" doxytag="header.c::copyEntry"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int copyEntry </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="structindexEntry.html">indexEntry</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>entry</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a16">hTYP_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>type</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a17">hPTR_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a18">hCNT_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>c</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>minMem</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve data from header entry. <dl compact><dt><b><a class="el" href="todo.html#_todo000021">Todo: </a></b></dt><dd>
Permit retrieval of regions other than HEADER_IMUTABLE.</dl> <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>entry</em>&nbsp;</td><td>
header entry </td></tr>
</table>
</dl><dl compact><dt><b>Return values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
address of type (or NULL) </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
address of data (or NULL) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
address of count (or NULL) </td></tr>
</table>
</dl><dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>minMem</em>&nbsp;</td><td>
string pointers refer to header memory? </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, otherwise error. </dl>
<p>
Definition at line <a class="el" href="header_8c-source.html#l01249">1249</a> of file <a class="el" href="header_8c-source.html">header.c</a>.
<p>
References <a class="el" href="header__internal_8h-source.html#l00030">entryInfo::count</a>, <a class="el" href="header__internal_8h-source.html#l00046">indexEntry::data</a>, <a class="el" href="header__internal_8h-source.html#l00036">ENTRY_IS_REGION</a>, <a class="el" href="header_8h-source.html#l00117">hCNT_t</a>, <a class="el" href="header_8h-source.html#l00252">HEADER_IMAGE</a>, <a class="el" href="header_8h-source.html#l00116">hPTR_t</a>, <a class="el" href="header_8h-source.html#l00115">hTYP_t</a>, <a class="el" href="header__internal_8h-source.html#l00045">indexEntry::info</a>, <a class="el" href="header_8h-source.html#l00099">int_32</a>, <a class="el" href="header__internal_8h-source.html#l00047">indexEntry::length</a>, <a class="el" href="header__internal_8h-source.html#l00029">entryInfo::offset</a>, <a class="el" href="header__internal_8h-source.html#l00048">indexEntry::rdlen</a>, <a class="el" href="header__internal_8h-source.html#l00034">REGION_TAG_COUNT</a>, <a class="el" href="header_8c-source.html#l00403">regionSwab</a>(), <a class="el" href="header_8h.html#a93a72">RPM_BIN_TYPE</a>, <a class="el" href="header_8h.html#a93a74">RPM_I18NSTRING_TYPE</a>, <a class="el" href="header_8h.html#a93a73">RPM_STRING_ARRAY_TYPE</a>, <a class="el" href="header_8h.html#a93a71">RPM_STRING_TYPE</a>, <a class="el" href="header__internal_8h-source.html#l00027">entryInfo::tag</a>, <a class="el" href="header__internal_8h-source.html#l00028">entryInfo::type</a>, and <a class="el" href="rpmmalloc_8c-source.html#l00024">xmalloc</a>().
<p>
Referenced by <a class="el" href="header_8c-source.html#l01606">headerGetRawEntry</a>(), <a class="el" href="header_8c-source.html#l03167">headerNextIterator</a>(), and <a class="el" href="header_8c-source.html#l01499">intGetEntry</a>().    </td>
  </tr>
</table>
<a name="a81" doxytag="header.c::doHeaderUnload"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* doHeaderUnload </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>lengthPtr</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="header_8c-source.html#l00501">501</a> of file <a class="el" href="header_8c-source.html">header.c</a>.
<p>
References <a class="el" href="poptint_8h-source.html#l00018">_free</a>(), <a class="el" href="header__internal_8h-source.html#l00030">entryInfo::count</a>, <a class="el" href="header__internal_8h-source.html#l00046">indexEntry::data</a>, <a class="el" href="header__internal_8h-source.html#l00036">ENTRY_IS_REGION</a>, <a class="el" href="header__internal_8h-source.html#l00060">headerToken::flags</a>, <a class="el" href="header_8c-source.html#l00058">hdrchkData</a>, <a class="el" href="header_8c-source.html#l00052">hdrchkTags</a>, <a class="el" href="header__internal_8h-source.html#l00063">HEADERFLAG_LEGACY</a>, <a class="el" href="header__internal_8h-source.html#l00061">HEADERFLAG_SORTED</a>, <a class="el" href="header_8c-source.html#l00201">headerSort</a>(), <a class="el" href="header_8c-source.html#l00234">headerUnsort</a>(), <a class="el" href="header__internal_8h-source.html#l00057">headerToken::index</a>, <a class="el" href="header__internal_8h-source.html#l00058">headerToken::indexUsed</a>, <a class="el" href="header__internal_8h-source.html#l00045">indexEntry::info</a>, <a class="el" href="header_8h-source.html#l00100">int_16</a>, <a class="el" href="header_8h-source.html#l00099">int_32</a>, <a class="el" href="header__internal_8h-source.html#l00047">indexEntry::length</a>, <a class="el" href="header__internal_8h-source.html#l00029">entryInfo::offset</a>, <a class="el" href="header__internal_8h-source.html#l00048">indexEntry::rdlen</a>, <a class="el" href="header_8c-source.html#l00403">regionSwab</a>(), <a class="el" href="header_8h.html#a93a69">RPM_INT16_TYPE</a>, <a class="el" href="header_8h.html#a93a70">RPM_INT32_TYPE</a>, <a class="el" href="header__internal_8h-source.html#l00027">entryInfo::tag</a>, <a class="el" href="header__internal_8h-source.html#l00028">entryInfo::type</a>, <a class="el" href="header_8c-source.html#l00064">typeSizes</a>, and <a class="el" href="rpmmalloc_8c-source.html#l00024">xmalloc</a>().
<p>
Referenced by <a class="el" href="header_8c-source.html#l01047">headerReload</a>(), <a class="el" href="header_8c-source.html#l00755">headerUnload</a>(), and <a class="el" href="header_8c-source.html#l01190">headerWrite</a>().    </td>
  </tr>
</table>
<a name="a50" doxytag="hdrinline.h::h2hv"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a44">HV_t</a> h2hv </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>h</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00022">22</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
Referenced by <a class="el" href="hdrinline_8h-source.html#l00315">headerAddEntry</a>(), <a class="el" href="hdrinline_8h-source.html#l00382">headerAddI18NString</a>(), <a class="el" href="hdrinline_8h-source.html#l00354">headerAddOrAppendEntry</a>(), <a class="el" href="hdrinline_8h-source.html#l00336">headerAppendEntry</a>(), <a class="el" href="hdrinline_8h-source.html#l00163">headerCopy</a>(), <a class="el" href="hdrinline_8h-source.html#l00047">headerFree</a>(), <a class="el" href="hdrinline_8h-source.html#l00247">headerFreeTag</a>(), <a class="el" href="hdrinline_8h-source.html#l00268">headerGetEntry</a>(), <a class="el" href="hdrinline_8h-source.html#l00290">headerGetEntryMinMemory</a>(), <a class="el" href="hdrinline_8h-source.html#l00230">headerIsEntry</a>(), <a class="el" href="hdrinline_8h-source.html#l00062">headerLink</a>(), <a class="el" href="hdrinline_8h-source.html#l00400">headerModifyEntry</a>(), <a class="el" href="hdrinline_8h-source.html#l00149">headerReload</a>(), <a class="el" href="hdrinline_8h-source.html#l00417">headerRemoveEntry</a>(), <a class="el" href="hdrinline_8h-source.html#l00120">headerSizeof</a>(), <a class="el" href="hdrinline_8h-source.html#l00089">headerSort</a>(), <a class="el" href="hdrinline_8h-source.html#l00435">headerSprintf</a>(), <a class="el" href="hdrinline_8h-source.html#l00074">headerUnlink</a>(), <a class="el" href="hdrinline_8h-source.html#l00135">headerUnload</a>(), <a class="el" href="hdrinline_8h-source.html#l00103">headerUnsort</a>(), and <a class="el" href="hdrinline_8h-source.html#l00214">headerWrite</a>().    </td>
  </tr>
</table>
<a name="a69" doxytag="hdrinline.h::headerAddEntry"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerAddEntry </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>type</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add tag to header. Duplicate tags are okay, but only defined for iteration (with the exceptions noted below). While you are allowed to add i18n string arrays through this function, you probably don't mean to. See <a class="el" href="group__header.html#a72">headerAddI18NString</a>() instead.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
tag value data type </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
pointer to tag value(s) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
number of values </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00315">315</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), <a class="el" href="header_8h-source.html#l00669">HV_s::hdradd</a>, and <a class="el" href="header_8h-source.html#l00099">int_32</a>.    </td>
  </tr>
</table>
<a name="a72" doxytag="hdrinline.h::headerAddI18NString"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerAddI18NString </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>string</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>lang</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add locale specific tag to header. A NULL lang is interpreted as the C locale. Here are the rules: <div class="fragment"><pre>
 *      - If the tag isn't in the header, it's added with the passed string
 *         as new value.
 *      - If the tag occurs multiple times in entry, which tag is affected
 *         by the operation is undefined.
 *      - If the tag is in the header w/ this language, the entry is
 *         *replaced* (like headerModifyEntry()).
 * </pre></div> This function is intended to just "do the right thing". If you need more fine grained control use <a class="el" href="group__header.html#a69">headerAddEntry</a>() and <a class="el" href="group__header.html#a73">headerModifyEntry</a>().<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
<tr><td valign=top><em>string</em>&nbsp;</td><td>
tag value </td></tr>
<tr><td valign=top><em>lang</em>&nbsp;</td><td>
locale </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00382">382</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), <a class="el" href="header_8h-source.html#l00672">HV_s::hdraddi18n</a>, and <a class="el" href="header_8h-source.html#l00099">int_32</a>.    </td>
  </tr>
</table>
<a name="a71" doxytag="hdrinline.h::headerAddOrAppendEntry"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerAddOrAppendEntry </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>type</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Add or append element to tag array in header. <dl compact><dt><b><a class="el" href="todo.html#_todo000019">Todo: </a></b></dt><dd>
Arg "p" should have const.</dl> <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
tag value data type </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
pointer to tag value(s) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
number of values </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00354">354</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), <a class="el" href="header_8h-source.html#l00671">HV_s::hdraddorappend</a>, and <a class="el" href="header_8h-source.html#l00099">int_32</a>.    </td>
  </tr>
</table>
<a name="a70" doxytag="hdrinline.h::headerAppendEntry"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerAppendEntry </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>type</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Append element to tag array in header. Appends item p to entry w/ tag and type as passed. Won't work on RPM_STRING_TYPE. Any pointers into header memory returned from <a class="el" href="group__header.html#a68">headerGetEntryMinMemory</a>() for this entry are invalid after this call has been made!<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
tag value data type </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
pointer to tag value(s) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
number of values </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00336">336</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), <a class="el" href="header_8h-source.html#l00670">HV_s::hdrappend</a>, and <a class="el" href="header_8h-source.html#l00099">int_32</a>.    </td>
  </tr>
</table>
<a name="a60" doxytag="hdrinline.h::headerCopy"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a6">Header</a> headerCopy </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>h</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Duplicate a header. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
new header instance </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00163">163</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), and <a class="el" href="header_8h-source.html#l00660">HV_s::hdrcopy</a>.    </td>
  </tr>
</table>
<a name="a62" doxytag="hdrinline.h::headerCopyLoad"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a6">Header</a> headerCopyLoad </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const void *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>uh</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Make a copy and convert header to in-memory representation. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>uh</em>&nbsp;</td><td>
on-disk header blob (i.e. with offsets) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
header </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00187">187</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="header_8h-source.html#l00662">HV_s::hdrcopyload</a>.    </td>
  </tr>
</table>
<a name="a76" doxytag="hdrinline.h::headerCopyTags"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void headerCopyTags </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>headerFrom</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>headerTo</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group__header.html#a5">hTAG_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tagstocopy</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Duplicate tag values from one header into another. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>headerFrom</em>&nbsp;</td><td>
source header </td></tr>
<tr><td valign=top><em>headerTo</em>&nbsp;</td><td>
destination header </td></tr>
<tr><td valign=top><em>tagstocopy</em>&nbsp;</td><td>
array of tags that are copied </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00451">451</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="header_8h-source.html#l00676">HV_s::hdrcopytags</a>, and <a class="el" href="header_8h-source.html#l00114">hTAG_t</a>.    </td>
  </tr>
</table>
<a name="a87" doxytag="header_internal.c::headerDump"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void headerDump </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>FILE *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>f</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>flags</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const struct <a class="el" href="structheaderTagTableEntry__s.html">headerTagTableEntry_s</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tags</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Dump a header in human readable format (for debugging). <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>flags</em>&nbsp;</td><td>
0 or HEADER_DUMP_INLINE </td></tr>
<tr><td valign=top><em>tags</em>&nbsp;</td><td>
array of tag name/value pairs </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="header__internal_8c-source.html#l00030">30</a> of file <a class="el" href="header__internal_8c-source.html">header_internal.c</a>.
<p>
References <a class="el" href="system_8h-source.html#l00370">_</a>, <a class="el" href="header__internal_8h-source.html#l00030">entryInfo::count</a>, <a class="el" href="header__internal_8h-source.html#l00046">indexEntry::data</a>, <a class="el" href="header__internal_8h-source.html#l00178">HEADER_DUMP_INLINE</a>, <a class="el" href="header__internal_8h-source.html#l00057">headerToken::index</a>, <a class="el" href="header__internal_8h-source.html#l00058">headerToken::indexUsed</a>, <a class="el" href="header__internal_8h-source.html#l00045">indexEntry::info</a>, <a class="el" href="header_8h-source.html#l00100">int_16</a>, <a class="el" href="header_8h-source.html#l00099">int_32</a>, <a class="el" href="header_8h-source.html#l00101">int_8</a>, <a class="el" href="header_8h-source.html#l00132">headerTagTableEntry_s::name</a>, <a class="el" href="header__internal_8h-source.html#l00029">entryInfo::offset</a>, <a class="el" href="header_8h.html#a93a72">RPM_BIN_TYPE</a>, <a class="el" href="header_8h.html#a93a67">RPM_CHAR_TYPE</a>, <a class="el" href="header_8h.html#a93a74">RPM_I18NSTRING_TYPE</a>, <a class="el" href="header_8h.html#a93a69">RPM_INT16_TYPE</a>, <a class="el" href="header_8h.html#a93a70">RPM_INT32_TYPE</a>, <a class="el" href="header_8h.html#a93a68">RPM_INT8_TYPE</a>, <a class="el" href="header_8h.html#a93a66">RPM_NULL_TYPE</a>, <a class="el" href="header_8h.html#a93a73">RPM_STRING_ARRAY_TYPE</a>, <a class="el" href="header_8h.html#a93a71">RPM_STRING_TYPE</a>, <a class="el" href="header__internal_8h-source.html#l00027">entryInfo::tag</a>, <a class="el" href="header__internal_8h-source.html#l00028">entryInfo::type</a>, and <a class="el" href="header_8h-source.html#l00133">headerTagTableEntry_s::val</a>.
<p>
Referenced by <a class="el" href="dump_8c-source.html#l00007">main</a>().    </td>
  </tr>
</table>
<a name="a52" doxytag="hdrinline.h::headerFree"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a6">Header</a> headerFree </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>h</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Dereference a header instance. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
NULL always </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00047">47</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), and <a class="el" href="header_8h-source.html#l00653">HV_s::hdrfree</a>.    </td>
  </tr>
</table>
<a name="a83" doxytag="header.h::headerFreeData"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* headerFreeData </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>data</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group__header.html#a13">rpmTagType</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>type</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Free data allocated when retrieved from header. <dl compact><dt><b>Deprecated: </b></dt><dd>
Use <a class="el" href="group__header.html#a66">headerFreeTag</a>() instead. </dl>
<p>
<dl compact><dt><b><a class="el" href="todo.html#_todo000027">Todo: </a></b></dt><dd>
Remove from API.</dl><dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>data</em>&nbsp;</td><td>
address of data (or NULL) </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
type of data (or -1 to force free) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
NULL always </dl>
<p>
Definition at line <a class="el" href="header_8h-source.html#l00698">698</a> of file <a class="el" href="header_8h-source.html">header.h</a>.
<p>
Referenced by <a class="el" href="header_8c-source.html#l02515">formatValue</a>(), <a class="el" href="header_8c-source.html#l03206">headerCopy</a>(), <a class="el" href="header_8c-source.html#l03095">headerCopyTags</a>(), <a class="el" href="files_8c-source.html#l02005">initSourceHeader</a>(), <a class="el" href="psm_8c-source.html#l01345">psmStage</a>(), <a class="el" href="lib_2rpmchecksig_8c-source.html#l00290">rpmCheckSig</a>(), <a class="el" href="rpminstall_8c-source.html#l00204">rpmInstall</a>(), and <a class="el" href="lib_2rpmchecksig_8c-source.html#l00105">rpmReSign</a>().    </td>
  </tr>
</table>
<a name="a77" doxytag="hdrinline.h::headerFreeIterator"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a7">HeaderIterator</a> headerFreeIterator </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a7">HeaderIterator</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>hi</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Destroy header tag iterator. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hi</em>&nbsp;</td><td>
header tag iterator </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
NULL always </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00466">466</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="header_8h-source.html#l00677">HV_s::hdrfreeiter</a>.    </td>
  </tr>
</table>
<a name="a66" doxytag="hdrinline.h::headerFreeTag"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* headerFreeTag </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>data</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group__header.html#a13">rpmTagType</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>type</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Free data allocated when retrieved from header. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>data</em>&nbsp;</td><td>
address of data (or NULL) </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
type of data (or -1 to force free) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
NULL always </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00247">247</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), <a class="el" href="header_8h-source.html#l00666">HV_s::hdrfreetag</a>, and <a class="el" href="header_8h.html#a13">rpmTagType</a>.    </td>
  </tr>
</table>
<a name="a67" doxytag="hdrinline.h::headerGetEntry"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerGetEntry </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a16">hTYP_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>type</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>void **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a18">hCNT_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve tag value. Will never return RPM_I18NSTRING_TYPE! RPM_STRING_TYPE elements with RPM_I18NSTRING_TYPE equivalent entries are translated (if HEADER_I18NTABLE entry is present).<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
</table>
</dl><dl compact><dt><b>Return values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
address of tag value data type (or NULL) </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
address of pointer to tag value(s) (or NULL) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
address of number of values (or NULL) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00268">268</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), <a class="el" href="header_8h-source.html#l00117">hCNT_t</a>, <a class="el" href="header_8h-source.html#l00667">HV_s::hdrget</a>, <a class="el" href="header_8h-source.html#l00115">hTYP_t</a>, and <a class="el" href="header_8h-source.html#l00099">int_32</a>.    </td>
  </tr>
</table>
<a name="a68" doxytag="hdrinline.h::headerGetEntryMinMemory"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerGetEntryMinMemory </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a16">hTYP_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>type</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a17">hPTR_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a18">hCNT_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve tag value using header internal array. Get an entry using as little extra RAM as possible to return the tag value. This is only an issue for RPM_STRING_ARRAY_TYPE.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
</table>
</dl><dl compact><dt><b>Return values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
address of tag value data type (or NULL) </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
address of pointer to tag value(s) (or NULL) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
address of number of values (or NULL) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00290">290</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), <a class="el" href="header_8h-source.html#l00117">hCNT_t</a>, <a class="el" href="header_8h-source.html#l00668">HV_s::hdrgetmin</a>, <a class="el" href="header_8h-source.html#l00116">hPTR_t</a>, <a class="el" href="header_8h-source.html#l00115">hTYP_t</a>, and <a class="el" href="header_8h-source.html#l00099">int_32</a>.    </td>
  </tr>
</table>
<a name="a84" doxytag="header_internal.c::headerGetLangs"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> char** headerGetLangs </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>h</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return array of locales found in header. The array is terminated with a NULL sentinel. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
array of locales (or NULL on error) </dl>
<p>
Definition at line <a class="el" href="header__internal_8c-source.html#l00011">11</a> of file <a class="el" href="header__internal_8c-source.html">header_internal.c</a>.
<p>
References <a class="el" href="header_8h-source.html#l00256">HEADER_I18NTABLE</a>, <a class="el" href="header__internal_8h.html#a85">headerGetRawEntry</a>(), and <a class="el" href="rpmmalloc_8c-source.html#l00034">xcalloc</a>().    </td>
  </tr>
</table>
<a name="a85" doxytag="header_internal.h::headerGetRawEntry"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerGetRawEntry </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a16">hTYP_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>type</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a17">hPTR_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a18">hCNT_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Retrieve tag value with type match. If *type is RPM_NULL_TYPE any type will match, otherwise only *type will match.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
</table>
</dl><dl compact><dt><b>Return values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
address of tag value data type (or NULL) </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
address of pointer to tag value(s) (or NULL) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
address of number of values (or NULL) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Referenced by <a class="el" href="header__internal_8c-source.html#l00011">headerGetLangs</a>().    </td>
  </tr>
</table>
<a name="a78" doxytag="hdrinline.h::headerInitIterator"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a7">HeaderIterator</a> headerInitIterator </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>h</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Create header tag iterator. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
header tag iterator </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00478">478</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="header_8h-source.html#l00678">HV_s::hdrinititer</a>.    </td>
  </tr>
</table>
<a name="a65" doxytag="hdrinline.h::headerIsEntry"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerIsEntry </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tag</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Check if tag is in header. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00230">230</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), <a class="el" href="header_8h-source.html#l00665">HV_s::hdrisentry</a>, and <a class="el" href="header_8h-source.html#l00099">int_32</a>.    </td>
  </tr>
</table>
<a name="a53" doxytag="hdrinline.h::headerLink"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a6">Header</a> headerLink </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>h</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Reference a header instance. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
new header reference </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00062">62</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), and <a class="el" href="header_8h-source.html#l00654">HV_s::hdrlink</a>.    </td>
  </tr>
</table>
<a name="a61" doxytag="hdrinline.h::headerLoad"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a6">Header</a> headerLoad </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void *&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>uh</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert header to in-memory representation. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>uh</em>&nbsp;</td><td>
on-disk header blob (i.e. with offsets) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
header </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00175">175</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="header_8h-source.html#l00661">HV_s::hdrload</a>.    </td>
  </tr>
</table>
<a name="a89" doxytag="package.c::headerMergeLegacySigs"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void headerMergeLegacySigs </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>sig</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Translate and merge legacy signature tags into header. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>sig</em>&nbsp;</td><td>
signature header </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="package_8c-source.html#l00020">20</a> of file <a class="el" href="package_8c-source.html">package.c</a>.
<p>
References <a class="el" href="rpmlib_8h-source.html#l01117">HAE_t</a>, <a class="el" href="header_8h-source.html#l00257">HEADER_SIGBASE</a>, <a class="el" href="header_8h-source.html#l00258">HEADER_TAGBASE</a>, <a class="el" href="header_8c-source.html#l03131">headerFreeIterator</a>(), <a class="el" href="header_8c-source.html#l03145">headerInitIterator</a>(), <a class="el" href="header_8c-source.html#l01231">headerIsEntry</a>(), <a class="el" href="header_8c-source.html#l03167">headerNextIterator</a>(), <a class="el" href="rpmlib_8h-source.html#l01081">HFD_t</a>, <a class="el" href="header_8h-source.html#l00099">int_32</a>, <a class="el" href="rpmlib_8h.html#a11a409">RPMSIGTAG_DSA</a>, <a class="el" href="rpmlib_8h.html#a11a403">RPMSIGTAG_GPG</a>, <a class="el" href="rpmlib_8h.html#a11a399">RPMSIGTAG_LEMD5_1</a>, <a class="el" href="rpmlib_8h.html#a11a401">RPMSIGTAG_LEMD5_2</a>, <a class="el" href="rpmlib_8h.html#a11a402">RPMSIGTAG_MD5</a>, <a class="el" href="rpmlib_8h.html#a11a405">RPMSIGTAG_PAYLOADSIZE</a>, <a class="el" href="rpmlib_8h.html#a11a400">RPMSIGTAG_PGP</a>, <a class="el" href="rpmlib_8h.html#a11a404">RPMSIGTAG_PGP5</a>, <a class="el" href="rpmlib_8h.html#a11a410">RPMSIGTAG_RSA</a>, <a class="el" href="rpmlib_8h.html#a11a408">RPMSIGTAG_SHA1</a>, <a class="el" href="rpmlib_8h.html#a11a398">RPMSIGTAG_SIZE</a>, <a class="el" href="rpmlib_8h.html#a494a159">RPMTAG_ARCHIVESIZE</a>, <a class="el" href="rpmlib_8h.html#a494a105">RPMTAG_SIGGPG</a>, <a class="el" href="rpmlib_8h.html#a494a101">RPMTAG_SIGLEMD5_1</a>, <a class="el" href="rpmlib_8h.html#a494a103">RPMTAG_SIGLEMD5_2</a>, <a class="el" href="rpmlib_8h.html#a494a104">RPMTAG_SIGMD5</a>, <a class="el" href="rpmlib_8h.html#a494a102">RPMTAG_SIGPGP</a>, <a class="el" href="rpmlib_8h.html#a494a106">RPMTAG_SIGPGP5</a>, and <a class="el" href="rpmlib_8h.html#a494a100">RPMTAG_SIGSIZE</a>.
<p>
Referenced by <a class="el" href="package_8c-source.html#l00261">rpmReadPackageHeader</a>(), <a class="el" href="package_8c-source.html#l00249">rpmReadPackageInfo</a>(), and <a class="el" href="pack_8c-source.html#l00385">writeRPM</a>().    </td>
  </tr>
</table>
<a name="a73" doxytag="hdrinline.h::headerModifyEntry"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerModifyEntry </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>type</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const void *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Modify tag in header. If there are multiple entries with this tag, the first one gets replaced. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
tag value data type </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
pointer to tag value(s) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
number of values </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00400">400</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), <a class="el" href="header_8h-source.html#l00673">HV_s::hdrmodify</a>, and <a class="el" href="header_8h-source.html#l00099">int_32</a>.    </td>
  </tr>
</table>
<a name="a51" doxytag="hdrinline.h::headerNew"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a6">Header</a> headerNew </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">void&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Create new (empty) header instance. <dl compact><dt><b>Returns :</b></dt><dd>
header </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00035">35</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="header_8h-source.html#l00652">HV_s::hdrnew</a>.
<p>
Referenced by <a class="el" href="header_8c-source.html#l03206">headerCopy</a>(), <a class="el" href="rpminject_8c-source.html#l00264">headerCopyWithConvert</a>(), <a class="el" href="files_8c-source.html#l02005">initSourceHeader</a>(), <a class="el" href="spec_8c-source.html#l00102">newPackage</a>(), <a class="el" href="psm_8c-source.html#l01345">psmStage</a>(), <a class="el" href="signature_8c-source.html#l00144">rpmReadSignature</a>(), and <a class="el" href="lib_2rpmchecksig_8c-source.html#l00105">rpmReSign</a>().    </td>
  </tr>
</table>
<a name="a79" doxytag="hdrinline.h::headerNextIterator"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerNextIterator </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a7">HeaderIterator</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>hi</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group__header.html#a5">hTAG_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tag</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a16">hTYP_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>type</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a17">hPTR_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>p</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a18">hCNT_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>c</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return next tag from header. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>hi</em>&nbsp;</td><td>
header tag iterator </td></tr>
</table>
</dl><dl compact><dt><b>Return values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
address of tag </td></tr>
<tr><td valign=top><em>type</em>&nbsp;</td><td>
address of tag value data type </td></tr>
<tr><td valign=top><em>p</em>&nbsp;</td><td>
address of pointer to tag value(s) </td></tr>
<tr><td valign=top><em>c</em>&nbsp;</td><td>
address of number of values </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
1 on success, 0 on failure </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00494">494</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="header_8h-source.html#l00117">hCNT_t</a>, <a class="el" href="header_8h-source.html#l00679">HV_s::hdrnextiter</a>, <a class="el" href="header_8h-source.html#l00116">hPTR_t</a>, <a class="el" href="header_8h-source.html#l00114">hTAG_t</a>, and <a class="el" href="header_8h-source.html#l00115">hTYP_t</a>.    </td>
  </tr>
</table>
<a name="a88" doxytag="depends.c::headerNVR"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerNVR </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>np</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>vp</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>rp</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return name, version, release strings from header. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Return values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>np</em>&nbsp;</td><td>
address of name pointer (or NULL) </td></tr>
<tr><td valign=top><em>vp</em>&nbsp;</td><td>
address of version pointer (or NULL) </td></tr>
<tr><td valign=top><em>rp</em>&nbsp;</td><td>
address of release pointer (or NULL) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
0 always </dl>
<p>
Definition at line <a class="el" href="depends_8c-source.html#l00031">31</a> of file <a class="el" href="depends_8c-source.html">depends.c</a>.
<p>
References <a class="el" href="header_8c-source.html#l01575">headerGetEntry</a>(), <a class="el" href="header_8h.html#a93a71">RPM_STRING_TYPE</a>, <a class="el" href="rpmlib_8h.html#a494a113">RPMTAG_NAME</a>, <a class="el" href="rpmlib_8h.html#a494a115">RPMTAG_RELEASE</a>, and <a class="el" href="rpmlib_8h.html#a494a114">RPMTAG_VERSION</a>.
<p>
Referenced by <a class="el" href="depends_8c-source.html#l00241">alAddPackage</a>(), <a class="el" href="depends_8c-source.html#l01371">checkPackageDeps</a>(), <a class="el" href="parsePrep_8c-source.html#l00275">doSetupMacro</a>(), <a class="el" href="pack_8c-source.html#l00029">genSourceRpmName</a>(), <a class="el" href="psm_8c-source.html#l01096">handleOneTrigger</a>(), <a class="el" href="depends_8c-source.html#l00664">headerMatchesDepFlags</a>(), <a class="el" href="formats_8c-source.html#l00588">i18nTag</a>(), <a class="el" href="rpminstall_8c-source.html#l00834">IDTXglob</a>(), <a class="el" href="rpminstall_8c-source.html#l00789">IDTXload</a>(), <a class="el" href="spec_8c-source.html#l00061">lookupPackage</a>(), <a class="el" href="pack_8c-source.html#l00689">packageBinaries</a>(), <a class="el" href="files_8c-source.html#l00885">parseForSimple</a>(), <a class="el" href="parsePreamble_8c-source.html#l00835">parsePreamble</a>(), <a class="el" href="parseSpec_8c-source.html#l00379">parseSpec</a>(), <a class="el" href="query_8c-source.html#l00406">printNewSpecfile</a>(), <a class="el" href="files_8c-source.html#l02645">processBinaryFiles</a>(), <a class="el" href="lib_2misc_8c-source.html#l00712">providePackageNVR</a>(), <a class="el" href="transaction_8c-source.html#l00136">psAppend</a>(), <a class="el" href="rpmdb_8c-source.html#l02691">rpmdbAdd</a>(), <a class="el" href="rpmdb_8c-source.html#l02065">rpmdbNextIterator</a>(), <a class="el" href="rpmdb_8c-source.html#l03369">rpmdbRebuild</a>(), <a class="el" href="rpmdb_8c-source.html#l02423">rpmdbRemove</a>(), <a class="el" href="depends_8c-source.html#l02256">rpmdepCheck</a>(), <a class="el" href="rpminstall_8c-source.html#l00204">rpmInstall</a>(), <a class="el" href="depends_8c-source.html#l00797">rpmtransAddPackage</a>(), <a class="el" href="psm_8c-source.html#l00825">runScript</a>(), <a class="el" href="query_8c-source.html#l00150">showQueryPackage</a>(), <a class="el" href="verify_8c-source.html#l00516">showVerifyPackage</a>(), <a class="el" href="verify_8c-source.html#l00458">verifyDependencies</a>(), and <a class="el" href="pack_8c-source.html#l00385">writeRPM</a>().    </td>
  </tr>
</table>
<a name="a63" doxytag="hdrinline.h::headerRead"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a6">Header</a> headerRead </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__rpmio.html#a1">FD_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>fd</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>enum <a class="el" href="group__header.html#a92">hMagic</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>magicp</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Read (and load) header from file handle. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>fd</em>&nbsp;</td><td>
file handle </td></tr>
<tr><td valign=top><em>magicp</em>&nbsp;</td><td>
read (and verify) 8 bytes of (magic, 0)? </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
header (or NULL on error) </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00200">200</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="header_8h-source.html#l00663">HV_s::hdrread</a>, and <a class="el" href="header_8h-source.html#l00205">hMagic</a>.    </td>
  </tr>
</table>
<a name="a90" doxytag="package.c::headerRegenSigHeader"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a6">Header</a> headerRegenSigHeader </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>h</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Regenerate signature header. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
regenerated signature header </dl>
<p>
Definition at line <a class="el" href="package_8c-source.html#l00075">75</a> of file <a class="el" href="package_8c-source.html">package.c</a>.
<p>
References <a class="el" href="header_8h-source.html#l00257">HEADER_SIGBASE</a>, <a class="el" href="header_8h-source.html#l00258">HEADER_TAGBASE</a>, <a class="el" href="header_8c-source.html#l01700">headerAddEntry</a>(), <a class="el" href="header_8c-source.html#l03131">headerFreeIterator</a>(), <a class="el" href="header_8c-source.html#l03145">headerInitIterator</a>(), <a class="el" href="header_8c-source.html#l01231">headerIsEntry</a>(), <a class="el" href="header_8c-source.html#l03167">headerNextIterator</a>(), <a class="el" href="rpmlib_8h-source.html#l01081">HFD_t</a>, <a class="el" href="header_8h-source.html#l00099">int_32</a>, <a class="el" href="signature_8h.html#a2">rpmNewSignature</a>, <a class="el" href="rpmlib_8h.html#a11a403">RPMSIGTAG_GPG</a>, <a class="el" href="rpmlib_8h.html#a11a399">RPMSIGTAG_LEMD5_1</a>, <a class="el" href="rpmlib_8h.html#a11a401">RPMSIGTAG_LEMD5_2</a>, <a class="el" href="rpmlib_8h.html#a11a402">RPMSIGTAG_MD5</a>, <a class="el" href="rpmlib_8h.html#a11a405">RPMSIGTAG_PAYLOADSIZE</a>, <a class="el" href="rpmlib_8h.html#a11a400">RPMSIGTAG_PGP</a>, <a class="el" href="rpmlib_8h.html#a11a404">RPMSIGTAG_PGP5</a>, <a class="el" href="rpmlib_8h.html#a11a398">RPMSIGTAG_SIZE</a>, <a class="el" href="rpmlib_8h.html#a494a159">RPMTAG_ARCHIVESIZE</a>, <a class="el" href="rpmlib_8h.html#a494a110">RPMTAG_DSAHEADER</a>, <a class="el" href="rpmlib_8h.html#a494a111">RPMTAG_RSAHEADER</a>, <a class="el" href="rpmlib_8h.html#a494a112">RPMTAG_SHA1HEADER</a>, <a class="el" href="rpmlib_8h.html#a494a105">RPMTAG_SIGGPG</a>, <a class="el" href="rpmlib_8h.html#a494a101">RPMTAG_SIGLEMD5_1</a>, <a class="el" href="rpmlib_8h.html#a494a103">RPMTAG_SIGLEMD5_2</a>, <a class="el" href="rpmlib_8h.html#a494a104">RPMTAG_SIGMD5</a>, <a class="el" href="rpmlib_8h.html#a494a102">RPMTAG_SIGPGP</a>, <a class="el" href="rpmlib_8h.html#a494a106">RPMTAG_SIGPGP5</a>, and <a class="el" href="rpmlib_8h.html#a494a100">RPMTAG_SIGSIZE</a>.
<p>
Referenced by <a class="el" href="psm_8c-source.html#l01345">psmStage</a>().    </td>
  </tr>
</table>
<a name="a59" doxytag="hdrinline.h::headerReload"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a6">Header</a> headerReload </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tag</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert header to on-disk representation, and then reload. This is used to insure that all header data is in one chunk. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header (with pointers) </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
region tag </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
on-disk header (with offsets) </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00149">149</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), and <a class="el" href="header_8h-source.html#l00659">HV_s::hdrreload</a>.    </td>
  </tr>
</table>
<a name="a74" doxytag="hdrinline.h::headerRemoveEntry"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerRemoveEntry </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="header_8h.html#a9">int_32</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tag</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Delete tag in header. Removes all entries of type tag from the header, returns 1 if none were found.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>tag</em>&nbsp;</td><td>
tag </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
0 on success, 1 on failure (INCONSISTENT) </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00417">417</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), <a class="el" href="header_8h-source.html#l00674">HV_s::hdrremove</a>, and <a class="el" href="header_8h-source.html#l00099">int_32</a>.    </td>
  </tr>
</table>
<a name="a57" doxytag="hdrinline.h::headerSizeof"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> unsigned int headerSizeof </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>enum <a class="el" href="group__header.html#a92">hMagic</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>magicp</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return size of on-disk header representation in bytes. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>magicp</em>&nbsp;</td><td>
include size of 8 bytes for (magic, 0)? </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
size of on-disk header </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00120">120</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), <a class="el" href="header_8h-source.html#l00657">HV_s::hdrsizeof</a>, and <a class="el" href="header_8h-source.html#l00205">hMagic</a>.    </td>
  </tr>
</table>
<a name="a55" doxytag="hdrinline.h::headerSort"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void headerSort </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>h</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Sort tags in header. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00089">89</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), and <a class="el" href="header_8h-source.html#l00655">HV_s::hdrsort</a>.    </td>
  </tr>
</table>
<a name="a75" doxytag="hdrinline.h::headerSprintf"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> char* headerSprintf </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>fmt</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const struct <a class="el" href="structheaderTagTableEntry__s.html">headerTagTableEntry_s</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>tbltags</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>const struct <a class="el" href="structheaderSprintfExtension__s.html">headerSprintfExtension_s</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>extensions</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group__header.html#a4">errmsg_t</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>errmsg</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return formatted output string from header tags. The returned string must be free()d.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>fmt</em>&nbsp;</td><td>
format to use </td></tr>
<tr><td valign=top><em>tbltags</em>&nbsp;</td><td>
array of tag name/value pairs </td></tr>
<tr><td valign=top><em>extensions</em>&nbsp;</td><td>
chained table of formatting extensions. </td></tr>
</table>
</dl><dl compact><dt><b>Return values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>errmsg</em>&nbsp;</td><td>
error message (if any) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
formatted output string (malloc'ed) </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00435">435</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="header_8h-source.html#l00110">errmsg_t</a>, <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), and <a class="el" href="header_8h-source.html#l00675">HV_s::hdrsprintf</a>.    </td>
  </tr>
</table>
<a name="a54" doxytag="hdrinline.h::headerUnlink"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a6">Header</a> headerUnlink </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>h</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Dereference a header instance. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
new header reference </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00074">74</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), and <a class="el" href="header_8h-source.html#l00680">HV_s::hdrunlink</a>.    </td>
  </tr>
</table>
<a name="a58" doxytag="hdrinline.h::headerUnload"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void* headerUnload </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>h</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert header to on-disk representation. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header (with pointers) </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
on-disk header blob (i.e. with offsets) </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00135">135</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), and <a class="el" href="header_8h-source.html#l00658">HV_s::hdrunload</a>.    </td>
  </tr>
</table>
<a name="a56" doxytag="hdrinline.h::headerUnsort"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void headerUnsort </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>h</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Restore tags in header to original ordering. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00103">103</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), and <a class="el" href="header_8h-source.html#l00656">HV_s::hdrunsort</a>.    </td>
  </tr>
</table>
<a name="a86" doxytag="header_internal.h::headerUsageCount"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerUsageCount </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>h</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Return header reference count. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
no. of references </dl>
<p>
Definition at line <a class="el" href="header__internal_8h-source.html#l00164">164</a> of file <a class="el" href="header__internal_8h-source.html">header_internal.h</a>.
<p>
References <a class="el" href="header__internal_8h-source.html#l00064">headerToken::nrefs</a>.    </td>
  </tr>
</table>
<a name="a64" doxytag="hdrinline.h::headerWrite"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int headerWrite </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="group__rpmio.html#a1">FD_t</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>fd</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="group__header.html#a6">Header</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>h</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>enum <a class="el" href="group__header.html#a92">hMagic</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>magicp</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline, static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Write (with unload) header to file handle. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>fd</em>&nbsp;</td><td>
file handle </td></tr>
<tr><td valign=top><em>h</em>&nbsp;</td><td>
header </td></tr>
<tr><td valign=top><em>magicp</em>&nbsp;</td><td>
prefix write with 8 bytes of (magic, 0)? </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
0 on success, 1 on error </dl>
<p>
Definition at line <a class="el" href="hdrinline_8h-source.html#l00214">214</a> of file <a class="el" href="hdrinline_8h-source.html">hdrinline.h</a>.
<p>
References <a class="el" href="hdrinline_8h-source.html#l00022">h2hv</a>(), <a class="el" href="header_8h-source.html#l00664">HV_s::hdrwrite</a>, and <a class="el" href="header_8h-source.html#l00205">hMagic</a>.    </td>
  </tr>
</table>
<a name="a80" doxytag="header.c::regionSwab"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int regionSwab </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structindexEntry.html">indexEntry</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>entry</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>il</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>dl</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="structentryInfo.html">entryInfo</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>pe</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>dataStart</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>regionid</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [static]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Swap int_32 and int_16 arrays within header region.
<p>
This code is way more twisty than I would like.
<p>
A bug with RPM_I18NSTRING_TYPE in rpm-2.5.x (fixed in August 1998) causes the offset and length of elements in a header region to disagree regarding the total length of the region data.
<p>
The "fix" is to compute the size using both offset and length and return the larger of the two numbers as the size of the region. Kinda like computing left and right Riemann sums of the data elements to determine the size of a data structure, go figger :-).
<p>
There's one other twist if a header region tag is in the set to be swabbed, as the data for a header region is located after all other tag data.<dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>entry</em>&nbsp;</td><td>
header entry </td></tr>
<tr><td valign=top><em>il</em>&nbsp;</td><td>
no. of entries </td></tr>
<tr><td valign=top><em>dl</em>&nbsp;</td><td>
start no. bytes of data </td></tr>
<tr><td valign=top><em>pe</em>&nbsp;</td><td>
header physical entry pointer (swapped) </td></tr>
<tr><td valign=top><em>dataStart</em>&nbsp;</td><td>
header data </td></tr>
<tr><td valign=top><em>regionid</em>&nbsp;</td><td>
region offset </td></tr>
</table>
</dl><dl compact><dt><b>Returns :</b></dt><dd>
no. bytes of data in region, -1 on error </dl>
<p>
Definition at line <a class="el" href="header_8c-source.html#l00403">403</a> of file <a class="el" href="header_8c-source.html">header.c</a>.
<p>
References <a class="el" href="header__internal_8h-source.html#l00030">entryInfo::count</a>, <a class="el" href="header__internal_8h-source.html#l00046">indexEntry::data</a>, <a class="el" href="header_8c-source.html#l00319">dataLength</a>(), <a class="el" href="header_8h-source.html#l00256">HEADER_I18NTABLE</a>, <a class="el" href="header_8h-source.html#l00252">HEADER_IMAGE</a>, <a class="el" href="header__internal_8h-source.html#l00045">indexEntry::info</a>, <a class="el" href="header_8h-source.html#l00100">int_16</a>, <a class="el" href="header_8h-source.html#l00099">int_32</a>, <a class="el" href="header__internal_8h-source.html#l00047">indexEntry::length</a>, <a class="el" href="header__internal_8h-source.html#l00029">entryInfo::offset</a>, <a class="el" href="header__internal_8h-source.html#l00048">indexEntry::rdlen</a>, <a class="el" href="header__internal_8h-source.html#l00034">REGION_TAG_COUNT</a>, <a class="el" href="header_8h.html#a93a74">RPM_I18NSTRING_TYPE</a>, <a class="el" href="header_8h.html#a93a69">RPM_INT16_TYPE</a>, <a class="el" href="header_8h.html#a93a70">RPM_INT32_TYPE</a>, <a class="el" href="header__internal_8h-source.html#l00027">entryInfo::tag</a>, <a class="el" href="header__internal_8h-source.html#l00028">entryInfo::type</a>, and <a class="el" href="header_8c-source.html#l00064">typeSizes</a>.
<p>
Referenced by <a class="el" href="header_8c-source.html#l01249">copyEntry</a>(), <a class="el" href="header_8c-source.html#l00501">doHeaderUnload</a>(), and <a class="el" href="header_8c-source.html#l00863">headerLoad</a>().    </td>
  </tr>
</table>
<hr><h2>Variable Documentation</h2>
<a name="a0" doxytag="hdrinline.h::hdrVec"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> <a class="el" href="group__header.html#a44">HV_t</a> hdrVec = &amp;<a class="el" href="header_8c.html#a11">hdrVec1</a>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Header methods for rpm headers. 
<p>
Definition at line <a class="el" href="header_8c-source.html#l03264">3264</a> of file <a class="el" href="header_8c-source.html">header.c</a>.    </td>
  </tr>
</table>
<a name="a1" doxytag="header.c::header_magic"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> unsigned char header_magic[8]<code> [static]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<b>Initial value:</b><div class="fragment"><pre> {
        0x8e, 0xad, 0xe8, 0x01, 0x00, 0x00, 0x00, 0x00
}</pre></div>
<p>
Definition at line <a class="el" href="header_8c-source.html#l00038">38</a> of file <a class="el" href="header_8c-source.html">header.c</a>.
<p>
Referenced by <a class="el" href="header_8c-source.html#l01115">headerRead</a>(), and <a class="el" href="header_8c-source.html#l01190">headerWrite</a>().    </td>
  </tr>
</table>
<a name="a12" doxytag="header.h::headerDefaultFormats"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> const struct <a class="el" href="structheaderSprintfExtension__s.html">headerSprintfExtension_s</a> headerDefaultFormats[]
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Supported default header tag output formats. 
<p>
Definition at line <a class="el" href="header_8h-source.html#l00199">199</a> of file <a class="el" href="header_8h-source.html">header.h</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="header.c::headerMaxbytes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> size_t headerMaxbytes = (32*1024*1024)<code> [static]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Maximum no. of bytes permitted in a header. 
<p>
Definition at line <a class="el" href="header_8c-source.html#l00046">46</a> of file <a class="el" href="header_8c-source.html">header.c</a>.
<p>
Referenced by <a class="el" href="header_8c-source.html#l01080">headerCopyLoad</a>(), and <a class="el" href="header_8c-source.html#l01115">headerRead</a>().    </td>
  </tr>
</table>
<a name="a3" doxytag="header.c::typeSizes"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int typeSizes[]<code> [static]</code>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<b>Initial value:</b><div class="fragment"><pre>  { 
        0,      
        1,      
        1,      
        2,      
        4,      
        -1,     
        -1,     
        1,      
        -1,     
        -1      
}</pre></div>Alignment needs (and sizeof scalars types) for internal rpm data types. 
<p>
Definition at line <a class="el" href="header_8c-source.html#l00064">64</a> of file <a class="el" href="header_8c-source.html">header.c</a>.
<p>
Referenced by <a class="el" href="header_8c-source.html#l00319">dataLength</a>(), <a class="el" href="header_8c-source.html#l00501">doHeaderUnload</a>(), <a class="el" href="header_8c-source.html#l00247">headerSizeof</a>(), and <a class="el" href="header_8c-source.html#l00403">regionSwab</a>().    </td>
  </tr>
</table>
<hr><address style="align: right;"><small>Generated on Thu Sep 12 22:15:13 2002 for rpm by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 
width=110 height=53></a>1.2.17 </small></address>
</body>
</html>