D-Bus: DBusTransport implementations for sockets

D-Bus 1.10.22

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 (DBusSocket 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

## ◆ _dbus_transport_new_for_socket()

DBusTransport* _dbus_transport_new_for_socket | ( | DBusSocket | 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 1275 of file dbus-transport-socket.c.

References _dbus_string_init(), _dbus_watch_new(), dbus_new0, encoded_incoming, encoded_outgoing, NULL, and write_watch.

## ◆ _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
  noncefile | path to nonce file
  error | location to store reason for failure.

Returns
  a new transport, or NULL on failure.

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

References _dbus_string_append(), _dbus_string_init(), DBUS_ERROR_NO_MEMORY, dbus_set_error(), fd, and NULL.

Referenced by _dbus_transport_open_socket().

## ◆ _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 1429 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.