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

  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 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_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

  host | the host to connect to
  port | the port to connect to
  family | the address family to connect to
  path | to nonce file
  error | location to store reason for failure.

Returns
  a new transport, or NULL on failure.

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

  entry | the address entry to try opening as a tcp transport.
  transport_p | return location for the opened transport
  error | error to be set

Returns
  result of the attempt

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