Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > 08b5e8cf61d8c64e26d6ffe964517d2d > files > 39

libisofs-devel-1.1.6-1.fc14.i686.rpm

<!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>libisofs: IsoStream_Iface Struct Reference</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">libisofs&#160;<span id="projectnumber">1.1.6</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 class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">IsoStream_Iface Struct Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="IsoStream_Iface" -->
<p>Interface definition for IsoStream methods.  
 <a href="struct_iso_stream___iface.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="libisofs_8h_source.html">libisofs.h</a>&gt;</code></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_iso_stream___iface.html#a1964e4b6d3510916b67cdf7f2641d33d">version</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_iso_stream___iface.html#a7144baec13f1b776a1601e92eb27a2f0">type</a> [4]</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of Stream.  <a href="#a7144baec13f1b776a1601e92eb27a2f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_iso_stream___iface.html#a562a48e4afbe5ef483b91269dccbe5c8">open</a> )(<a class="el" href="structiso__stream.html">IsoStream</a> *stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens the stream.  <a href="#a562a48e4afbe5ef483b91269dccbe5c8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_iso_stream___iface.html#ae8fc0acb01ab0548dde7857d3fe6b688">close</a> )(<a class="el" href="structiso__stream.html">IsoStream</a> *stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the Stream.  <a href="#ae8fc0acb01ab0548dde7857d3fe6b688"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">off_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_iso_stream___iface.html#adff1875862ceeb830379f7efa883d5c2">get_size</a> )(<a class="el" href="structiso__stream.html">IsoStream</a> *stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size (in bytes) of the stream.  <a href="#adff1875862ceeb830379f7efa883d5c2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_iso_stream___iface.html#a4ac07e4c3e28e6711c482f4047ae8376">read</a> )(<a class="el" href="structiso__stream.html">IsoStream</a> *stream, void *buf, size_t count)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to read up to count bytes from the given stream into the buffer starting at buf.  <a href="#a4ac07e4c3e28e6711c482f4047ae8376"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_iso_stream___iface.html#a363851d98c644eeaccadbad0dac92ed2">is_repeatable</a> )(<a class="el" href="structiso__stream.html">IsoStream</a> *stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Tell whether this IsoStream can be read several times, with the same results.  <a href="#a363851d98c644eeaccadbad0dac92ed2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_iso_stream___iface.html#af21abeeeb9923dd14a4536034c0e17e7">get_id</a> )(<a class="el" href="structiso__stream.html">IsoStream</a> *stream, unsigned int *fs_id, dev_t *dev_id, ino_t *ino_id)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an unique identifier for the IsoStream.  <a href="#af21abeeeb9923dd14a4536034c0e17e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_iso_stream___iface.html#a1f20b03133db801259e2816e5878814a">free</a> )(<a class="el" href="structiso__stream.html">IsoStream</a> *stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Free implementation specific data.  <a href="#a1f20b03133db801259e2816e5878814a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_iso_stream___iface.html#a941a39d97e5cdf967dff23c4b1f7d986">update_size</a> )(<a class="el" href="structiso__stream.html">IsoStream</a> *stream)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the size of the IsoStream with the current size of the underlying source, if the source is prone to size changes.  <a href="#a941a39d97e5cdf967dff23c4b1f7d986"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structiso__stream.html">IsoStream</a> *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_iso_stream___iface.html#a6c859a15ae3b498b344a19db2ddee7c4">get_input_stream</a> )(<a class="el" href="structiso__stream.html">IsoStream</a> *stream, int flag)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the eventual input stream of a filter stream.  <a href="#a6c859a15ae3b498b344a19db2ddee7c4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_iso_stream___iface.html#a0278b7a03d89e3dd8e0e04273dd20adc">cmp_ino</a> )(<a class="el" href="structiso__stream.html">IsoStream</a> *s1, <a class="el" href="structiso__stream.html">IsoStream</a> *s2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compare two streams whether they are based on the same input and will produce the same output.  <a href="#a0278b7a03d89e3dd8e0e04273dd20adc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_iso_stream___iface.html#a8e80eadc5d27dbd6f007030403f74d57">clone_stream</a> )(<a class="el" href="structiso__stream.html">IsoStream</a> *old_stream, <a class="el" href="structiso__stream.html">IsoStream</a> **new_stream, int flag)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Produce a copy of a stream.  <a href="#a8e80eadc5d27dbd6f007030403f74d57"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Interface definition for IsoStream methods. </p>
<p>It is public to allow implementation of own stream types. The methods defined here typically make use of stream.data which points to the individual state data of stream instances.</p>
<dl class="since"><dt><b>Since:</b></dt><dd>0.6.4 </dd></dl>

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l00960">960</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>
</div><hr/><h2>Field Documentation</h2>
<a class="anchor" id="a8e80eadc5d27dbd6f007030403f74d57"></a><!-- doxytag: member="IsoStream_Iface::clone_stream" ref="a8e80eadc5d27dbd6f007030403f74d57" args=")(IsoStream *old_stream, IsoStream **new_stream, int flag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="struct_iso_stream___iface.html#a8e80eadc5d27dbd6f007030403f74d57">IsoStream_Iface::clone_stream</a>)(<a class="el" href="structiso__stream.html">IsoStream</a> *old_stream, <a class="el" href="structiso__stream.html">IsoStream</a> **new_stream, int flag)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Produce a copy of a stream. </p>
<p>It must be possible to operate both stream objects concurrently.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">old_stream</td><td>The existing stream object to be copied </td></tr>
    <tr><td class="paramname">new_stream</td><td>Will return a pointer to the copy </td></tr>
    <tr><td class="paramname">flag</td><td>Bitfield for control purposes. 0 means normal behavior. The function shall return ISO_STREAM_NO_CLONE on unknown flag bits. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 in case of success, or an error code &lt; 0</dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>1.0.2 Present if .version is 4 or higher. </dd></dl>

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l01149">1149</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae8fc0acb01ab0548dde7857d3fe6b688"></a><!-- doxytag: member="IsoStream_Iface::close" ref="ae8fc0acb01ab0548dde7857d3fe6b688" args=")(IsoStream *stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="struct_iso_stream___iface.html#ae8fc0acb01ab0548dde7857d3fe6b688">IsoStream_Iface::close</a>)(<a class="el" href="structiso__stream.html">IsoStream</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Close the Stream. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, &lt; 0 on error (has to be a valid libisofs error code) </dd></dl>

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l01008">1008</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0278b7a03d89e3dd8e0e04273dd20adc"></a><!-- doxytag: member="IsoStream_Iface::cmp_ino" ref="a0278b7a03d89e3dd8e0e04273dd20adc" args=")(IsoStream *s1, IsoStream *s2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="struct_iso_stream___iface.html#a0278b7a03d89e3dd8e0e04273dd20adc">IsoStream_Iface::cmp_ino</a>)(<a class="el" href="structiso__stream.html">IsoStream</a> *s1, <a class="el" href="structiso__stream.html">IsoStream</a> *s2)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compare two streams whether they are based on the same input and will produce the same output. </p>
<p>If in any doubt, then this comparison should indicate no match. A match might allow hardlinking of IsoFile objects.</p>
<p>If this function cannot accept one of the given stream types, then the decision must be delegated to iso_stream_cmp_ino(s1, s2, 1); This is also appropriate if one has reason to implement stream.cmp_ino() without having an own special comparison algorithm.</p>
<p>With filter streams, the decision whether the underlying chains of streams match, should be delegated to iso_stream_cmp_ino(iso_stream_get_input_stream(s1, 0), iso_stream_get_input_stream(s2, 0), 0);</p>
<p>The stream.cmp_ino() function has to establish an equivalence and order relation: cmp_ino(A,A) == 0 cmp_ino(A,B) == -cmp_ino(B,A) if cmp_ino(A,B) == 0 &amp;&amp; cmp_ino(B,C) == 0 then cmp_ino(A,C) == 0 if cmp_ino(A,B) &lt; 0 &amp;&amp; cmp_ino(B,C) &lt; 0 then cmp_ino(A,C) &lt; 0</p>
<p>A big hazard to the last constraint are tests which do not apply to some types of streams.Thus it is mandatory to let iso_stream_cmp_ino(s1,s2,1) decide in this case.</p>
<p>A function s1.(*cmp_ino)() must only accept stream s2 if function s2.(*cmp_ino)() would accept s1. Best is to accept only the own stream type or to have the same function for a family of similar stream types.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">s1</td><td>The first stream to compare. Expect foreign stream types. </td></tr>
    <tr><td class="paramname">s2</td><td>The second stream to compare. Expect foreign stream types. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>-1 if s1 is smaller s2 , 0 if s1 matches s2 , 1 if s1 is larger s2</dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>0.6.20 Present if .version is 3 or higher. </dd></dl>

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l01130">1130</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1f20b03133db801259e2816e5878814a"></a><!-- doxytag: member="IsoStream_Iface::free" ref="a1f20b03133db801259e2816e5878814a" args=")(IsoStream *stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_iso_stream___iface.html#a1f20b03133db801259e2816e5878814a">IsoStream_Iface::free</a>)(<a class="el" href="structiso__stream.html">IsoStream</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free implementation specific data. </p>
<p>Should never be called by user. Use <a class="el" href="libisofs_8h.html#abd2327ea32881d11ba222d5a9665cda0" title="Decrement reference count of an IsoStream, and eventually free it if refcount reach 0...">iso_stream_unref()</a> instead. </p>

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l01054">1054</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>

</div>
</div>
<a class="anchor" id="af21abeeeb9923dd14a4536034c0e17e7"></a><!-- doxytag: member="IsoStream_Iface::get_id" ref="af21abeeeb9923dd14a4536034c0e17e7" args=")(IsoStream *stream, unsigned int *fs_id, dev_t *dev_id, ino_t *ino_id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* <a class="el" href="struct_iso_stream___iface.html#af21abeeeb9923dd14a4536034c0e17e7">IsoStream_Iface::get_id</a>)(<a class="el" href="structiso__stream.html">IsoStream</a> *stream, unsigned int *fs_id, dev_t *dev_id, ino_t *ino_id)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get an unique identifier for the IsoStream. </p>

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l01047">1047</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6c859a15ae3b498b344a19db2ddee7c4"></a><!-- doxytag: member="IsoStream_Iface::get_input_stream" ref="a6c859a15ae3b498b344a19db2ddee7c4" args=")(IsoStream *stream, int flag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structiso__stream.html">IsoStream</a>*(* <a class="el" href="struct_iso_stream___iface.html#a6c859a15ae3b498b344a19db2ddee7c4">IsoStream_Iface::get_input_stream</a>)(<a class="el" href="structiso__stream.html">IsoStream</a> *stream, int flag)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve the eventual input stream of a filter stream. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">stream</td><td>The eventual filter stream to be inquired. </td></tr>
    <tr><td class="paramname">flag</td><td>Bitfield for control purposes. 0 means normal behavior. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>The input stream, if one exists. Elsewise NULL. No extra reference to the stream shall be taken by this call.</dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>0.6.18 Present if .version is 2 or higher. </dd></dl>

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l01087">1087</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>

</div>
</div>
<a class="anchor" id="adff1875862ceeb830379f7efa883d5c2"></a><!-- doxytag: member="IsoStream_Iface::get_size" ref="adff1875862ceeb830379f7efa883d5c2" args=")(IsoStream *stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">off_t(* <a class="el" href="struct_iso_stream___iface.html#adff1875862ceeb830379f7efa883d5c2">IsoStream_Iface::get_size</a>)(<a class="el" href="structiso__stream.html">IsoStream</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the size (in bytes) of the stream. </p>
<p>This function should always return the same size, even if the underlying source size changes, unless you call <a class="el" href="struct_iso_stream___iface.html#a941a39d97e5cdf967dff23c4b1f7d986" title="Update the size of the IsoStream with the current size of the underlying source, if the source is pro...">update_size()</a> method. </p>

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l01015">1015</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>

</div>
</div>
<a class="anchor" id="a363851d98c644eeaccadbad0dac92ed2"></a><!-- doxytag: member="IsoStream_Iface::is_repeatable" ref="a363851d98c644eeaccadbad0dac92ed2" args=")(IsoStream *stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="struct_iso_stream___iface.html#a363851d98c644eeaccadbad0dac92ed2">IsoStream_Iface::is_repeatable</a>)(<a class="el" href="structiso__stream.html">IsoStream</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tell whether this IsoStream can be read several times, with the same results. </p>
<p>For example, a regular file is repeatable, you can read it as many times as you want. However, a pipe is not.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 if stream is repeatable, 0 if not, &lt; 0 on error (has to be a valid libisofs error code) </dd></dl>

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l01042">1042</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>

</div>
</div>
<a class="anchor" id="a562a48e4afbe5ef483b91269dccbe5c8"></a><!-- doxytag: member="IsoStream_Iface::open" ref="a562a48e4afbe5ef483b91269dccbe5c8" args=")(IsoStream *stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="struct_iso_stream___iface.html#a562a48e4afbe5ef483b91269dccbe5c8">IsoStream_Iface::open</a>)(<a class="el" href="structiso__stream.html">IsoStream</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens the stream. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 2 file greater than expected, 3 file smaller than expected, &lt; 0 on error (has to be a valid libisofs error code) </dd></dl>

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l01001">1001</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4ac07e4c3e28e6711c482f4047ae8376"></a><!-- doxytag: member="IsoStream_Iface::read" ref="a4ac07e4c3e28e6711c482f4047ae8376" args=")(IsoStream *stream, void *buf, size_t count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="struct_iso_stream___iface.html#a4ac07e4c3e28e6711c482f4047ae8376">IsoStream_Iface::read</a>)(<a class="el" href="structiso__stream.html">IsoStream</a> *stream, void *buf, size_t count)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Attempt to read up to count bytes from the given stream into the buffer starting at buf. </p>
<p>The implementation has to make sure that either the full desired count of bytes is delivered or that the next call to this function will return EOF or error. I.e. only the last read block may be shorter than parameter count.</p>
<p>The stream must be <a class="el" href="struct_iso_stream___iface.html#a562a48e4afbe5ef483b91269dccbe5c8" title="Opens the stream.">open()</a> before calling this, and <a class="el" href="struct_iso_stream___iface.html#ae8fc0acb01ab0548dde7857d3fe6b688" title="Close the Stream.">close()</a> when no more needed.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of bytes read, 0 if EOF, &lt; 0 on error (has to be a valid libisofs error code) </dd></dl>

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l01031">1031</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7144baec13f1b776a1601e92eb27a2f0"></a><!-- doxytag: member="IsoStream_Iface::type" ref="a7144baec13f1b776a1601e92eb27a2f0" args="[4]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char <a class="el" href="struct_iso_stream___iface.html#a7144baec13f1b776a1601e92eb27a2f0">IsoStream_Iface::type</a>[4]</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Type of Stream. </p>
<p>"fsrc" -&gt; Read from file source "cout" -&gt; Cut out interval from disk file "mem " -&gt; Read from memory "boot" -&gt; Boot catalog "extf" -&gt; External filter program "ziso" -&gt; zisofs compression "osiz" -&gt; zisofs uncompression "gzip" -&gt; gzip compression "pizg" -&gt; gzip uncompression (gunzip) "user" -&gt; User supplied stream </p>

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l00992">992</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>

</div>
</div>
<a class="anchor" id="a941a39d97e5cdf967dff23c4b1f7d986"></a><!-- doxytag: member="IsoStream_Iface::update_size" ref="a941a39d97e5cdf967dff23c4b1f7d986" args=")(IsoStream *stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int(* <a class="el" href="struct_iso_stream___iface.html#a941a39d97e5cdf967dff23c4b1f7d986">IsoStream_Iface::update_size</a>)(<a class="el" href="structiso__stream.html">IsoStream</a> *stream)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Update the size of the IsoStream with the current size of the underlying source, if the source is prone to size changes. </p>
<p>After calling this, <a class="el" href="struct_iso_stream___iface.html#adff1875862ceeb830379f7efa883d5c2" title="Get the size (in bytes) of the stream.">get_size()</a> shall eventually return the new size. This will never be called after <a class="el" href="libisofs_8h.html#a425f2040a2c069b2beb4ec831da7e788" title="Create a burn_source and a thread which immediately begins to generate the image.">iso_image_create_burn_source()</a> was called and before the image was completely written. (The API call to update the size of all files in the image is <a class="el" href="libisofs_8h.html#a0379193bedfbab811bd347c0a6081d53" title="Update the sizes of all files added to image.">iso_image_update_sizes()</a>).</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 if ok, &lt; 0 on error (has to be a valid libisofs error code)</dd></dl>
<dl class="since"><dt><b>Since:</b></dt><dd>0.6.8 Present if .version is 1 or higher. </dd></dl>

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l01071">1071</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1964e4b6d3510916b67cdf7f2641d33d"></a><!-- doxytag: member="IsoStream_Iface::version" ref="a1964e4b6d3510916b67cdf7f2641d33d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="struct_iso_stream___iface.html#a1964e4b6d3510916b67cdf7f2641d33d">IsoStream_Iface::version</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="libisofs_8h_source.html#l00977">977</a> of file <a class="el" href="libisofs_8h_source.html">libisofs.h</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>libisofs-1.1.6/libisofs/<a class="el" href="libisofs_8h_source.html">libisofs.h</a></li>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated for libisofs by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.7.4 </small></address>
</body>
</html>