| Current File : //usr/share/doc/dbus/api/group__DBusAuthInternals.html |
<!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"/>
<title>D-Bus: Authentication implementation details</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">D-Bus
 <span id="projectnumber">1.8.20</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> |
<a href="#define-members">Defines</a> |
<a href="#typedef-members">Typedefs</a> |
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">Authentication implementation details</div> </div>
<div class="ingroups"><a class="el" href="group__DBusInternals.html">D-Bus secret internal implementation details</a></div></div><!--header-->
<div class="contents">
<p><a class="el" href="structDBusAuth.html" title="Internal members of DBusAuth.">DBusAuth</a> implementation details.
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusAuthMechanismHandler.html">DBusAuthMechanismHandler</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Virtual table representing a particular auth mechanism. <a href="structDBusAuthMechanismHandler.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusAuthStateData.html">DBusAuthStateData</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Information about a auth state. <a href="structDBusAuthStateData.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusAuth.html">DBusAuth</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Internal members of <a class="el" href="structDBusAuth.html" title="Internal members of DBusAuth.">DBusAuth</a>. <a href="structDBusAuth.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusAuthClient.html">DBusAuthClient</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">"Subclass" of <a class="el" href="structDBusAuth.html" title="Internal members of DBusAuth.">DBusAuth</a> for client side <a href="structDBusAuthClient.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusAuthServer.html">DBusAuthServer</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">"Subclass" of <a class="el" href="structDBusAuth.html" title="Internal members of DBusAuth.">DBusAuth</a> for server side. <a href="structDBusAuthServer.html#details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusAuthCommandName.html">DBusAuthCommandName</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Mapping from command name to enum. <a href="structDBusAuthCommandName.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga4211a12320d0b32bb2fbf0b56d6752a1">DBUS_AUTH_IS_SERVER</a>(auth)   ((auth)->side == auth_side_server)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga74120265335a7f6a84041541c19074c9">DBUS_AUTH_IS_CLIENT</a>(auth)   ((auth)->side == auth_side_client)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga6c2966c96fefbc8b40106d6b5235c854">DBUS_AUTH_CLIENT</a>(auth)   ((<a class="el" href="structDBusAuthClient.html">DBusAuthClient</a>*)(auth))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga3d476942b91b7b5825a914c2ae743717">DBUS_AUTH_SERVER</a>(auth)   ((<a class="el" href="structDBusAuthServer.html">DBusAuthServer</a>*)(auth))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga533f0d915e592df54a97401b597441b8">DBUS_AUTH_NAME</a>(auth)   ((auth)->side)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">The name of the auth ("client" or "server") <a href="#ga533f0d915e592df54a97401b597441b8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#gae379752f3a8ebb11e727e75d87a35554">N_CHALLENGE_BYTES</a>   (128/8)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight"><a href="http://www.ietf.org/rfc/rfc2831.txt">http://www.ietf.org/rfc/rfc2831.txt</a> suggests at least 64 bits of entropy, we use 128. <a href="#gae379752f3a8ebb11e727e75d87a35554"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga08e4d15c4946cb0a89c4a472679103ec"></a><!-- doxytag: member="DBusAuthInternals::DBusInitialResponseFunction" ref="ga08e4d15c4946cb0a89c4a472679103ec" args=")(DBusAuth *auth, DBusString *response)" -->
typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga08e4d15c4946cb0a89c4a472679103ec">DBusInitialResponseFunction</a> )(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, <a class="el" href="structDBusString.html">DBusString</a> *response)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">This function appends an initial client response to the given string. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#gac1c31ba2ab9dc696b68b1c23bd0a6e6d">DBusAuthDataFunction</a> )(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, const <a class="el" href="structDBusString.html">DBusString</a> *data)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">This function processes a block of data received from the peer. <a href="#gac1c31ba2ab9dc696b68b1c23bd0a6e6d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad45cc5010eaba8388010b29e9fc1351d"></a><!-- doxytag: member="DBusAuthInternals::DBusAuthEncodeFunction" ref="gad45cc5010eaba8388010b29e9fc1351d" args=")(DBusAuth *auth, const DBusString *data, DBusString *encoded)" -->
typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#gad45cc5010eaba8388010b29e9fc1351d">DBusAuthEncodeFunction</a> )(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, const <a class="el" href="structDBusString.html">DBusString</a> *data, <a class="el" href="structDBusString.html">DBusString</a> *encoded)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">This function encodes a block of data from the peer. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2aff28af19854c387ea8800f4b78a51a"></a><!-- doxytag: member="DBusAuthInternals::DBusAuthDecodeFunction" ref="ga2aff28af19854c387ea8800f4b78a51a" args=")(DBusAuth *auth, const DBusString *data, DBusString *decoded)" -->
typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga2aff28af19854c387ea8800f4b78a51a">DBusAuthDecodeFunction</a> )(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, const <a class="el" href="structDBusString.html">DBusString</a> *data, <a class="el" href="structDBusString.html">DBusString</a> *decoded)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">This function decodes a block of data from the peer. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga025a64340f118c0bd291228c98baf0ed"></a><!-- doxytag: member="DBusAuthInternals::DBusAuthShutdownFunction" ref="ga025a64340f118c0bd291228c98baf0ed" args=")(DBusAuth *auth)" -->
typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga025a64340f118c0bd291228c98baf0ed">DBusAuthShutdownFunction</a> )(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">This function is called when the mechanism is abandoned. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#ga6dfbfa4f85db0ba63dbce208b27489ad">DBusAuthStateFunction</a> )(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, <a class="el" href="group__DBusAuthInternals.html#gabb6518f15bcdde0584166353ba8dca3b">DBusAuthCommand</a> command, const <a class="el" href="structDBusString.html">DBusString</a> *args)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Auth state function, determines the reaction to incoming events for a particular state. <a href="#ga6dfbfa4f85db0ba63dbce208b27489ad"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAuthInternals.html#gabb6518f15bcdde0584166353ba8dca3b">DBusAuthCommand</a> { <br/>
  <b>DBUS_AUTH_COMMAND_AUTH</b>,
<b>DBUS_AUTH_COMMAND_CANCEL</b>,
<b>DBUS_AUTH_COMMAND_DATA</b>,
<b>DBUS_AUTH_COMMAND_BEGIN</b>,
<br/>
  <b>DBUS_AUTH_COMMAND_REJECTED</b>,
<b>DBUS_AUTH_COMMAND_OK</b>,
<b>DBUS_AUTH_COMMAND_ERROR</b>,
<b>DBUS_AUTH_COMMAND_UNKNOWN</b>,
<br/>
  <b>DBUS_AUTH_COMMAND_NEGOTIATE_UNIX_FD</b>,
<b>DBUS_AUTH_COMMAND_AGREE_UNIX_FD</b>
<br/>
}</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Enumeration for the known authentication commands. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p><a class="el" href="structDBusAuth.html" title="Internal members of DBusAuth.">DBusAuth</a> implementation details. </p>
<p>Private details of authentication code. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga6c2966c96fefbc8b40106d6b5235c854"></a><!-- doxytag: member="dbus-auth.c::DBUS_AUTH_CLIENT" ref="ga6c2966c96fefbc8b40106d6b5235c854" args="(auth)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="group__DBusAuthInternals.html#ga6c2966c96fefbc8b40106d6b5235c854">DBUS_AUTH_CLIENT</a></td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">auth</td><td>)</td>
<td>   ((<a class="el" href="structDBusAuthClient.html">DBusAuthClient</a>*)(auth))</td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">auth</td><td>the auth conversation </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>auth cast to <a class="el" href="structDBusAuthClient.html" title=""Subclass" of DBusAuth for client side">DBusAuthClient</a> </dd></dl>
<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00323">323</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>
<p>Referenced by <a class="el" href="dbus-auth_8c_source.html#l02293">_dbus_auth_client_new()</a>, <a class="el" href="dbus-auth_8c_source.html#l02755">_dbus_auth_get_guid_from_server()</a>, and <a class="el" href="dbus-auth_8c_source.html#l02346">_dbus_auth_unref()</a>.</p>
</div>
</div>
<a class="anchor" id="ga74120265335a7f6a84041541c19074c9"></a><!-- doxytag: member="dbus-auth.c::DBUS_AUTH_IS_CLIENT" ref="ga74120265335a7f6a84041541c19074c9" args="(auth)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="group__DBusAuthInternals.html#ga74120265335a7f6a84041541c19074c9">DBUS_AUTH_IS_CLIENT</a></td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">auth</td><td>)</td>
<td>   ((auth)->side == auth_side_client)</td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">auth</td><td>the auth conversation </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to "1".">TRUE</a> if the conversation is the client side </dd></dl>
<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00318">318</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>
<p>Referenced by <a class="el" href="dbus-auth_8c_source.html#l02681">_dbus_auth_decode_data()</a>, <a class="el" href="dbus-auth_8c_source.html#l02618">_dbus_auth_encode_data()</a>, <a class="el" href="dbus-auth_8c_source.html#l02755">_dbus_auth_get_guid_from_server()</a>, <a class="el" href="dbus-auth_8c_source.html#l02650">_dbus_auth_needs_decoding()</a>, <a class="el" href="dbus-auth_8c_source.html#l02591">_dbus_auth_needs_encoding()</a>, and <a class="el" href="dbus-auth_8c_source.html#l02346">_dbus_auth_unref()</a>.</p>
</div>
</div>
<a class="anchor" id="ga4211a12320d0b32bb2fbf0b56d6752a1"></a><!-- doxytag: member="dbus-auth.c::DBUS_AUTH_IS_SERVER" ref="ga4211a12320d0b32bb2fbf0b56d6752a1" args="(auth)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="group__DBusAuthInternals.html#ga4211a12320d0b32bb2fbf0b56d6752a1">DBUS_AUTH_IS_SERVER</a></td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">auth</td><td>)</td>
<td>   ((auth)->side == auth_side_server)</td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">auth</td><td>the auth conversation </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#gaa8cecfc5c5c054d2875c03e77b7be15d" title="Expands to "1".">TRUE</a> if the conversation is the server side </dd></dl>
<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00313">313</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>
<p>Referenced by <a class="el" href="dbus-auth_8c_source.html#l02346">_dbus_auth_unref()</a>.</p>
</div>
</div>
<a class="anchor" id="ga533f0d915e592df54a97401b597441b8"></a><!-- doxytag: member="dbus-auth.c::DBUS_AUTH_NAME" ref="ga533f0d915e592df54a97401b597441b8" args="(auth)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="group__DBusAuthInternals.html#ga533f0d915e592df54a97401b597441b8">DBUS_AUTH_NAME</a></td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">auth</td><td>)</td>
<td>   ((auth)->side)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The name of the auth ("client" or "server") </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">auth</td><td>the auth conversation </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a string </dd></dl>
<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00335">335</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>
<p>Referenced by <a class="el" href="dbus-auth_8c_source.html#l02500">_dbus_auth_bytes_sent()</a>, and <a class="el" href="dbus-auth_8c_source.html#l02431">_dbus_auth_do_work()</a>.</p>
</div>
</div>
<a class="anchor" id="ga3d476942b91b7b5825a914c2ae743717"></a><!-- doxytag: member="dbus-auth.c::DBUS_AUTH_SERVER" ref="ga3d476942b91b7b5825a914c2ae743717" args="(auth)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="group__DBusAuthInternals.html#ga3d476942b91b7b5825a914c2ae743717">DBUS_AUTH_SERVER</a></td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">auth</td><td>)</td>
<td>   ((<a class="el" href="structDBusAuthServer.html">DBusAuthServer</a>*)(auth))</td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="params"><dt><b>Parameters:</b></dt><dd>
<table class="params">
<tr><td class="paramname">auth</td><td>the auth conversation </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>auth cast to <a class="el" href="structDBusAuthServer.html" title=""Subclass" of DBusAuth for server side.">DBusAuthServer</a> </dd></dl>
<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00328">328</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>
<p>Referenced by <a class="el" href="dbus-auth_8c_source.html#l02247">_dbus_auth_server_new()</a>, and <a class="el" href="dbus-auth_8c_source.html#l02346">_dbus_auth_unref()</a>.</p>
</div>
</div>
<a class="anchor" id="gae379752f3a8ebb11e727e75d87a35554"></a><!-- doxytag: member="dbus-auth.c::N_CHALLENGE_BYTES" ref="gae379752f3a8ebb11e727e75d87a35554" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define <a class="el" href="group__DBusAuthInternals.html#gae379752f3a8ebb11e727e75d87a35554">N_CHALLENGE_BYTES</a>   (128/8)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p><a href="http://www.ietf.org/rfc/rfc2831.txt">http://www.ietf.org/rfc/rfc2831.txt</a> suggests at least 64 bits of entropy, we use 128. </p>
<p>This is the number of bytes in the random challenge. </p>
<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00516">516</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>
</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gac1c31ba2ab9dc696b68b1c23bd0a6e6d"></a><!-- doxytag: member="dbus-auth.c::DBusAuthDataFunction" ref="gac1c31ba2ab9dc696b68b1c23bd0a6e6d" args=")(DBusAuth *auth, const DBusString *data)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(* <a class="el" href="group__DBusAuthInternals.html#gac1c31ba2ab9dc696b68b1c23bd0a6e6d">DBusAuthDataFunction</a>)(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, const <a class="el" href="structDBusString.html">DBusString</a> *data)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>This function processes a block of data received from the peer. </p>
<p>i.e. handles a DATA command. </p>
<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00077">77</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>
</div>
</div>
<a class="anchor" id="ga6dfbfa4f85db0ba63dbce208b27489ad"></a><!-- doxytag: member="dbus-auth.c::DBusAuthStateFunction" ref="ga6dfbfa4f85db0ba63dbce208b27489ad" args=")(DBusAuth *auth, DBusAuthCommand command, const DBusString *args)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="group__DBusTypes.html#ga39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a>(* <a class="el" href="group__DBusAuthInternals.html#ga6dfbfa4f85db0ba63dbce208b27489ad">DBusAuthStateFunction</a>)(<a class="el" href="structDBusAuth.html">DBusAuth</a> *auth, <a class="el" href="group__DBusAuthInternals.html#gabb6518f15bcdde0584166353ba8dca3b">DBusAuthCommand</a> command, const <a class="el" href="structDBusString.html">DBusString</a> *args)</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Auth state function, determines the reaction to incoming events for a particular state. </p>
<p>Returns whether we had enough memory to complete the operation. </p>
<p>Definition at line <a class="el" href="dbus-auth_8c_source.html#l00137">137</a> of file <a class="el" href="dbus-auth_8c_source.html">dbus-auth.c</a>.</p>
</div>
</div>
</div><!-- contents -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Mar 3 2016 17:50:32 for D-Bus by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>
</body>
</html>