|
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17 System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64 User : nobody ( 99) PHP Version : 5.2.17 Disable Function : NONE Directory : /usr/share/devhelp/books/dbus/api/ |
Upload File : |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>D-Bus: Address parsing</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.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</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>
<li><a href="pages.html"><span>Related Pages</span></a></li>
</ul></div>
<h1>Address parsing<br>
<small>
[<a class="el" href="group__DBus.html">D-Bus low-level public API</a>]</small>
</h1>Parsing addresses of D-Bus servers.
<a href="#_details">More...</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"><a class="anchor" name="g6875129b8255f5d177335d117e30effd"></a><!-- doxytag: member="DBusAddress::DBusAddressEntry" ref="g6875129b8255f5d177335d117e30effd" args="" -->
typedef <a class="el" href="structDBusAddressEntry.html">DBusAddressEntry</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAddress.html#g6875129b8255f5d177335d117e30effd">DBusAddressEntry</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Opaque type representing one of the semicolon-separated items in an address. <br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAddress.html#geec9b8bf0e25269d7b3e9922b01968c1">dbus_address_entries_free</a> (<a class="el" href="structDBusAddressEntry.html">DBusAddressEntry</a> **entries)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Frees a <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>-terminated array of address entries. <a href="#geec9b8bf0e25269d7b3e9922b01968c1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAddress.html#g0905615382af3a8525b8a884d31b3f1c">dbus_address_entry_get_method</a> (<a class="el" href="structDBusAddressEntry.html">DBusAddressEntry</a> *entry)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the method string of an address entry. <a href="#g0905615382af3a8525b8a884d31b3f1c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAddress.html#g531aca53af647b833c54b6ab345bc549">dbus_address_entry_get_value</a> (<a class="el" href="structDBusAddressEntry.html">DBusAddressEntry</a> *entry, const char *key)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a value from a key of an entry. <a href="#g531aca53af647b833c54b6ab345bc549"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAddress.html#gba56db98921bbe358d8549339a3cf20d">dbus_parse_address</a> (const char *address, <a class="el" href="structDBusAddressEntry.html">DBusAddressEntry</a> ***entry, int *array_len, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parses an address string of the form:. <a href="#gba56db98921bbe358d8549339a3cf20d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAddress.html#gdbe6bc8a184d6d95ac8ee1edb8341648">dbus_address_escape_value</a> (const char *value)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Escapes the given string as a value in a key=value pair for a D-Bus address. <a href="#gdbe6bc8a184d6d95ac8ee1edb8341648"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusAddress.html#g92bc9ad3ae59605465dd650622f8b56e">dbus_address_unescape_value</a> (const char *value, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Unescapes the given string as a value in a key=value pair for a D-Bus address. <a href="#g92bc9ad3ae59605465dd650622f8b56e"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Parsing addresses of D-Bus servers.
<p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="geec9b8bf0e25269d7b3e9922b01968c1"></a><!-- doxytag: member="dbus-address.c::dbus_address_entries_free" ref="geec9b8bf0e25269d7b3e9922b01968c1" args="(DBusAddressEntry **entries)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbus_address_entries_free </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusAddressEntry.html">DBusAddressEntry</a> ** </td>
<td class="paramname"> <em>entries</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Frees a <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>-terminated array of address entries.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>entries</em> </td><td>the array. </td></tr>
</table>
</dl>
<p>
Definition at line <a class="el" href="dbus-address_8c-source.html#l00189">189</a> of file <a class="el" href="dbus-address_8c-source.html">dbus-address.c</a>.
<p>
References <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-server_8c-source.html#l00540">dbus_server_listen()</a>.
</div>
</div><p>
<a class="anchor" name="g0905615382af3a8525b8a884d31b3f1c"></a><!-- doxytag: member="dbus-address.c::dbus_address_entry_get_method" ref="g0905615382af3a8525b8a884d31b3f1c" args="(DBusAddressEntry *entry)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char * dbus_address_entry_get_method </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusAddressEntry.html">DBusAddressEntry</a> * </td>
<td class="paramname"> <em>entry</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns the method string of an address entry.
<p>
For example, given the address entry "tcp:host=example.com" it would return the string "tcp"<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>entry</em> </td><td>the entry. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>a string describing the method. This string must not be freed. </dd></dl>
<p>
Definition at line <a class="el" href="dbus-address_8c-source.html#l00227">227</a> of file <a class="el" href="dbus-address_8c-source.html">dbus-address.c</a>.
<p>
References <a class="el" href="dbus-address_8c-source.html#l00045">DBusAddressEntry::method</a>.
<p>
Referenced by <a class="el" href="dbus-server-unix_8c-source.html#l00052">_dbus_server_listen_platform_specific()</a>, <a class="el" href="dbus-server-socket_8c-source.html#l00476">_dbus_server_listen_socket()</a>, <a class="el" href="dbus-transport-unix_8c-source.html#l00120">_dbus_transport_open_platform_specific()</a>, <a class="el" href="dbus-transport-socket_8c-source.html#l01293">_dbus_transport_open_socket()</a>, and <a class="el" href="dbus-server_8c-source.html#l00540">dbus_server_listen()</a>.
</div>
</div><p>
<a class="anchor" name="g531aca53af647b833c54b6ab345bc549"></a><!-- doxytag: member="dbus-address.c::dbus_address_entry_get_value" ref="g531aca53af647b833c54b6ab345bc549" args="(DBusAddressEntry *entry, const char *key)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char * dbus_address_entry_get_value </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDBusAddressEntry.html">DBusAddressEntry</a> * </td>
<td class="paramname"> <em>entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>key</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Returns a value from a key of an entry.
<p>
For example, given the address "tcp:host=example.com,port=8073" if you asked for the key "host" you would get the value "example.com"<p>
The returned value is already unescaped.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>entry</em> </td><td>the entry. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>the key. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the key value. This string must not be freed. </dd></dl>
<p>
Definition at line <a class="el" href="dbus-address_8c-source.html#l00244">244</a> of file <a class="el" href="dbus-address_8c-source.html">dbus-address.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-list_8c-source.html#l00574">_dbus_list_get_first_link()</a>, <a class="el" href="dbus-list_8h-source.html#l00093">_dbus_list_get_next_link</a>, <a class="el" href="dbus-string_8c-source.html#l02333">_dbus_string_equal_c_str()</a>, <a class="el" href="dbus-list_8h-source.html#l00038">DBusList::data</a>, <a class="el" href="dbus-address_8c-source.html#l00047">DBusAddressEntry::keys</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, and <a class="el" href="dbus-address_8c-source.html#l00048">DBusAddressEntry::values</a>.
<p>
Referenced by <a class="el" href="dbus-server-unix_8c-source.html#l00052">_dbus_server_listen_platform_specific()</a>, <a class="el" href="dbus-server-socket_8c-source.html#l00476">_dbus_server_listen_socket()</a>, <a class="el" href="dbus-transport_8c-source.html#l00350">_dbus_transport_open()</a>, <a class="el" href="dbus-transport-unix_8c-source.html#l00120">_dbus_transport_open_platform_specific()</a>, and <a class="el" href="dbus-transport-socket_8c-source.html#l01293">_dbus_transport_open_socket()</a>.
</div>
</div><p>
<a class="anchor" name="gdbe6bc8a184d6d95ac8ee1edb8341648"></a><!-- doxytag: member="dbus-address.c::dbus_address_escape_value" ref="gdbe6bc8a184d6d95ac8ee1edb8341648" args="(const char *value)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char * dbus_address_escape_value </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>value</em> </td>
<td> ) </td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Escapes the given string as a value in a key=value pair for a D-Bus address.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the unescaped value </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>newly-allocated escaped value or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if no memory </dd></dl>
<p>
Definition at line <a class="el" href="dbus-address_8c-source.html#l00583">583</a> of file <a class="el" href="dbus-address_8c-source.html">dbus-address.c</a>.
<p>
References <a class="el" href="dbus-address_8c-source.html#l00104">_dbus_address_append_escaped()</a>, <a class="el" href="dbus-string_8c-source.html#l00262">_dbus_string_free()</a>, <a class="el" href="dbus-string_8c-source.html#l00175">_dbus_string_init()</a>, <a class="el" href="dbus-string_8c-source.html#l00209">_dbus_string_init_const()</a>, <a class="el" href="dbus-string_8c-source.html#l00608">_dbus_string_steal_data()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="g92bc9ad3ae59605465dd650622f8b56e"></a><!-- doxytag: member="dbus-address.c::dbus_address_unescape_value" ref="g92bc9ad3ae59605465dd650622f8b56e" args="(const char *value, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char * dbus_address_unescape_value </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> * </td>
<td class="paramname"> <em>error</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Unescapes the given string as a value in a key=value pair for a D-Bus address.
<p>
Note that <a class="el" href="group__DBusAddress.html#g531aca53af647b833c54b6ab345bc549">dbus_address_entry_get_value()</a> returns an already-unescaped value.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the escaped value </td></tr>
<tr><td valign="top"></td><td valign="top"><em>error</em> </td><td>error to set if the unescaping fails </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>newly-allocated unescaped value or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if no memory </dd></dl>
<p>
Definition at line <a class="el" href="dbus-address_8c-source.html#l00617">617</a> of file <a class="el" href="dbus-address_8c-source.html">dbus-address.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-string_8c-source.html#l00262">_dbus_string_free()</a>, <a class="el" href="dbus-string_8c-source.html#l00175">_dbus_string_init()</a>, <a class="el" href="dbus-string_8c-source.html#l00209">_dbus_string_init_const()</a>, <a class="el" href="dbus-string_8c-source.html#l00608">_dbus_string_steal_data()</a>, <a class="el" href="dbus-errors_8c-source.html#l00301">dbus_error_is_set()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<a class="anchor" name="gba56db98921bbe358d8549339a3cf20d"></a><!-- doxytag: member="dbus-address.c::dbus_parse_address" ref="gba56db98921bbe358d8549339a3cf20d" args="(const char *address, DBusAddressEntry ***entry, int *array_len, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__DBusTypes.html#g39c9cb0f3a2a8ad6f55cc4855d035349">dbus_bool_t</a> dbus_parse_address </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusAddressEntry.html">DBusAddressEntry</a> *** </td>
<td class="paramname"> <em>entry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int * </td>
<td class="paramname"> <em>array_len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDBusError.html">DBusError</a> * </td>
<td class="paramname"> <em>error</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Parses an address string of the form:.
<p>
method:key=value,key=value;method:key=value<p>
See the D-Bus specification for complete docs on the format.<p>
When connecting to an address, the first address entries in the semicolon-separated list should be tried first.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>address</em> </td><td>the address. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>entry</em> </td><td>return location to an array of entries. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>array_len</em> </td><td>return location for array length. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>error</em> </td><td>address where an error can be returned. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> on success, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a> otherwise. </dd></dl>
<p>
Definition at line <a class="el" href="dbus-address_8c-source.html#l00363">363</a> of file <a class="el" href="dbus-address_8c-source.html">dbus-address.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-list_8c-source.html#l00246">_dbus_list_append()</a>, <a class="el" href="dbus-list_8c-source.html#l00549">_dbus_list_clear()</a>, <a class="el" href="dbus-list_8c-source.html#l00574">_dbus_list_get_first_link()</a>, <a class="el" href="dbus-list_8c-source.html#l00760">_dbus_list_get_length()</a>, <a class="el" href="dbus-list_8h-source.html#l00093">_dbus_list_get_next_link</a>, <a class="el" href="dbus-string_8c-source.html#l01567">_dbus_string_copy_len()</a>, <a class="el" href="dbus-string_8c-source.html#l01783">_dbus_string_find()</a>, <a class="el" href="dbus-string_8c-source.html#l01876">_dbus_string_find_to()</a>, <a class="el" href="dbus-string_8c-source.html#l00262">_dbus_string_free()</a>, <a class="el" href="dbus-string_8c-source.html#l00175">_dbus_string_init()</a>, <a class="el" href="dbus-string_8c-source.html#l00209">_dbus_string_init_const()</a>, <a class="el" href="dbus-list_8h-source.html#l00038">DBusList::data</a>, <a class="el" href="dbus-protocol_8h-source.html#l00342">DBUS_ERROR_BAD_ADDRESS</a>, <a class="el" href="dbus-errors_8c-source.html#l00301">dbus_error_is_set()</a>, <a class="el" href="dbus-protocol_8h-source.html#l00332">DBUS_ERROR_NO_MEMORY</a>, <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>, <a class="el" href="dbus-memory_8h-source.html#l00046">dbus_new</a>, <a class="el" href="dbus-memory_8h-source.html#l00047">dbus_new0</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-address_8c-source.html#l00047">DBusAddressEntry::keys</a>, <a class="el" href="dbus-address_8c-source.html#l00045">DBusAddressEntry::method</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="group__DBusMacros.html#ga8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>, and <a class="el" href="dbus-address_8c-source.html#l00048">DBusAddressEntry::values</a>.
<p>
Referenced by <a class="el" href="dbus-server_8c-source.html#l00540">dbus_server_listen()</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 14 22:26:13 2009 for D-Bus by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>