summaryrefslogtreecommitdiff
path: root/doc/librpm/html/group__header.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/librpm/html/group__header.html')
-rw-r--r--doc/librpm/html/group__header.html2325
1 files changed, 2325 insertions, 0 deletions
diff --git a/doc/librpm/html/group__header.html b/doc/librpm/html/group__header.html
new file mode 100644
index 0000000..f82f243
--- /dev/null
+++ b/doc/librpm/html/group__header.html
@@ -0,0 +1,2325 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>rpm: Header API.</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<!-- Generated by Doxygen 1.7.4 -->
+<div id="top">
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">rpm&#160;<span id="projectnumber">4.9.1</span></div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="modules.html"><span>Modules</span></a></li>
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#files">Files</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">Header API.</div> </div>
+</div>
+<div class="contents">
+<div class="dynheader">
+Collaboration diagram for Header API.:</div>
+<div class="dyncontent">
+<center><table><tr><td><img src="group__header.png" border="0" alt="" usemap="#group____header"/>
+<map name="group____header" id="group____header">
+<area shape="rect" id="node2" href="group__rpmcli.html" title="Command Line API." alt="" coords="199,5,337,35"/><area shape="rect" id="node3" href="group__rpmdb.html" title="Database API." alt="" coords="215,59,321,88"/><area shape="rect" id="node4" href="group__signature.html" title="Signature API." alt="" coords="215,112,321,141"/><area shape="rect" id="node5" href="group__rpmrc.html" title="RPMRC." alt="" coords="231,165,305,195"/></map>
+</td></tr></table></center>
+</div>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="files"></a>
+Files</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="header_8h.html">header.h</a></td></tr>
+
+<p><tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>An rpm header carries all information about a package. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rpmlib_8h.html">rpmlib.h</a></td></tr>
+
+<p><tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>In Memoriam: Steve Taylor &lt;<a href="mailto:staylor@redhat.com">staylor@redhat.com</a>&gt; was here, now he's not. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__header.html#ga24690e18a34d56e178edf27b5cc97fed">rpmTagType_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gae3bf8d35e51bc1fbaa1a2a5acdceb79e">rpmTagType</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The basic types of data in tags from headers. <a href="#gae3bf8d35e51bc1fbaa1a2a5acdceb79e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__header.html#ga8252a017b6a137ec3e54d0c2ad8f332f">rpmSubTagType_e</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga8476a91f8c0ba36b3255ff0b63768d8b">rpmSubTagType</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">New rpm data types under consideration/development. <a href="#ga8476a91f8c0ba36b3255ff0b63768d8b"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga2572591faf5430cdf28aaf9f70d74fa4">hMagic</a> { <a class="el" href="group__header.html#gga2572591faf5430cdf28aaf9f70d74fa4a4df0aa5955f506525b5a5537605e3092">HEADER_MAGIC_NO</a> = 0,
+<a class="el" href="group__header.html#gga2572591faf5430cdf28aaf9f70d74fa4aebb6d0af72ae9d4c607e81796dafa472">HEADER_MAGIC_YES</a> = 1
+ }</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Include calculation for 8 bytes of (magic, 0)? <a href="group__header.html#ga2572591faf5430cdf28aaf9f70d74fa4">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gae10b109d8e56faba07f4743b797b893a">headerGetFlags_e</a> { <br/>
+&#160;&#160;<a class="el" href="group__header.html#ggae10b109d8e56faba07f4743b797b893aa10a9f914f9b8f462ad846dc27cab28c6">HEADERGET_DEFAULT</a> = 0,
+<a class="el" href="group__header.html#ggae10b109d8e56faba07f4743b797b893aa9ff0aaa4dbaf60dc852c5af8ca6487f2">HEADERGET_MINMEM</a> = (1 &lt;&lt; 0),
+<a class="el" href="group__header.html#ggae10b109d8e56faba07f4743b797b893aa38f8e76cedf30634d4d7621be70c5847">HEADERGET_EXT</a> = (1 &lt;&lt; 1),
+<a class="el" href="group__header.html#ggae10b109d8e56faba07f4743b797b893aa9323938f8824a1257d24adec115996a4">HEADERGET_RAW</a> = (1 &lt;&lt; 2),
+<br/>
+&#160;&#160;<a class="el" href="group__header.html#ggae10b109d8e56faba07f4743b797b893aa8fb050c50c60c1b2a931a56e0beb2b8a">HEADERGET_ALLOC</a> = (1 &lt;&lt; 3),
+<a class="el" href="group__header.html#ggae10b109d8e56faba07f4743b797b893aa3dc9e71e8a1777e9a68adde6569aef96">HEADERGET_ARGV</a> = (1 &lt;&lt; 4)
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Modifier flags for <a class="el" href="group__header.html#ga7a2b47707f49dd90c7f3e7799e4a01b3" title="Retrieve tag value.">headerGet()</a> operation. <a href="group__header.html#gae10b109d8e56faba07f4743b797b893a">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga24690e18a34d56e178edf27b5cc97fed">rpmTagType_e</a> </td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The basic types of data in tags from headers. <a href="group__header.html#ga24690e18a34d56e178edf27b5cc97fed">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga8252a017b6a137ec3e54d0c2ad8f332f">rpmSubTagType_e</a> { <a class="el" href="group__header.html#gga8252a017b6a137ec3e54d0c2ad8f332faf66af42afcdb5ed4a78d3771e01ad84d">RPM_REGION_TYPE</a> = -10,
+<a class="el" href="group__header.html#gga8252a017b6a137ec3e54d0c2ad8f332fadef6f13d3e7cfb28d2835380fe54e625">RPM_BIN_ARRAY_TYPE</a> = -11,
+<a class="el" href="group__header.html#gga8252a017b6a137ec3e54d0c2ad8f332fadc7dd89d43dc44dbd438c5a2cafbe476">RPM_XREF_TYPE</a> = -12
+ }</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">New rpm data types under consideration/development. <a href="group__header.html#ga8252a017b6a137ec3e54d0c2ad8f332f">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga06b1ee1d4b501cad4d8aebe07cfc8eb3">rpmTagReturnType_e</a> { <br/>
+&#160;&#160;<a class="el" href="group__header.html#gga06b1ee1d4b501cad4d8aebe07cfc8eb3a85833a03c9ca291cb4079436f1d0e691">RPM_ANY_RETURN_TYPE</a> = 0,
+<a class="el" href="group__header.html#gga06b1ee1d4b501cad4d8aebe07cfc8eb3ab4a1533449cae4783b75dc4f63fea4c3">RPM_SCALAR_RETURN_TYPE</a> = 0x00010000,
+<a class="el" href="group__header.html#gga06b1ee1d4b501cad4d8aebe07cfc8eb3a52b4a26c0e82c4c1481fdc66c1bb3dce">RPM_ARRAY_RETURN_TYPE</a> = 0x00020000,
+<a class="el" href="group__header.html#gga06b1ee1d4b501cad4d8aebe07cfc8eb3a8aad2b81c577a54f0451fe6562d4107c">RPM_MAPPING_RETURN_TYPE</a> = 0x00040000,
+<br/>
+&#160;&#160;<a class="el" href="group__header.html#gga06b1ee1d4b501cad4d8aebe07cfc8eb3a1acf76a1e638f855f013084e294af9be">RPM_MASK_RETURN_TYPE</a> = 0xffff0000
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">* Identify how to return the header data type. <a href="group__header.html#ga06b1ee1d4b501cad4d8aebe07cfc8eb3">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gaba1932e7962b6c650006c3083530b042">headerNew</a> (void)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create new (empty) header instance. <a href="#gaba1932e7962b6c650006c3083530b042"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga15e58ea36a4ad540759989db341797ce">headerFree</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Dereference a header instance. <a href="#ga15e58ea36a4ad540759989db341797ce"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gab8e8158584de00bad7bbf91cd7b43e72">headerLink</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference a header instance. <a href="#gab8e8158584de00bad7bbf91cd7b43e72"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gab68de4a4d57795669a97ba8a101f3e51">headerSort</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sort tags in header. <a href="#gab68de4a4d57795669a97ba8a101f3e51"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga9b3c8381f8d7e1f0818c40fc32287f02">headerUnsort</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore tags in header to original ordering. <a href="#ga9b3c8381f8d7e1f0818c40fc32287f02"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gabe6057e3d70882f1d756ab87c555baf6">headerSizeof</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, int magicp)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return size of on-disk header representation in bytes. <a href="#gabe6057e3d70882f1d756ab87c555baf6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gaf77927dd7aafa1bb3d1d878890387f0f">headerVerifyInfo</a> (int il, int dl, const void *pev, void *iv, int negate)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform simple sanity and range checks on header tag(s). <a href="#gaf77927dd7aafa1bb3d1d878890387f0f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga33ea43d033ea680a8c5357ed9cec7283">headerUnload</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert header to on-disk representation. <a href="#ga33ea43d033ea680a8c5357ed9cec7283"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gaf20c66a7e5a96a7bcdf186ff517bd6ff">headerReload</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert header to on-disk representation, and then reload. <a href="#gaf20c66a7e5a96a7bcdf186ff517bd6ff"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gac6ec9b02a38e9ad6bc9bd10c73eb2960">headerCopy</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate a header. <a href="#gac6ec9b02a38e9ad6bc9bd10c73eb2960"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gaa44e906299e81eda325dbef9fd991c9c">headerLoad</a> (void *uh)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert header to in-memory representation. <a href="#gaa44e906299e81eda325dbef9fd991c9c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gaa4af55b82df3f36dd7257cd3a1b2b7d9">headerCopyLoad</a> (const void *uh)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Make a copy and convert header to in-memory representation. <a href="#gaa4af55b82df3f36dd7257cd3a1b2b7d9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga29a7512cc49adc47238baf0acd3f67e5">headerRead</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd, int magicp)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read (and load) header from file handle. <a href="#ga29a7512cc49adc47238baf0acd3f67e5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gabe3afb87a33318ab9cef8039d9a12698">headerWrite</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd, <a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, int magicp)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write (with unload) header to file handle. <a href="#gabe3afb87a33318ab9cef8039d9a12698"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gafb403521514c8e7ebaec2cd568c128de">headerIsEntry</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if tag is in header. <a href="#gafb403521514c8e7ebaec2cd568c128de"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga7a2b47707f49dd90c7f3e7799e4a01b3">headerGet</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag, <a class="el" href="structrpmtd__s.html">rpmtd</a> td, <a class="el" href="header_8h.html#a90e3a0c184de0dcd9a74e875e3a438c0">headerGetFlags</a> flags)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve tag value. <a href="#ga7a2b47707f49dd90c7f3e7799e4a01b3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga2275b05ca8482917028356781f9a125d">headerPut</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="structrpmtd__s.html">rpmtd</a> td, <a class="el" href="header_8h.html#a0c621fdfe7dd922f5772fa1019af4cb9">headerPutFlags</a> flags)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add or append tag to header. <a href="#ga2275b05ca8482917028356781f9a125d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga16c4db38571cb061497692d4703f69bd">headerAddI18NString</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag, const char *string, const char *lang)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add locale specific tag to header. <a href="#ga16c4db38571cb061497692d4703f69bd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga1da44d2ff4356452098ecab7214ec66d">headerMod</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="structrpmtd__s.html">rpmtd</a> td)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify tag in header. <a href="#ga1da44d2ff4356452098ecab7214ec66d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga51d00fb009078a0a884a38844aa87289">headerDel</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete tag in header. <a href="#ga51d00fb009078a0a884a38844aa87289"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gaca1e14f3cde6bfbc931582dfb52f5307">headerFormat</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, const char *fmt, <a class="el" href="rpmtypes_8h.html#ab20ae37fc60551c3abf7f9b25fcd3bc2">errmsg_t</a> *errmsg)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return formatted output string from header tags. <a href="#gaca1e14f3cde6bfbc931582dfb52f5307"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga3e30db21bf5804f5f5555320310dac69">headerCopyTags</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> headerFrom, <a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> headerTo, const <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> *tagstocopy)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate tag values from one header into another. <a href="#ga3e30db21bf5804f5f5555320310dac69"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga04fc66186d2c57c59085895c232091ab">HeaderIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga98877806b624ced2fac5cd0bb50239a4">headerFreeIterator</a> (<a class="el" href="group__rpmtypes.html#ga04fc66186d2c57c59085895c232091ab">HeaderIterator</a> hi)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy header tag iterator. <a href="#ga98877806b624ced2fac5cd0bb50239a4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga04fc66186d2c57c59085895c232091ab">HeaderIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gae549f696a160547449c7fbd3606026b3">headerInitIterator</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create header tag iterator. <a href="#gae549f696a160547449c7fbd3606026b3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga9c4cc53c5f7e88665752bbceee2e5756">headerNext</a> (<a class="el" href="group__rpmtypes.html#ga04fc66186d2c57c59085895c232091ab">HeaderIterator</a> hi, <a class="el" href="structrpmtd__s.html">rpmtd</a> td)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return next tag contents from header. <a href="#ga9c4cc53c5f7e88665752bbceee2e5756"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gafa3424ff811c33c12b8297ac5e44a5c2">headerNextTag</a> (<a class="el" href="group__rpmtypes.html#ga04fc66186d2c57c59085895c232091ab">HeaderIterator</a> hi)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return next tag number from header. <a href="#gafa3424ff811c33c12b8297ac5e44a5c2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">RPM_GNUC_DEPRECATED int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gaf464f34a68f0dd28ee1b21c542f20103">headerNVR</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, const char **np, const char **vp, const char **rp)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name, version, release strings from header. <a href="#gaf464f34a68f0dd28ee1b21c542f20103"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">RPM_GNUC_DEPRECATED int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga8c1d0358eb869c59f4ee0ac08cc7b6f7">headerNEVRA</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, const char **np, uint32_t **ep, const char **vp, const char **rp, const char **ap)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return name, epoch, version, release, arch strings from header. <a href="#ga8c1d0358eb869c59f4ee0ac08cc7b6f7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">RPM_GNUC_DEPRECATED char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga2b345b12d18067ea122b04ef116871ea">headerGetNEVR</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, const char **np)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return (malloc'd) header name-version-release string. <a href="#ga2b345b12d18067ea122b04ef116871ea"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">RPM_GNUC_DEPRECATED char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gaf14a79191e915a24f56590ee7274792b">headerGetNEVRA</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, const char **np)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return (malloc'd) header name-version-release.arch string. <a href="#gaf14a79191e915a24f56590ee7274792b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga8e4563d798b9d1e6dae92f31f7f05de3">headerGetAsString</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return any non-array tag from header, converted to string. <a href="#ga8e4563d798b9d1e6dae92f31f7f05de3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga33376e8850c275b72059fe723a0d3066">headerGetString</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a simple string tag from header. <a href="#ga33376e8850c275b72059fe723a0d3066"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">RPM_GNUC_DEPRECATED <a class="el" href="group__rpmtypes.html#ga5320e2d8dbd395706d114a4d8fc93505">rpm_color_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gaf8f218d9d2c27f435c3a11a286adb01f">headerGetColor</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return header color. <a href="#gaf8f218d9d2c27f435c3a11a286adb01f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga3e665b416a45423189eefd54d32e8826">headerIsSource</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if header is a source or binary package header. <a href="#ga3e665b416a45423189eefd54d32e8826"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gab2ead5204f382040cd30cd4be1688990">headerGetInstance</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return header instance, ie is the header from rpmdb. <a href="#gab2ead5204f382040cd30cd4be1688990"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gab88b5e1beaad76593a9488f4d6690c9c">headerConvert</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, int op)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert header to/from (legacy) data presentation. <a href="#gab88b5e1beaad76593a9488f4d6690c9c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga95e02e0e6be7de34f141fe8e82515ae8">headerMergeLegacySigs</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, const <a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> sigh)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Translate and merge legacy signature tags into header. <a href="#ga95e02e0e6be7de34f141fe8e82515ae8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga0240750b808fc759dee76f3440194570">headerRegenSigHeader</a> (const <a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, int noArchiveSize)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Regenerate signature header. <a href="#ga0240750b808fc759dee76f3440194570"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const unsigned char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga6483a32ca9785bcef5fba196608ac0fb">rpm_header_magic</a> [8]</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Header magic value. <a href="#ga6483a32ca9785bcef5fba196608ac0fb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga9a7cc53243734db48200933aecaea57c">headerPutString</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag, const char *val)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Type-safe methods for inserting tag data to header. <a href="#ga9a7cc53243734db48200933aecaea57c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga49fc2962d2ca89a6b5d0037f179bec3b">headerPutStringArray</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag, const char **val, <a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a> size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga9e199fc71b38054854cbce80688d3f34">headerPutBin</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag, const uint8_t *val, <a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a> size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gaa4d045e93d8dd80ae5926adc497c89fe">headerPutChar</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag, const char *val, <a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a> size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga76de0144adee11ce027a6df0df6a9211">headerPutUint8</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag, const uint8_t *val, <a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a> size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gaad9057a802f0b75770306b0bb8278cab">headerPutUint16</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag, const uint16_t *val, <a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a> size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gaac1ccf3d2c03fea718715fecb18e83c8">headerPutUint32</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag, const uint32_t *val, <a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a> size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga16cbe23295f03e636efdbb7c82c3b2b6">headerPutUint64</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h, <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> tag, const uint64_t *val, <a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a> size)</td></tr>
+<tr><td colspan="2"><h2><a name="member-group"></a>
+RPMRC</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga06da857c39457bfb6ea9049643fdb706">rpmRC</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gab1eb7d04798d892e03ec01a8e281ba79">headerCheckPayloadFormat</a> (<a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> h)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for supported payload format in header. <a href="#gab1eb7d04798d892e03ec01a8e281ba79"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga06da857c39457bfb6ea9049643fdb706">rpmRC</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#ga3e07756b155618410a1c3f8ee10d2b14">headerCheck</a> (<a class="el" href="group__rpmtypes.html#ga1a512138316a227059ca128597dbd464">rpmts</a> ts, const void *uh, size_t uc, char **msg)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check header consistency, performing headerGetEntry() the hard way. <a href="#ga3e07756b155618410a1c3f8ee10d2b14"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga06da857c39457bfb6ea9049643fdb706">rpmRC</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gae40693275adebc7fe9bbd78f81bfa90b">rpmReadHeader</a> (<a class="el" href="group__rpmtypes.html#ga1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd, <a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> *hdrp, char **msg)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return checked and loaded header. <a href="#gae40693275adebc7fe9bbd78f81bfa90b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga06da857c39457bfb6ea9049643fdb706">rpmRC</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__header.html#gae10b6de3f6b14ba9bf473e782c6ed65c">rpmReadPackageFile</a> (<a class="el" href="group__rpmtypes.html#ga1a512138316a227059ca128597dbd464">rpmts</a> ts, <a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd, const char *fn, <a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> *hdrp)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return package header from file handle, verifying digests/signatures. <a href="#gae10b6de3f6b14ba9bf473e782c6ed65c"></a><br/></td></tr>
+</table>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="ga8476a91f8c0ba36b3255ff0b63768d8b"></a><!-- doxytag: member="rpmtag.h::rpmSubTagType" ref="ga8476a91f8c0ba36b3255ff0b63768d8b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef enum <a class="el" href="group__header.html#ga8252a017b6a137ec3e54d0c2ad8f332f">rpmSubTagType_e</a> <a class="el" href="group__header.html#ga8476a91f8c0ba36b3255ff0b63768d8b">rpmSubTagType</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>New rpm data types under consideration/development. </p>
+<p>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. </p>
+
+</div>
+</div>
+<a class="anchor" id="gae3bf8d35e51bc1fbaa1a2a5acdceb79e"></a><!-- doxytag: member="rpmtag.h::rpmTagType" ref="gae3bf8d35e51bc1fbaa1a2a5acdceb79e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">typedef enum <a class="el" href="group__header.html#ga24690e18a34d56e178edf27b5cc97fed">rpmTagType_e</a> <a class="el" href="group__header.html#gae3bf8d35e51bc1fbaa1a2a5acdceb79e">rpmTagType</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The basic types of data in tags from headers. </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="gae10b109d8e56faba07f4743b797b893a"></a><!-- doxytag: member="header.h::headerGetFlags_e" ref="gae10b109d8e56faba07f4743b797b893a" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="group__header.html#gae10b109d8e56faba07f4743b797b893a">headerGetFlags_e</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Modifier flags for <a class="el" href="group__header.html#ga7a2b47707f49dd90c7f3e7799e4a01b3" title="Retrieve tag value.">headerGet()</a> operation. </p>
+<p>For consistent behavior you'll probably want to use ALLOC to ensure the caller owns the data, but MINMEM is useful for avoiding extra copy of data when you are sure the header wont go away. Most of the time you'll probably want EXT too, but note that extensions tags don't generally honor the other flags, MINMEM, RAW, ALLOC and ARGV are only relevant for non-extension data. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ggae10b109d8e56faba07f4743b797b893aa10a9f914f9b8f462ad846dc27cab28c6"></a><!-- doxytag: member="HEADERGET_DEFAULT" ref="ggae10b109d8e56faba07f4743b797b893aa10a9f914f9b8f462ad846dc27cab28c6" args="" -->HEADERGET_DEFAULT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggae10b109d8e56faba07f4743b797b893aa9ff0aaa4dbaf60dc852c5af8ca6487f2"></a><!-- doxytag: member="HEADERGET_MINMEM" ref="ggae10b109d8e56faba07f4743b797b893aa9ff0aaa4dbaf60dc852c5af8ca6487f2" args="" -->HEADERGET_MINMEM</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggae10b109d8e56faba07f4743b797b893aa38f8e76cedf30634d4d7621be70c5847"></a><!-- doxytag: member="HEADERGET_EXT" ref="ggae10b109d8e56faba07f4743b797b893aa38f8e76cedf30634d4d7621be70c5847" args="" -->HEADERGET_EXT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggae10b109d8e56faba07f4743b797b893aa9323938f8824a1257d24adec115996a4"></a><!-- doxytag: member="HEADERGET_RAW" ref="ggae10b109d8e56faba07f4743b797b893aa9323938f8824a1257d24adec115996a4" args="" -->HEADERGET_RAW</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggae10b109d8e56faba07f4743b797b893aa8fb050c50c60c1b2a931a56e0beb2b8a"></a><!-- doxytag: member="HEADERGET_ALLOC" ref="ggae10b109d8e56faba07f4743b797b893aa8fb050c50c60c1b2a931a56e0beb2b8a" args="" -->HEADERGET_ALLOC</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ggae10b109d8e56faba07f4743b797b893aa3dc9e71e8a1777e9a68adde6569aef96"></a><!-- doxytag: member="HEADERGET_ARGV" ref="ggae10b109d8e56faba07f4743b797b893aa3dc9e71e8a1777e9a68adde6569aef96" args="" -->HEADERGET_ARGV</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+<p>Definition at line <a class="el" href="header_8h_source.html#l00159">159</a> of file <a class="el" href="header_8h_source.html">header.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2572591faf5430cdf28aaf9f70d74fa4"></a><!-- doxytag: member="header.h::hMagic" ref="ga2572591faf5430cdf28aaf9f70d74fa4" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="group__header.html#ga2572591faf5430cdf28aaf9f70d74fa4">hMagic</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Include calculation for 8 bytes of (magic, 0)? </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga2572591faf5430cdf28aaf9f70d74fa4a4df0aa5955f506525b5a5537605e3092"></a><!-- doxytag: member="HEADER_MAGIC_NO" ref="gga2572591faf5430cdf28aaf9f70d74fa4a4df0aa5955f506525b5a5537605e3092" args="" -->HEADER_MAGIC_NO</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga2572591faf5430cdf28aaf9f70d74fa4aebb6d0af72ae9d4c607e81796dafa472"></a><!-- doxytag: member="HEADER_MAGIC_YES" ref="gga2572591faf5430cdf28aaf9f70d74fa4aebb6d0af72ae9d4c607e81796dafa472" args="" -->HEADER_MAGIC_YES</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+<p>Definition at line <a class="el" href="header_8h_source.html#l00032">32</a> of file <a class="el" href="header_8h_source.html">header.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8252a017b6a137ec3e54d0c2ad8f332f"></a><!-- doxytag: member="rpmtag.h::rpmSubTagType_e" ref="ga8252a017b6a137ec3e54d0c2ad8f332f" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="group__header.html#ga8252a017b6a137ec3e54d0c2ad8f332f">rpmSubTagType_e</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>New rpm data types under consideration/development. </p>
+<p>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. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga8252a017b6a137ec3e54d0c2ad8f332faf66af42afcdb5ed4a78d3771e01ad84d"></a><!-- doxytag: member="RPM_REGION_TYPE" ref="gga8252a017b6a137ec3e54d0c2ad8f332faf66af42afcdb5ed4a78d3771e01ad84d" args="" -->RPM_REGION_TYPE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8252a017b6a137ec3e54d0c2ad8f332fadef6f13d3e7cfb28d2835380fe54e625"></a><!-- doxytag: member="RPM_BIN_ARRAY_TYPE" ref="gga8252a017b6a137ec3e54d0c2ad8f332fadef6f13d3e7cfb28d2835380fe54e625" args="" -->RPM_BIN_ARRAY_TYPE</em>&nbsp;</td><td>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000027">Todo:</a></b></dt><dd>Implement, kinda like RPM_STRING_ARRAY_TYPE for known (but variable) length binary data. </dd></dl>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga8252a017b6a137ec3e54d0c2ad8f332fadc7dd89d43dc44dbd438c5a2cafbe476"></a><!-- doxytag: member="RPM_XREF_TYPE" ref="gga8252a017b6a137ec3e54d0c2ad8f332fadc7dd89d43dc44dbd438c5a2cafbe476" args="" -->RPM_XREF_TYPE</em>&nbsp;</td><td>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000028">Todo:</a></b></dt><dd>Implement, intent is to to carry a (???,tagNum,valNum) cross reference to retrieve data from other tags. </dd></dl>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+<p>Definition at line <a class="el" href="rpmtag_8h_source.html#l00388">388</a> of file <a class="el" href="rpmtag_8h_source.html">rpmtag.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga06b1ee1d4b501cad4d8aebe07cfc8eb3"></a><!-- doxytag: member="rpmtag.h::rpmTagReturnType_e" ref="ga06b1ee1d4b501cad4d8aebe07cfc8eb3" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="group__header.html#ga06b1ee1d4b501cad4d8aebe07cfc8eb3">rpmTagReturnType_e</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>* Identify how to return the header data type. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga06b1ee1d4b501cad4d8aebe07cfc8eb3a85833a03c9ca291cb4079436f1d0e691"></a><!-- doxytag: member="RPM_ANY_RETURN_TYPE" ref="gga06b1ee1d4b501cad4d8aebe07cfc8eb3a85833a03c9ca291cb4079436f1d0e691" args="" -->RPM_ANY_RETURN_TYPE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06b1ee1d4b501cad4d8aebe07cfc8eb3ab4a1533449cae4783b75dc4f63fea4c3"></a><!-- doxytag: member="RPM_SCALAR_RETURN_TYPE" ref="gga06b1ee1d4b501cad4d8aebe07cfc8eb3ab4a1533449cae4783b75dc4f63fea4c3" args="" -->RPM_SCALAR_RETURN_TYPE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06b1ee1d4b501cad4d8aebe07cfc8eb3a52b4a26c0e82c4c1481fdc66c1bb3dce"></a><!-- doxytag: member="RPM_ARRAY_RETURN_TYPE" ref="gga06b1ee1d4b501cad4d8aebe07cfc8eb3a52b4a26c0e82c4c1481fdc66c1bb3dce" args="" -->RPM_ARRAY_RETURN_TYPE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06b1ee1d4b501cad4d8aebe07cfc8eb3a8aad2b81c577a54f0451fe6562d4107c"></a><!-- doxytag: member="RPM_MAPPING_RETURN_TYPE" ref="gga06b1ee1d4b501cad4d8aebe07cfc8eb3a8aad2b81c577a54f0451fe6562d4107c" args="" -->RPM_MAPPING_RETURN_TYPE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga06b1ee1d4b501cad4d8aebe07cfc8eb3a1acf76a1e638f855f013084e294af9be"></a><!-- doxytag: member="RPM_MASK_RETURN_TYPE" ref="gga06b1ee1d4b501cad4d8aebe07cfc8eb3a1acf76a1e638f855f013084e294af9be" args="" -->RPM_MASK_RETURN_TYPE</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+<p>Definition at line <a class="el" href="rpmtag_8h_source.html#l00401">401</a> of file <a class="el" href="rpmtag_8h_source.html">rpmtag.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga24690e18a34d56e178edf27b5cc97fed"></a><!-- doxytag: member="rpmtag.h::rpmTagType_e" ref="ga24690e18a34d56e178edf27b5cc97fed" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum <a class="el" href="group__header.html#ga24690e18a34d56e178edf27b5cc97fed">rpmTagType_e</a></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The basic types of data in tags from headers. </p>
+
+<p>Definition at line <a class="el" href="rpmtag_8h_source.html#l00353">353</a> of file <a class="el" href="rpmtag_8h_source.html">rpmtag.h</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga16c4db38571cb061497692d4703f69bd"></a><!-- doxytag: member="header.h::headerAddI18NString" ref="ga16c4db38571cb061497692d4703f69bd" args="(Header h, rpmTagVal tag, const char *string, const char *lang)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerAddI18NString </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>string</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>lang</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Add locale specific tag to header. </p>
+<p>A NULL lang is interpreted as the C locale. Here are the rules: </p>
+<div class="fragment"><pre class="fragment">
+ * - 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 headerMod()).
+ * </pre></div><p> 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#ga2275b05ca8482917028356781f9a125d" title="Add or append tag to header.">headerPut()</a> and <a class="el" href="group__header.html#ga1da44d2ff4356452098ecab7214ec66d" title="Modify tag in header.">headerMod()</a>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">tag</td><td>tag </td></tr>
+ <tr><td class="paramname">string</td><td>tag value </td></tr>
+ <tr><td class="paramname">lang</td><td>locale </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3e07756b155618410a1c3f8ee10d2b14"></a><!-- doxytag: member="rpmlib.h::headerCheck" ref="ga3e07756b155618410a1c3f8ee10d2b14" args="(rpmts ts, const void *uh, size_t uc, char **msg)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#ga06da857c39457bfb6ea9049643fdb706">rpmRC</a> headerCheck </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga1a512138316a227059ca128597dbd464">rpmts</a>&#160;</td>
+ <td class="paramname"><em>ts</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>uh</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">size_t&#160;</td>
+ <td class="paramname"><em>uc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>msg</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Check header consistency, performing headerGetEntry() the hard way. </p>
+<p>Sanity checks on the header are performed while looking for a header-only digest or signature to verify the blob. If found, the digest or signature is verified.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ts</td><td>transaction set </td></tr>
+ <tr><td class="paramname">uh</td><td>unloaded header blob </td></tr>
+ <tr><td class="paramname">uc</td><td>no. of bytes in blob (or 0 to disable) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Return values:</b></dt><dd>
+ <table class="retval">
+ <tr><td class="paramname">*msg</td><td>verification error message (or NULL) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>RPMRC_OK on success </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab1eb7d04798d892e03ec01a8e281ba79"></a><!-- doxytag: member="rpmlib.h::headerCheckPayloadFormat" ref="gab1eb7d04798d892e03ec01a8e281ba79" args="(Header h)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#ga06da857c39457bfb6ea9049643fdb706">rpmRC</a> headerCheckPayloadFormat </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Check for supported payload format in header. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header to check </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>RPMRC_OK if supported, RPMRC_FAIL otherwise </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab88b5e1beaad76593a9488f4d6690c9c"></a><!-- doxytag: member="header.h::headerConvert" ref="gab88b5e1beaad76593a9488f4d6690c9c" args="(Header h, int op)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerConvert </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>op</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Convert header to/from (legacy) data presentation. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">op</td><td>one of headerConvOps operations </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gac6ec9b02a38e9ad6bc9bd10c73eb2960"></a><!-- doxytag: member="header.h::headerCopy" ref="gac6ec9b02a38e9ad6bc9bd10c73eb2960" args="(Header h)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> headerCopy </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Duplicate a header. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>new header instance </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa4af55b82df3f36dd7257cd3a1b2b7d9"></a><!-- doxytag: member="header.h::headerCopyLoad" ref="gaa4af55b82df3f36dd7257cd3a1b2b7d9" args="(const void *uh)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> headerCopyLoad </td>
+ <td>(</td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>uh</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Make a copy and convert header to in-memory representation. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">uh</td><td>on-disk header blob (i.e. with offsets) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>header </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3e30db21bf5804f5f5555320310dac69"></a><!-- doxytag: member="header.h::headerCopyTags" ref="ga3e30db21bf5804f5f5555320310dac69" args="(Header headerFrom, Header headerTo, const rpmTagVal *tagstocopy)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void headerCopyTags </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>headerFrom</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>headerTo</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> *&#160;</td>
+ <td class="paramname"><em>tagstocopy</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Duplicate tag values from one header into another. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">headerFrom</td><td>source header </td></tr>
+ <tr><td class="paramname">headerTo</td><td>destination header </td></tr>
+ <tr><td class="paramname">tagstocopy</td><td>array of tags that are copied </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga51d00fb009078a0a884a38844aa87289"></a><!-- doxytag: member="header.h::headerDel" ref="ga51d00fb009078a0a884a38844aa87289" args="(Header h, rpmTagVal tag)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerDel </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Delete tag in header. </p>
+<p>Removes all entries of type tag from the header, returns 1 if none were found.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">tag</td><td>tag </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, 1 on failure (INCONSISTENT) </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaca1e14f3cde6bfbc931582dfb52f5307"></a><!-- doxytag: member="header.h::headerFormat" ref="gaca1e14f3cde6bfbc931582dfb52f5307" args="(Header h, const char *fmt, errmsg_t *errmsg)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* headerFormat </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>fmt</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="rpmtypes_8h.html#ab20ae37fc60551c3abf7f9b25fcd3bc2">errmsg_t</a> *&#160;</td>
+ <td class="paramname"><em>errmsg</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return formatted output string from header tags. </p>
+<p>The returned string must be free()d.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">fmt</td><td>format to use </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Return values:</b></dt><dd>
+ <table class="retval">
+ <tr><td class="paramname">errmsg</td><td>error message (if any) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>formatted output string (malloc'ed) </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga15e58ea36a4ad540759989db341797ce"></a><!-- doxytag: member="header.h::headerFree" ref="ga15e58ea36a4ad540759989db341797ce" args="(Header h)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> headerFree </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Dereference a header instance. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>NULL always </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga98877806b624ced2fac5cd0bb50239a4"></a><!-- doxytag: member="header.h::headerFreeIterator" ref="ga98877806b624ced2fac5cd0bb50239a4" args="(HeaderIterator hi)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#ga04fc66186d2c57c59085895c232091ab">HeaderIterator</a> headerFreeIterator </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga04fc66186d2c57c59085895c232091ab">HeaderIterator</a>&#160;</td>
+ <td class="paramname"><em>hi</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Destroy header tag iterator. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">hi</td><td>header tag iterator </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>NULL always </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7a2b47707f49dd90c7f3e7799e4a01b3"></a><!-- doxytag: member="header.h::headerGet" ref="ga7a2b47707f49dd90c7f3e7799e4a01b3" args="(Header h, rpmTagVal tag, rpmtd td, headerGetFlags flags)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerGet </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structrpmtd__s.html">rpmtd</a>&#160;</td>
+ <td class="paramname"><em>td</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="header_8h.html#a90e3a0c184de0dcd9a74e875e3a438c0">headerGetFlags</a>&#160;</td>
+ <td class="paramname"><em>flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieve tag value. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">tag</td><td>tag </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Return values:</b></dt><dd>
+ <table class="retval">
+ <tr><td class="paramname">td</td><td>tag data container </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">flags</td><td>retrieval modifier flags </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8e4563d798b9d1e6dae92f31f7f05de3"></a><!-- doxytag: member="header.h::headerGetAsString" ref="ga8e4563d798b9d1e6dae92f31f7f05de3" args="(Header h, rpmTagVal tag)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* headerGetAsString </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return any non-array tag from header, converted to string. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">tag</td><td>tag to retrieve </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>string pointer (malloced) or NULL on failure </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf8f218d9d2c27f435c3a11a286adb01f"></a><!-- doxytag: member="header.h::headerGetColor" ref="gaf8f218d9d2c27f435c3a11a286adb01f" args="(Header h)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RPM_GNUC_DEPRECATED <a class="el" href="group__rpmtypes.html#ga5320e2d8dbd395706d114a4d8fc93505">rpm_color_t</a> headerGetColor </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return header color. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>header color </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab2ead5204f382040cd30cd4be1688990"></a><!-- doxytag: member="header.h::headerGetInstance" ref="gab2ead5204f382040cd30cd4be1688990" args="(Header h)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unsigned int headerGetInstance </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return header instance, ie is the header from rpmdb. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>rpmdb record number or 0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga2b345b12d18067ea122b04ef116871ea"></a><!-- doxytag: member="header.h::headerGetNEVR" ref="ga2b345b12d18067ea122b04ef116871ea" args="(Header h, const char **np)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RPM_GNUC_DEPRECATED char* headerGetNEVR </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char **&#160;</td>
+ <td class="paramname"><em>np</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return (malloc'd) header name-version-release string. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Return values:</b></dt><dd>
+ <table class="retval">
+ <tr><td class="paramname">np</td><td>name tag value </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>name-version-release string </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf14a79191e915a24f56590ee7274792b"></a><!-- doxytag: member="header.h::headerGetNEVRA" ref="gaf14a79191e915a24f56590ee7274792b" args="(Header h, const char **np)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RPM_GNUC_DEPRECATED char* headerGetNEVRA </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char **&#160;</td>
+ <td class="paramname"><em>np</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return (malloc'd) header name-version-release.arch string. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Return values:</b></dt><dd>
+ <table class="retval">
+ <tr><td class="paramname">np</td><td>name tag value </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>name-version-release string </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga33376e8850c275b72059fe723a0d3066"></a><!-- doxytag: member="header.h::headerGetString" ref="ga33376e8850c275b72059fe723a0d3066" args="(Header h, rpmTagVal tag)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const char* headerGetString </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return a simple string tag from header. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">tag</td><td>tag to retrieve </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>string pointer (to header memory) or NULL on failure </dd></dl>
+
+<p>Referenced by <a class="el" href="rpm2cpio_8c_source.html#l00015">main()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae549f696a160547449c7fbd3606026b3"></a><!-- doxytag: member="header.h::headerInitIterator" ref="gae549f696a160547449c7fbd3606026b3" args="(Header h)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#ga04fc66186d2c57c59085895c232091ab">HeaderIterator</a> headerInitIterator </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Create header tag iterator. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>header tag iterator </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gafb403521514c8e7ebaec2cd568c128de"></a><!-- doxytag: member="header.h::headerIsEntry" ref="gafb403521514c8e7ebaec2cd568c128de" args="(Header h, rpmTagVal tag)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerIsEntry </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Check if tag is in header. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">tag</td><td>tag </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3e665b416a45423189eefd54d32e8826"></a><!-- doxytag: member="header.h::headerIsSource" ref="ga3e665b416a45423189eefd54d32e8826" args="(Header h)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerIsSource </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Check if header is a source or binary package header. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>0 == binary, 1 == source </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab8e8158584de00bad7bbf91cd7b43e72"></a><!-- doxytag: member="header.h::headerLink" ref="gab8e8158584de00bad7bbf91cd7b43e72" args="(Header h)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> headerLink </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Reference a header instance. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>new header reference </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa44e906299e81eda325dbef9fd991c9c"></a><!-- doxytag: member="header.h::headerLoad" ref="gaa44e906299e81eda325dbef9fd991c9c" args="(void *uh)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> headerLoad </td>
+ <td>(</td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>uh</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Convert header to in-memory representation. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">uh</td><td>on-disk header blob (i.e. with offsets) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>header </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga95e02e0e6be7de34f141fe8e82515ae8"></a><!-- doxytag: member="rpmlib.h::headerMergeLegacySigs" ref="ga95e02e0e6be7de34f141fe8e82515ae8" args="(Header h, const Header sigh)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void headerMergeLegacySigs </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const <a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>sigh</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Translate and merge legacy signature tags into header. </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000015">Todo:</a></b></dt><dd>Remove <a class="el" href="group__header.html#gab68de4a4d57795669a97ba8a101f3e51" title="Sort tags in header.">headerSort()</a> through <a class="el" href="group__header.html#gae549f696a160547449c7fbd3606026b3" title="Create header tag iterator.">headerInitIterator()</a> modifies sig. </dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">sigh</td><td>signature header </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1da44d2ff4356452098ecab7214ec66d"></a><!-- doxytag: member="header.h::headerMod" ref="ga1da44d2ff4356452098ecab7214ec66d" args="(Header h, rpmtd td)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerMod </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structrpmtd__s.html">rpmtd</a>&#160;</td>
+ <td class="paramname"><em>td</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Modify tag in header. </p>
+<p>If there are multiple entries with this tag, the first one gets replaced. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">td</td><td>tag data container </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8c1d0358eb869c59f4ee0ac08cc7b6f7"></a><!-- doxytag: member="header.h::headerNEVRA" ref="ga8c1d0358eb869c59f4ee0ac08cc7b6f7" args="(Header h, const char **np, uint32_t **ep, const char **vp, const char **rp, const char **ap)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RPM_GNUC_DEPRECATED int headerNEVRA </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char **&#160;</td>
+ <td class="paramname"><em>np</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">uint32_t **&#160;</td>
+ <td class="paramname"><em>ep</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char **&#160;</td>
+ <td class="paramname"><em>vp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char **&#160;</td>
+ <td class="paramname"><em>rp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char **&#160;</td>
+ <td class="paramname"><em>ap</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return name, epoch, version, release, arch strings from header. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Return values:</b></dt><dd>
+ <table class="retval">
+ <tr><td class="paramname">*np</td><td>name pointer (or NULL) </td></tr>
+ <tr><td class="paramname">*ep</td><td>epoch pointer (or NULL) </td></tr>
+ <tr><td class="paramname">*vp</td><td>version pointer (or NULL) </td></tr>
+ <tr><td class="paramname">*rp</td><td>release pointer (or NULL) </td></tr>
+ <tr><td class="paramname">*ap</td><td>arch pointer (or NULL) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>0 always </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaba1932e7962b6c650006c3083530b042"></a><!-- doxytag: member="header.h::headerNew" ref="gaba1932e7962b6c650006c3083530b042" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> headerNew </td>
+ <td>(</td>
+ <td class="paramtype">void&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Create new (empty) header instance. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>header </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9c4cc53c5f7e88665752bbceee2e5756"></a><!-- doxytag: member="header.h::headerNext" ref="ga9c4cc53c5f7e88665752bbceee2e5756" args="(HeaderIterator hi, rpmtd td)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerNext </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga04fc66186d2c57c59085895c232091ab">HeaderIterator</a>&#160;</td>
+ <td class="paramname"><em>hi</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structrpmtd__s.html">rpmtd</a>&#160;</td>
+ <td class="paramname"><em>td</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return next tag contents from header. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">hi</td><td>header tag iterator </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Return values:</b></dt><dd>
+ <table class="retval">
+ <tr><td class="paramname">td</td><td>tag data container </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gafa3424ff811c33c12b8297ac5e44a5c2"></a><!-- doxytag: member="header.h::headerNextTag" ref="gafa3424ff811c33c12b8297ac5e44a5c2" args="(HeaderIterator hi)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a> headerNextTag </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga04fc66186d2c57c59085895c232091ab">HeaderIterator</a>&#160;</td>
+ <td class="paramname"><em>hi</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return next tag number from header. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">hi</td><td>header tag iterator </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>next tag, RPMTAG_NOT_FOUND to stop iteration </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf464f34a68f0dd28ee1b21c542f20103"></a><!-- doxytag: member="header.h::headerNVR" ref="gaf464f34a68f0dd28ee1b21c542f20103" args="(Header h, const char **np, const char **vp, const char **rp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RPM_GNUC_DEPRECATED int headerNVR </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char **&#160;</td>
+ <td class="paramname"><em>np</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char **&#160;</td>
+ <td class="paramname"><em>vp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char **&#160;</td>
+ <td class="paramname"><em>rp</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return name, version, release strings from header. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Return values:</b></dt><dd>
+ <table class="retval">
+ <tr><td class="paramname">*np</td><td>name pointer (or NULL) </td></tr>
+ <tr><td class="paramname">*vp</td><td>version pointer (or NULL) </td></tr>
+ <tr><td class="paramname">*rp</td><td>release pointer (or NULL) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>0 always </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga2275b05ca8482917028356781f9a125d"></a><!-- doxytag: member="header.h::headerPut" ref="ga2275b05ca8482917028356781f9a125d" args="(Header h, rpmtd td, headerPutFlags flags)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerPut </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="structrpmtd__s.html">rpmtd</a>&#160;</td>
+ <td class="paramname"><em>td</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="header_8h.html#a0c621fdfe7dd922f5772fa1019af4cb9">headerPutFlags</a>&#160;</td>
+ <td class="paramname"><em>flags</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Add or append tag to header. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">td</td><td>tag data container </td></tr>
+ <tr><td class="paramname">flags</td><td>flags to control operation </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9e199fc71b38054854cbce80688d3f34"></a><!-- doxytag: member="header.h::headerPutBin" ref="ga9e199fc71b38054854cbce80688d3f34" args="(Header h, rpmTagVal tag, const uint8_t *val, rpm_count_t size)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerPutBin </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const uint8_t *&#160;</td>
+ <td class="paramname"><em>val</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a>&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="gaa4d045e93d8dd80ae5926adc497c89fe"></a><!-- doxytag: member="header.h::headerPutChar" ref="gaa4d045e93d8dd80ae5926adc497c89fe" args="(Header h, rpmTagVal tag, const char *val, rpm_count_t size)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerPutChar </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>val</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a>&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga9a7cc53243734db48200933aecaea57c"></a><!-- doxytag: member="header.h::headerPutString" ref="ga9a7cc53243734db48200933aecaea57c" args="(Header h, rpmTagVal tag, const char *val)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerPutString </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>val</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Type-safe methods for inserting tag data to header. </p>
+<p>Tag data type is validated to match the function type, ie things like headerPutUint32(h, RPMTAG_NAME, ...) will return failure. For non-array types size must equal 1, and data is checked to be non-NULL. For array types, add-or-append mode is always used.</p>
+<p><a class="el" href="group__header.html#ga9a7cc53243734db48200933aecaea57c" title="Type-safe methods for inserting tag data to header.">headerPutString()</a> can be used on both RPM_STRING_TYPE and RPM_STRING_ARRAY_TYPE (to add a single string into the array) tags, for others the type must match exactly.</p>
+<p>These are intended to "do the right thing" in the common case, if you need more fine grained control use <a class="el" href="group__header.html#ga2275b05ca8482917028356781f9a125d" title="Add or append tag to header.">headerPut()</a> &amp; friends instead. </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000007">Todo:</a></b></dt><dd>Make doxygen group these meaningfully.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">tag</td><td>tag to insert </td></tr>
+ <tr><td class="paramname">val</td><td>pointer to value(s) </td></tr>
+ <tr><td class="paramname">size</td><td>number of items in array (1 or larger) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga49fc2962d2ca89a6b5d0037f179bec3b"></a><!-- doxytag: member="header.h::headerPutStringArray" ref="ga49fc2962d2ca89a6b5d0037f179bec3b" args="(Header h, rpmTagVal tag, const char **val, rpm_count_t size)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerPutStringArray </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char **&#160;</td>
+ <td class="paramname"><em>val</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a>&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="gaad9057a802f0b75770306b0bb8278cab"></a><!-- doxytag: member="header.h::headerPutUint16" ref="gaad9057a802f0b75770306b0bb8278cab" args="(Header h, rpmTagVal tag, const uint16_t *val, rpm_count_t size)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerPutUint16 </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const uint16_t *&#160;</td>
+ <td class="paramname"><em>val</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a>&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="gaac1ccf3d2c03fea718715fecb18e83c8"></a><!-- doxytag: member="header.h::headerPutUint32" ref="gaac1ccf3d2c03fea718715fecb18e83c8" args="(Header h, rpmTagVal tag, const uint32_t *val, rpm_count_t size)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerPutUint32 </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const uint32_t *&#160;</td>
+ <td class="paramname"><em>val</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a>&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga16cbe23295f03e636efdbb7c82c3b2b6"></a><!-- doxytag: member="header.h::headerPutUint64" ref="ga16cbe23295f03e636efdbb7c82c3b2b6" args="(Header h, rpmTagVal tag, const uint64_t *val, rpm_count_t size)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerPutUint64 </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const uint64_t *&#160;</td>
+ <td class="paramname"><em>val</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a>&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga76de0144adee11ce027a6df0df6a9211"></a><!-- doxytag: member="header.h::headerPutUint8" ref="ga76de0144adee11ce027a6df0df6a9211" args="(Header h, rpmTagVal tag, const uint8_t *val, rpm_count_t size)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerPutUint8 </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const uint8_t *&#160;</td>
+ <td class="paramname"><em>val</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga12927399545450cd58cca8abdc44e768">rpm_count_t</a>&#160;</td>
+ <td class="paramname"><em>size</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ga29a7512cc49adc47238baf0acd3f67e5"></a><!-- doxytag: member="header.h::headerRead" ref="ga29a7512cc49adc47238baf0acd3f67e5" args="(FD_t fd, int magicp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> headerRead </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a>&#160;</td>
+ <td class="paramname"><em>fd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>magicp</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Read (and load) header from file handle. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">fd</td><td>file handle </td></tr>
+ <tr><td class="paramname">magicp</td><td>read (and verify) 8 bytes of (magic, 0)? </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>header (or NULL on error) </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga0240750b808fc759dee76f3440194570"></a><!-- doxytag: member="rpmlib.h::headerRegenSigHeader" ref="ga0240750b808fc759dee76f3440194570" args="(const Header h, int noArchiveSize)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> headerRegenSigHeader </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>noArchiveSize</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Regenerate signature header. </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000016">Todo:</a></b></dt><dd>Remove <a class="el" href="group__header.html#gab68de4a4d57795669a97ba8a101f3e51" title="Sort tags in header.">headerSort()</a> through <a class="el" href="group__header.html#gae549f696a160547449c7fbd3606026b3" title="Create header tag iterator.">headerInitIterator()</a> modifies h. </dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">noArchiveSize</td><td>don't copy archive size tag (pre rpm-4.1) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>regenerated signature header </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf20c66a7e5a96a7bcdf186ff517bd6ff"></a><!-- doxytag: member="header.h::headerReload" ref="gaf20c66a7e5a96a7bcdf186ff517bd6ff" args="(Header h, rpmTagVal tag)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> headerReload </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga2ef24de5e3abc53a5be49546c6b1eccf">rpmTagVal</a>&#160;</td>
+ <td class="paramname"><em>tag</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Convert header to on-disk representation, and then reload. </p>
+<p>This is used to insure that all header data is in one chunk. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header (with pointers) </td></tr>
+ <tr><td class="paramname">tag</td><td>region tag </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>on-disk header (with offsets) </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabe6057e3d70882f1d756ab87c555baf6"></a><!-- doxytag: member="header.h::headerSizeof" ref="gabe6057e3d70882f1d756ab87c555baf6" args="(Header h, int magicp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unsigned int headerSizeof </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>magicp</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return size of on-disk header representation in bytes. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">magicp</td><td>include size of 8 bytes for (magic, 0)? </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>size of on-disk header </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab68de4a4d57795669a97ba8a101f3e51"></a><!-- doxytag: member="header.h::headerSort" ref="gab68de4a4d57795669a97ba8a101f3e51" args="(Header h)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void headerSort </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Sort tags in header. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga33ea43d033ea680a8c5357ed9cec7283"></a><!-- doxytag: member="header.h::headerUnload" ref="ga33ea43d033ea680a8c5357ed9cec7283" args="(Header h)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void* headerUnload </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Convert header to on-disk representation. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header (with pointers) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>on-disk header blob (i.e. with offsets) </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9b3c8381f8d7e1f0818c40fc32287f02"></a><!-- doxytag: member="header.h::headerUnsort" ref="ga9b3c8381f8d7e1f0818c40fc32287f02" args="(Header h)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void headerUnsort </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Restore tags in header to original ordering. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf77927dd7aafa1bb3d1d878890387f0f"></a><!-- doxytag: member="header.h::headerVerifyInfo" ref="gaf77927dd7aafa1bb3d1d878890387f0f" args="(int il, int dl, const void *pev, void *iv, int negate)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerVerifyInfo </td>
+ <td>(</td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>il</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>dl</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const void *&#160;</td>
+ <td class="paramname"><em>pev</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">void *&#160;</td>
+ <td class="paramname"><em>iv</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>negate</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Perform simple sanity and range checks on header tag(s). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">il</td><td>no. of tags in header </td></tr>
+ <tr><td class="paramname">dl</td><td>no. of bytes in header data. </td></tr>
+ <tr><td class="paramname">pev</td><td>1st element in tag array, big-endian </td></tr>
+ <tr><td class="paramname">iv</td><td>failing (or last) tag element, host-endian </td></tr>
+ <tr><td class="paramname">negate</td><td>negative offset expected? </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>-1 on success, otherwise failing tag element index </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabe3afb87a33318ab9cef8039d9a12698"></a><!-- doxytag: member="header.h::headerWrite" ref="gabe3afb87a33318ab9cef8039d9a12698" args="(FD_t fd, Header h, int magicp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int headerWrite </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a>&#160;</td>
+ <td class="paramname"><em>fd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a>&#160;</td>
+ <td class="paramname"><em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>magicp</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Write (with unload) header to file handle. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">fd</td><td>file handle </td></tr>
+ <tr><td class="paramname">h</td><td>header </td></tr>
+ <tr><td class="paramname">magicp</td><td>prefix write with 8 bytes of (magic, 0)? </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success, 1 on error </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gae40693275adebc7fe9bbd78f81bfa90b"></a><!-- doxytag: member="rpmlib.h::rpmReadHeader" ref="gae40693275adebc7fe9bbd78f81bfa90b" args="(rpmts ts, FD_t fd, Header *hdrp, char **msg)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#ga06da857c39457bfb6ea9049643fdb706">rpmRC</a> rpmReadHeader </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga1a512138316a227059ca128597dbd464">rpmts</a>&#160;</td>
+ <td class="paramname"><em>ts</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a>&#160;</td>
+ <td class="paramname"><em>fd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> *&#160;</td>
+ <td class="paramname"><em>hdrp</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char **&#160;</td>
+ <td class="paramname"><em>msg</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return checked and loaded header. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ts</td><td>transaction set </td></tr>
+ <tr><td class="paramname">fd</td><td>file handle </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Return values:</b></dt><dd>
+ <table class="retval">
+ <tr><td class="paramname">hdrp</td><td>address of header (or NULL) </td></tr>
+ <tr><td class="paramname">*msg</td><td>verification error message (or NULL) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>RPMRC_OK on success </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gae10b6de3f6b14ba9bf473e782c6ed65c"></a><!-- doxytag: member="rpmlib.h::rpmReadPackageFile" ref="gae10b6de3f6b14ba9bf473e782c6ed65c" args="(rpmts ts, FD_t fd, const char *fn, Header *hdrp)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="group__rpmtypes.html#ga06da857c39457bfb6ea9049643fdb706">rpmRC</a> rpmReadPackageFile </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga1a512138316a227059ca128597dbd464">rpmts</a>&#160;</td>
+ <td class="paramname"><em>ts</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a>&#160;</td>
+ <td class="paramname"><em>fd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>fn</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype"><a class="el" href="group__rpmtypes.html#gacb1ffe4e2d96b8277f9f46ecc0c7b8a6">Header</a> *&#160;</td>
+ <td class="paramname"><em>hdrp</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Return package header from file handle, verifying digests/signatures. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramname">ts</td><td>transaction set </td></tr>
+ <tr><td class="paramname">fd</td><td>file handle </td></tr>
+ <tr><td class="paramname">fn</td><td>file name </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl><dt><b>Return values:</b></dt><dd>
+ <table class="retval">
+ <tr><td class="paramname">hdrp</td><td>address of header (or NULL) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>RPMRC_OK on success </dd></dl>
+
+<p>Referenced by <a class="el" href="rpm2cpio_8c_source.html#l00015">main()</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="ga6483a32ca9785bcef5fba196608ac0fb"></a><!-- doxytag: member="header.h::rpm_header_magic" ref="ga6483a32ca9785bcef5fba196608ac0fb" args="[8]" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const unsigned char <a class="el" href="group__header.html#ga6483a32ca9785bcef5fba196608ac0fb">rpm_header_magic</a>[8]</td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Header magic value. </p>
+
+</div>
+</div>
+</div>
+<hr class="footer"/><address class="footer"><small>Generated on Fri Jul 15 2011 for rpm by&#160;
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
+</body>
+</html>