DBusTransport implementations for sockets
[D-Bus secret internal implementation details]

Implementation details of DBusTransport on sockets. More...

Data Structures

struct  DBusTransportSocket
 Implementation details of DBusTransportSocket. More...

Typedefs

typedef DBusTransportSocket DBusTransportSocket
 Opaque object representing a socket file descriptor transport.

Functions

DBusTransport_dbus_transport_new_for_socket (int fd, const DBusString *server_guid, const DBusString *address)
 Creates a new transport for the given socket file descriptor.
DBusTransport_dbus_transport_new_for_tcp_socket (const char *host, const char *port, const char *family, DBusError *error)
 Creates a new transport for the given hostname and port.
DBusTransportOpenResult _dbus_transport_open_socket (DBusAddressEntry *entry, DBusTransport **transport_p, DBusError *error)
 Opens a TCP socket transport.

Detailed Description

Implementation details of DBusTransport on sockets.


Function Documentation

DBusTransport* _dbus_transport_new_for_socket ( int  fd,
const DBusString server_guid,
const DBusString address 
)

Creates a new transport for the given socket file descriptor.

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.

Parameters:
fd the file descriptor.
server_guid non-NULL if this transport is on the server side of a connection
address the transport's address
Returns:
the new transport, or NULL if no memory.

Definition at line 1153 of file dbus-transport-socket.c.

References _dbus_string_free(), _dbus_string_init(), _dbus_transport_init_base(), _dbus_watch_new(), _dbus_watch_unref(), base, dbus_free(), dbus_new0, encoded_incoming, encoded_outgoing, FALSE, fd, max_bytes_read_per_iteration, max_bytes_written_per_iteration, message_bytes_written, NULL, read_watch, and write_watch.

Referenced by _dbus_transport_new_for_domain_socket(), and _dbus_transport_new_for_tcp_socket().

DBusTransport* _dbus_transport_new_for_tcp_socket ( const char *  host,
const char *  port,
const char *  family,
DBusError error 
)

Creates a new transport for the given hostname and port.

If host is NULL, it will default to localhost

Parameters:
host the host to connect to
port the port to connect to
family the address family to connect to
error location to store reason for failure.
Returns:
a new transport, or NULL on failure.

Definition at line 1221 of file dbus-transport-socket.c.

References _dbus_close_socket(), _dbus_connect_tcp_socket(), _dbus_fd_set_close_on_exec(), _dbus_string_append(), _dbus_string_free(), _dbus_string_init(), _dbus_transport_new_for_socket(), DBUS_ERROR_NO_MEMORY, dbus_set_error(), and NULL.

Referenced by _dbus_transport_open_socket().

DBusTransportOpenResult _dbus_transport_open_socket ( DBusAddressEntry entry,
DBusTransport **  transport_p,
DBusError error 
)

Opens a TCP socket transport.

Parameters:
entry the address entry to try opening as a tcp transport.
transport_p return location for the opened transport
error error to be set
Returns:
result of the attempt

Definition at line 1298 of file dbus-transport-socket.c.

References _dbus_assert, _dbus_set_bad_address(), _dbus_transport_new_for_tcp_socket(), dbus_address_entry_get_method(), dbus_address_entry_get_value(), and NULL.


Generated on Tue Feb 24 16:40:41 2009 for D-Bus by  doxygen 1.5.1