DBusTransport implementations for UNIX
[D-BUS internal implementation details]

Implementation details of DBusTransport on UNIX. More...

Data Structures

struct  DBusTransportUnix
 Implementation details of DBusTransportUnix. More...

Typedefs

typedef DBusTransportUnix DBusTransportUnix
 Opaque object representing a Unix file descriptor transport.

Functions

DBusTransport_dbus_transport_new_for_fd (int fd, const DBusString *server_guid, const DBusString *address)
 Creates a new transport for the given file descriptor.
DBusTransport_dbus_transport_new_for_domain_socket (const char *path, dbus_bool_t abstract, DBusError *error)
 Creates a new transport for the given Unix domain socket path.
DBusTransport_dbus_transport_new_for_tcp_socket (const char *host, dbus_int32_t port, DBusError *error)
 Creates a new transport for the given hostname and port.

Detailed Description

Implementation details of DBusTransport on UNIX.


Function Documentation

DBusTransport* _dbus_transport_new_for_domain_socket const char *  path,
dbus_bool_t  abstract,
DBusError error
 

Creates a new transport for the given Unix domain socket path.

This creates a client-side of a transport.

Todo:
once we add a way to escape paths in a dbus address, this function needs to do escaping.
Parameters:
path the path to the domain socket.
abstract TRUE to use abstract socket namespace
error address where an error can be returned.
Returns:
a new transport, or NULL on failure.

Definition at line 1192 of file dbus-transport-unix.c.

References _dbus_close(), _dbus_connect_unix_socket(), _dbus_fd_set_close_on_exec(), _dbus_string_append(), _dbus_string_free(), _dbus_string_init(), _dbus_transport_new_for_fd(), dbus_set_error(), FALSE, and NULL.

Referenced by _dbus_transport_open().

DBusTransport* _dbus_transport_new_for_fd int  fd,
const DBusString server_guid,
const DBusString address
 

Creates a new transport for the given 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 1122 of file dbus-transport-unix.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_debug_pipe_new(), _dbus_transport_new_for_domain_socket(), and _dbus_transport_new_for_tcp_socket().

DBusTransport* _dbus_transport_new_for_tcp_socket const char *  host,
dbus_int32_t  port,
DBusError error
 

Creates a new transport for the given hostname and port.

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

Definition at line 1259 of file dbus-transport-unix.c.

References _dbus_close(), _dbus_connect_tcp_socket(), _dbus_fd_set_close_on_exec(), _dbus_string_append(), _dbus_string_append_int(), _dbus_string_free(), _dbus_string_init(), _dbus_transport_new_for_fd(), dbus_set_error(), FALSE, and NULL.

Referenced by _dbus_transport_open().


Generated on Tue Jul 7 15:14:02 2009 for D-BUS by  doxygen 1.4.6