 it needs/produces.  The function
<strong>must</strong> close these descriptors before it returns.  A descriptor
may be -1 if the caller did not configure a descriptor for that
direction.</p>
</li>
<li>
<p>data is the value that the caller has specified in the .data member
of struct async.</p>
</li>
<li>
<p>The return value of the function is 0 on success and non-zero
on failure. If the function indicates failure, finish_async() will
report failure as well.</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>