Sophie

Sophie

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

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.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.h File Reference</h1>A minimal main loop implementation based on the C library's poll() function.  
<a href="#_details">More...</a>
<p>

<p>
<a href="mainloop_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>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An opaque main loop object.  <a href="#adf8d428d3e2f00ed762017c7b587cc9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef int(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop_8h.html#be53a62e351d3f15f865fb20973b3ce1">pa_poll_func</a> )(struct pollfd *ufds, unsigned long nfds, int timeout, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic prototype of a poll() like function.  <a href="#be53a62e351d3f15f865fb20973b3ce1"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop_8h.html#d6c767781474275159c0a5f3f7e2ecb5">pa_mainloop_new</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate a new main loop object.  <a href="#d6c767781474275159c0a5f3f7e2ecb5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop_8h.html#6c6ea37ce2815640f7f1a133f845f8e7">pa_mainloop_free</a> (<a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *m)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free a main loop object.  <a href="#6c6ea37ce2815640f7f1a133f845f8e7"></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="mainloop_8h.html#217ce134af601c1c6ce77c41c99fc0d2">pa_mainloop_prepare</a> (<a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *m, int timeout)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepare for a single iteration of the main loop.  <a href="#217ce134af601c1c6ce77c41c99fc0d2"></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="mainloop_8h.html#9195049c1bd136be73ce0e628523a2df">pa_mainloop_poll</a> (<a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *m)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute the previously prepared poll.  <a href="#9195049c1bd136be73ce0e628523a2df"></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="mainloop_8h.html#bada884366e125a052bae5f6a4a7481e">pa_mainloop_dispatch</a> (<a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *m)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dispatch timeout, io and deferred events from the previously executed poll.  <a href="#bada884366e125a052bae5f6a4a7481e"></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="mainloop_8h.html#70065fd3ab808bde3892bf08a8c5f51b">pa_mainloop_get_retval</a> (<a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *m)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the return value as specified with the main loop's quit() routine.  <a href="#70065fd3ab808bde3892bf08a8c5f51b"></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="mainloop_8h.html#491422aebe5487800d8be0bf4153cb81">pa_mainloop_iterate</a> (<a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *m, int block, int *retval)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Run a single iteration of the main loop.  <a href="#491422aebe5487800d8be0bf4153cb81"></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="mainloop_8h.html#fbcd8f4eba09cdfd5323ac9db3718ae8">pa_mainloop_run</a> (<a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *m, int *retval)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Run unlimited iterations of the main loop object until the main loop's quit() routine is called.  <a href="#fbcd8f4eba09cdfd5323ac9db3718ae8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop_8h.html#9e5b510dabb4eb1a01645c4db65b9ddb">pa_mainloop_get_api</a> (<a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *m)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the abstract main loop abstraction layer vtable for this main loop.  <a href="#9e5b510dabb4eb1a01645c4db65b9ddb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop_8h.html#906bbc80037677a05a1dc73a33a30a44">pa_mainloop_quit</a> (<a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *m, int r)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shutdown the main loop.  <a href="#906bbc80037677a05a1dc73a33a30a44"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop_8h.html#2a81af2882e0c806308b20b97ca5473e">pa_mainloop_wakeup</a> (<a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *m)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Interrupt a running poll (for threaded systems).  <a href="#2a81af2882e0c806308b20b97ca5473e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop_8h.html#e51c490c29106c0c3b020020c6dc015d">pa_mainloop_set_poll_func</a> (<a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *m, <a class="el" href="mainloop_8h.html#be53a62e351d3f15f865fb20973b3ce1">pa_poll_func</a> poll_func, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the poll() implementation.  <a href="#e51c490c29106c0c3b020020c6dc015d"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A minimal main loop implementation based on the C library's poll() function. 
<p>
Using the routines defined herein you may create a simple main loop supporting the generic main loop abstraction layer as defined in <a class="el" href="mainloop-api_8h.html">mainloop-api.h</a>. This implementation is thread safe as long as you access the main loop object from a single thread only. <hr><h2>Typedef Documentation</h2>
<a class="anchor" name="adf8d428d3e2f00ed762017c7b587cc9"></a><!-- doxytag: member="mainloop.h::pa_mainloop" ref="adf8d428d3e2f00ed762017c7b587cc9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> <a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An opaque main loop object. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a91">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a43">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="be53a62e351d3f15f865fb20973b3ce1"></a><!-- doxytag: member="mainloop.h::pa_poll_func" ref="be53a62e351d3f15f865fb20973b3ce1" args=")(struct pollfd *ufds, unsigned long nfds, int timeout, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int(* <a class="el" href="mainloop_8h.html#be53a62e351d3f15f865fb20973b3ce1">pa_poll_func</a>)(struct pollfd *ufds, unsigned long nfds, int timeout, void *userdata)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generic prototype of a poll() like function. 
<p>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="bada884366e125a052bae5f6a4a7481e"></a><!-- doxytag: member="mainloop.h::pa_mainloop_dispatch" ref="bada884366e125a052bae5f6a4a7481e" args="(pa_mainloop *m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pa_mainloop_dispatch           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Dispatch timeout, io and deferred events from the previously executed poll. 
<p>
Returns a negative value on error. On success returns the number of source dispatched. 
</div>
</div><p>
<a class="anchor" name="6c6ea37ce2815640f7f1a133f845f8e7"></a><!-- doxytag: member="mainloop.h::pa_mainloop_free" ref="6c6ea37ce2815640f7f1a133f845f8e7" args="(pa_mainloop *m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pa_mainloop_free           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Free a main loop object. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a119">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a70">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="9e5b510dabb4eb1a01645c4db65b9ddb"></a><!-- doxytag: member="mainloop.h::pa_mainloop_get_api" ref="9e5b510dabb4eb1a01645c4db65b9ddb" args="(pa_mainloop *m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a>* pa_mainloop_get_api           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the abstract main loop abstraction layer vtable for this main loop. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a107">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a61">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="70065fd3ab808bde3892bf08a8c5f51b"></a><!-- doxytag: member="mainloop.h::pa_mainloop_get_retval" ref="70065fd3ab808bde3892bf08a8c5f51b" args="(pa_mainloop *m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pa_mainloop_get_retval           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the return value as specified with the main loop's quit() routine. 
<p>

</div>
</div><p>
<a class="anchor" name="491422aebe5487800d8be0bf4153cb81"></a><!-- doxytag: member="mainloop.h::pa_mainloop_iterate" ref="491422aebe5487800d8be0bf4153cb81" args="(pa_mainloop *m, int block, int *retval)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pa_mainloop_iterate           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>block</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>retval</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 a single iteration of the main loop. 
<p>
This is a convenience function for <a class="el" href="mainloop_8h.html#217ce134af601c1c6ce77c41c99fc0d2" title="Prepare for a single iteration of the main loop.">pa_mainloop_prepare()</a>, <a class="el" href="mainloop_8h.html#9195049c1bd136be73ce0e628523a2df" title="Execute the previously prepared poll.">pa_mainloop_poll()</a> and <a class="el" href="mainloop_8h.html#bada884366e125a052bae5f6a4a7481e" title="Dispatch timeout, io and deferred events from the previously executed poll.">pa_mainloop_dispatch()</a>. Returns a negative value on error or exit request. If block is nonzero, block for events if none are queued. Optionally return the return value as specified with the main loop's quit() routine in the integer variable retval points to. On success returns the number of sources dispatched in this iteration. 
</div>
</div><p>
<a class="anchor" name="d6c767781474275159c0a5f3f7e2ecb5"></a><!-- doxytag: member="mainloop.h::pa_mainloop_new" ref="d6c767781474275159c0a5f3f7e2ecb5" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a>* pa_mainloop_new           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Allocate a new main loop object. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a106">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a60">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="9195049c1bd136be73ce0e628523a2df"></a><!-- doxytag: member="mainloop.h::pa_mainloop_poll" ref="9195049c1bd136be73ce0e628523a2df" args="(pa_mainloop *m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pa_mainloop_poll           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Execute the previously prepared poll. 
<p>
Returns a negative value on error. 
</div>
</div><p>
<a class="anchor" name="217ce134af601c1c6ce77c41c99fc0d2"></a><!-- doxytag: member="mainloop.h::pa_mainloop_prepare" ref="217ce134af601c1c6ce77c41c99fc0d2" args="(pa_mainloop *m, int timeout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pa_mainloop_prepare           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>timeout</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Prepare for a single iteration of the main loop. 
<p>
Returns a negative value on error or exit request. timeout specifies a maximum timeout for the subsequent poll, or -1 for blocking behaviour. . 
</div>
</div><p>
<a class="anchor" name="906bbc80037677a05a1dc73a33a30a44"></a><!-- doxytag: member="mainloop.h::pa_mainloop_quit" ref="906bbc80037677a05a1dc73a33a30a44" args="(pa_mainloop *m, int r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pa_mainloop_quit           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>r</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Shutdown the main loop. 
<p>

</div>
</div><p>
<a class="anchor" name="fbcd8f4eba09cdfd5323ac9db3718ae8"></a><!-- doxytag: member="mainloop.h::pa_mainloop_run" ref="fbcd8f4eba09cdfd5323ac9db3718ae8" args="(pa_mainloop *m, int *retval)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pa_mainloop_run           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>retval</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 unlimited iterations of the main loop object until the main loop's quit() routine is called. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a115">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a67">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="e51c490c29106c0c3b020020c6dc015d"></a><!-- doxytag: member="mainloop.h::pa_mainloop_set_poll_func" ref="e51c490c29106c0c3b020020c6dc015d" args="(pa_mainloop *m, pa_poll_func poll_func, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pa_mainloop_set_poll_func           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mainloop_8h.html#be53a62e351d3f15f865fb20973b3ce1">pa_poll_func</a>&nbsp;</td>
          <td class="paramname"> <em>poll_func</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>
Change the poll() implementation. 
<p>

</div>
</div><p>
<a class="anchor" name="2a81af2882e0c806308b20b97ca5473e"></a><!-- doxytag: member="mainloop.h::pa_mainloop_wakeup" ref="2a81af2882e0c806308b20b97ca5473e" args="(pa_mainloop *m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pa_mainloop_wakeup           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mainloop_8h.html#adf8d428d3e2f00ed762017c7b587cc9">pa_mainloop</a> *&nbsp;</td>
          <td class="paramname"> <em>m</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Interrupt a running poll (for threaded systems). 
<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>