Sophie

Sophie

distrib > Mandriva > 2009.1 > x86_64 > media > main-testing > by-pkgid > 187676b5433787923dfa2cdd6900c6cd > files > 126

lib64pulseaudio-devel-0.9.15-2.0.7mdv2009.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>PulseAudio: mainloop-api.h File 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.5.8 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>mainloop-api.h File Reference</h1>Main loop abstraction layer.  
<a href="#_details">More...</a>
<p>

<p>
<a href="mainloop-api_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An abstract mainloop API vtable.  <a href="structpa__mainloop__api.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-api_8h.html#02723ebcaea4464cd8d63845d4c2dd92">pa_mainloop_api</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An abstract mainloop API vtable.  <a href="#02723ebcaea4464cd8d63845d4c2dd92"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef enum <a class="el" href="mainloop-api_8h.html#6769e3c8a68703a81a68d5d72b32d1fa">pa_io_event_flags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-api_8h.html#01d415df4f23e46b20cd218678c4c9a7">pa_io_event_flags_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A bitmask for IO events.  <a href="#01d415df4f23e46b20cd218678c4c9a7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="mainloop-api_8h.html#e7acb1df28956a7761ee5488167840a3">pa_io_event</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-api_8h.html#e7acb1df28956a7761ee5488167840a3">pa_io_event</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An opaque IO event source object.  <a href="#e7acb1df28956a7761ee5488167840a3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-api_8h.html#6efed27d20bcdd5a83ca31633bbae024">pa_io_event_cb_t</a> )(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *ea, <a class="el" href="mainloop-api_8h.html#e7acb1df28956a7761ee5488167840a3">pa_io_event</a> *e, int fd, <a class="el" href="mainloop-api_8h.html#01d415df4f23e46b20cd218678c4c9a7">pa_io_event_flags_t</a> events, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An IO event callback protoype.  <a href="#6efed27d20bcdd5a83ca31633bbae024"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-api_8h.html#654d65737cc659a1613815c06d1ea5e4">pa_io_event_destroy_cb_t</a> )(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *a, <a class="el" href="mainloop-api_8h.html#e7acb1df28956a7761ee5488167840a3">pa_io_event</a> *e, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A IO event destroy callback prototype \ since 0.9.3.  <a href="#654d65737cc659a1613815c06d1ea5e4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="mainloop-api_8h.html#45b1a5f366caddb669789d5e69338f06">pa_time_event</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-api_8h.html#45b1a5f366caddb669789d5e69338f06">pa_time_event</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An opaque timer event source object.  <a href="#45b1a5f366caddb669789d5e69338f06"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-api_8h.html#2817e719415fe5aa267de4104b4e10bb">pa_time_event_cb_t</a> )(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *a, <a class="el" href="mainloop-api_8h.html#45b1a5f366caddb669789d5e69338f06">pa_time_event</a> *e, const struct timeval *tv, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A time event callback prototype.  <a href="#2817e719415fe5aa267de4104b4e10bb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-api_8h.html#622d07a5be8276ee0d5a82797cbaa570">pa_time_event_destroy_cb_t</a> )(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *a, <a class="el" href="mainloop-api_8h.html#45b1a5f366caddb669789d5e69338f06">pa_time_event</a> *e, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A time event destroy callback prototype \ since 0.9.3.  <a href="#622d07a5be8276ee0d5a82797cbaa570"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="mainloop-api_8h.html#545440c2c08074c93939cb1240a7d087">pa_defer_event</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-api_8h.html#545440c2c08074c93939cb1240a7d087">pa_defer_event</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An opaque deferred event source object.  <a href="#545440c2c08074c93939cb1240a7d087"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-api_8h.html#0b61fda082ff90b5a0f6e3478f8edb22">pa_defer_event_cb_t</a> )(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *a, <a class="el" href="mainloop-api_8h.html#545440c2c08074c93939cb1240a7d087">pa_defer_event</a> *e, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A defer event callback protoype.  <a href="#0b61fda082ff90b5a0f6e3478f8edb22"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-api_8h.html#e6fb5d67b08d48d219295dc84672cdb4">pa_defer_event_destroy_cb_t</a> )(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *a, <a class="el" href="mainloop-api_8h.html#545440c2c08074c93939cb1240a7d087">pa_defer_event</a> *e, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A defer event destroy callback prototype \ since 0.9.3.  <a href="#e6fb5d67b08d48d219295dc84672cdb4"></a><br></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="mainloop-api_8h.html#6769e3c8a68703a81a68d5d72b32d1fa">pa_io_event_flags</a> { <br>
&nbsp;&nbsp;<a class="el" href="mainloop-api_8h.html#6769e3c8a68703a81a68d5d72b32d1fa458d976392190c7626b4f789bf11b2ea">PA_IO_EVENT_NULL</a> =  0, 
<br>
&nbsp;&nbsp;<a class="el" href="mainloop-api_8h.html#6769e3c8a68703a81a68d5d72b32d1faba9fbd1e6cb3031098a2aaa144c78336">PA_IO_EVENT_INPUT</a> =  1, 
<br>
&nbsp;&nbsp;<a class="el" href="mainloop-api_8h.html#6769e3c8a68703a81a68d5d72b32d1fa3aff35dad0cd23ae3796b3141fee4dce">PA_IO_EVENT_OUTPUT</a> =  2, 
<br>
&nbsp;&nbsp;<a class="el" href="mainloop-api_8h.html#6769e3c8a68703a81a68d5d72b32d1fa9b6a006b1dc3894fd6bd8d5d99be5831">PA_IO_EVENT_HANGUP</a> =  4, 
<br>
&nbsp;&nbsp;<a class="el" href="mainloop-api_8h.html#6769e3c8a68703a81a68d5d72b32d1fa7e0f4c300b66f92e0c59a0d56326f488">PA_IO_EVENT_ERROR</a> =  8
<br>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A bitmask for IO events.  <a href="mainloop-api_8h.html#6769e3c8a68703a81a68d5d72b32d1fa">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-api_8h.html#0b38e33a821ac63ce99b4beb3f6313e8">pa_mainloop_api_once</a> (<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *m, void(*callback)(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *m, void *userdata), void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Run the specified callback function once from the main loop using an anonymous defer event.  <a href="#0b38e33a821ac63ce99b4beb3f6313e8"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Main loop abstraction layer. 
<p>
Both the PulseAudio core and the PulseAudio client library use a main loop abstraction layer. Due to this it is possible to embed PulseAudio into other applications easily. Two main loop implemenations are currently available: <ul>
<li>A minimal implementation based on the C library's poll() function (See <a class="el" href="mainloop_8h.html">mainloop.h</a>) </li>
<li>A wrapper around the GLIB main loop. Use this to embed PulseAudio into your GLIB/GTK+/GNOME programs (See <a class="el" href="glib-mainloop_8h.html">glib-mainloop.h</a>)</li>
</ul>
The structure <a class="el" href="structpa__mainloop__api.html" title="An abstract mainloop API vtable.">pa_mainloop_api</a> is used as vtable for the main loop abstraction.<p>
This mainloop abstraction layer has no direct support for UNIX signals. Generic, mainloop implementation agnostic support is available throught <a class="el" href="mainloop-signal_8h.html">mainloop-signal.h</a>. <hr><h2>Typedef Documentation</h2>
<a class="anchor" name="545440c2c08074c93939cb1240a7d087"></a><!-- doxytag: member="mainloop&#45;api.h::pa_defer_event" ref="545440c2c08074c93939cb1240a7d087" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="mainloop-api_8h.html#545440c2c08074c93939cb1240a7d087">pa_defer_event</a> <a class="el" href="mainloop-api_8h.html#545440c2c08074c93939cb1240a7d087">pa_defer_event</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An opaque deferred event source object. 
<p>
Events of this type are triggered once in every main loop iteration 
</div>
</div><p>
<a class="anchor" name="0b61fda082ff90b5a0f6e3478f8edb22"></a><!-- doxytag: member="mainloop&#45;api.h::pa_defer_event_cb_t" ref="0b61fda082ff90b5a0f6e3478f8edb22" args=")(pa_mainloop_api *a, pa_defer_event *e, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="mainloop-api_8h.html#0b61fda082ff90b5a0f6e3478f8edb22">pa_defer_event_cb_t</a>)(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *a, <a class="el" href="mainloop-api_8h.html#545440c2c08074c93939cb1240a7d087">pa_defer_event</a> *e, void *userdata)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A defer event callback protoype. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.9.3 </dd></dl>

</div>
</div><p>
<a class="anchor" name="e6fb5d67b08d48d219295dc84672cdb4"></a><!-- doxytag: member="mainloop&#45;api.h::pa_defer_event_destroy_cb_t" ref="e6fb5d67b08d48d219295dc84672cdb4" args=")(pa_mainloop_api *a, pa_defer_event *e, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="mainloop-api_8h.html#e6fb5d67b08d48d219295dc84672cdb4">pa_defer_event_destroy_cb_t</a>)(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *a, <a class="el" href="mainloop-api_8h.html#545440c2c08074c93939cb1240a7d087">pa_defer_event</a> *e, void *userdata)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A defer event destroy callback prototype \ since 0.9.3. 
<p>

</div>
</div><p>
<a class="anchor" name="e7acb1df28956a7761ee5488167840a3"></a><!-- doxytag: member="mainloop&#45;api.h::pa_io_event" ref="e7acb1df28956a7761ee5488167840a3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="mainloop-api_8h.html#e7acb1df28956a7761ee5488167840a3">pa_io_event</a> <a class="el" href="mainloop-api_8h.html#e7acb1df28956a7761ee5488167840a3">pa_io_event</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An opaque IO event source object. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a3">pacat.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="6efed27d20bcdd5a83ca31633bbae024"></a><!-- doxytag: member="mainloop&#45;api.h::pa_io_event_cb_t" ref="6efed27d20bcdd5a83ca31633bbae024" args=")(pa_mainloop_api *ea, pa_io_event *e, int fd, pa_io_event_flags_t events, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="mainloop-api_8h.html#6efed27d20bcdd5a83ca31633bbae024">pa_io_event_cb_t</a>)(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *ea, <a class="el" href="mainloop-api_8h.html#e7acb1df28956a7761ee5488167840a3">pa_io_event</a> *e, int fd, <a class="el" href="mainloop-api_8h.html#01d415df4f23e46b20cd218678c4c9a7">pa_io_event_flags_t</a> events, void *userdata)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An IO event callback protoype. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.9.3 </dd></dl>

</div>
</div><p>
<a class="anchor" name="654d65737cc659a1613815c06d1ea5e4"></a><!-- doxytag: member="mainloop&#45;api.h::pa_io_event_destroy_cb_t" ref="654d65737cc659a1613815c06d1ea5e4" args=")(pa_mainloop_api *a, pa_io_event *e, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="mainloop-api_8h.html#654d65737cc659a1613815c06d1ea5e4">pa_io_event_destroy_cb_t</a>)(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *a, <a class="el" href="mainloop-api_8h.html#e7acb1df28956a7761ee5488167840a3">pa_io_event</a> *e, void *userdata)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A IO event destroy callback prototype \ since 0.9.3. 
<p>

</div>
</div><p>
<a class="anchor" name="01d415df4f23e46b20cd218678c4c9a7"></a><!-- doxytag: member="mainloop&#45;api.h::pa_io_event_flags_t" ref="01d415df4f23e46b20cd218678c4c9a7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="mainloop-api_8h.html#6769e3c8a68703a81a68d5d72b32d1fa">pa_io_event_flags</a>  <a class="el" href="mainloop-api_8h.html#01d415df4f23e46b20cd218678c4c9a7">pa_io_event_flags_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A bitmask for IO events. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a75">pacat.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="02723ebcaea4464cd8d63845d4c2dd92"></a><!-- doxytag: member="mainloop&#45;api.h::pa_mainloop_api" ref="02723ebcaea4464cd8d63845d4c2dd92" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> <a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An abstract mainloop API vtable. 
<p>

</div>
</div><p>
<a class="anchor" name="45b1a5f366caddb669789d5e69338f06"></a><!-- doxytag: member="mainloop&#45;api.h::pa_time_event" ref="45b1a5f366caddb669789d5e69338f06" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="mainloop-api_8h.html#45b1a5f366caddb669789d5e69338f06">pa_time_event</a> <a class="el" href="mainloop-api_8h.html#45b1a5f366caddb669789d5e69338f06">pa_time_event</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An opaque timer event source object. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a87">pacat.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="2817e719415fe5aa267de4104b4e10bb"></a><!-- doxytag: member="mainloop&#45;api.h::pa_time_event_cb_t" ref="2817e719415fe5aa267de4104b4e10bb" args=")(pa_mainloop_api *a, pa_time_event *e, const struct timeval *tv, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="mainloop-api_8h.html#2817e719415fe5aa267de4104b4e10bb">pa_time_event_cb_t</a>)(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *a, <a class="el" href="mainloop-api_8h.html#45b1a5f366caddb669789d5e69338f06">pa_time_event</a> *e, const struct timeval *tv, void *userdata)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A time event callback prototype. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.9.3 </dd></dl>

</div>
</div><p>
<a class="anchor" name="622d07a5be8276ee0d5a82797cbaa570"></a><!-- doxytag: member="mainloop&#45;api.h::pa_time_event_destroy_cb_t" ref="622d07a5be8276ee0d5a82797cbaa570" args=")(pa_mainloop_api *a, pa_time_event *e, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="mainloop-api_8h.html#622d07a5be8276ee0d5a82797cbaa570">pa_time_event_destroy_cb_t</a>)(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *a, <a class="el" href="mainloop-api_8h.html#45b1a5f366caddb669789d5e69338f06">pa_time_event</a> *e, void *userdata)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A time event destroy callback prototype \ since 0.9.3. 
<p>

</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="6769e3c8a68703a81a68d5d72b32d1fa"></a><!-- doxytag: member="mainloop&#45;api.h::pa_io_event_flags" ref="6769e3c8a68703a81a68d5d72b32d1fa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="mainloop-api_8h.html#6769e3c8a68703a81a68d5d72b32d1fa">pa_io_event_flags</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A bitmask for IO events. 
<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="6769e3c8a68703a81a68d5d72b32d1fa458d976392190c7626b4f789bf11b2ea"></a><!-- doxytag: member="PA_IO_EVENT_NULL" ref="6769e3c8a68703a81a68d5d72b32d1fa458d976392190c7626b4f789bf11b2ea" args="" -->PA_IO_EVENT_NULL</em>&nbsp;</td><td>
No event. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="6769e3c8a68703a81a68d5d72b32d1faba9fbd1e6cb3031098a2aaa144c78336"></a><!-- doxytag: member="PA_IO_EVENT_INPUT" ref="6769e3c8a68703a81a68d5d72b32d1faba9fbd1e6cb3031098a2aaa144c78336" args="" -->PA_IO_EVENT_INPUT</em>&nbsp;</td><td>
Input event. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="6769e3c8a68703a81a68d5d72b32d1fa3aff35dad0cd23ae3796b3141fee4dce"></a><!-- doxytag: member="PA_IO_EVENT_OUTPUT" ref="6769e3c8a68703a81a68d5d72b32d1fa3aff35dad0cd23ae3796b3141fee4dce" args="" -->PA_IO_EVENT_OUTPUT</em>&nbsp;</td><td>
Output event. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="6769e3c8a68703a81a68d5d72b32d1fa9b6a006b1dc3894fd6bd8d5d99be5831"></a><!-- doxytag: member="PA_IO_EVENT_HANGUP" ref="6769e3c8a68703a81a68d5d72b32d1fa9b6a006b1dc3894fd6bd8d5d99be5831" args="" -->PA_IO_EVENT_HANGUP</em>&nbsp;</td><td>
Hangup event. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="6769e3c8a68703a81a68d5d72b32d1fa7e0f4c300b66f92e0c59a0d56326f488"></a><!-- doxytag: member="PA_IO_EVENT_ERROR" ref="6769e3c8a68703a81a68d5d72b32d1fa7e0f4c300b66f92e0c59a0d56326f488" args="" -->PA_IO_EVENT_ERROR</em>&nbsp;</td><td>
Error event. </td></tr>
</table>
</dl>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="0b38e33a821ac63ce99b4beb3f6313e8"></a><!-- doxytag: member="mainloop&#45;api.h::pa_mainloop_api_once" ref="0b38e33a821ac63ce99b4beb3f6313e8" args="(pa_mainloop_api *m, void(*callback)(pa_mainloop_api *m, void *userdata), void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pa_mainloop_api_once           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void(*)(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *m, void *userdata)&nbsp;</td>
          <td class="paramname"> <em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>userdata</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Run the specified callback function once from the main loop using an anonymous defer event. 
<p>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 04:18:20 2009 for PulseAudio by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>