25#ifndef DBUS_TRANSPORT_PROTECTED_H
26#define DBUS_TRANSPORT_PROTECTED_H
28#include <dbus/dbus-internals.h>
29#include <dbus/dbus-errors.h>
30#include <dbus/dbus-transport.h>
31#include <dbus/dbus-message-internal.h>
32#include <dbus/dbus-auth.h>
33#include <dbus/dbus-resources.h>
63 int timeout_milliseconds);
133 DBUS_TRANSPORT_OPEN_NOT_HANDLED,
134 DBUS_TRANSPORT_OPEN_OK,
135 DBUS_TRANSPORT_OPEN_BAD_ADDRESS,
136 DBUS_TRANSPORT_OPEN_DID_NOT_CONNECT
137} DBusTransportOpenResult;
143#define DBUS_TRANSPORT_CAN_SEND_UNIX_FD(x) \
144 _dbus_auth_get_unix_fd_negotiated((x)->auth)
dbus_bool_t(* DBusAllowUnixUserFunction)(DBusConnection *connection, unsigned long uid, void *data)
Called during authentication to check whether the given UNIX user ID is allowed to connect,...
dbus_bool_t(* DBusAllowWindowsUserFunction)(DBusConnection *connection, const char *user_sid, void *data)
Called during authentication to check whether the given Windows user ID is allowed to connect,...
#define DBUS_BEGIN_DECLS
Macro used prior to declaring functions in the D-Bus header files.
#define DBUS_END_DECLS
Macro used after declaring functions in the D-Bus header files.
void(* DBusFreeFunction)(void *memory)
The type of a function which frees a block of memory.
DBusTransportOpenResult _dbus_transport_open_platform_specific(DBusAddressEntry *entry, DBusTransport **transport_p, DBusError *error)
Opens platform specific transport types.
dbus_bool_t _dbus_transport_init_base(DBusTransport *transport, const DBusTransportVTable *vtable, const DBusString *server_guid, const DBusString *address)
Initializes the base class members of DBusTransport.
void _dbus_transport_finalize_base(DBusTransport *transport)
Finalizes base class members of DBusTransport.
Internals of DBusAddressEntry.
Internal members of DBusAuth.
Implementation details of DBusConnection.
Internals of DBusCounter.
Object representing an exception.
Implementation details of DBusMessageLoader.
The virtual table that must be implemented to create a new kind of transport.
dbus_bool_t(* get_socket_fd)(DBusTransport *transport, DBusSocket *fd_p)
Get socket file descriptor.
void(* disconnect)(DBusTransport *transport)
Disconnect this transport.
void(* live_messages_changed)(DBusTransport *transport)
Outstanding messages counter changed.
void(* do_iteration)(DBusTransport *transport, unsigned int flags, int timeout_milliseconds)
Called to do a single "iteration" (block on select/poll followed by reading or writing data).
dbus_bool_t(* handle_watch)(DBusTransport *transport, DBusWatch *watch, unsigned int flags)
The handle_watch method handles reading/writing data as indicated by the flags.
void(* finalize)(DBusTransport *transport)
The finalize method must free the transport.
dbus_bool_t(* connection_set)(DBusTransport *transport)
Called when transport->connection has been filled in.
Object representing a transport such as a socket.
unsigned int authenticated
Cache of auth state; use _dbus_transport_peek_is_authenticated() to query value.
DBusAllowWindowsUserFunction windows_user_function
Function for checking whether a user is authorized.
int refcount
Reference count.
long max_live_messages_size
Max total size of received messages.
long max_live_messages_unix_fds
Max total unix fds of received messages.
unsigned int allow_anonymous
TRUE if an anonymous client can connect
void * windows_user_data
Data for windows_user_function.
unsigned int is_server
TRUE if on the server side
unsigned int disconnected
TRUE if we are disconnected.
char * address
Address of the server we are connecting to (NULL for the server side of a transport)
unsigned int unused_bytes_recovered
TRUE if we've recovered unused bytes from auth
const DBusTransportVTable * vtable
Virtual methods for this instance.
DBusFreeFunction free_unix_user_data
Function to free unix_user_data.
unsigned int send_credentials_pending
TRUE if we need to send credentials
void * unix_user_data
Data for unix_user_function.
DBusConnection * connection
Connection owning this transport.
unsigned int receive_credentials_pending
TRUE if we need to receive credentials
DBusMessageLoader * loader
Message-loading buffer.
char * expected_guid
GUID we expect the server to have, NULL on server side or if we don't have an expectation.
DBusFreeFunction free_windows_user_data
Function to free windows_user_data.
DBusAllowUnixUserFunction unix_user_function
Function for checking whether a user is authorized.
DBusCredentials * credentials
Credentials of other end read from the socket.
DBusAuth * auth
Authentication conversation.
DBusCounter * live_messages
Counter for size/unix fds of all live messages.
Implementation of DBusWatch.