1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>rpm: rpmarchive.h File Reference</title>
9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <link href="doxygen.css" rel="stylesheet" type="text/css" />
15 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
17 <table cellspacing="0" cellpadding="0">
19 <tr style="height: 56px;">
20 <td id="projectalign" style="padding-left: 0.5em;">
21 <div id="projectname">rpm
22  <span id="projectnumber">4.14.1</span>
29 <!-- end header part -->
30 <!-- Generated by Doxygen 1.8.13 -->
31 <script type="text/javascript" src="menudata.js"></script>
32 <script type="text/javascript" src="menu.js"></script>
33 <script type="text/javascript">
35 initMenu('',false,false,'search.php','Search');
38 <div id="main-nav"></div>
39 <div id="nav-path" class="navpath">
41 <li class="navelem"><a class="el" href="dir_97aefd0d527b934f1d99a682da8fe6a9.html">lib</a></li> </ul>
46 <a href="#define-members">Macros</a> |
47 <a href="#enum-members">Enumerations</a> |
48 <a href="#func-members">Functions</a> </div>
49 <div class="headertitle">
50 <div class="title">rpmarchive.h File Reference</div> </div>
52 <div class="contents">
54 <p>File archive (aka payload) API.
55 <a href="#details">More...</a></p>
57 <p><a href="rpmarchive_8h_source.html">Go to the source code of this file.</a></p>
58 <table class="memberdecls">
59 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
61 <tr class="memitem:ab3e3776250e2f9d9a7cd6689160bc83f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmarchive_8h.html#ab3e3776250e2f9d9a7cd6689160bc83f">RPMERR_CHECK_ERRNO</a>   -32768</td></tr>
62 <tr class="separator:ab3e3776250e2f9d9a7cd6689160bc83f"><td class="memSeparator" colspan="2"> </td></tr>
63 </table><table class="memberdecls">
64 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
65 Enumerations</h2></td></tr>
66 <tr class="memitem:a4def7ad89bac79be02173fdf379be3ab"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3ab">rpmfilesErrorCodes</a> { <br />
67   <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba605028e95610e7cddb1e0d2e214df854">RPMERR_ITER_END</a> = -1,
68 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3abae99e57b6667138d30bd6e5efdd1101aa">RPMERR_BAD_MAGIC</a> = -2,
69 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba978a8154bb762223c5202d4b9598dbb0">RPMERR_BAD_HEADER</a> = -3,
70 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba820e3413a927e835494668842092a1c3">RPMERR_HDR_SIZE</a> = -4,
72   <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3ababd636aa903768ace70792e1f890a04c1">RPMERR_UNKNOWN_FILETYPE</a> = -5,
73 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba5a2a34b9a9d3b73c85f18850e73daaa8">RPMERR_MISSING_FILE</a> = -6,
74 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba00dc020087170b1d4266372135dee1cd">RPMERR_DIGEST_MISMATCH</a> = -7,
75 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba0b584166f9f5d4e71b755af63a21d2f8">RPMERR_INTERNAL</a> = -8,
77   <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba761d83b10c8f42f0ae1f229cb19129f6">RPMERR_UNMAPPED_FILE</a> = -9,
78 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba6de7c74905c6a9b1e1201c1dba5f037c">RPMERR_ENOENT</a> = -10,
79 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3abac613143ff721265c11864e6f0b5c78e7">RPMERR_ENOTEMPTY</a> = -11,
80 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba773a6cbda4a80eee454022353ef49208">RPMERR_FILE_SIZE</a> = -12,
82   <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba04a88a5a135c07ea9095770082685d36">RPMERR_ITER_SKIP</a> = -13,
83 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3abaf72bcc00177d91a9c2c47e7221afbd28">RPMERR_EXIST_AS_DIR</a> = -14,
84 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3abaec67513f300d6e4a5e0af90ab6ebc9d5">RPMERR_OPEN_FAILED</a> = -32768,
85 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3abad152aef1a302ea75e58509be4c5495c2">RPMERR_CHMOD_FAILED</a> = -32769,
87   <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba9e6a03d499caa7533fbe1561ad8ee942">RPMERR_CHOWN_FAILED</a> = -32770,
88 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba67eae88c1cf7887376f7275273b8510a">RPMERR_WRITE_FAILED</a> = -32771,
89 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba63b75052aba71f4038bd7959ac2e4224">RPMERR_UTIME_FAILED</a> = -32772,
90 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba2051953ae57007ff46afe48ec835b7d6">RPMERR_UNLINK_FAILED</a> = -32773,
92   <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3abaae55c77a53d0943e0bd64404e7ea0a90">RPMERR_RENAME_FAILED</a> = -32774,
93 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba7b3c51588fad4c9267e3e0dfeda6335c">RPMERR_SYMLINK_FAILED</a> = -32775,
94 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba42a0afdb6f63fdb34c1bfc83e39252ef">RPMERR_STAT_FAILED</a> = -32776,
95 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba4c93dc42ea4a7de02169898e7cb971b7">RPMERR_LSTAT_FAILED</a> = -32777,
97   <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba8ef04c0c28dde5c0c54e7ab3d00c1d89">RPMERR_MKDIR_FAILED</a> = -32778,
98 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba5150db142130f328ebd57f568cc85145">RPMERR_RMDIR_FAILED</a> = -32779,
99 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3abaa3434d6f9ce466ea5a7f0db6ee5656f9">RPMERR_MKNOD_FAILED</a> = -32780,
100 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba63806c1be855d9c8be07763820e162d6">RPMERR_MKFIFO_FAILED</a> = -32781,
102   <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba21a722e4e20cc88db42759b6f4562059">RPMERR_LINK_FAILED</a> = -32782,
103 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba46eadce5410241e3f395ef1f36626242">RPMERR_READLINK_FAILED</a> = -32783,
104 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba015a48f6d1b5ba597b1b4536d4947aaa">RPMERR_READ_FAILED</a> = -32784,
105 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3aba4096c935e46054e1d6c2f4aa9a4e9caa">RPMERR_COPY_FAILED</a> = -32785,
107   <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3abac8a4ed9773b46b9993f372c7bdc70ca2">RPMERR_LSETFCON_FAILED</a> = -32786,
108 <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3abaf980b8d2aae778f2998617f556164505">RPMERR_SETCAP_FAILED</a> = -32787
110 }<tr class="memdesc:a4def7ad89bac79be02173fdf379be3ab"><td class="mdescLeft"> </td><td class="mdescRight">Error codes for archive and file handling. <a href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3ab">More...</a><br /></td></tr>
112 <tr class="separator:a4def7ad89bac79be02173fdf379be3ab"><td class="memSeparator" colspan="2"> </td></tr>
113 </table><table class="memberdecls">
114 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
115 Functions</h2></td></tr>
116 <tr class="memitem:a2f2dc41ad025b34ca25a2482f1d3ec12"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmarchive_8h.html#a2f2dc41ad025b34ca25a2482f1d3ec12">rpmfileStrerror</a> (int rc)</td></tr>
117 <tr class="memdesc:a2f2dc41ad025b34ca25a2482f1d3ec12"><td class="mdescLeft"> </td><td class="mdescRight">Return formatted error message on payload handling failure. <a href="#a2f2dc41ad025b34ca25a2482f1d3ec12">More...</a><br /></td></tr>
118 <tr class="separator:a2f2dc41ad025b34ca25a2482f1d3ec12"><td class="memSeparator" colspan="2"> </td></tr>
119 <tr class="memitem:aec42596ca3c621a669373f4d970feef9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmarchive_8h.html#aec42596ca3c621a669373f4d970feef9">rpmfiNewArchiveWriter</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd, <a class="el" href="group__rpmtypes.html#ga3ab2e7f92cba58663bcb53c299c299d7">rpmfiles</a> files)</td></tr>
120 <tr class="memdesc:aec42596ca3c621a669373f4d970feef9"><td class="mdescLeft"> </td><td class="mdescRight">Get new file iterator for writing the archive content. <a href="#aec42596ca3c621a669373f4d970feef9">More...</a><br /></td></tr>
121 <tr class="separator:aec42596ca3c621a669373f4d970feef9"><td class="memSeparator" colspan="2"> </td></tr>
122 <tr class="memitem:ad5a990d263046890fd331487beec1979"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmarchive_8h.html#ad5a990d263046890fd331487beec1979">rpmfiNewArchiveReader</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd, <a class="el" href="group__rpmtypes.html#ga3ab2e7f92cba58663bcb53c299c299d7">rpmfiles</a> files, int itype)</td></tr>
123 <tr class="memdesc:ad5a990d263046890fd331487beec1979"><td class="mdescLeft"> </td><td class="mdescRight">Get new file iterator for looping over the archive content. <a href="#ad5a990d263046890fd331487beec1979">More...</a><br /></td></tr>
124 <tr class="separator:ad5a990d263046890fd331487beec1979"><td class="memSeparator" colspan="2"> </td></tr>
125 <tr class="memitem:a17fec687c7f9799a9a4cf30166d6d4f5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmarchive_8h.html#a17fec687c7f9799a9a4cf30166d6d4f5">rpmfiArchiveClose</a> (<a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> fi)</td></tr>
126 <tr class="memdesc:a17fec687c7f9799a9a4cf30166d6d4f5"><td class="mdescLeft"> </td><td class="mdescRight">Close payload archive. <a href="#a17fec687c7f9799a9a4cf30166d6d4f5">More...</a><br /></td></tr>
127 <tr class="separator:a17fec687c7f9799a9a4cf30166d6d4f5"><td class="memSeparator" colspan="2"> </td></tr>
128 <tr class="memitem:a57b18eecb94d619e5f157e45f7de39c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#gab9fe53f396a324ab4d4e07cad793f730">rpm_loff_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmarchive_8h.html#a57b18eecb94d619e5f157e45f7de39c3">rpmfiArchiveTell</a> (<a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> fi)</td></tr>
129 <tr class="memdesc:a57b18eecb94d619e5f157e45f7de39c3"><td class="mdescLeft"> </td><td class="mdescRight">Return current position in payload archive. <a href="#a57b18eecb94d619e5f157e45f7de39c3">More...</a><br /></td></tr>
130 <tr class="separator:a57b18eecb94d619e5f157e45f7de39c3"><td class="memSeparator" colspan="2"> </td></tr>
131 <tr class="memitem:a919a64bb2c37c967a8bd6a9cda3127d2"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmarchive_8h.html#a919a64bb2c37c967a8bd6a9cda3127d2">rpmfiArchiveWrite</a> (<a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> fi, const void *buf, size_t size)</td></tr>
132 <tr class="memdesc:a919a64bb2c37c967a8bd6a9cda3127d2"><td class="mdescLeft"> </td><td class="mdescRight">Write content into current file in archive. <a href="#a919a64bb2c37c967a8bd6a9cda3127d2">More...</a><br /></td></tr>
133 <tr class="separator:a919a64bb2c37c967a8bd6a9cda3127d2"><td class="memSeparator" colspan="2"> </td></tr>
134 <tr class="memitem:ab09c5554cadb97cff0839770ca0f8563"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmarchive_8h.html#ab09c5554cadb97cff0839770ca0f8563">rpmfiArchiveWriteFile</a> (<a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> fi, <a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd)</td></tr>
135 <tr class="memdesc:ab09c5554cadb97cff0839770ca0f8563"><td class="mdescLeft"> </td><td class="mdescRight">Write content from given file into current file in archive. <a href="#ab09c5554cadb97cff0839770ca0f8563">More...</a><br /></td></tr>
136 <tr class="separator:ab09c5554cadb97cff0839770ca0f8563"><td class="memSeparator" colspan="2"> </td></tr>
137 <tr class="memitem:a62518fef231e0c660339d1be5644d4aa"><td class="memItemLeft" align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmarchive_8h.html#a62518fef231e0c660339d1be5644d4aa">rpmfiArchiveRead</a> (<a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> fi, void *buf, size_t size)</td></tr>
138 <tr class="memdesc:a62518fef231e0c660339d1be5644d4aa"><td class="mdescLeft"> </td><td class="mdescRight">Read content from current file in archive. <a href="#a62518fef231e0c660339d1be5644d4aa">More...</a><br /></td></tr>
139 <tr class="separator:a62518fef231e0c660339d1be5644d4aa"><td class="memSeparator" colspan="2"> </td></tr>
140 <tr class="memitem:a3314e7e6e896769c687cc2bffb7dc3a3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmarchive_8h.html#a3314e7e6e896769c687cc2bffb7dc3a3">rpmfiArchiveHasContent</a> (<a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> fi)</td></tr>
141 <tr class="memdesc:a3314e7e6e896769c687cc2bffb7dc3a3"><td class="mdescLeft"> </td><td class="mdescRight">Has current file content stored in the archive. <a href="#a3314e7e6e896769c687cc2bffb7dc3a3">More...</a><br /></td></tr>
142 <tr class="separator:a3314e7e6e896769c687cc2bffb7dc3a3"><td class="memSeparator" colspan="2"> </td></tr>
143 <tr class="memitem:a5bbc3d8756acdf9aad0d5f32f299f4c7"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmarchive_8h.html#a5bbc3d8756acdf9aad0d5f32f299f4c7">rpmfiArchiveReadToFile</a> (<a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> fi, <a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd, int nodigest)</td></tr>
144 <tr class="memdesc:a5bbc3d8756acdf9aad0d5f32f299f4c7"><td class="mdescLeft"> </td><td class="mdescRight">Write content from current file in archive to a file. <a href="#a5bbc3d8756acdf9aad0d5f32f299f4c7">More...</a><br /></td></tr>
145 <tr class="separator:a5bbc3d8756acdf9aad0d5f32f299f4c7"><td class="memSeparator" colspan="2"> </td></tr>
147 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
148 <div class="textblock"><p>File archive (aka payload) API. </p>
150 <p class="definition">Definition in file <a class="el" href="rpmarchive_8h_source.html">rpmarchive.h</a>.</p>
151 </div><h2 class="groupheader">Macro Definition Documentation</h2>
152 <a id="ab3e3776250e2f9d9a7cd6689160bc83f"></a>
153 <h2 class="memtitle"><span class="permalink"><a href="#ab3e3776250e2f9d9a7cd6689160bc83f">◆ </a></span>RPMERR_CHECK_ERRNO</h2>
155 <div class="memitem">
156 <div class="memproto">
157 <table class="memname">
159 <td class="memname">#define RPMERR_CHECK_ERRNO   -32768</td>
162 </div><div class="memdoc">
164 <p class="definition">Definition at line <a class="el" href="rpmarchive_8h_source.html#l00009">9</a> of file <a class="el" href="rpmarchive_8h_source.html">rpmarchive.h</a>.</p>
168 <h2 class="groupheader">Enumeration Type Documentation</h2>
169 <a id="a4def7ad89bac79be02173fdf379be3ab"></a>
170 <h2 class="memtitle"><span class="permalink"><a href="#a4def7ad89bac79be02173fdf379be3ab">◆ </a></span>rpmfilesErrorCodes</h2>
172 <div class="memitem">
173 <div class="memproto">
174 <table class="memname">
176 <td class="memname">enum <a class="el" href="rpmarchive_8h.html#a4def7ad89bac79be02173fdf379be3ab">rpmfilesErrorCodes</a></td>
179 </div><div class="memdoc">
181 <p>Error codes for archive and file handling. </p>
182 <table class="fieldtable">
183 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba605028e95610e7cddb1e0d2e214df854"></a>RPMERR_ITER_END </td><td class="fielddoc"></td></tr>
184 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3abae99e57b6667138d30bd6e5efdd1101aa"></a>RPMERR_BAD_MAGIC </td><td class="fielddoc"></td></tr>
185 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba978a8154bb762223c5202d4b9598dbb0"></a>RPMERR_BAD_HEADER </td><td class="fielddoc"></td></tr>
186 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba820e3413a927e835494668842092a1c3"></a>RPMERR_HDR_SIZE </td><td class="fielddoc"></td></tr>
187 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3ababd636aa903768ace70792e1f890a04c1"></a>RPMERR_UNKNOWN_FILETYPE </td><td class="fielddoc"></td></tr>
188 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba5a2a34b9a9d3b73c85f18850e73daaa8"></a>RPMERR_MISSING_FILE </td><td class="fielddoc"></td></tr>
189 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba00dc020087170b1d4266372135dee1cd"></a>RPMERR_DIGEST_MISMATCH </td><td class="fielddoc"></td></tr>
190 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba0b584166f9f5d4e71b755af63a21d2f8"></a>RPMERR_INTERNAL </td><td class="fielddoc"></td></tr>
191 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba761d83b10c8f42f0ae1f229cb19129f6"></a>RPMERR_UNMAPPED_FILE </td><td class="fielddoc"></td></tr>
192 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba6de7c74905c6a9b1e1201c1dba5f037c"></a>RPMERR_ENOENT </td><td class="fielddoc"></td></tr>
193 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3abac613143ff721265c11864e6f0b5c78e7"></a>RPMERR_ENOTEMPTY </td><td class="fielddoc"></td></tr>
194 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba773a6cbda4a80eee454022353ef49208"></a>RPMERR_FILE_SIZE </td><td class="fielddoc"></td></tr>
195 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba04a88a5a135c07ea9095770082685d36"></a>RPMERR_ITER_SKIP </td><td class="fielddoc"></td></tr>
196 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3abaf72bcc00177d91a9c2c47e7221afbd28"></a>RPMERR_EXIST_AS_DIR </td><td class="fielddoc"></td></tr>
197 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3abaec67513f300d6e4a5e0af90ab6ebc9d5"></a>RPMERR_OPEN_FAILED </td><td class="fielddoc"></td></tr>
198 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3abad152aef1a302ea75e58509be4c5495c2"></a>RPMERR_CHMOD_FAILED </td><td class="fielddoc"></td></tr>
199 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba9e6a03d499caa7533fbe1561ad8ee942"></a>RPMERR_CHOWN_FAILED </td><td class="fielddoc"></td></tr>
200 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba67eae88c1cf7887376f7275273b8510a"></a>RPMERR_WRITE_FAILED </td><td class="fielddoc"></td></tr>
201 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba63b75052aba71f4038bd7959ac2e4224"></a>RPMERR_UTIME_FAILED </td><td class="fielddoc"></td></tr>
202 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba2051953ae57007ff46afe48ec835b7d6"></a>RPMERR_UNLINK_FAILED </td><td class="fielddoc"></td></tr>
203 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3abaae55c77a53d0943e0bd64404e7ea0a90"></a>RPMERR_RENAME_FAILED </td><td class="fielddoc"></td></tr>
204 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba7b3c51588fad4c9267e3e0dfeda6335c"></a>RPMERR_SYMLINK_FAILED </td><td class="fielddoc"></td></tr>
205 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba42a0afdb6f63fdb34c1bfc83e39252ef"></a>RPMERR_STAT_FAILED </td><td class="fielddoc"></td></tr>
206 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba4c93dc42ea4a7de02169898e7cb971b7"></a>RPMERR_LSTAT_FAILED </td><td class="fielddoc"></td></tr>
207 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba8ef04c0c28dde5c0c54e7ab3d00c1d89"></a>RPMERR_MKDIR_FAILED </td><td class="fielddoc"></td></tr>
208 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba5150db142130f328ebd57f568cc85145"></a>RPMERR_RMDIR_FAILED </td><td class="fielddoc"></td></tr>
209 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3abaa3434d6f9ce466ea5a7f0db6ee5656f9"></a>RPMERR_MKNOD_FAILED </td><td class="fielddoc"></td></tr>
210 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba63806c1be855d9c8be07763820e162d6"></a>RPMERR_MKFIFO_FAILED </td><td class="fielddoc"></td></tr>
211 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba21a722e4e20cc88db42759b6f4562059"></a>RPMERR_LINK_FAILED </td><td class="fielddoc"></td></tr>
212 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba46eadce5410241e3f395ef1f36626242"></a>RPMERR_READLINK_FAILED </td><td class="fielddoc"></td></tr>
213 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba015a48f6d1b5ba597b1b4536d4947aaa"></a>RPMERR_READ_FAILED </td><td class="fielddoc"></td></tr>
214 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3aba4096c935e46054e1d6c2f4aa9a4e9caa"></a>RPMERR_COPY_FAILED </td><td class="fielddoc"></td></tr>
215 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3abac8a4ed9773b46b9993f372c7bdc70ca2"></a>RPMERR_LSETFCON_FAILED </td><td class="fielddoc"></td></tr>
216 <tr><td class="fieldname"><a id="a4def7ad89bac79be02173fdf379be3abaf980b8d2aae778f2998617f556164505"></a>RPMERR_SETCAP_FAILED </td><td class="fielddoc"></td></tr>
219 <p class="definition">Definition at line <a class="el" href="rpmarchive_8h_source.html#l00014">14</a> of file <a class="el" href="rpmarchive_8h_source.html">rpmarchive.h</a>.</p>
223 <h2 class="groupheader">Function Documentation</h2>
224 <a id="a17fec687c7f9799a9a4cf30166d6d4f5"></a>
225 <h2 class="memtitle"><span class="permalink"><a href="#a17fec687c7f9799a9a4cf30166d6d4f5">◆ </a></span>rpmfiArchiveClose()</h2>
227 <div class="memitem">
228 <div class="memproto">
229 <table class="memname">
231 <td class="memname">int rpmfiArchiveClose </td>
233 <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> </td>
234 <td class="paramname"><em>fi</em></td><td>)</td>
238 </div><div class="memdoc">
240 <p>Close payload archive. </p>
241 <dl class="params"><dt>Parameters</dt><dd>
242 <table class="params">
243 <tr><td class="paramname">fi</td><td>file info </td></tr>
247 <dl class="section return"><dt>Returns</dt><dd>> 0 on error </dd></dl>
251 <a id="a3314e7e6e896769c687cc2bffb7dc3a3"></a>
252 <h2 class="memtitle"><span class="permalink"><a href="#a3314e7e6e896769c687cc2bffb7dc3a3">◆ </a></span>rpmfiArchiveHasContent()</h2>
254 <div class="memitem">
255 <div class="memproto">
256 <table class="memname">
258 <td class="memname">int rpmfiArchiveHasContent </td>
260 <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> </td>
261 <td class="paramname"><em>fi</em></td><td>)</td>
265 </div><div class="memdoc">
267 <p>Has current file content stored in the archive. </p>
268 <dl class="params"><dt>Parameters</dt><dd>
269 <table class="params">
270 <tr><td class="paramname">fi</td><td>file info @ return 1 for regular files but 0 for hardlinks without content </td></tr>
277 <a id="a62518fef231e0c660339d1be5644d4aa"></a>
278 <h2 class="memtitle"><span class="permalink"><a href="#a62518fef231e0c660339d1be5644d4aa">◆ </a></span>rpmfiArchiveRead()</h2>
280 <div class="memitem">
281 <div class="memproto">
282 <table class="memname">
284 <td class="memname">size_t rpmfiArchiveRead </td>
286 <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> </td>
287 <td class="paramname"><em>fi</em>, </td>
290 <td class="paramkey"></td>
292 <td class="paramtype">void * </td>
293 <td class="paramname"><em>buf</em>, </td>
296 <td class="paramkey"></td>
298 <td class="paramtype">size_t </td>
299 <td class="paramname"><em>size</em> </td>
307 </div><div class="memdoc">
309 <p>Read content from current file in archive. </p>
310 <dl class="params"><dt>Parameters</dt><dd>
311 <table class="params">
312 <tr><td class="paramname">fi</td><td>file info </td></tr>
313 <tr><td class="paramname">buf</td><td>pointer to buffer </td></tr>
314 <tr><td class="paramname">size</td><td>number of bytes to read </td></tr>
318 <dl class="section return"><dt>Returns</dt><dd>bytes actually read </dd></dl>
322 <a id="a5bbc3d8756acdf9aad0d5f32f299f4c7"></a>
323 <h2 class="memtitle"><span class="permalink"><a href="#a5bbc3d8756acdf9aad0d5f32f299f4c7">◆ </a></span>rpmfiArchiveReadToFile()</h2>
325 <div class="memitem">
326 <div class="memproto">
327 <table class="memname">
329 <td class="memname">int rpmfiArchiveReadToFile </td>
331 <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> </td>
332 <td class="paramname"><em>fi</em>, </td>
335 <td class="paramkey"></td>
337 <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
338 <td class="paramname"><em>fd</em>, </td>
341 <td class="paramkey"></td>
343 <td class="paramtype">int </td>
344 <td class="paramname"><em>nodigest</em> </td>
352 </div><div class="memdoc">
354 <p>Write content from current file in archive to a file. </p>
355 <dl class="params"><dt>Parameters</dt><dd>
356 <table class="params">
357 <tr><td class="paramname">fi</td><td>file info </td></tr>
358 <tr><td class="paramname">fd</td><td>file descriptor of file to write to </td></tr>
359 <tr><td class="paramname">nodigest</td><td>omit checksum check if 1 </td></tr>
363 <dl class="section return"><dt>Returns</dt><dd>> 0 on error </dd></dl>
367 <a id="a57b18eecb94d619e5f157e45f7de39c3"></a>
368 <h2 class="memtitle"><span class="permalink"><a href="#a57b18eecb94d619e5f157e45f7de39c3">◆ </a></span>rpmfiArchiveTell()</h2>
370 <div class="memitem">
371 <div class="memproto">
372 <table class="memname">
374 <td class="memname"><a class="el" href="group__rpmtypes.html#gab9fe53f396a324ab4d4e07cad793f730">rpm_loff_t</a> rpmfiArchiveTell </td>
376 <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> </td>
377 <td class="paramname"><em>fi</em></td><td>)</td>
381 </div><div class="memdoc">
383 <p>Return current position in payload archive. </p>
384 <dl class="params"><dt>Parameters</dt><dd>
385 <table class="params">
386 <tr><td class="paramname">fi</td><td>file info </td></tr>
390 <dl class="section return"><dt>Returns</dt><dd>position </dd></dl>
394 <a id="a919a64bb2c37c967a8bd6a9cda3127d2"></a>
395 <h2 class="memtitle"><span class="permalink"><a href="#a919a64bb2c37c967a8bd6a9cda3127d2">◆ </a></span>rpmfiArchiveWrite()</h2>
397 <div class="memitem">
398 <div class="memproto">
399 <table class="memname">
401 <td class="memname">size_t rpmfiArchiveWrite </td>
403 <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> </td>
404 <td class="paramname"><em>fi</em>, </td>
407 <td class="paramkey"></td>
409 <td class="paramtype">const void * </td>
410 <td class="paramname"><em>buf</em>, </td>
413 <td class="paramkey"></td>
415 <td class="paramtype">size_t </td>
416 <td class="paramname"><em>size</em> </td>
424 </div><div class="memdoc">
426 <p>Write content into current file in archive. </p>
427 <dl class="params"><dt>Parameters</dt><dd>
428 <table class="params">
429 <tr><td class="paramname">fi</td><td>file info </td></tr>
430 <tr><td class="paramname">buf</td><td>pointer to content </td></tr>
431 <tr><td class="paramname">size</td><td>number of bytes to write </td></tr>
435 <dl class="section return"><dt>Returns</dt><dd>bytes actually written </dd></dl>
439 <a id="ab09c5554cadb97cff0839770ca0f8563"></a>
440 <h2 class="memtitle"><span class="permalink"><a href="#ab09c5554cadb97cff0839770ca0f8563">◆ </a></span>rpmfiArchiveWriteFile()</h2>
442 <div class="memitem">
443 <div class="memproto">
444 <table class="memname">
446 <td class="memname">int rpmfiArchiveWriteFile </td>
448 <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> </td>
449 <td class="paramname"><em>fi</em>, </td>
452 <td class="paramkey"></td>
454 <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
455 <td class="paramname"><em>fd</em> </td>
463 </div><div class="memdoc">
465 <p>Write content from given file into current file in archive. </p>
466 <dl class="params"><dt>Parameters</dt><dd>
467 <table class="params">
468 <tr><td class="paramname">fi</td><td>file info </td></tr>
469 <tr><td class="paramname">fd</td><td>file descriptor of file to read </td></tr>
473 <dl class="section return"><dt>Returns</dt><dd>> 0 on error </dd></dl>
477 <a id="a2f2dc41ad025b34ca25a2482f1d3ec12"></a>
478 <h2 class="memtitle"><span class="permalink"><a href="#a2f2dc41ad025b34ca25a2482f1d3ec12">◆ </a></span>rpmfileStrerror()</h2>
480 <div class="memitem">
481 <div class="memproto">
482 <table class="memname">
484 <td class="memname">char* rpmfileStrerror </td>
486 <td class="paramtype">int </td>
487 <td class="paramname"><em>rc</em></td><td>)</td>
491 </div><div class="memdoc">
493 <p>Return formatted error message on payload handling failure. </p>
494 <dl class="params"><dt>Parameters</dt><dd>
495 <table class="params">
496 <tr><td class="paramname">rc</td><td>error code </td></tr>
500 <dl class="section return"><dt>Returns</dt><dd>formatted error string (malloced) </dd></dl>
504 <a id="ad5a990d263046890fd331487beec1979"></a>
505 <h2 class="memtitle"><span class="permalink"><a href="#ad5a990d263046890fd331487beec1979">◆ </a></span>rpmfiNewArchiveReader()</h2>
507 <div class="memitem">
508 <div class="memproto">
509 <table class="memname">
511 <td class="memname"><a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> rpmfiNewArchiveReader </td>
513 <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
514 <td class="paramname"><em>fd</em>, </td>
517 <td class="paramkey"></td>
519 <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga3ab2e7f92cba58663bcb53c299c299d7">rpmfiles</a> </td>
520 <td class="paramname"><em>files</em>, </td>
523 <td class="paramkey"></td>
525 <td class="paramtype">int </td>
526 <td class="paramname"><em>itype</em> </td>
534 </div><div class="memdoc">
536 <p>Get new file iterator for looping over the archive content. </p>
537 <p>Returned rpmfi visites files in the order they are read from the payload. Content of the regular files can be retrieved with <a class="el" href="rpmarchive_8h.html#a62518fef231e0c660339d1be5644d4aa" title="Read content from current file in archive. ">rpmfiArchiveRead()</a> or <a class="el" href="rpmarchive_8h.html#a5bbc3d8756acdf9aad0d5f32f299f4c7" title="Write content from current file in archive to a file. ">rpmfiArchiveReadToFile()</a> when they are visited with <a class="el" href="group__rpmfi.html#gae165b1266f6927370169df4416b0a687" title="Return next file iterator index. ">rpmfiNext()</a>. <a class="el" href="group__rpmfi.html#ga962cd484abca49996c9f9dc3496c0ca4" title="Set current file index in file info set iterator. ">rpmfiSetFX()</a> is not supported for this type of iterator. </p><dl class="params"><dt>Parameters</dt><dd>
538 <table class="params">
539 <tr><td class="paramname">fd</td><td>file </td></tr>
540 <tr><td class="paramname">files</td><td>file info </td></tr>
541 <tr><td class="paramname">itype</td><td>how to handle hard links. See rpmFileIter. </td></tr>
545 <dl class="section return"><dt>Returns</dt><dd>new rpmfi </dd></dl>
549 <a id="aec42596ca3c621a669373f4d970feef9"></a>
550 <h2 class="memtitle"><span class="permalink"><a href="#aec42596ca3c621a669373f4d970feef9">◆ </a></span>rpmfiNewArchiveWriter()</h2>
552 <div class="memitem">
553 <div class="memproto">
554 <table class="memname">
556 <td class="memname"><a class="el" href="group__rpmtypes.html#ga145b1d5b839052f7f79903bc29f8090a">rpmfi</a> rpmfiNewArchiveWriter </td>
558 <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
559 <td class="paramname"><em>fd</em>, </td>
562 <td class="paramkey"></td>
564 <td class="paramtype"><a class="el" href="group__rpmtypes.html#ga3ab2e7f92cba58663bcb53c299c299d7">rpmfiles</a> </td>
565 <td class="paramname"><em>files</em> </td>
573 </div><div class="memdoc">
575 <p>Get new file iterator for writing the archive content. </p>
576 <p>The returned rpmfi will only visit the files needing some content. You need to provide the content using <a class="el" href="rpmarchive_8h.html#a919a64bb2c37c967a8bd6a9cda3127d2" title="Write content into current file in archive. ">rpmfiArchiveWrite()</a> or <a class="el" href="rpmarchive_8h.html#ab09c5554cadb97cff0839770ca0f8563" title="Write content from given file into current file in archive. ">rpmfiArchiveWriteFile()</a>. Make sure to close the rpmfi with <a class="el" href="rpmarchive_8h.html#a17fec687c7f9799a9a4cf30166d6d4f5" title="Close payload archive. ">rpmfiArchiveClose()</a> to get the trailer written. <a class="el" href="group__rpmfi.html#ga962cd484abca49996c9f9dc3496c0ca4" title="Set current file index in file info set iterator. ">rpmfiSetFX()</a> is not supported for this type of iterator. </p><dl class="params"><dt>Parameters</dt><dd>
577 <table class="params">
578 <tr><td class="paramname">fd</td><td>file </td></tr>
579 <tr><td class="paramname">files</td><td>file info </td></tr>
583 <dl class="section return"><dt>Returns</dt><dd>new rpmfi </dd></dl>
587 </div><!-- contents -->
588 <!-- start footer part -->
589 <hr class="footer"/><address class="footer"><small>
590 Generated by  <a href="http://www.doxygen.org/index.html">
591 <img class="footer" src="doxygen.png" alt="doxygen"/>