D-Bus  1.9.0
Data Structures | Typedefs | Functions
DBusTransport implementations for sockets

Implementation details of DBusTransport on sockets. More...

Data Structures

struct  DBusTransportSocket
 Implementation details of DBusTransportSocket. More...


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


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. More...
DBusTransport_dbus_transport_new_for_tcp_socket (const char *host, const char *port, const char *family, const char *noncefile, DBusError *error)
 Creates a new transport for the given hostname and port. More...
DBusTransportOpenResult _dbus_transport_open_socket (DBusAddressEntry *entry, DBusTransport **transport_p, DBusError *error)
 Opens a TCP socket transport. More...

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.

fdthe file descriptor.
server_guidnon-NULL if this transport is on the server side of a connection
addressthe transport's address
the new transport, or NULL if no memory.

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

References _dbus_auth_set_unix_fd_possible(), _dbus_socket_can_pass_unix_fd(), _dbus_string_free(), _dbus_string_init(), _dbus_transport_init_base(), _dbus_watch_invalidate(), _dbus_watch_new(), _dbus_watch_unref(), DBusTransport::auth, 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,
const char *  noncefile,
DBusError error 

Creates a new transport for the given hostname and port.

If host is NULL, it will default to localhost

hostthe host to connect to
portthe port to connect to
familythe address family to connect to
noncefilepath to nonce file
errorlocation to store reason for failure.
a new transport, or NULL on failure.

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

References _dbus_close_socket(), _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.

entrythe address entry to try opening as a tcp transport.
transport_preturn location for the opened transport
errorerror to be set
result of the attempt

Definition at line 1410 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(), NULL, and TRUE.