<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.13"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>PulseAudio: mainloop-api.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">PulseAudio  <span id="projectnumber">10.0.0-1.1.mga6</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.13 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',false,false,'search.php','Search'); }); </script> <div id="main-nav"></div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('mainloop-api_8h_source.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">mainloop-api.h</div> </div> </div><!--header--> <div class="contents"> <a href="mainloop-api_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef foomainloopapihfoo</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#define foomainloopapihfoo</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">/***</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> This file is part of PulseAudio.</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"></span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> Copyright 2004-2006 Lennart Poettering</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"></span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> PulseAudio is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> it under the terms of the GNU Lesser General Public License as</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> published by the Free Software Foundation; either version 2.1 of the</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> License, or (at your option) any later version.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"></span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> PulseAudio is distributed in the hope that it will be useful, but</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> Lesser General Public License for more details.</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"></span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">***/</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <sys/time.h></span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <pulse/cdecl.h></span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <<a class="code" href="version_8h.html">pulse/version.h</a>></span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> PA_C_DECL_BEGIN</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#a02723ebcaea4464cd8d63845d4c2dd92"> 47</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a> <a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1fa"> 50</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1fa">pa_io_event_flags</a> {</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faa458d976392190c7626b4f789bf11b2ea"> 51</a></span>  <a class="code" href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faa458d976392190c7626b4f789bf11b2ea">PA_IO_EVENT_NULL</a> = 0, </div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faaba9fbd1e6cb3031098a2aaa144c78336"> 52</a></span>  <a class="code" href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faaba9fbd1e6cb3031098a2aaa144c78336">PA_IO_EVENT_INPUT</a> = 1, </div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faa3aff35dad0cd23ae3796b3141fee4dce"> 53</a></span>  <a class="code" href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faa3aff35dad0cd23ae3796b3141fee4dce">PA_IO_EVENT_OUTPUT</a> = 2, </div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faa9b6a006b1dc3894fd6bd8d5d99be5831"> 54</a></span>  <a class="code" href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faa9b6a006b1dc3894fd6bd8d5d99be5831">PA_IO_EVENT_HANGUP</a> = 4, </div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faa7e0f4c300b66f92e0c59a0d56326f488"> 55</a></span>  <a class="code" href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faa7e0f4c300b66f92e0c59a0d56326f488">PA_IO_EVENT_ERROR</a> = 8 </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> } <a class="code" href="mainloop-api_8h.html#a01d415df4f23e46b20cd218678c4c9a7">pa_io_event_flags_t</a>;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#ae7acb1df28956a7761ee5488167840a3"> 59</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="mainloop-api_8h.html#ae7acb1df28956a7761ee5488167840a3">pa_io_event</a> <a class="code" href="mainloop-api_8h.html#ae7acb1df28956a7761ee5488167840a3">pa_io_event</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#aa161990f9c5b782773f9dbe87b4cdb97"> 61</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="mainloop-api_8h.html#aa161990f9c5b782773f9dbe87b4cdb97">pa_io_event_cb_t</a>)(<a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a>*ea, <a class="code" href="mainloop-api_8h.html#ae7acb1df28956a7761ee5488167840a3">pa_io_event</a>* e, <span class="keywordtype">int</span> fd, <a class="code" href="mainloop-api_8h.html#a01d415df4f23e46b20cd218678c4c9a7">pa_io_event_flags_t</a> events, <span class="keywordtype">void</span> *userdata);</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#aa903bf03c8bd7e6c69ba4f7472e9e609"> 63</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="mainloop-api_8h.html#aa903bf03c8bd7e6c69ba4f7472e9e609">pa_io_event_destroy_cb_t</a>)(<a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a>*a, <a class="code" href="mainloop-api_8h.html#ae7acb1df28956a7761ee5488167840a3">pa_io_event</a> *e, <span class="keywordtype">void</span> *userdata);</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span> </div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#a45b1a5f366caddb669789d5e69338f06"> 66</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="mainloop-api_8h.html#a45b1a5f366caddb669789d5e69338f06">pa_time_event</a> <a class="code" href="mainloop-api_8h.html#a45b1a5f366caddb669789d5e69338f06">pa_time_event</a>;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#adbf3f332c476d00937c54d48ae1a0195"> 68</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="mainloop-api_8h.html#adbf3f332c476d00937c54d48ae1a0195">pa_time_event_cb_t</a>)(<a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a>*a, <a class="code" href="mainloop-api_8h.html#a45b1a5f366caddb669789d5e69338f06">pa_time_event</a>* e, <span class="keyword">const</span> <span class="keyword">struct </span>timeval *tv, <span class="keywordtype">void</span> *userdata);</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#a99ceae799eb6238e9163c13bf959a14b"> 70</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="mainloop-api_8h.html#a99ceae799eb6238e9163c13bf959a14b">pa_time_event_destroy_cb_t</a>)(<a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a>*a, <a class="code" href="mainloop-api_8h.html#a45b1a5f366caddb669789d5e69338f06">pa_time_event</a> *e, <span class="keywordtype">void</span> *userdata);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#a545440c2c08074c93939cb1240a7d087"> 73</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="mainloop-api_8h.html#a545440c2c08074c93939cb1240a7d087">pa_defer_event</a> <a class="code" href="mainloop-api_8h.html#a545440c2c08074c93939cb1240a7d087">pa_defer_event</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#a43efe1c689d3c135391a88344acc199a"> 75</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="mainloop-api_8h.html#a43efe1c689d3c135391a88344acc199a">pa_defer_event_cb_t</a>)(<a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a>*a, <a class="code" href="mainloop-api_8h.html#a545440c2c08074c93939cb1240a7d087">pa_defer_event</a>* e, <span class="keywordtype">void</span> *userdata);</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="mainloop-api_8h.html#a172bb54939aff91f71d1955a21267fb5"> 77</a></span> <span class="keyword">typedef</span> void (*<a class="code" href="mainloop-api_8h.html#a172bb54939aff91f71d1955a21267fb5">pa_defer_event_destroy_cb_t</a>)(<a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a>*a, <a class="code" href="mainloop-api_8h.html#a545440c2c08074c93939cb1240a7d087">pa_defer_event</a> *e, <span class="keywordtype">void</span> *userdata);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html"> 80</a></span> <span class="keyword">struct </span><a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a> {</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#a83546677d6c10792e98221996599c835"> 82</a></span>  <span class="keywordtype">void</span> *<a class="code" href="structpa__mainloop__api.html#a83546677d6c10792e98221996599c835">userdata</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#ae297673ff6a6daeda0696ecbc557da35"> 85</a></span>  <a class="code" href="mainloop-api_8h.html#ae7acb1df28956a7761ee5488167840a3">pa_io_event</a>* (*io_new)(<a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a>*a, <span class="keywordtype">int</span> fd, <a class="code" href="mainloop-api_8h.html#a01d415df4f23e46b20cd218678c4c9a7">pa_io_event_flags_t</a> events, <a class="code" href="mainloop-api_8h.html#aa161990f9c5b782773f9dbe87b4cdb97">pa_io_event_cb_t</a> cb, <span class="keywordtype">void</span> *<a class="code" href="structpa__mainloop__api.html#a83546677d6c10792e98221996599c835">userdata</a>);</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#a6fdab9eda6603ba4d9e4361d391244ad"> 87</a></span>  void (*<a class="code" href="structpa__mainloop__api.html#a6fdab9eda6603ba4d9e4361d391244ad">io_enable</a>)(<a class="code" href="mainloop-api_8h.html#ae7acb1df28956a7761ee5488167840a3">pa_io_event</a>* e, <a class="code" href="mainloop-api_8h.html#a01d415df4f23e46b20cd218678c4c9a7">pa_io_event_flags_t</a> events);</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#ae37c64fb3ec7bf4aff307ec931f89de7"> 89</a></span>  void (*<a class="code" href="structpa__mainloop__api.html#ae37c64fb3ec7bf4aff307ec931f89de7">io_free</a>)(<a class="code" href="mainloop-api_8h.html#ae7acb1df28956a7761ee5488167840a3">pa_io_event</a>* e);</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#a3150861ed222d81e4ebf94ea2b65c4bd"> 91</a></span>  void (*<a class="code" href="structpa__mainloop__api.html#a3150861ed222d81e4ebf94ea2b65c4bd">io_set_destroy</a>)(<a class="code" href="mainloop-api_8h.html#ae7acb1df28956a7761ee5488167840a3">pa_io_event</a> *e, <a class="code" href="mainloop-api_8h.html#aa903bf03c8bd7e6c69ba4f7472e9e609">pa_io_event_destroy_cb_t</a> cb);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#ae401937d1b45050230544de22143859d"> 94</a></span>  <a class="code" href="mainloop-api_8h.html#a45b1a5f366caddb669789d5e69338f06">pa_time_event</a>* (*time_new)(<a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a>*a, <span class="keyword">const</span> <span class="keyword">struct </span>timeval *tv, <a class="code" href="mainloop-api_8h.html#adbf3f332c476d00937c54d48ae1a0195">pa_time_event_cb_t</a> cb, <span class="keywordtype">void</span> *<a class="code" href="structpa__mainloop__api.html#a83546677d6c10792e98221996599c835">userdata</a>);</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#a6b2b99fe2a56661a9f40bef85cd84246"> 96</a></span>  void (*<a class="code" href="structpa__mainloop__api.html#a6b2b99fe2a56661a9f40bef85cd84246">time_restart</a>)(<a class="code" href="mainloop-api_8h.html#a45b1a5f366caddb669789d5e69338f06">pa_time_event</a>* e, <span class="keyword">const</span> <span class="keyword">struct </span>timeval *tv);</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#adc7b85dea57b2a25367299673924fc57"> 98</a></span>  void (*<a class="code" href="structpa__mainloop__api.html#adc7b85dea57b2a25367299673924fc57">time_free</a>)(<a class="code" href="mainloop-api_8h.html#a45b1a5f366caddb669789d5e69338f06">pa_time_event</a>* e);</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#aafe6f116c6a48eebd4fe36dc108f625b"> 100</a></span>  void (*<a class="code" href="structpa__mainloop__api.html#aafe6f116c6a48eebd4fe36dc108f625b">time_set_destroy</a>)(<a class="code" href="mainloop-api_8h.html#a45b1a5f366caddb669789d5e69338f06">pa_time_event</a> *e, <a class="code" href="mainloop-api_8h.html#a99ceae799eb6238e9163c13bf959a14b">pa_time_event_destroy_cb_t</a> cb);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#aca489cf5ee2b2a98aab92915c3becbd3"> 103</a></span>  <a class="code" href="mainloop-api_8h.html#a545440c2c08074c93939cb1240a7d087">pa_defer_event</a>* (*defer_new)(<a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a>*a, <a class="code" href="mainloop-api_8h.html#a43efe1c689d3c135391a88344acc199a">pa_defer_event_cb_t</a> cb, <span class="keywordtype">void</span> *<a class="code" href="structpa__mainloop__api.html#a83546677d6c10792e98221996599c835">userdata</a>);</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#a9d67558b4a3a3568463fbf5c8746115d"> 105</a></span>  void (*<a class="code" href="structpa__mainloop__api.html#a9d67558b4a3a3568463fbf5c8746115d">defer_enable</a>)(<a class="code" href="mainloop-api_8h.html#a545440c2c08074c93939cb1240a7d087">pa_defer_event</a>* e, <span class="keywordtype">int</span> b);</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#aaf2e1c09a56da8a8f57fb3e4f46ba08a"> 107</a></span>  void (*<a class="code" href="structpa__mainloop__api.html#aaf2e1c09a56da8a8f57fb3e4f46ba08a">defer_free</a>)(<a class="code" href="mainloop-api_8h.html#a545440c2c08074c93939cb1240a7d087">pa_defer_event</a>* e);</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#abaa23a89beec8676ab94100d4158d25e"> 109</a></span>  void (*<a class="code" href="structpa__mainloop__api.html#abaa23a89beec8676ab94100d4158d25e">defer_set_destroy</a>)(<a class="code" href="mainloop-api_8h.html#a545440c2c08074c93939cb1240a7d087">pa_defer_event</a> *e, <a class="code" href="mainloop-api_8h.html#a172bb54939aff91f71d1955a21267fb5">pa_defer_event_destroy_cb_t</a> cb);</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structpa__mainloop__api.html#afd448a68ad05d790ba08f216e3e6cf75"> 112</a></span>  void (*<a class="code" href="structpa__mainloop__api.html#afd448a68ad05d790ba08f216e3e6cf75">quit</a>)(<a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a>*a, <span class="keywordtype">int</span> retval);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> };</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">void</span> <a class="code" href="mainloop-api_8h.html#a0b38e33a821ac63ce99b4beb3f6313e8">pa_mainloop_api_once</a>(<a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a>*m, <span class="keywordtype">void</span> (*callback)(<a class="code" href="structpa__mainloop__api.html">pa_mainloop_api</a>*m, <span class="keywordtype">void</span> *<a class="code" href="structpa__mainloop__api.html#a83546677d6c10792e98221996599c835">userdata</a>), <span class="keywordtype">void</span> *userdata);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> PA_C_DECL_END</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor">#endif</span></div><div class="ttc" id="structpa__mainloop__api_html_a6b2b99fe2a56661a9f40bef85cd84246"><div class="ttname"><a href="structpa__mainloop__api.html#a6b2b99fe2a56661a9f40bef85cd84246">pa_mainloop_api::time_restart</a></div><div class="ttdeci">void(* time_restart)(pa_time_event *e, const struct timeval *tv)</div><div class="ttdoc">Restart a running or expired timer event source with a new Unix time. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:96</div></div> <div class="ttc" id="structpa__mainloop__api_html_a3150861ed222d81e4ebf94ea2b65c4bd"><div class="ttname"><a href="structpa__mainloop__api.html#a3150861ed222d81e4ebf94ea2b65c4bd">pa_mainloop_api::io_set_destroy</a></div><div class="ttdeci">void(* io_set_destroy)(pa_io_event *e, pa_io_event_destroy_cb_t cb)</div><div class="ttdoc">Set a function that is called when the IO event source is destroyed. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:91</div></div> <div class="ttc" id="structpa__mainloop__api_html"><div class="ttname"><a href="structpa__mainloop__api.html">pa_mainloop_api</a></div><div class="ttdoc">An abstract mainloop API vtable. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:80</div></div> <div class="ttc" id="mainloop-api_8h_html_a43efe1c689d3c135391a88344acc199a"><div class="ttname"><a href="mainloop-api_8h.html#a43efe1c689d3c135391a88344acc199a">pa_defer_event_cb_t</a></div><div class="ttdeci">void(* pa_defer_event_cb_t)(pa_mainloop_api *a, pa_defer_event *e, void *userdata)</div><div class="ttdoc">A defer event callback prototype. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:75</div></div> <div class="ttc" id="structpa__mainloop__api_html_a83546677d6c10792e98221996599c835"><div class="ttname"><a href="structpa__mainloop__api.html#a83546677d6c10792e98221996599c835">pa_mainloop_api::userdata</a></div><div class="ttdeci">void * userdata</div><div class="ttdoc">A pointer to some private, arbitrary data of the main loop implementation. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:82</div></div> <div class="ttc" id="mainloop-api_8h_html_adbf3f332c476d00937c54d48ae1a0195"><div class="ttname"><a href="mainloop-api_8h.html#adbf3f332c476d00937c54d48ae1a0195">pa_time_event_cb_t</a></div><div class="ttdeci">void(* pa_time_event_cb_t)(pa_mainloop_api *a, pa_time_event *e, const struct timeval *tv, void *userdata)</div><div class="ttdoc">A time event callback prototype. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:68</div></div> <div class="ttc" id="mainloop-api_8h_html_a99ceae799eb6238e9163c13bf959a14b"><div class="ttname"><a href="mainloop-api_8h.html#a99ceae799eb6238e9163c13bf959a14b">pa_time_event_destroy_cb_t</a></div><div class="ttdeci">void(* pa_time_event_destroy_cb_t)(pa_mainloop_api *a, pa_time_event *e, void *userdata)</div><div class="ttdoc">A time event destroy callback prototype. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:70</div></div> <div class="ttc" id="mainloop-api_8h_html_a6769e3c8a68703a81a68d5d72b32d1faa458d976392190c7626b4f789bf11b2ea"><div class="ttname"><a href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faa458d976392190c7626b4f789bf11b2ea">PA_IO_EVENT_NULL</a></div><div class="ttdoc">No event. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:51</div></div> <div class="ttc" id="mainloop-api_8h_html_a0b38e33a821ac63ce99b4beb3f6313e8"><div class="ttname"><a href="mainloop-api_8h.html#a0b38e33a821ac63ce99b4beb3f6313e8">pa_mainloop_api_once</a></div><div class="ttdeci">void pa_mainloop_api_once(pa_mainloop_api *m, void(*callback)(pa_mainloop_api *m, void *userdata), void *userdata)</div><div class="ttdoc">Run the specified callback function once from the main loop using an anonymous defer event...</div></div> <div class="ttc" id="mainloop-api_8h_html_ae7acb1df28956a7761ee5488167840a3"><div class="ttname"><a href="mainloop-api_8h.html#ae7acb1df28956a7761ee5488167840a3">pa_io_event</a></div><div class="ttdeci">struct pa_io_event pa_io_event</div><div class="ttdoc">An opaque IO event source object. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:59</div></div> <div class="ttc" id="mainloop-api_8h_html_aa161990f9c5b782773f9dbe87b4cdb97"><div class="ttname"><a href="mainloop-api_8h.html#aa161990f9c5b782773f9dbe87b4cdb97">pa_io_event_cb_t</a></div><div class="ttdeci">void(* pa_io_event_cb_t)(pa_mainloop_api *ea, pa_io_event *e, int fd, pa_io_event_flags_t events, void *userdata)</div><div class="ttdoc">An IO event callback prototype. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:61</div></div> <div class="ttc" id="mainloop-api_8h_html_a6769e3c8a68703a81a68d5d72b32d1faa3aff35dad0cd23ae3796b3141fee4dce"><div class="ttname"><a href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faa3aff35dad0cd23ae3796b3141fee4dce">PA_IO_EVENT_OUTPUT</a></div><div class="ttdoc">Output event. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:53</div></div> <div class="ttc" id="structpa__mainloop__api_html_a6fdab9eda6603ba4d9e4361d391244ad"><div class="ttname"><a href="structpa__mainloop__api.html#a6fdab9eda6603ba4d9e4361d391244ad">pa_mainloop_api::io_enable</a></div><div class="ttdeci">void(* io_enable)(pa_io_event *e, pa_io_event_flags_t events)</div><div class="ttdoc">Enable or disable IO events on this object. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:87</div></div> <div class="ttc" id="mainloop-api_8h_html_a172bb54939aff91f71d1955a21267fb5"><div class="ttname"><a href="mainloop-api_8h.html#a172bb54939aff91f71d1955a21267fb5">pa_defer_event_destroy_cb_t</a></div><div class="ttdeci">void(* pa_defer_event_destroy_cb_t)(pa_mainloop_api *a, pa_defer_event *e, void *userdata)</div><div class="ttdoc">A defer event destroy callback prototype. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:77</div></div> <div class="ttc" id="structpa__mainloop__api_html_aafe6f116c6a48eebd4fe36dc108f625b"><div class="ttname"><a href="structpa__mainloop__api.html#aafe6f116c6a48eebd4fe36dc108f625b">pa_mainloop_api::time_set_destroy</a></div><div class="ttdeci">void(* time_set_destroy)(pa_time_event *e, pa_time_event_destroy_cb_t cb)</div><div class="ttdoc">Set a function that is called when the timer event source is destroyed. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:100</div></div> <div class="ttc" id="structpa__mainloop__api_html_ae37c64fb3ec7bf4aff307ec931f89de7"><div class="ttname"><a href="structpa__mainloop__api.html#ae37c64fb3ec7bf4aff307ec931f89de7">pa_mainloop_api::io_free</a></div><div class="ttdeci">void(* io_free)(pa_io_event *e)</div><div class="ttdoc">Free a IO event source object. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:89</div></div> <div class="ttc" id="mainloop-api_8h_html_a6769e3c8a68703a81a68d5d72b32d1faaba9fbd1e6cb3031098a2aaa144c78336"><div class="ttname"><a href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faaba9fbd1e6cb3031098a2aaa144c78336">PA_IO_EVENT_INPUT</a></div><div class="ttdoc">Input event. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:52</div></div> <div class="ttc" id="structpa__mainloop__api_html_abaa23a89beec8676ab94100d4158d25e"><div class="ttname"><a href="structpa__mainloop__api.html#abaa23a89beec8676ab94100d4158d25e">pa_mainloop_api::defer_set_destroy</a></div><div class="ttdeci">void(* defer_set_destroy)(pa_defer_event *e, pa_defer_event_destroy_cb_t cb)</div><div class="ttdoc">Set a function that is called when the deferred event source is destroyed. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:109</div></div> <div class="ttc" id="version_8h_html"><div class="ttname"><a href="version_8h.html">version.h</a></div><div class="ttdoc">Define header version. </div></div> <div class="ttc" id="mainloop-api_8h_html_aa903bf03c8bd7e6c69ba4f7472e9e609"><div class="ttname"><a href="mainloop-api_8h.html#aa903bf03c8bd7e6c69ba4f7472e9e609">pa_io_event_destroy_cb_t</a></div><div class="ttdeci">void(* pa_io_event_destroy_cb_t)(pa_mainloop_api *a, pa_io_event *e, void *userdata)</div><div class="ttdoc">A IO event destroy callback prototype. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:63</div></div> <div class="ttc" id="structpa__mainloop__api_html_afd448a68ad05d790ba08f216e3e6cf75"><div class="ttname"><a href="structpa__mainloop__api.html#afd448a68ad05d790ba08f216e3e6cf75">pa_mainloop_api::quit</a></div><div class="ttdeci">void(* quit)(pa_mainloop_api *a, int retval)</div><div class="ttdoc">Exit the main loop and return the specified retval. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:112</div></div> <div class="ttc" id="mainloop-api_8h_html_a6769e3c8a68703a81a68d5d72b32d1fa"><div class="ttname"><a href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1fa">pa_io_event_flags</a></div><div class="ttdeci">pa_io_event_flags</div><div class="ttdoc">A bitmask for IO events. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:50</div></div> <div class="ttc" id="structpa__mainloop__api_html_aaf2e1c09a56da8a8f57fb3e4f46ba08a"><div class="ttname"><a href="structpa__mainloop__api.html#aaf2e1c09a56da8a8f57fb3e4f46ba08a">pa_mainloop_api::defer_free</a></div><div class="ttdeci">void(* defer_free)(pa_defer_event *e)</div><div class="ttdoc">Free a deferred event source object. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:107</div></div> <div class="ttc" id="mainloop-api_8h_html_a45b1a5f366caddb669789d5e69338f06"><div class="ttname"><a href="mainloop-api_8h.html#a45b1a5f366caddb669789d5e69338f06">pa_time_event</a></div><div class="ttdeci">struct pa_time_event pa_time_event</div><div class="ttdoc">An opaque timer event source object. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:66</div></div> <div class="ttc" id="mainloop-api_8h_html_a01d415df4f23e46b20cd218678c4c9a7"><div class="ttname"><a href="mainloop-api_8h.html#a01d415df4f23e46b20cd218678c4c9a7">pa_io_event_flags_t</a></div><div class="ttdeci">enum pa_io_event_flags pa_io_event_flags_t</div><div class="ttdoc">A bitmask for IO events. </div></div> <div class="ttc" id="structpa__mainloop__api_html_a9d67558b4a3a3568463fbf5c8746115d"><div class="ttname"><a href="structpa__mainloop__api.html#a9d67558b4a3a3568463fbf5c8746115d">pa_mainloop_api::defer_enable</a></div><div class="ttdeci">void(* defer_enable)(pa_defer_event *e, int b)</div><div class="ttdoc">Enable or disable a deferred event source temporarily. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:105</div></div> <div class="ttc" id="mainloop-api_8h_html_a6769e3c8a68703a81a68d5d72b32d1faa7e0f4c300b66f92e0c59a0d56326f488"><div class="ttname"><a href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faa7e0f4c300b66f92e0c59a0d56326f488">PA_IO_EVENT_ERROR</a></div><div class="ttdoc">Error event. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:55</div></div> <div class="ttc" id="mainloop-api_8h_html_a6769e3c8a68703a81a68d5d72b32d1faa9b6a006b1dc3894fd6bd8d5d99be5831"><div class="ttname"><a href="mainloop-api_8h.html#a6769e3c8a68703a81a68d5d72b32d1faa9b6a006b1dc3894fd6bd8d5d99be5831">PA_IO_EVENT_HANGUP</a></div><div class="ttdoc">Hangup event. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:54</div></div> <div class="ttc" id="structpa__mainloop__api_html_adc7b85dea57b2a25367299673924fc57"><div class="ttname"><a href="structpa__mainloop__api.html#adc7b85dea57b2a25367299673924fc57">pa_mainloop_api::time_free</a></div><div class="ttdeci">void(* time_free)(pa_time_event *e)</div><div class="ttdoc">Free a deferred timer event source object. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:98</div></div> <div class="ttc" id="mainloop-api_8h_html_a545440c2c08074c93939cb1240a7d087"><div class="ttname"><a href="mainloop-api_8h.html#a545440c2c08074c93939cb1240a7d087">pa_defer_event</a></div><div class="ttdeci">struct pa_defer_event pa_defer_event</div><div class="ttdoc">An opaque deferred event source object. </div><div class="ttdef"><b>Definition:</b> mainloop-api.h:73</div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_ec5b0a79aff2db41fe5d1b9326f09c28.html">pulse</a></li><li class="navelem"><a class="el" href="mainloop-api_8h.html">mainloop-api.h</a></li> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li> </ul> </div> </body> </html>