<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>rpm: build/buildio.h File Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <h1>build/buildio.h File Reference</h1>Routines to read and write packages. <a href="#_details">More...</a> <p> <code>#include "<a class="el" href="rpmbuild_8h-source.html">rpmbuild.h</a>"</code><br> <p> <a href="buildio_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Data Structures</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structcpioSourceArchive__s.html">cpioSourceArchive_s</a></td></tr> <tr><td colspan="2"><br><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structcpioSourceArchive__s.html">cpioSourceArchive_s</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="buildio_8h.html#85dd15e296cd81b7a17041f0f6376e74">CSA_t</a></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="buildio_8h.html#198555c528e6b384078bfc6af58ca7f8">readRPM</a> (const char *fileName, <a class="el" href="structSpec__s.html">Spec</a> *specp, struct <a class="el" href="structrpmlead.html">rpmlead</a> *lead, <a class="el" href="structheaderToken__s.html">Header</a> *sigs, <a class="el" href="structcpioSourceArchive__s.html">CSA_t</a> csa)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read rpm package components from file. <a href="#198555c528e6b384078bfc6af58ca7f8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="buildio_8h.html#7a0dde3839367e11edd9f35d9a62cf8c">writeRPM</a> (<a class="el" href="structheaderToken__s.html">Header</a> *hdrp, unsigned char **pkgidp, const char *fileName, int type, <a class="el" href="structcpioSourceArchive__s.html">CSA_t</a> csa, char *passPhrase, const char **cookie)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Write rpm package to file. <a href="#7a0dde3839367e11edd9f35d9a62cf8c"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Routines to read and write packages. <p> <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>this information will move elsewhere eventually. </dd></dl> <dl compact><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>Eliminate, merge into rpmlib. </dd></dl> <p> Definition in file <a class="el" href="buildio_8h-source.html">buildio.h</a>.<hr><h2>Typedef Documentation</h2> <a class="anchor" name="85dd15e296cd81b7a17041f0f6376e74"></a><!-- doxytag: member="buildio.h::CSA_t" ref="85dd15e296cd81b7a17041f0f6376e74" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structcpioSourceArchive__s.html">cpioSourceArchive_s</a> * <a class="el" href="structcpioSourceArchive__s.html">CSA_t</a> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Function Documentation</h2> <a class="anchor" name="198555c528e6b384078bfc6af58ca7f8"></a><!-- doxytag: member="buildio.h::readRPM" ref="198555c528e6b384078bfc6af58ca7f8" args="(const char *fileName, Spec *specp, struct rpmlead *lead, Header *sigs, CSA_t csa)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int readRPM </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>fileName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structSpec__s.html">Spec</a> * </td> <td class="paramname"> <em>specp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structrpmlead.html">rpmlead</a> * </td> <td class="paramname"> <em>lead</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structheaderToken__s.html">Header</a> * </td> <td class="paramname"> <em>sigs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structcpioSourceArchive__s.html">CSA_t</a> </td> <td class="paramname"> <em>csa</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Read rpm package components from file. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>fileName</em> </td><td>file name of package (or NULL to use stdin) </td></tr> </table> </dl> <dl compact><dt><b>Return values:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>specp</em> </td><td>spec structure to carry package header (or NULL) </td></tr> <tr><td valign="top"></td><td valign="top"><em>lead</em> </td><td>package lead </td></tr> <tr><td valign="top"></td><td valign="top"><em>sigs</em> </td><td>package signature </td></tr> </table> </dl> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>csa</em> </td><td></td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>0 on success </dd></dl> <p> Definition at line <a class="el" href="pack_8c-source.html#l00296">296</a> of file <a class="el" href="pack_8c-source.html">pack.c</a>. <p> References <a class="el" href="system_8h-source.html#l00478">_</a>, <a class="el" href="buildio_8h-source.html#l00017">cpioSourceArchive_s::cpioFdIn</a>, <a class="el" href="rpmio_8c-source.html#l02903">Fclose()</a>, <a class="el" href="rpmio_8c-source.html#l00237">fdDup()</a>, <a class="el" href="rpmio_8c-source.html#l03280">Ferror()</a>, <a class="el" href="rpmio_8c-source.html#l03187">Fopen()</a>, <a class="el" href="rpmio_8c-source.html#l02824">Fread()</a>, <a class="el" href="spec_8c-source.html#l00480">freeSpec()</a>, <a class="el" href="rpmio_8c-source.html#l02871">Fseek()</a>, <a class="el" href="rpmio_8c-source.html#l02813">Fstrerror()</a>, <a class="el" href="rpmspec_8h-source.html#l00179">Package_s::header</a>, <a class="el" href="hdrinline_8h-source.html#l00047">headerFree()</a>, <a class="el" href="spec_8c-source.html#l00109">newPackage()</a>, <a class="el" href="spec_8c-source.html#l00420">newSpec()</a>, <a class="el" href="rpmspec_8h-source.html#l00171">Spec_s::packages</a>, <a class="el" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b67df50f412e3691ea8aea2ee6b4e7e6b">RPMERR_BADMAGIC</a>, <a class="el" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b103b04252104c1dc0f89d485e0b2ad0e">RPMERR_FSEEK</a>, <a class="el" href="rpmerr_8h-source.html#l00143">rpmError</a>, <a class="el" href="rpmlib_8h.html#a30b10f32f3a5e820ec05d099993e8012e6125219f145fbb73353bc6ccac5cfc">RPMRC_FAIL</a>, <a class="el" href="rpmlib_8h-source.html#l00025">RPMRC_NOKEY</a>, <a class="el" href="rpmlib_8h.html#a30b10f32f3a5e820ec05d099993e80163a651497a21974d2993a25d9b60208d">RPMRC_NOTFOUND</a>, <a class="el" href="rpmlib_8h.html#a30b10f32f3a5e820ec05d099993e80157ae69ad74eaa789264ec507d0f9e2c6">RPMRC_NOTTRUSTED</a>, <a class="el" href="rpmlib_8h.html#a30b10f32f3a5e820ec05d099993e801b6a502fb02cfd2c16380fa6ac52902d4">RPMRC_OK</a>, <a class="el" href="package_8c-source.html#l00753">rpmReadPackageFile()</a>, <a class="el" href="rpmts_8c-source.html#l01534">rpmtsCreate()</a>, <a class="el" href="rpmts_8c-source.html#l00850">rpmtsFree()</a>, and <a class="el" href="system_8h-source.html#l00178">SEEK_SET</a>. <p> Referenced by <a class="el" href="rpminject_8c-source.html#l00440">rewriteRPM()</a>. </div> </div><p> <a class="anchor" name="7a0dde3839367e11edd9f35d9a62cf8c"></a><!-- doxytag: member="buildio.h::writeRPM" ref="7a0dde3839367e11edd9f35d9a62cf8c" args="(Header *hdrp, unsigned char **pkgidp, const char *fileName, int type, CSA_t csa, char *passPhrase, const char **cookie)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int writeRPM </td> <td>(</td> <td class="paramtype"><a class="el" href="structheaderToken__s.html">Header</a> * </td> <td class="paramname"> <em>hdrp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned char ** </td> <td class="paramname"> <em>pkgidp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>fileName</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structcpioSourceArchive__s.html">CSA_t</a> </td> <td class="paramname"> <em>csa</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>passPhrase</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char ** </td> <td class="paramname"> <em>cookie</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Write rpm package to file. <p> <dl compact><dt><b>Warning:</b></dt><dd>The first argument (header) is now passed by reference in order to return a reloaded contiguous header to the caller.</dd></dl> <dl compact><dt><b>Return values:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>*hdrp</em> </td><td>header to write (final header is returned). </td></tr> <tr><td valign="top"></td><td valign="top"><em>*pkgidp</em> </td><td>header+payload MD5 of package (NULL to disable). </td></tr> </table> </dl> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>fileName</em> </td><td>file name of package </td></tr> <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>RPMLEAD_SOURCE/RPMLEAD_BINARY </td></tr> <tr><td valign="top"></td><td valign="top"><em>csa</em> </td><td></td></tr> <tr><td valign="top"></td><td valign="top"><em>passPhrase</em> </td><td></td></tr> </table> </dl> <dl compact><dt><b>Return values:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>cookie</em> </td><td>generated cookie (i.e build host/time) </td></tr> </table> </dl> <dl compact><dt><b>Returns:</b></dt><dd>0 on success </dd></dl> <p> Definition at line <a class="el" href="pack_8c-source.html#l00420">420</a> of file <a class="el" href="pack_8c-source.html">pack.c</a>. <p> References <a class="el" href="system_8h-source.html#l00478">_</a>, <a class="el" href="rpmlib_8h-source.html#l00058">_free()</a>, <a class="el" href="rpmlib_8h-source.html#l01117">rpmlead::archnum</a>, <a class="el" href="names_8c-source.html#l00220">buildHost()</a>, <a class="el" href="pack_8c-source.html#l00106">cpio_copy()</a>, <a class="el" href="pack_8c-source.html#l00056">cpio_doio()</a>, <a class="el" href="buildio_8h-source.html#l00016">cpioSourceArchive_s::cpioArchiveSize</a>, <a class="el" href="buildio_8h-source.html#l00017">cpioSourceArchive_s::cpioFdIn</a>, <a class="el" href="buildio_8h-source.html#l00019">cpioSourceArchive_s::cpioList</a>, <a class="el" href="rpmio_8c-source.html#l02903">Fclose()</a>, <a class="el" href="rpmio__internal_8h-source.html#l00548">fdFiniDigest()</a>, <a class="el" href="rpmio__internal_8h-source.html#l00510">fdInitDigest()</a>, <a class="el" href="rpmio_8c-source.html#l03280">Ferror()</a>, <a class="el" href="rpmio_8c-source.html#l03260">Fflush()</a>, <a class="el" href="rpmio_8c-source.html#l03319">Fileno()</a>, <a class="el" href="rpmio_8c-source.html#l03187">Fopen()</a>, <a class="el" href="rpmio_8c-source.html#l02824">Fread()</a>, <a class="el" href="rpmio_8c-source.html#l02871">Fseek()</a>, <a class="el" href="rpmio_8c-source.html#l02813">Fstrerror()</a>, <a class="el" href="rpmio_8c-source.html#l02846">Fwrite()</a>, <a class="el" href="names_8c-source.html#l00208">getBuildTime()</a>, <a class="el" href="group__header.html#gg2572591faf5430cdf28aaf9f70d74fa4ebb6d0af72ae9d4c607e81796dafa472">HEADER_MAGIC_YES</a>, <a class="el" href="hdrinline_8h-source.html#l00315">headerAddEntry()</a>, <a class="el" href="hdrinline_8h-source.html#l00047">headerFree()</a>, <a class="el" href="hdrinline_8h-source.html#l00268">headerGetEntry()</a>, <a class="el" href="hdrinline_8h-source.html#l00290">headerGetEntryMinMemory()</a>, <a class="el" href="hdrinline_8h-source.html#l00062">headerLink()</a>, <a class="el" href="package_8c-source.html#l00098">headerMergeLegacySigs()</a>, <a class="el" href="hdrNVR_8c-source.html#l00009">headerNVR()</a>, <a class="el" href="hdrinline_8h-source.html#l00200">headerRead()</a>, <a class="el" href="hdrinline_8h-source.html#l00149">headerReload()</a>, <a class="el" href="hdrinline_8h-source.html#l00214">headerWrite()</a>, <a class="el" href="buildio_8h-source.html#l00021">cpioSourceArchive_s::lead</a>, <a class="el" href="lib_2misc_8c-source.html#l00122">makeTempFile()</a>, <a class="el" href="rpmlib_8h-source.html#l01119">rpmlead::osnum</a>, <a class="el" href="rpmpgp_8h.html#8d48cf9c33d66a07d2fee34b0875d54efadb8ed49f2346f83847d7ef8e0efe24">PGPHASHALGO_SHA1</a>, <a class="el" href="legacy_8c-source.html#l00452">providePackageNVR()</a>, <a class="el" href="group__header.html#gg24690e18a34d56e178edf27b5cc97fed96437c1222f63450e6ab8d693447d1bd">RPM_BIN_TYPE</a>, <a class="el" href="group__header.html#gg24690e18a34d56e178edf27b5cc97fed033cf2f10106384143d802ede9274dcc">RPM_INT32_TYPE</a>, <a class="el" href="group__header.html#gg24690e18a34d56e178edf27b5cc97fed34cdc667815b86f8741fbf06ce4725eb">RPM_STRING_TYPE</a>, <a class="el" href="signature_8c-source.html#l00805">rpmAddSignature()</a>, <a class="el" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b49331be2adfbbdcdfa22efee1f4d93e9">RPMERR_BADARG</a>, <a class="el" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b9b01898771a2a66dea57bc9a5aab7db7">RPMERR_CREATE</a>, <a class="el" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b103b04252104c1dc0f89d485e0b2ad0e">RPMERR_FSEEK</a>, <a class="el" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b9ec65e8ff63fd0c87f71cdf6bc8ed2cb">RPMERR_NOSPACE</a>, <a class="el" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55b06b49861cca231a3718d51179c8684da">RPMERR_READ</a>, <a class="el" href="rpmerr_8h.html#d00dd16161260fe872fdf140cd8af55ba35b796b2579c8d9b55fc72ce256a3e0">RPMERR_RELOAD</a>, <a class="el" href="rpmerr_8h-source.html#l00143">rpmError</a>, <a class="el" href="macro_8c-source.html#l02148">rpmExpand()</a>, <a class="el" href="signature_8c-source.html#l00385">rpmFreeSignature()</a>, <a class="el" href="rpmrc_8c-source.html#l01599">rpmGetArchInfo()</a>, <a class="el" href="rpmrc_8c-source.html#l01604">rpmGetOsInfo()</a>, <a class="el" href="rpmlib_8h-source.html#l01096">RPMLEAD_BINARY</a>, <a class="el" href="rpmlib_8h-source.html#l01097">RPMLEAD_SOURCE</a>, <a class="el" href="pack_8c-source.html#l00398">rpmLeadVersion()</a>, <a class="el" href="reqprov_8c-source.html#l00118">rpmlibNeedsFeature()</a>, <a class="el" href="signature_8h-source.html#l00082">RPMLOOKUPSIG_QUERY</a>, <a class="el" href="signature_8c-source.html#l00033">rpmLookupSignatureType()</a>, <a class="el" href="rpmmessages_8h-source.html#l00013">RPMMESS_NORMAL</a>, <a class="el" href="rpmmessages_8h-source.html#l00020">rpmMessage</a>, <a class="el" href="signature_8c-source.html#l00379">rpmNewSignature()</a>, <a class="el" href="rpmlib_8h.html#a30b10f32f3a5e820ec05d099993e801b6a502fb02cfd2c16380fa6ac52902d4">RPMRC_OK</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade5998404587b2537b1a0913f4bf84857b66">RPMSIGTAG_MD5</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade59c2542a062d446e7a5b5642feaac2c278">RPMSIGTAG_PAYLOADSIZE</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade591f0885c883cbf3c6a56b43378b2abb44">RPMSIGTAG_SHA1</a>, <a class="el" href="group__signature.html#gg42c7580fde696ff3b0f70bfb7bdade599ce79a6dc5f08f628da38c4f0ed8461f">RPMSIGTAG_SIZE</a>, <a class="el" href="signature_8h-source.html#l00015">RPMSIGTYPE_HEADERSIG</a>, <a class="el" href="rpmlib_8h.html#342756dddb61d125ae851a8b1ab0507b86ff788c46158c5caea21e340d390ae9">RPMTAG_ARCHIVESIZE</a>, <a class="el" href="rpmlib_8h.html#342756dddb61d125ae851a8b1ab0507ba1dbb68c610b969dbb5598bdf44a12c7">RPMTAG_COOKIE</a>, <a class="el" href="rpmlib_8h.html#342756dddb61d125ae851a8b1ab0507bbf199b0f74f4a4704e89b424c76ac4db">RPMTAG_HEADERIMMUTABLE</a>, <a class="el" href="rpmlib_8h.html#342756dddb61d125ae851a8b1ab0507b74c03e02289fb0348a35ff24e333e331">RPMTAG_HEADERSIGNATURES</a>, <a class="el" href="rpmlib_8h.html#342756dddb61d125ae851a8b1ab0507b2fb185e4da76f4495f79bae39a6fd90d">RPMTAG_PAYLOADCOMPRESSOR</a>, <a class="el" href="rpmlib_8h.html#342756dddb61d125ae851a8b1ab0507b26c70663a36a0cd4335d4cebb486ff7e">RPMTAG_PAYLOADFLAGS</a>, <a class="el" href="rpmlib_8h.html#342756dddb61d125ae851a8b1ab0507bd0bfa4d40066ab97e043a59d954ab444">RPMTAG_PAYLOADFORMAT</a>, <a class="el" href="signature_8c-source.html#l00357">rpmWriteSignature()</a>, <a class="el" href="system_8h-source.html#l00178">SEEK_SET</a>, <a class="el" href="tagname_8c-source.html#l00020">tagType()</a>, <a class="el" href="rpmrpc_8c-source.html#l00279">Unlink()</a>, <a class="el" href="rpmlead_8c-source.html#l00026">writeLead()</a>, and <a class="el" href="rpmmalloc_8c-source.html#l00055">xstrdup()</a>. <p> Referenced by <a class="el" href="pack_8c-source.html#l00755">packageBinaries()</a>, <a class="el" href="pack_8c-source.html#l00862">packageSources()</a>, and <a class="el" href="rpminject_8c-source.html#l00440">rewriteRPM()</a>. </div> </div><p> <hr size="1"><address style="align: right;"><small>Generated on 1 Oct 2013 for rpm by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>