Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > fba57c789abf4ed3484c767370e6ce0d > files > 47

lib64pulseaudio-devel-0.9.9-7mdv2008.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: context.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.5 -->
<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="classes.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>
<div class="contents">
<h1>context.h File Reference</h1>Connection contexts for asynchrononous communication with a server. <a href="#_details">More...</a>
<p>

<p>
<a href="context_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="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An opaque connection context to a daemon.  <a href="#ff56e9b3dd442a88227da084bb5c380a"></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="context_8h.html#f198b84bc26cbc941313b1d75289e210">pa_context_notify_cb_t</a> )(<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic notification callback prototype.  <a href="#f198b84bc26cbc941313b1d75289e210"></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="context_8h.html#010aff61766ac2d9585d78a164c0fc9a">pa_context_success_cb_t</a> )(<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c, int success, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic callback for operation completion.  <a href="#010aff61766ac2d9585d78a164c0fc9a"></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="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="context_8h.html#2784c754947a97f02c78b73d7b1c2d5f">pa_context_new</a> (<a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *mainloop, const char *name)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Instantiate a new connection context with an abstract mainloop API and an application name.  <a href="#2784c754947a97f02c78b73d7b1c2d5f"></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="context_8h.html#344c4ccf14d6a8842e83154a0aa99311">pa_context_unref</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrease the reference counter of the context by one.  <a href="#344c4ccf14d6a8842e83154a0aa99311"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="context_8h.html#4ba151a2c3b6b469d0b8bb1f905d6589">pa_context_ref</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increase the reference counter of the context by one.  <a href="#4ba151a2c3b6b469d0b8bb1f905d6589"></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="context_8h.html#eb7b395fd3a345fc181d6bfcdbe5f3d8">pa_context_set_state_callback</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c, <a class="el" href="context_8h.html#f198b84bc26cbc941313b1d75289e210">pa_context_notify_cb_t</a> cb, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback function that is called whenever the context status changes.  <a href="#eb7b395fd3a345fc181d6bfcdbe5f3d8"></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="context_8h.html#a8262c715ef8c48bcd2fbc5ae57a6df9">pa_context_errno</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the error number of the last failed operation.  <a href="#a8262c715ef8c48bcd2fbc5ae57a6df9"></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="context_8h.html#d33a71b4d3b61e678b14091bdcfe98aa">pa_context_is_pending</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return non-zero if some data is pending to be written to the connection.  <a href="#d33a71b4d3b61e678b14091bdcfe98aa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="def_8h.html#696774cc2f758448c5ab10c2dd786c9d">pa_context_state_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="context_8h.html#439b9a712321194390584737a0a7003f">pa_context_get_state</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current context status.  <a href="#439b9a712321194390584737a0a7003f"></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="context_8h.html#983ce13d45c5f4b0db8e1a34e21f9fce">pa_context_connect</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c, const char *server, <a class="el" href="def_8h.html#a330581bb9b282e6f6a28a3a2b4b634a">pa_context_flags_t</a> flags, const <a class="el" href="structpa__spawn__api.html">pa_spawn_api</a> *api)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connect the context to the specified server.  <a href="#983ce13d45c5f4b0db8e1a34e21f9fce"></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="context_8h.html#154b9d8057adfbb2cecfbd9406a27660">pa_context_disconnect</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Terminate the context connection immediately.  <a href="#154b9d8057adfbb2cecfbd9406a27660"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="operation_8h.html#5614a07f2e7a129e4cb16596ed452a0c">pa_operation</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="context_8h.html#b94b42b05c233e010432888b7c496c50">pa_context_drain</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c, <a class="el" href="context_8h.html#f198b84bc26cbc941313b1d75289e210">pa_context_notify_cb_t</a> cb, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Drain the context.  <a href="#b94b42b05c233e010432888b7c496c50"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="operation_8h.html#5614a07f2e7a129e4cb16596ed452a0c">pa_operation</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="context_8h.html#9f664306d9e9be7603cd80e811b3c29a">pa_context_exit_daemon</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c, <a class="el" href="context_8h.html#010aff61766ac2d9585d78a164c0fc9a">pa_context_success_cb_t</a> cb, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tell the daemon to exit.  <a href="#9f664306d9e9be7603cd80e811b3c29a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="operation_8h.html#5614a07f2e7a129e4cb16596ed452a0c">pa_operation</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="context_8h.html#0710abf20bd14d140c77daded9b99dd1">pa_context_set_default_sink</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c, const char *name, <a class="el" href="context_8h.html#010aff61766ac2d9585d78a164c0fc9a">pa_context_success_cb_t</a> cb, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the name of the default sink.  <a href="#0710abf20bd14d140c77daded9b99dd1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="operation_8h.html#5614a07f2e7a129e4cb16596ed452a0c">pa_operation</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="context_8h.html#c70ec892113745dc85d4045234fd0a33">pa_context_set_default_source</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c, const char *name, <a class="el" href="context_8h.html#010aff61766ac2d9585d78a164c0fc9a">pa_context_success_cb_t</a> cb, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the name of the default source.  <a href="#c70ec892113745dc85d4045234fd0a33"></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="context_8h.html#e5cb66d55f916f30b5ea13bd5d5c755a">pa_context_is_local</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns 1 when the connection is to a local daemon.  <a href="#e5cb66d55f916f30b5ea13bd5d5c755a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="operation_8h.html#5614a07f2e7a129e4cb16596ed452a0c">pa_operation</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="context_8h.html#e50c0e777b009d2bdcd32a07a91b735a">pa_context_set_name</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c, const char *name, <a class="el" href="context_8h.html#010aff61766ac2d9585d78a164c0fc9a">pa_context_success_cb_t</a> cb, void *userdata)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a different application name for context on the server.  <a href="#e50c0e777b009d2bdcd32a07a91b735a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="context_8h.html#f5708e81def9f3d08610f7b40815288b">pa_context_get_server</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the server name this context is connected to.  <a href="#f5708e81def9f3d08610f7b40815288b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="context_8h.html#4fb9f8705d000461b2be83626e9d5635">pa_context_get_protocol_version</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the protocol version of the library.  <a href="#4fb9f8705d000461b2be83626e9d5635"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="context_8h.html#012b6b7fcef6fc05676ee7f57c4b5a54">pa_context_get_server_protocol_version</a> (<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the protocol version of the connected server.  <a href="#012b6b7fcef6fc05676ee7f57c4b5a54"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Connection contexts for asynchrononous communication with a server. 
<p>
A pa_context object wraps a connection to a PulseAudio server using its native protocol. <hr><h2>Typedef Documentation</h2>
<a class="anchor" name="ff56e9b3dd442a88227da084bb5c380a"></a><!-- doxytag: member="context.h::pa_context" ref="ff56e9b3dd442a88227da084bb5c380a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> <a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
An opaque connection context to a daemon. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a0">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a0">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="f198b84bc26cbc941313b1d75289e210"></a><!-- doxytag: member="context.h::pa_context_notify_cb_t" ref="f198b84bc26cbc941313b1d75289e210" args=")(pa_context *c, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="context_8h.html#f198b84bc26cbc941313b1d75289e210">pa_context_notify_cb_t</a>)(<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c, void *userdata)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generic notification callback prototype. 
<p>

</div>
</div><p>
<a class="anchor" name="010aff61766ac2d9585d78a164c0fc9a"></a><!-- doxytag: member="context.h::pa_context_success_cb_t" ref="010aff61766ac2d9585d78a164c0fc9a" args=")(pa_context *c, int success, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="context_8h.html#010aff61766ac2d9585d78a164c0fc9a">pa_context_success_cb_t</a>)(<a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *c, int success, void *userdata)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
A generic callback for operation completion. 
<p>

</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="983ce13d45c5f4b0db8e1a34e21f9fce"></a><!-- doxytag: member="context.h::pa_context_connect" ref="983ce13d45c5f4b0db8e1a34e21f9fce" args="(pa_context *c, const char *server, pa_context_flags_t flags, const pa_spawn_api *api)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pa_context_connect           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>server</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="def_8h.html#a330581bb9b282e6f6a28a3a2b4b634a">pa_context_flags_t</a>&nbsp;</td>
          <td class="paramname"> <em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structpa__spawn__api.html">pa_spawn_api</a> *&nbsp;</td>
          <td class="paramname"> <em>api</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Connect the context to the specified server. 
<p>
If server is NULL, connect to the default server. This routine may but will not always return synchronously on error. Use <a class="el" href="context_8h.html#eb7b395fd3a345fc181d6bfcdbe5f3d8" title="Set a callback function that is called whenever the context status changes.">pa_context_set_state_callback()</a> to be notified when the connection is established. If flags doesn't have PA_NOAUTOSPAWN set and no specific server is specified or accessible a new daemon is spawned. If api is non-NULL, the functions specified in the structure are used when forking a new child process. <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a104">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a66">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="154b9d8057adfbb2cecfbd9406a27660"></a><!-- doxytag: member="context.h::pa_context_disconnect" ref="154b9d8057adfbb2cecfbd9406a27660" args="(pa_context *c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pa_context_disconnect           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Terminate the context connection immediately. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a62">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a8">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="b94b42b05c233e010432888b7c496c50"></a><!-- doxytag: member="context.h::pa_context_drain" ref="b94b42b05c233e010432888b7c496c50" args="(pa_context *c, pa_context_notify_cb_t cb, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="operation_8h.html#5614a07f2e7a129e4cb16596ed452a0c">pa_operation</a>* pa_context_drain           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="context_8h.html#f198b84bc26cbc941313b1d75289e210">pa_context_notify_cb_t</a>&nbsp;</td>
          <td class="paramname"> <em>cb</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 width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Drain the context. 
<p>
If there is nothing to drain, the function returns NULL <dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a66">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a14">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="a8262c715ef8c48bcd2fbc5ae57a6df9"></a><!-- doxytag: member="context.h::pa_context_errno" ref="a8262c715ef8c48bcd2fbc5ae57a6df9" args="(pa_context *c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pa_context_errno           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the error number of the last failed operation. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a14">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a11">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="9f664306d9e9be7603cd80e811b3c29a"></a><!-- doxytag: member="context.h::pa_context_exit_daemon" ref="9f664306d9e9be7603cd80e811b3c29a" args="(pa_context *c, pa_context_success_cb_t cb, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="operation_8h.html#5614a07f2e7a129e4cb16596ed452a0c">pa_operation</a>* pa_context_exit_daemon           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="context_8h.html#010aff61766ac2d9585d78a164c0fc9a">pa_context_success_cb_t</a>&nbsp;</td>
          <td class="paramname"> <em>cb</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 width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Tell the daemon to exit. 
<p>
The returned operation is unlikely to complete succesfully, since the daemon probably died before returning a success notification 
</div>
</div><p>
<a class="anchor" name="4fb9f8705d000461b2be83626e9d5635"></a><!-- doxytag: member="context.h::pa_context_get_protocol_version" ref="4fb9f8705d000461b2be83626e9d5635" args="(pa_context *c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t pa_context_get_protocol_version           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the protocol version of the library. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.8 </dd></dl>

</div>
</div><p>
<a class="anchor" name="f5708e81def9f3d08610f7b40815288b"></a><!-- doxytag: member="context.h::pa_context_get_server" ref="f5708e81def9f3d08610f7b40815288b" args="(pa_context *c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* pa_context_get_server           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the server name this context is connected to. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.7 </dd></dl>

</div>
</div><p>
<a class="anchor" name="012b6b7fcef6fc05676ee7f57c4b5a54"></a><!-- doxytag: member="context.h::pa_context_get_server_protocol_version" ref="012b6b7fcef6fc05676ee7f57c4b5a54" args="(pa_context *c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t pa_context_get_server_protocol_version           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the protocol version of the connected server. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.8 </dd></dl>

</div>
</div><p>
<a class="anchor" name="439b9a712321194390584737a0a7003f"></a><!-- doxytag: member="context.h::pa_context_get_state" ref="439b9a712321194390584737a0a7003f" args="(pa_context *c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="def_8h.html#696774cc2f758448c5ab10c2dd786c9d">pa_context_state_t</a> pa_context_get_state           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the current context status. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a44">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a28">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="e5cb66d55f916f30b5ea13bd5d5c755a"></a><!-- doxytag: member="context.h::pa_context_is_local" ref="e5cb66d55f916f30b5ea13bd5d5c755a" args="(pa_context *c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pa_context_is_local           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns 1 when the connection is to a local daemon. 
<p>
Returns negative when no connection has been made yet. <dl class="since" compact><dt><b>Since:</b></dt><dd>0.5 </dd></dl>

</div>
</div><p>
<a class="anchor" name="d33a71b4d3b61e678b14091bdcfe98aa"></a><!-- doxytag: member="context.h::pa_context_is_pending" ref="d33a71b4d3b61e678b14091bdcfe98aa" args="(pa_context *c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int pa_context_is_pending           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return non-zero if some data is pending to be written to the connection. 
<p>

</div>
</div><p>
<a class="anchor" name="2784c754947a97f02c78b73d7b1c2d5f"></a><!-- doxytag: member="context.h::pa_context_new" ref="2784c754947a97f02c78b73d7b1c2d5f" args="(pa_mainloop_api *mainloop, const char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a>* pa_context_new           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structpa__mainloop__api.html">pa_mainloop_api</a> *&nbsp;</td>
          <td class="paramname"> <em>mainloop</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Instantiate a new connection context with an abstract mainloop API and an application name. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a102">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a64">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="4ba151a2c3b6b469d0b8bb1f905d6589"></a><!-- doxytag: member="context.h::pa_context_ref" ref="4ba151a2c3b6b469d0b8bb1f905d6589" args="(pa_context *c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a>* pa_context_ref           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Increase the reference counter of the context by one. 
<p>

</div>
</div><p>
<a class="anchor" name="0710abf20bd14d140c77daded9b99dd1"></a><!-- doxytag: member="context.h::pa_context_set_default_sink" ref="0710abf20bd14d140c77daded9b99dd1" args="(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="operation_8h.html#5614a07f2e7a129e4cb16596ed452a0c">pa_operation</a>* pa_context_set_default_sink           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="context_8h.html#010aff61766ac2d9585d78a164c0fc9a">pa_context_success_cb_t</a>&nbsp;</td>
          <td class="paramname"> <em>cb</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 width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the name of the default sink. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.4 </dd></dl>

</div>
</div><p>
<a class="anchor" name="c70ec892113745dc85d4045234fd0a33"></a><!-- doxytag: member="context.h::pa_context_set_default_source" ref="c70ec892113745dc85d4045234fd0a33" args="(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="operation_8h.html#5614a07f2e7a129e4cb16596ed452a0c">pa_operation</a>* pa_context_set_default_source           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="context_8h.html#010aff61766ac2d9585d78a164c0fc9a">pa_context_success_cb_t</a>&nbsp;</td>
          <td class="paramname"> <em>cb</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 width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the name of the default source. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.4 </dd></dl>

</div>
</div><p>
<a class="anchor" name="e50c0e777b009d2bdcd32a07a91b735a"></a><!-- doxytag: member="context.h::pa_context_set_name" ref="e50c0e777b009d2bdcd32a07a91b735a" args="(pa_context *c, const char *name, pa_context_success_cb_t cb, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="operation_8h.html#5614a07f2e7a129e4cb16596ed452a0c">pa_operation</a>* pa_context_set_name           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="context_8h.html#010aff61766ac2d9585d78a164c0fc9a">pa_context_success_cb_t</a>&nbsp;</td>
          <td class="paramname"> <em>cb</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 width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a different application name for context on the server. 
<p>
<dl class="since" compact><dt><b>Since:</b></dt><dd>0.5 </dd></dl>

</div>
</div><p>
<a class="anchor" name="eb7b395fd3a345fc181d6bfcdbe5f3d8"></a><!-- doxytag: member="context.h::pa_context_set_state_callback" ref="eb7b395fd3a345fc181d6bfcdbe5f3d8" args="(pa_context *c, pa_context_notify_cb_t cb, void *userdata)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pa_context_set_state_callback           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="context_8h.html#f198b84bc26cbc941313b1d75289e210">pa_context_notify_cb_t</a>&nbsp;</td>
          <td class="paramname"> <em>cb</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 width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a callback function that is called whenever the context status changes. 
<p>
<dl compact><dt><b>Examples: </b></dt><dd>
<a class="el" href="pacat_8c-example.html#a103">pacat.c</a>, and <a class="el" href="paplay_8c-example.html#a65">paplay.c</a>.</dl>
</div>
</div><p>
<a class="anchor" name="344c4ccf14d6a8842e83154a0aa99311"></a><!-- doxytag: member="context.h::pa_context_unref" ref="344c4ccf14d6a8842e83154a0aa99311" args="(pa_context *c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pa_context_unref           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="context_8h.html#ff56e9b3dd442a88227da084bb5c380a">pa_context</a> *&nbsp;</td>
          <td class="paramname"> <em>c</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Decrease the reference counter of the context by one. 
<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#a68">paplay.c</a>.</dl>
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Mar 26 12:02:40 2008 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.5 </small></address>
</body>
</html>