D-Bus 1.4.10
Data Structures | Typedefs | Functions
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 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.
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.
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:
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 1232 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_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
pathto nonce file
errorlocation to store reason for failure.
Returns:
a new transport, or NULL on failure.

Definition at line 1305 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_platform_specific(), and _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 1384 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.