Sophie

Sophie

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

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-signal.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-signal.h File Reference</h1>UNIX signal support for main loops.  
<a href="#_details">More...</a>
<p>

<p>
<a href="mainloop-signal_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-signal_8h.html#8346c68814daec286cef332fa9df302c">pa_signal_event</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-signal_8h.html#8346c68814daec286cef332fa9df302c">pa_signal_event</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An opaque UNIX signal event source object.  <a href="#8346c68814daec286cef332fa9df302c"></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-signal_8h.html#98084cbe344941846c104b4f9d76efa8">pa_signal_cb_t</a> )(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *api, <a class="el" href="mainloop-signal_8h.html#8346c68814daec286cef332fa9df302c">pa_signal_event</a> *e, int sig, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Callback prototype for signal events.  <a href="#98084cbe344941846c104b4f9d76efa8"></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-signal_8h.html#12cad0f763f37f3ac39ce295f3676883">pa_signal_destroy_cb_t</a> )(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *api, <a class="el" href="mainloop-signal_8h.html#8346c68814daec286cef332fa9df302c">pa_signal_event</a> *e, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy callback prototype for signal events.  <a href="#12cad0f763f37f3ac39ce295f3676883"></a><br></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="mainloop-signal_8h.html#08bd75b482aabc45114dbcb53f004fe6">pa_signal_init</a> (<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *api)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the UNIX signal subsystem and bind it to the specified main loop.  <a href="#08bd75b482aabc45114dbcb53f004fe6"></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-signal_8h.html#e75dbfe9876a5482a5c644bac5abf479">pa_signal_done</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cleanup the signal subsystem.  <a href="#e75dbfe9876a5482a5c644bac5abf479"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="mainloop-signal_8h.html#8346c68814daec286cef332fa9df302c">pa_signal_event</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="mainloop-signal_8h.html#c1648b4c7046eea5809e21838b604d12">pa_signal_new</a> (int sig, <a class="el" href="mainloop-signal_8h.html#98084cbe344941846c104b4f9d76efa8">pa_signal_cb_t</a> callback, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new UNIX signal event source object.  <a href="#c1648b4c7046eea5809e21838b604d12"></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-signal_8h.html#b5a95e3bcd871864274083aea58a60fa">pa_signal_free</a> (<a class="el" href="mainloop-signal_8h.html#8346c68814daec286cef332fa9df302c">pa_signal_event</a> *e)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free a UNIX signal event source object.  <a href="#b5a95e3bcd871864274083aea58a60fa"></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-signal_8h.html#50aae9c5fa6b8a3466a8e36fd2d437e2">pa_signal_set_destroy</a> (<a class="el" href="mainloop-signal_8h.html#8346c68814daec286cef332fa9df302c">pa_signal_event</a> *e, <a class="el" href="mainloop-signal_8h.html#12cad0f763f37f3ac39ce295f3676883">pa_signal_destroy_cb_t</a> callback)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a function that is called when the signal event source is destroyed.  <a href="#50aae9c5fa6b8a3466a8e36fd2d437e2"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
UNIX signal support for main loops. 
<p>
In contrast to other main loop event sources such as timer and IO events, UNIX signal support requires modification of the global process environment. Due to this the generic main loop abstraction layer as defined in <a class="el" href="mainloop-api_8h.html">mainloop-api.h</a> doesn't have direct support for UNIX signals. However, you may hook signal support into an abstract main loop via the routines defined herein. <hr><h2>Typedef Documentation</h2>
<a class="anchor" name="98084cbe344941846c104b4f9d76efa8"></a><!-- doxytag: member="mainloop&#45;signal.h::pa_signal_cb_t" ref="98084cbe344941846c104b4f9d76efa8" args=")(pa_mainloop_api *api, pa_signal_event *e, int sig, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="mainloop-signal_8h.html#98084cbe344941846c104b4f9d76efa8">pa_signal_cb_t</a>)(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *api, <a class="el" href="mainloop-signal_8h.html#8346c68814daec286cef332fa9df302c">pa_signal_event</a> *e, int sig, void *userdata)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Callback prototype for signal events. 
<p>

</div>
</div><p>
<a class="anchor" name="12cad0f763f37f3ac39ce295f3676883"></a><!-- doxytag: member="mainloop&#45;signal.h::pa_signal_destroy_cb_t" ref="12cad0f763f37f3ac39ce295f3676883" args=")(pa_mainloop_api *api, pa_signal_event *e, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="mainloop-signal_8h.html#12cad0f763f37f3ac39ce295f3676883">pa_signal_destroy_cb_t</a>)(<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *api, <a class="el" href="mainloop-signal_8h.html#8346c68814daec286cef332fa9df302c">pa_signal_event</a> *e, void *userdata)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy callback prototype for signal events. 
<p>

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

<p>
An opaque UNIX signal event source object. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a82">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a42">paplay.c</a>.</dl>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="e75dbfe9876a5482a5c644bac5abf479"></a><!-- doxytag: member="mainloop&#45;signal.h::pa_signal_done" ref="e75dbfe9876a5482a5c644bac5abf479" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pa_signal_done           </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>
Cleanup the signal subsystem. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a118">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a69">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="b5a95e3bcd871864274083aea58a60fa"></a><!-- doxytag: member="mainloop&#45;signal.h::pa_signal_free" ref="b5a95e3bcd871864274083aea58a60fa" args="(pa_signal_event *e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pa_signal_free           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mainloop-signal_8h.html#8346c68814daec286cef332fa9df302c">pa_signal_event</a> *&nbsp;</td>
          <td class="paramname"> <em>e</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Free a UNIX signal event source object. 
<p>

</div>
</div><p>
<a class="anchor" name="08bd75b482aabc45114dbcb53f004fe6"></a><!-- doxytag: member="mainloop&#45;signal.h::pa_signal_init" ref="08bd75b482aabc45114dbcb53f004fe6" args="(pa_mainloop_api *api)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pa_signal_init           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *&nbsp;</td>
          <td class="paramname"> <em>api</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize the UNIX signal subsystem and bind it to the specified main loop. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a108">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a62">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="c1648b4c7046eea5809e21838b604d12"></a><!-- doxytag: member="mainloop&#45;signal.h::pa_signal_new" ref="c1648b4c7046eea5809e21838b604d12" args="(int sig, pa_signal_cb_t callback, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="mainloop-signal_8h.html#8346c68814daec286cef332fa9df302c">pa_signal_event</a>* pa_signal_new           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>sig</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mainloop-signal_8h.html#98084cbe344941846c104b4f9d76efa8">pa_signal_cb_t</a>&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>
Create a new UNIX signal event source object. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a109">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a63">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="50aae9c5fa6b8a3466a8e36fd2d437e2"></a><!-- doxytag: member="mainloop&#45;signal.h::pa_signal_set_destroy" ref="50aae9c5fa6b8a3466a8e36fd2d437e2" args="(pa_signal_event *e, pa_signal_destroy_cb_t callback)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pa_signal_set_destroy           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="mainloop-signal_8h.html#8346c68814daec286cef332fa9df302c">pa_signal_event</a> *&nbsp;</td>
          <td class="paramname"> <em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="mainloop-signal_8h.html#12cad0f763f37f3ac39ce295f3676883">pa_signal_destroy_cb_t</a>&nbsp;</td>
          <td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a function that is called when the signal event source is destroyed. 
<p>
Use this to free the userdata argument if required 
</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>