<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>rpm: RPM IO API.</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">rpm
 <span id="projectnumber">4.14.2</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#files">Files</a> |
<a href="#typedef-members">Typedefs</a> </div>
<div class="headertitle">
<div class="title">RPM IO API.<div class="ingroups"><a class="el" href="group__io.html">I/O</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>The RPM IO API (Fd_t is RPM equivalent to libc's FILE).
<a href="#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for RPM IO API.:</div>
<div class="dyncontent">
<center><table><tr><td><img src="group__rpmio.png" border="0" alt="" usemap="#group____rpmio"/>
<map name="group____rpmio" id="group____rpmio">
<area shape="rect" id="node3" href="group__rpmfileutil.html" title="File and path manipulation helper functions. " alt="" coords="320,7,541,33"/>
<area shape="rect" id="node2" href="group__io.html" title="I/O" alt="" coords="5,7,45,33"/>
</map>
</td></tr></table></center>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:rpmio_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmio_8h.html">rpmio.h</a></td></tr>
<tr class="memdesc:rpmio_8h"><td class="mdescLeft"> </td><td class="mdescRight">RPM I/O API (Fd_t is RPM equivalent to libc's FILE) <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:rpmurl_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmurl_8h.html">rpmurl.h</a></td></tr>
<tr class="memdesc:rpmurl_8h"><td class="mdescLeft"> </td><td class="mdescRight">A couple utils for URL Manipulation. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:rpmmacro_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmmacro_8h.html">rpmmacro.h</a></td></tr>
<tr class="memdesc:rpmmacro_8h"><td class="mdescLeft"> </td><td class="mdescRight">Macro API. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:rpmlog_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmlog_8h.html">rpmlog.h</a></td></tr>
<tr class="memdesc:rpmlog_8h"><td class="mdescLeft"> </td><td class="mdescRight">Yet Another syslog(3) API clone. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:rpmsq_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmsq_8h.html">rpmsq.h</a></td></tr>
<tr class="memdesc:rpmsq_8h"><td class="mdescLeft"> </td><td class="mdescRight">Signal Queue API. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:rpmsw_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmsw_8h.html">rpmsw.h</a></td></tr>
<tr class="memdesc:rpmsw_8h"><td class="mdescLeft"> </td><td class="mdescRight">Statistics API. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:rpmfileutil_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmfileutil_8h.html">rpmfileutil.h</a></td></tr>
<tr class="memdesc:rpmfileutil_8h"><td class="mdescLeft"> </td><td class="mdescRight">File and path manipulation helper functions. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:rpmbase64_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="rpmbase64_8h.html">rpmbase64.h</a></td></tr>
<tr class="memdesc:rpmbase64_8h"><td class="mdescLeft"> </td><td class="mdescRight">Base64 encoding and decoding API. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga3bf6896de623239f57775852ca76d608"><td class="memItemLeft" align="right" valign="top">typedef const struct FDIO_s * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga3bf6896de623239f57775852ca76d608">FDIO_t</a></td></tr>
<tr class="separator:ga3bf6896de623239f57775852ca76d608"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
RPMIO Interface.</h2></td></tr>
<tr class="memitem:ga0ef7b73c1eec295cb5f873879b143423"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga0ef7b73c1eec295cb5f873879b143423">Fstrerror</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd)</td></tr>
<tr class="memdesc:ga0ef7b73c1eec295cb5f873879b143423"><td class="mdescLeft"> </td><td class="mdescRight">strerror(3) clone. <a href="#ga0ef7b73c1eec295cb5f873879b143423">More...</a><br /></td></tr>
<tr class="separator:ga0ef7b73c1eec295cb5f873879b143423"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga6ffa5f02696ee1110c5f6d44fba27665"><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga6ffa5f02696ee1110c5f6d44fba27665">Fread</a> (void *buf, size_t size, size_t nmemb, <a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd)</td></tr>
<tr class="memdesc:ga6ffa5f02696ee1110c5f6d44fba27665"><td class="mdescLeft"> </td><td class="mdescRight">Like fread(3) but with read(3)-style return values. <a href="#ga6ffa5f02696ee1110c5f6d44fba27665">More...</a><br /></td></tr>
<tr class="separator:ga6ffa5f02696ee1110c5f6d44fba27665"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga9392544d2ddda63fd9169a0c1d40609c"><td class="memItemLeft" align="right" valign="top">ssize_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga9392544d2ddda63fd9169a0c1d40609c">Fwrite</a> (const void *buf, size_t size, size_t nmemb, <a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd)</td></tr>
<tr class="memdesc:ga9392544d2ddda63fd9169a0c1d40609c"><td class="mdescLeft"> </td><td class="mdescRight">Like fwrite(3) but with write(3)-style return values. <a href="#ga9392544d2ddda63fd9169a0c1d40609c">More...</a><br /></td></tr>
<tr class="separator:ga9392544d2ddda63fd9169a0c1d40609c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga0ecf96e764fcadd2de9ee82765b42f20"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga0ecf96e764fcadd2de9ee82765b42f20">Fseek</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd, off_t offset, int whence)</td></tr>
<tr class="memdesc:ga0ecf96e764fcadd2de9ee82765b42f20"><td class="mdescLeft"> </td><td class="mdescRight">fseek(3) clone. <a href="#ga0ecf96e764fcadd2de9ee82765b42f20">More...</a><br /></td></tr>
<tr class="separator:ga0ecf96e764fcadd2de9ee82765b42f20"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga0f1a716321e753393ef36963a03e1143"><td class="memItemLeft" align="right" valign="top">off_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga0f1a716321e753393ef36963a03e1143">Ftell</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd)</td></tr>
<tr class="memdesc:ga0f1a716321e753393ef36963a03e1143"><td class="mdescLeft"> </td><td class="mdescRight">ftell(3) clone. <a href="#ga0f1a716321e753393ef36963a03e1143">More...</a><br /></td></tr>
<tr class="separator:ga0f1a716321e753393ef36963a03e1143"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7e40bd43f40fcfce2773851b922c7774"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga7e40bd43f40fcfce2773851b922c7774">Fclose</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd)</td></tr>
<tr class="memdesc:ga7e40bd43f40fcfce2773851b922c7774"><td class="mdescLeft"> </td><td class="mdescRight">fclose(3) clone. <a href="#ga7e40bd43f40fcfce2773851b922c7774">More...</a><br /></td></tr>
<tr class="separator:ga7e40bd43f40fcfce2773851b922c7774"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga179731508680532a4303c1220e7bdb2d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga179731508680532a4303c1220e7bdb2d">Fdopen</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> ofd, const char *fmode)</td></tr>
<tr class="separator:ga179731508680532a4303c1220e7bdb2d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga2eb611bd97d6d937d2296bcecd83ee31"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga2eb611bd97d6d937d2296bcecd83ee31">Fopen</a> (const char *path, const char *fmode)</td></tr>
<tr class="memdesc:ga2eb611bd97d6d937d2296bcecd83ee31"><td class="mdescLeft"> </td><td class="mdescRight">fopen(3) clone. <a href="#ga2eb611bd97d6d937d2296bcecd83ee31">More...</a><br /></td></tr>
<tr class="separator:ga2eb611bd97d6d937d2296bcecd83ee31"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga640e13034aae4bdaad1b2172f7456c85"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga640e13034aae4bdaad1b2172f7456c85">Fflush</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd)</td></tr>
<tr class="memdesc:ga640e13034aae4bdaad1b2172f7456c85"><td class="mdescLeft"> </td><td class="mdescRight">fflush(3) clone. <a href="#ga640e13034aae4bdaad1b2172f7456c85">More...</a><br /></td></tr>
<tr class="separator:ga640e13034aae4bdaad1b2172f7456c85"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga0f608c106ddef6245f5e9773a8e56b73"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga0f608c106ddef6245f5e9773a8e56b73">Ferror</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd)</td></tr>
<tr class="memdesc:ga0f608c106ddef6245f5e9773a8e56b73"><td class="mdescLeft"> </td><td class="mdescRight">ferror(3) clone. <a href="#ga0f608c106ddef6245f5e9773a8e56b73">More...</a><br /></td></tr>
<tr class="separator:ga0f608c106ddef6245f5e9773a8e56b73"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaca02cbbacaad7e321e419900030f4fbf"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#gaca02cbbacaad7e321e419900030f4fbf">Fileno</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd)</td></tr>
<tr class="memdesc:gaca02cbbacaad7e321e419900030f4fbf"><td class="mdescLeft"> </td><td class="mdescRight">fileno(3) clone. <a href="#gaca02cbbacaad7e321e419900030f4fbf">More...</a><br /></td></tr>
<tr class="separator:gaca02cbbacaad7e321e419900030f4fbf"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gabd3de311baaf40055369476303d53229"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#gabd3de311baaf40055369476303d53229">Fcntl</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd, int op, void *lip)</td></tr>
<tr class="memdesc:gabd3de311baaf40055369476303d53229"><td class="mdescLeft"> </td><td class="mdescRight">fcntl(2) clone. <a href="#gabd3de311baaf40055369476303d53229">More...</a><br /></td></tr>
<tr class="separator:gabd3de311baaf40055369476303d53229"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga029e7a5871d6160eff3dcd8507d7d4aa"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga029e7a5871d6160eff3dcd8507d7d4aa">Fdescr</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd)</td></tr>
<tr class="memdesc:ga029e7a5871d6160eff3dcd8507d7d4aa"><td class="mdescLeft"> </td><td class="mdescRight">Get informative description (eg file name) from fd for diagnostic output. <a href="#ga029e7a5871d6160eff3dcd8507d7d4aa">More...</a><br /></td></tr>
<tr class="separator:ga029e7a5871d6160eff3dcd8507d7d4aa"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
RPMIO Utilities.</h2></td></tr>
<tr class="memitem:ga3f29a6d794c5c4d3283466f388021181"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga3f29a6d794c5c4d3283466f388021181">fdOpX_e</a> { <br />
  <a class="el" href="group__rpmio.html#gga3f29a6d794c5c4d3283466f388021181a84d3d23af13a1d2041439b1fbb993f17">FDSTAT_READ</a> = 0,
<a class="el" href="group__rpmio.html#gga3f29a6d794c5c4d3283466f388021181a9593c6dfbeef1a48cd73037fccd950c3">FDSTAT_WRITE</a> = 1,
<a class="el" href="group__rpmio.html#gga3f29a6d794c5c4d3283466f388021181a7cf4151892b60e1cd9cfdafb13e7aa16">FDSTAT_SEEK</a> = 2,
<a class="el" href="group__rpmio.html#gga3f29a6d794c5c4d3283466f388021181ad51ed17b1e1a7a8d9156a3305a80ab9d">FDSTAT_CLOSE</a> = 3,
<br />
  <a class="el" href="group__rpmio.html#gga3f29a6d794c5c4d3283466f388021181af418a78e4290c0f2e2b0ab16abd2db4b">FDSTAT_DIGEST</a> = 4,
<a class="el" href="group__rpmio.html#gga3f29a6d794c5c4d3283466f388021181ad7618268f22e5f6c64ff883be9ec5bbd">FDSTAT_MAX</a> = 5
<br />
}</td></tr>
<tr class="memdesc:ga3f29a6d794c5c4d3283466f388021181"><td class="mdescLeft"> </td><td class="mdescRight">Identify per-desciptor I/O operation statistics. <a href="group__rpmio.html#ga3f29a6d794c5c4d3283466f388021181">More...</a><br /></td></tr>
<tr class="separator:ga3f29a6d794c5c4d3283466f388021181"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga5d436f6099e3276accca4ff9fdcf1ce6"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__rpmio.html#ga3f29a6d794c5c4d3283466f388021181">fdOpX_e</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga5d436f6099e3276accca4ff9fdcf1ce6">fdOpX</a></td></tr>
<tr class="memdesc:ga5d436f6099e3276accca4ff9fdcf1ce6"><td class="mdescLeft"> </td><td class="mdescRight">Identify per-desciptor I/O operation statistics. <a href="#ga5d436f6099e3276accca4ff9fdcf1ce6">More...</a><br /></td></tr>
<tr class="separator:ga5d436f6099e3276accca4ff9fdcf1ce6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga27c6332421e99f24d1105668529c9473"><td class="memItemLeft" align="right" valign="top">off_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga27c6332421e99f24d1105668529c9473">fdSize</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd)</td></tr>
<tr class="separator:ga27c6332421e99f24d1105668529c9473"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7fdbfe3ae72584240fb4c41364667ed6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga7fdbfe3ae72584240fb4c41364667ed6">fdDup</a> (int fdno)</td></tr>
<tr class="separator:ga7fdbfe3ae72584240fb4c41364667ed6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga32087127e036a01c8f6343d513b79c6e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga32087127e036a01c8f6343d513b79c6e">fdLink</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd)</td></tr>
<tr class="separator:ga32087127e036a01c8f6343d513b79c6e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7e6515faefba379d3c919c8cc6f0ee99"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga7e6515faefba379d3c919c8cc6f0ee99">fdFree</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd)</td></tr>
<tr class="separator:ga7e6515faefba379d3c919c8cc6f0ee99"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gae710ec9673ba71c33d750db27e300c3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__rpmsw.html#ga94f0970d0256edb3a66fbf260bbfec6f">rpmop</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#gae710ec9673ba71c33d750db27e300c3e">fdOp</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fd, <a class="el" href="group__rpmio.html#ga5d436f6099e3276accca4ff9fdcf1ce6">fdOpX</a> opx)</td></tr>
<tr class="separator:gae710ec9673ba71c33d750db27e300c3e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga1ee2645278d43d4d9e5a8761879ec674"><td class="memItemLeft" align="right" valign="top">off_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__rpmio.html#ga1ee2645278d43d4d9e5a8761879ec674">ufdCopy</a> (<a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> sfd, <a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> tfd)</td></tr>
<tr class="separator:ga1ee2645278d43d4d9e5a8761879ec674"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>The RPM IO API (Fd_t is RPM equivalent to libc's FILE). </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga3bf6896de623239f57775852ca76d608"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3bf6896de623239f57775852ca76d608">◆ </a></span>FDIO_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef const struct FDIO_s* <a class="el" href="group__rpmio.html#ga3bf6896de623239f57775852ca76d608">FDIO_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="rpmio_8h_source.html#l00025">25</a> of file <a class="el" href="rpmio_8h_source.html">rpmio.h</a>.</p>
</div>
</div>
<a id="ga5d436f6099e3276accca4ff9fdcf1ce6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5d436f6099e3276accca4ff9fdcf1ce6">◆ </a></span>fdOpX</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="group__rpmio.html#ga3f29a6d794c5c4d3283466f388021181">fdOpX_e</a> <a class="el" href="group__rpmio.html#ga5d436f6099e3276accca4ff9fdcf1ce6">fdOpX</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Identify per-desciptor I/O operation statistics. </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga3f29a6d794c5c4d3283466f388021181"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3f29a6d794c5c4d3283466f388021181">◆ </a></span>fdOpX_e</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__rpmio.html#ga3f29a6d794c5c4d3283466f388021181">fdOpX_e</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Identify per-desciptor I/O operation statistics. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga3f29a6d794c5c4d3283466f388021181a84d3d23af13a1d2041439b1fbb993f17"></a>FDSTAT_READ </td><td class="fielddoc"><p>Read statistics index. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga3f29a6d794c5c4d3283466f388021181a9593c6dfbeef1a48cd73037fccd950c3"></a>FDSTAT_WRITE </td><td class="fielddoc"><p>Write statistics index. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga3f29a6d794c5c4d3283466f388021181a7cf4151892b60e1cd9cfdafb13e7aa16"></a>FDSTAT_SEEK </td><td class="fielddoc"><p>Seek statistics index. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga3f29a6d794c5c4d3283466f388021181ad51ed17b1e1a7a8d9156a3305a80ab9d"></a>FDSTAT_CLOSE </td><td class="fielddoc"><p>Close statistics index </p>
</td></tr>
<tr><td class="fieldname"><a id="gga3f29a6d794c5c4d3283466f388021181af418a78e4290c0f2e2b0ab16abd2db4b"></a>FDSTAT_DIGEST </td><td class="fielddoc"><p>Digest statistics index. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga3f29a6d794c5c4d3283466f388021181ad7618268f22e5f6c64ff883be9ec5bbd"></a>FDSTAT_MAX </td><td class="fielddoc"></td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="rpmio_8h_source.html#l00125">125</a> of file <a class="el" href="rpmio_8h_source.html">rpmio.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga7e40bd43f40fcfce2773851b922c7774"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7e40bd43f40fcfce2773851b922c7774">◆ </a></span>Fclose()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int Fclose </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fclose(3) clone. </p>
</div>
</div>
<a id="gabd3de311baaf40055369476303d53229"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabd3de311baaf40055369476303d53229">◆ </a></span>Fcntl()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int Fcntl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>op</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void * </td>
<td class="paramname"><em>lip</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fcntl(2) clone. </p>
</div>
</div>
<a id="ga7fdbfe3ae72584240fb4c41364667ed6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7fdbfe3ae72584240fb4c41364667ed6">◆ </a></span>fdDup()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fdDup </td>
<td>(</td>
<td class="paramtype">int </td>
<td class="paramname"><em>fdno</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga029e7a5871d6160eff3dcd8507d7d4aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga029e7a5871d6160eff3dcd8507d7d4aa">◆ </a></span>Fdescr()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* Fdescr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get informative description (eg file name) from fd for diagnostic output. </p>
</div>
</div>
<a id="ga7e6515faefba379d3c919c8cc6f0ee99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7e6515faefba379d3c919c8cc6f0ee99">◆ </a></span>fdFree()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fdFree </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga32087127e036a01c8f6343d513b79c6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga32087127e036a01c8f6343d513b79c6e">◆ </a></span>fdLink()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> fdLink </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="gae710ec9673ba71c33d750db27e300c3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae710ec9673ba71c33d750db27e300c3e">◆ </a></span>fdOp()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__rpmsw.html#ga94f0970d0256edb3a66fbf260bbfec6f">rpmop</a> fdOp </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__rpmio.html#ga5d436f6099e3276accca4ff9fdcf1ce6">fdOpX</a> </td>
<td class="paramname"><em>opx</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga179731508680532a4303c1220e7bdb2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga179731508680532a4303c1220e7bdb2d">◆ </a></span>Fdopen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> Fdopen </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>ofd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>fmode</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga27c6332421e99f24d1105668529c9473"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga27c6332421e99f24d1105668529c9473">◆ </a></span>fdSize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">off_t fdSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga0f608c106ddef6245f5e9773a8e56b73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0f608c106ddef6245f5e9773a8e56b73">◆ </a></span>Ferror()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int Ferror </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>ferror(3) clone. </p>
</div>
</div>
<a id="ga640e13034aae4bdaad1b2172f7456c85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga640e13034aae4bdaad1b2172f7456c85">◆ </a></span>Fflush()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int Fflush </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fflush(3) clone. </p>
</div>
</div>
<a id="gaca02cbbacaad7e321e419900030f4fbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaca02cbbacaad7e321e419900030f4fbf">◆ </a></span>Fileno()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int Fileno </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fileno(3) clone. </p>
</div>
</div>
<a id="ga2eb611bd97d6d937d2296bcecd83ee31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2eb611bd97d6d937d2296bcecd83ee31">◆ </a></span>Fopen()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> Fopen </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>fmode</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fopen(3) clone. </p>
</div>
</div>
<a id="ga6ffa5f02696ee1110c5f6d44fba27665"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6ffa5f02696ee1110c5f6d44fba27665">◆ </a></span>Fread()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ssize_t Fread </td>
<td>(</td>
<td class="paramtype">void * </td>
<td class="paramname"><em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>nmemb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Like fread(3) but with read(3)-style return values. </p>
</div>
</div>
<a id="ga0ecf96e764fcadd2de9ee82765b42f20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0ecf96e764fcadd2de9ee82765b42f20">◆ </a></span>Fseek()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int Fseek </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">off_t </td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"><em>whence</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>fseek(3) clone. </p>
</div>
</div>
<a id="ga0ef7b73c1eec295cb5f873879b143423"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0ef7b73c1eec295cb5f873879b143423">◆ </a></span>Fstrerror()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* Fstrerror </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>strerror(3) clone. </p>
</div>
</div>
<a id="ga0f1a716321e753393ef36963a03e1143"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0f1a716321e753393ef36963a03e1143">◆ </a></span>Ftell()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">off_t Ftell </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>ftell(3) clone. </p>
</div>
</div>
<a id="ga9392544d2ddda63fd9169a0c1d40609c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9392544d2ddda63fd9169a0c1d40609c">◆ </a></span>Fwrite()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ssize_t Fwrite </td>
<td>(</td>
<td class="paramtype">const void * </td>
<td class="paramname"><em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t </td>
<td class="paramname"><em>nmemb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>fd</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Like fwrite(3) but with write(3)-style return values. </p>
</div>
</div>
<a id="ga1ee2645278d43d4d9e5a8761879ec674"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1ee2645278d43d4d9e5a8761879ec674">◆ </a></span>ufdCopy()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">off_t ufdCopy </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>sfd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__rpmtypes.html#ga078f4187c683508f3147e94397bab8d5">FD_t</a> </td>
<td class="paramname"><em>tfd</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>