</var>);</p>
<p class="Pp"><var class="Ar">archive</var> or <var class="Ar">error</var> are
    used for reporting errors and can be <code class="Dv">NULL</code>.</p>
<p class="Pp">When called by the library, the first argument is the
    <var class="Ar">source</var> of the lower layer, the second argument is the
    <var class="Ar">userdata</var> argument supplied to the function. The next
    two arguments are a buffer <var class="Ar">data</var> of size
    <var class="Ar">length</var> when data is passed