MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //usr/share/doc/alsa-lib-devel-1.0.17/lib64/html/group___output.html
<!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>ALSA project - the C library reference: Output Interface</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&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
    <li><a href="examples.html"><span>Examples</span></a></li>
  </ul></div>
<h1>Output Interface</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef _snd_output&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Internal structure for an output object.  <a href="#gfcb4f6ed600e8daf18d5d5d8623dda50"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="group___output.html#gf1e436ea0332e7ae066558dbc8f61f63">_snd_output_type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___output.html#gd49cee0904e0637025395cda0570d860">snd_output_type_t</a></td></tr>

<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___output.html#gf1e436ea0332e7ae066558dbc8f61f63">_snd_output_type</a> { <a class="el" href="group___output.html#ggf1e436ea0332e7ae066558dbc8f61f6365880c86bed586ab5f73951551b6272d">SND_OUTPUT_STDIO</a>, 
<a class="el" href="group___output.html#ggf1e436ea0332e7ae066558dbc8f61f632f339ba477f75c1e902f6107fbe07e40">SND_OUTPUT_BUFFER</a>
 }</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___output.html#gbf558d83a7304b82650834974e10d567">snd_output_stdio_open</a> (<a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> **outputp, const char *file, const char *mode)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new output object writing to a file.  <a href="#gbf558d83a7304b82650834974e10d567"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___output.html#gd1b14edb797b59365e84510138da7335">snd_output_stdio_attach</a> (<a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> **outputp, FILE *fp, int _close)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new output object using an existing stdio <code>FILE</code> pointer.  <a href="#gd1b14edb797b59365e84510138da7335"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___output.html#g78b2911bc9d310feac050cfa75cb443b">snd_output_buffer_open</a> (<a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> **outputp)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new output object with an auto-extending memory buffer.  <a href="#g78b2911bc9d310feac050cfa75cb443b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___output.html#g687ac092b592a296d7bcb666c5f996f6">snd_output_buffer_string</a> (<a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *output, char **buf)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the address of the buffer of a SND_OUTPUT_TYPE_BUFFER output handle.  <a href="#g687ac092b592a296d7bcb666c5f996f6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___output.html#g3d9dfabe397daf23cf51039e6480b149">snd_output_close</a> (<a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *output)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes an output handle.  <a href="#g3d9dfabe397daf23cf51039e6480b149"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___output.html#g998bfd1674cfb19b1104b9c6c7f6d27e">snd_output_printf</a> (<a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *output, const char *format,...)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes formatted output (like <code>fprintf(3)</code>) to an output handle.  <a href="#g998bfd1674cfb19b1104b9c6c7f6d27e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___output.html#gd668d8ff72fca33c904bb6f19d563fbc">snd_output_vprintf</a> (<a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *output, const char *format, va_list args)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes formatted output (like <code>fprintf(3)</code>) to an output handle.  <a href="#gd668d8ff72fca33c904bb6f19d563fbc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___output.html#g1db1433d3c0945cc61445719213c5f5d">snd_output_puts</a> (<a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *output, const char *str)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a string to an output handle (like <code>fputs(3)</code>).  <a href="#g1db1433d3c0945cc61445719213c5f5d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___output.html#g9d12963c0b133d5f6b39aae7d283d560">snd_output_putc</a> (<a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *output, int c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a character to an output handle (like <code>putc(3)</code>).  <a href="#g9d12963c0b133d5f6b39aae7d283d560"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___output.html#gf13183c1e09998628481df3c67db4a0a">snd_output_flush</a> (<a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *output)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes an output handle (like fflush(3)).  <a href="#gf13183c1e09998628481df3c67db4a0a"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The output functions present an interface similar to the stdio functions on top of different underlying output destinations.<p>
Many PCM debugging functions (<code>snd_pcm_xxx_dump_xxx</code>) use such an output handle to be able to write not only to the screen but also to other destinations, e.g. to files or to memory buffers. <hr><h2>Typedef Documentation</h2>
<a class="anchor" name="gfcb4f6ed600e8daf18d5d5d8623dda50"></a><!-- doxytag: member="output.h::snd_output_t" ref="gfcb4f6ed600e8daf18d5d5d8623dda50" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct _snd_output <a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Internal structure for an output object. 
<p>
The ALSA library uses a pointer to this structure as a handle to an output object. Applications don't access its contents directly. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2latency_8c-example.html#a2">/test/latency.c</a>, <a class="el" href="_2test_2pcm_8c-example.html#a60">/test/pcm.c</a>, and <a class="el" href="_2test_2pcm__min_8c-example.html#a120">/test/pcm_min.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gd49cee0904e0637025395cda0570d860"></a><!-- doxytag: member="output.h::snd_output_type_t" ref="gd49cee0904e0637025395cda0570d860" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="group___output.html#gf1e436ea0332e7ae066558dbc8f61f63">_snd_output_type</a>  <a class="el" href="group___output.html#gd49cee0904e0637025395cda0570d860">snd_output_type_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Output type. 
</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="gf1e436ea0332e7ae066558dbc8f61f63"></a><!-- doxytag: member="output.h::_snd_output_type" ref="gf1e436ea0332e7ae066558dbc8f61f63" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group___output.html#gf1e436ea0332e7ae066558dbc8f61f63">_snd_output_type</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Output type. <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ggf1e436ea0332e7ae066558dbc8f61f6365880c86bed586ab5f73951551b6272d"></a><!-- doxytag: member="SND_OUTPUT_STDIO" ref="ggf1e436ea0332e7ae066558dbc8f61f6365880c86bed586ab5f73951551b6272d" args="" -->SND_OUTPUT_STDIO</em>&nbsp;</td><td>
Output to a stdio stream. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="ggf1e436ea0332e7ae066558dbc8f61f632f339ba477f75c1e902f6107fbe07e40"></a><!-- doxytag: member="SND_OUTPUT_BUFFER" ref="ggf1e436ea0332e7ae066558dbc8f61f632f339ba477f75c1e902f6107fbe07e40" args="" -->SND_OUTPUT_BUFFER</em>&nbsp;</td><td>
Output to a memory buffer. </td></tr>
</table>
</dl>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g78b2911bc9d310feac050cfa75cb443b"></a><!-- doxytag: member="output.h::snd_output_buffer_open" ref="g78b2911bc9d310feac050cfa75cb443b" args="(snd_output_t **outputp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_output_buffer_open           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> **&nbsp;</td>
          <td class="paramname"> <em>outputp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a new output object with an auto-extending memory buffer. 
<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>outputp</em>&nbsp;</td><td>The function puts the pointer to the new output object at the address specified by <code>outputp</code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g687ac092b592a296d7bcb666c5f996f6"></a><!-- doxytag: member="output.h::snd_output_buffer_string" ref="g687ac092b592a296d7bcb666c5f996f6" args="(snd_output_t *output, char **buf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t snd_output_buffer_string           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *&nbsp;</td>
          <td class="paramname"> <em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&nbsp;</td>
          <td class="paramname"> <em>buf</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the address of the buffer of a SND_OUTPUT_TYPE_BUFFER output handle. 
<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>output</em>&nbsp;</td><td>The output handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>The functions puts the current address of the buffer at the address specified by <code>buf</code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The current size of valid data in the buffer.</dd></dl>
The address of the buffer may become invalid when output functions or <a class="el" href="group___output.html#g3d9dfabe397daf23cf51039e6480b149">snd_output_close</a> are called. 
</div>
</div><p>
<a class="anchor" name="g3d9dfabe397daf23cf51039e6480b149"></a><!-- doxytag: member="output.h::snd_output_close" ref="g3d9dfabe397daf23cf51039e6480b149" args="(snd_output_t *output)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_output_close           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *&nbsp;</td>
          <td class="paramname"> <em>output</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Closes an output handle. 
<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>output</em>&nbsp;</td><td>The output handle to be closed. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gf13183c1e09998628481df3c67db4a0a"></a><!-- doxytag: member="output.h::snd_output_flush" ref="gf13183c1e09998628481df3c67db4a0a" args="(snd_output_t *output)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_output_flush           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *&nbsp;</td>
          <td class="paramname"> <em>output</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Flushes an output handle (like fflush(3)). 
<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>output</em>&nbsp;</td><td>The output handle. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise <code>EOF</code>.</dd></dl>
If the underlying destination is a stdio stream, this function calls <code>fflush</code>. If the underlying destination is a memory buffer, the write position is reset to the beginning of the buffer. <code>=</code>:-o 
</div>
</div><p>
<a class="anchor" name="g998bfd1674cfb19b1104b9c6c7f6d27e"></a><!-- doxytag: member="output.h::snd_output_printf" ref="g998bfd1674cfb19b1104b9c6c7f6d27e" args="(snd_output_t *output, const char *format,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_output_printf           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *&nbsp;</td>
          <td class="paramname"> <em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&nbsp;</td>
          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Writes formatted output (like <code>fprintf(3)</code>) to an output handle. 
<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>output</em>&nbsp;</td><td>The output handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>Format string in <code>fprintf</code> format. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>...</em>&nbsp;</td><td>Other <code>fprintf</code> arguments. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The number of characters written, or a negative error code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g9d12963c0b133d5f6b39aae7d283d560"></a><!-- doxytag: member="output.h::snd_output_putc" ref="g9d12963c0b133d5f6b39aae7d283d560" args="(snd_output_t *output, int c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_output_putc           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *&nbsp;</td>
          <td class="paramname"> <em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>c</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Writes a character to an output handle (like <code>putc(3)</code>). 
<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>output</em>&nbsp;</td><td>The output handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>The character. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code or <code>EOF</code>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g1db1433d3c0945cc61445719213c5f5d"></a><!-- doxytag: member="output.h::snd_output_puts" ref="g1db1433d3c0945cc61445719213c5f5d" args="(snd_output_t *output, const char *str)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_output_puts           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *&nbsp;</td>
          <td class="paramname"> <em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>str</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Writes a string to an output handle (like <code>fputs(3)</code>). 
<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>output</em>&nbsp;</td><td>The output handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>Pointer to the string. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code or <code>EOF</code>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd1b14edb797b59365e84510138da7335"></a><!-- doxytag: member="output.h::snd_output_stdio_attach" ref="gd1b14edb797b59365e84510138da7335" args="(snd_output_t **outputp, FILE *fp, int _close)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_output_stdio_attach           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> **&nbsp;</td>
          <td class="paramname"> <em>outputp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&nbsp;</td>
          <td class="paramname"> <em>fp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>_close</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a new output object using an existing stdio <code>FILE</code> pointer. 
<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>outputp</em>&nbsp;</td><td>The function puts the pointer to the new output object at the address specified by <code>outputp</code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>fp</em>&nbsp;</td><td>The <code>FILE</code> pointer to write to. Characters are written to the file starting at the current file position. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>_close</em>&nbsp;</td><td>Close flag. Set this to 1 if <a class="el" href="group___output.html#g3d9dfabe397daf23cf51039e6480b149">snd_output_close</a> should close <code>fp</code> by calling <code>fclose</code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code. </dd></dl>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="_2test_2latency_8c-example.html#a42">/test/latency.c</a>, and <a class="el" href="_2test_2pcm_8c-example.html#a114">/test/pcm.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="gbf558d83a7304b82650834974e10d567"></a><!-- doxytag: member="output.h::snd_output_stdio_open" ref="gbf558d83a7304b82650834974e10d567" args="(snd_output_t **outputp, const char *file, const char *mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_output_stdio_open           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> **&nbsp;</td>
          <td class="paramname"> <em>outputp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a new output object writing to a 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>outputp</em>&nbsp;</td><td>The function puts the pointer to the new output object at the address specified by <code>outputp</code>. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The name of the file to open. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>The open mode, like <code>fopen(3)</code>. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Zero if successful, otherwise a negative error code. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gd668d8ff72fca33c904bb6f19d563fbc"></a><!-- doxytag: member="output.h::snd_output_vprintf" ref="gd668d8ff72fca33c904bb6f19d563fbc" args="(snd_output_t *output, const char *format, va_list args)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int snd_output_vprintf           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___output.html#gfcb4f6ed600e8daf18d5d5d8623dda50">snd_output_t</a> *&nbsp;</td>
          <td class="paramname"> <em>output</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&nbsp;</td>
          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Writes formatted output (like <code>fprintf(3)</code>) to an output handle. 
<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>output</em>&nbsp;</td><td>The output handle. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>Format string in <code>fprintf</code> format. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>args</em>&nbsp;</td><td>Other <code>fprintf</code> arguments. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The number of characters written, or a negative error code. </dd></dl>

</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Tue Jan 20 22:42:10 2009 for ALSA project - the C library reference by&nbsp;
<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>