|
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: DBusTransport implementations for sockets</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>DBusTransport implementations for sockets<br>
<small>
[<a class="el" href="group__DBusInternals.html">D-Bus secret internal implementation details</a>]</small>
</h1>Implementation details of <a class="el" href="structDBusTransport.html">DBusTransport</a> on sockets.
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structDBusTransportSocket.html">DBusTransportSocket</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Implementation details of <a class="el" href="structDBusTransportSocket.html">DBusTransportSocket</a>. <a href="structDBusTransportSocket.html#_details">More...</a><br></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="g762346435786136b694d19a9bc5bce37"></a><!-- doxytag: member="DBusTransportSocket::DBusTransportSocket" ref="g762346435786136b694d19a9bc5bce37" args="" -->
typedef <a class="el" href="structDBusTransportSocket.html">DBusTransportSocket</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTransportSocket.html#g762346435786136b694d19a9bc5bce37">DBusTransportSocket</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Opaque object representing a socket file descriptor transport. <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="structDBusTransport.html">DBusTransport</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTransportSocket.html#gc714eaa33ff4ab5c01be1304b23339a7">_dbus_transport_new_for_socket</a> (int fd, const <a class="el" href="structDBusString.html">DBusString</a> *server_guid, const <a class="el" href="structDBusString.html">DBusString</a> *address)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new transport for the given socket file descriptor. <a href="#gc714eaa33ff4ab5c01be1304b23339a7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structDBusTransport.html">DBusTransport</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTransportSocket.html#gfb9df3e95ee85e110841c29628e28cab">_dbus_transport_new_for_tcp_socket</a> (const char *host, const char *port, const char *family, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new transport for the given hostname and port. <a href="#gfb9df3e95ee85e110841c29628e28cab"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">DBusTransportOpenResult </td><td class="memItemRight" valign="bottom"><a class="el" href="group__DBusTransportSocket.html#g1bb28d9c6b0aa2b7efdf63f97116bb85">_dbus_transport_open_socket</a> (<a class="el" href="structDBusAddressEntry.html">DBusAddressEntry</a> *entry, <a class="el" href="structDBusTransport.html">DBusTransport</a> **transport_p, <a class="el" href="structDBusError.html">DBusError</a> *error)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Opens a TCP socket transport. <a href="#g1bb28d9c6b0aa2b7efdf63f97116bb85"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Implementation details of <a class="el" href="structDBusTransport.html">DBusTransport</a> on sockets.
<p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="gc714eaa33ff4ab5c01be1304b23339a7"></a><!-- doxytag: member="dbus-transport-socket.c::_dbus_transport_new_for_socket" ref="gc714eaa33ff4ab5c01be1304b23339a7" args="(int fd, const DBusString *server_guid, const DBusString *address)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusTransport.html">DBusTransport</a>* _dbus_transport_new_for_socket </td>
<td>(</td>
<td class="paramtype">int </td>
<td class="paramname"> <em>fd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> * </td>
<td class="paramname"> <em>server_guid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structDBusString.html">DBusString</a> * </td>
<td class="paramname"> <em>address</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>
Creates a new transport for the given socket file descriptor.
<p>
The file descriptor must be nonblocking (use _dbus_set_fd_nonblocking() to make it so). This function is shared by various transports that boil down to a full duplex file descriptor.<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>fd</em> </td><td>the file descriptor. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>server_guid</em> </td><td>non-<a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> if this transport is on the server side of a connection </td></tr>
<tr><td valign="top"></td><td valign="top"><em>address</em> </td><td>the transport's address </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>the new transport, 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-transport-socket_8c-source.html#l01148">1148</a> of file <a class="el" href="dbus-transport-socket_8c-source.html">dbus-transport-socket.c</a>.
<p>
References <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-transport_8c-source.html#l00093">_dbus_transport_init_base()</a>, <a class="el" href="dbus-watch_8c-source.html#l00067">_dbus_watch_new()</a>, <a class="el" href="dbus-watch_8c-source.html#l00117">_dbus_watch_unref()</a>, <a class="el" href="dbus-transport-socket_8c-source.html#l00050">base</a>, <a class="el" href="dbus-memory_8c-source.html#l00617">dbus_free()</a>, <a class="el" href="dbus-memory_8h-source.html#l00047">dbus_new0</a>, <a class="el" href="dbus-transport-socket_8c-source.html#l00065">encoded_incoming</a>, <a class="el" href="dbus-transport-socket_8c-source.html#l00062">encoded_outgoing</a>, <a class="el" href="group__DBusMacros.html#ga93f0eb578d23995850d61f7d61c55c1">FALSE</a>, <a class="el" href="dbus-transport-socket_8c-source.html#l00051">fd</a>, <a class="el" href="dbus-transport-socket_8c-source.html#l00055">max_bytes_read_per_iteration</a>, <a class="el" href="dbus-transport-socket_8c-source.html#l00056">max_bytes_written_per_iteration</a>, <a class="el" href="dbus-transport-socket_8c-source.html#l00058">message_bytes_written</a>, <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, <a class="el" href="dbus-transport-socket_8c-source.html#l00052">read_watch</a>, and <a class="el" href="dbus-transport-socket_8c-source.html#l00053">write_watch</a>.
<p>
Referenced by <a class="el" href="dbus-transport-unix_8c-source.html#l00053">_dbus_transport_new_for_domain_socket()</a>, and <a class="el" href="dbus-transport-socket_8c-source.html#l01216">_dbus_transport_new_for_tcp_socket()</a>.
</div>
</div><p>
<a class="anchor" name="gfb9df3e95ee85e110841c29628e28cab"></a><!-- doxytag: member="dbus-transport-socket.c::_dbus_transport_new_for_tcp_socket" ref="gfb9df3e95ee85e110841c29628e28cab" args="(const char *host, const char *port, const char *family, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDBusTransport.html">DBusTransport</a>* _dbus_transport_new_for_tcp_socket </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>port</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>family</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>
Creates a new transport for the given hostname and port.
<p>
If host is NULL, it will default to localhost<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>host</em> </td><td>the host to connect to </td></tr>
<tr><td valign="top"></td><td valign="top"><em>port</em> </td><td>the port to connect to </td></tr>
<tr><td valign="top"></td><td valign="top"><em>family</em> </td><td>the address family to connect to </td></tr>
<tr><td valign="top"></td><td valign="top"><em>error</em> </td><td>location to store reason for failure. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>a new transport, or <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a> on failure. </dd></dl>
<p>
Definition at line <a class="el" href="dbus-transport-socket_8c-source.html#l01216">1216</a> of file <a class="el" href="dbus-transport-socket_8c-source.html">dbus-transport-socket.c</a>.
<p>
References <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00133">_dbus_close_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l00746">_dbus_connect_tcp_socket()</a>, <a class="el" href="dbus-sysdeps-unix_8c-source.html#l02509">_dbus_fd_set_close_on_exec()</a>, <a class="el" href="dbus-string_8c-source.html#l00987">_dbus_string_append()</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-transport-socket_8c-source.html#l01148">_dbus_transport_new_for_socket()</a>, <a class="el" href="dbus-protocol_8h-source.html#l00332">DBUS_ERROR_NO_MEMORY</a>, <a class="el" href="dbus-errors_8c-source.html#l00326">dbus_set_error()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
<p>
Referenced by <a class="el" href="dbus-transport-socket_8c-source.html#l01293">_dbus_transport_open_socket()</a>.
</div>
</div><p>
<a class="anchor" name="g1bb28d9c6b0aa2b7efdf63f97116bb85"></a><!-- doxytag: member="dbus-transport-socket.c::_dbus_transport_open_socket" ref="g1bb28d9c6b0aa2b7efdf63f97116bb85" args="(DBusAddressEntry *entry, DBusTransport **transport_p, DBusError *error)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">DBusTransportOpenResult _dbus_transport_open_socket </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"><a class="el" href="structDBusTransport.html">DBusTransport</a> ** </td>
<td class="paramname"> <em>transport_p</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>
Opens a TCP socket transport.
<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 address entry to try opening as a tcp transport. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>transport_p</em> </td><td>return location for the opened transport </td></tr>
<tr><td valign="top"></td><td valign="top"><em>error</em> </td><td>error to be set </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>result of the attempt </dd></dl>
<p>
Definition at line <a class="el" href="dbus-transport-socket_8c-source.html#l01293">1293</a> of file <a class="el" href="dbus-transport-socket_8c-source.html">dbus-transport-socket.c</a>.
<p>
References <a class="el" href="dbus-internals_8h-source.html#l00109">_dbus_assert</a>, <a class="el" href="dbus-address_8c-source.html#l00065">_dbus_set_bad_address()</a>, <a class="el" href="dbus-transport-socket_8c-source.html#l01216">_dbus_transport_new_for_tcp_socket()</a>, <a class="el" href="dbus-address_8c-source.html#l00227">dbus_address_entry_get_method()</a>, <a class="el" href="dbus-address_8c-source.html#l00244">dbus_address_entry_get_value()</a>, and <a class="el" href="group__DBusMacros.html#g070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 14 22:26:15 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>