dbus: fix 64-bit compiler warnings
[platform/upstream/dbus.git] / dbus / dbus-transport-protected.h
index ee627a3..17081ca 100644 (file)
@@ -71,6 +71,13 @@ struct DBusTransportVTable
   /**< Get socket file descriptor */
 };
 
+typedef dbus_bool_t (*DBusTransportGetUnixUserFunction) (DBusTransport *transport,
+                                                         unsigned long *uid);
+typedef dbus_bool_t (*DBusTransportGetUnixPIDFunction)  (DBusTransport *transport,
+                                                         unsigned long *uid);
+typedef DBusMessage * (*DBusTransportSendSyncCallFunction) (DBusTransport *transport,
+                                                            DBusMessage   *message);
+typedef dbus_bool_t (*DBusTransportAssureProtocolFunction) (DBusMessage **message);
 /**
  * Object representing a transport such as a socket.
  * A transport can shuttle messages from point A to point B,
@@ -109,6 +116,12 @@ struct DBusTransport
   void *windows_user_data;                            /**< Data for windows_user_function */
   
   DBusFreeFunction free_windows_user_data;            /**< Function to free windows_user_data */
+
+  DBusTransportGetUnixUserFunction get_unix_user_function;      /**< Function for getting Unix user ID */
+  DBusTransportGetUnixPIDFunction get_unix_process_id_function; /**< Function for getting Unix process ID */
+  DBusTransportAssureProtocolFunction assure_protocol_function; /**< Function for converting messages, if needed */
+  DBusTransportSendSyncCallFunction send_sync_call_function;    /**< Function for sending synchronous calls */
+  int protocol;                               /**< type of protocol for this transport */
   
   unsigned int disconnected : 1;              /**< #TRUE if we are disconnected. */
   unsigned int authenticated : 1;             /**< Cache of auth state; use _dbus_transport_peek_is_authenticated() to query value */
@@ -117,14 +130,29 @@ struct DBusTransport
   unsigned int is_server : 1;                 /**< #TRUE if on the server side */
   unsigned int unused_bytes_recovered : 1;    /**< #TRUE if we've recovered unused bytes from auth */
   unsigned int allow_anonymous : 1;           /**< #TRUE if an anonymous client can connect */
+  unsigned int overflowed : 1;                /**< #TRUE if last write didn't write all the data */
 };
 
 dbus_bool_t _dbus_transport_init_base     (DBusTransport             *transport,
                                            const DBusTransportVTable *vtable,
                                            const DBusString          *server_guid,
                                            const DBusString          *address);
+dbus_bool_t _dbus_transport_init_base_authenticated     (DBusTransport             *transport,
+                                                         const DBusTransportVTable *vtable,
+                                                         const DBusString          *server_guid,
+                                                         const DBusString          *address);
 void        _dbus_transport_finalize_base (DBusTransport             *transport);
 
+void        _dbus_transport_set_get_unix_user_function       (DBusTransport                    *transport,
+                                                              DBusTransportGetUnixUserFunction  function);
+void        _dbus_transport_set_get_unix_process_id_function (DBusTransport                    *transport,
+                                                              DBusTransportGetUnixPIDFunction   function);
+void        _dbus_transport_set_send_sync_call_function      (DBusTransport                     *transport,
+                                                              DBusTransportSendSyncCallFunction  function);
+void        _dbus_transport_set_assure_protocol_function     (DBusTransport                    *transport,
+                                                              DBusTransportAssureProtocolFunction function,
+                                                              int                               protocol);
+int         _dbus_transport_get_protocol                     (DBusTransport                    *transport);
 
 typedef enum
 {