23 #ifndef DBUS_TRANSPORT_PROTECTED_H 24 #define DBUS_TRANSPORT_PROTECTED_H 26 #include <dbus/dbus-internals.h> 27 #include <dbus/dbus-errors.h> 28 #include <dbus/dbus-transport.h> 29 #include <dbus/dbus-message-internal.h> 30 #include <dbus/dbus-auth.h> 31 #include <dbus/dbus-resources.h> 61 int timeout_milliseconds);
113 unsigned int disconnected : 1;
114 unsigned int authenticated : 1;
115 unsigned int send_credentials_pending : 1;
116 unsigned int receive_credentials_pending : 1;
117 unsigned int is_server : 1;
118 unsigned int unused_bytes_recovered : 1;
119 unsigned int allow_anonymous : 1;
131 DBUS_TRANSPORT_OPEN_NOT_HANDLED,
132 DBUS_TRANSPORT_OPEN_OK,
133 DBUS_TRANSPORT_OPEN_BAD_ADDRESS,
134 DBUS_TRANSPORT_OPEN_DID_NOT_CONNECT
135 } DBusTransportOpenResult;
141 #define DBUS_TRANSPORT_CAN_SEND_UNIX_FD(x) \ 142 _dbus_auth_get_unix_fd_negotiated((x)->auth) 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.
long max_live_messages_unix_fds
Max total unix fds of received messages.
Implementation of DBusWatch.
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(* connection_set)(DBusTransport *transport)
Called when transport->connection has been filled in.
DBusAuth * auth
Authentication conversation.
#define DBUS_BEGIN_DECLS
Macro used prior to declaring functions in the D-Bus header files.
long max_live_messages_size
Max total size of received messages.
DBusFreeFunction free_windows_user_data
Function to free windows_user_data.
char * expected_guid
GUID we expect the server to have, NULL on server side or if we don't have an expectation.
void(* live_messages_changed)(DBusTransport *transport)
Outstanding messages counter changed.
Internals of DBusCounter.
DBusConnection * connection
Connection owning this transport.
int refcount
Reference count.
Implementation details of DBusConnection.
dbus_bool_t(* get_socket_fd)(DBusTransport *transport, int *fd_p)
Get socket file descriptor.
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.
DBusCounter * live_messages
Counter for size/unix fds of all live messages.
Internal members of DBusAuth.
dbus_uint32_t dbus_bool_t
A boolean, valid values are TRUE and FALSE.
void * unix_user_data
Data for unix_user_function.
DBusAllowWindowsUserFunction windows_user_function
Function for checking whether a user is authorized.
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...
Internals of DBusAddressEntry.
Object representing an exception.
The virtual table that must be implemented to create a new kind of transport.
char * address
Address of the server we are connecting to (NULL for the server side of a transport) ...
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...
DBusMessageLoader * loader
Message-loading buffer.
Object representing a transport such as a socket.
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)...
DBusAllowUnixUserFunction unix_user_function
Function for checking whether a user is authorized.
DBusCredentials * credentials
Credentials of other end read from the socket.
void(* disconnect)(DBusTransport *transport)
Disconnect this transport.
void _dbus_transport_finalize_base(DBusTransport *transport)
Finalizes base class members of DBusTransport.
const DBusTransportVTable * vtable
Virtual methods for this instance.
Implementation details of DBusMessageLoader.
void * windows_user_data
Data for windows_user_function.
DBusFreeFunction free_unix_user_data
Function to free unix_user_data.
void(* finalize)(DBusTransport *transport)
The finalize method must free the transport.
#define DBUS_END_DECLS
Macro used after declaring functions in the D-Bus header files.