Main Page | Modules | Data Structures | File List | Data Fields | Related Pages

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, dbus_bool_t server, 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 1092 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_bool_t, dbus_set_error(), FALSE, and NULL.

Referenced by _dbus_transport_open().

DBusTransport* _dbus_transport_new_for_fd int  fd,
dbus_bool_t  server,
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 TRUE 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 1022 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_bool_t, dbus_free(), dbus_new0, DBusTransportUnix, 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,
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 1159 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_int32_t, dbus_set_error(), FALSE, and NULL.

Referenced by _dbus_transport_open().


Generated on Sun Mar 21 03:52:08 2004 for D-BUS by doxygen 1.3.6-20040222