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

Implementation details of DBusTransport on sockets. More...

Data Structures

struct  DBusTransportSocket
 Implementation details of DBusTransportSocket. More...
 

Typedefs

typedef struct 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. 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.

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

Definition at line 1224 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

Parameters
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.
Returns
a new transport, or NULL on failure.

Definition at line 1299 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.

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

Definition at line 1378 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.