+AtspiHyperlink *
+_atspi_dbus_return_hyperlink_from_message (DBusMessage *message);
+
+AtspiHyperlink *
+_atspi_dbus_return_hyperlink_from_iter (DBusMessageIter *iter);
+
+dbus_bool_t _atspi_dbus_call (gpointer obj, const char *interface, const char *method, GError **error, const char *type, ...);
+
+DBusMessage *_atspi_dbus_call_partial (gpointer obj, const char *interface, const char *method, GError **error, const char *type, ...);
+
+DBusMessage *_atspi_dbus_call_partial_va (gpointer obj, const char *interface, const char *method, GError **error, const char *type, va_list args);
+
+dbus_bool_t _atspi_dbus_get_property (gpointer obj, const char *interface, const char *name, GError **error, const char *type, void *data);
+
+DBusMessage * _atspi_dbus_send_with_reply_and_block (DBusMessage *message, GError **error);
+
+GHashTable *_atspi_dbus_return_hash_from_message (DBusMessage *message);
+
+GHashTable *_atspi_dbus_hash_from_iter (DBusMessageIter *iter);
+
+GArray *_atspi_dbus_return_attribute_array_from_message (DBusMessage *message);
+
+GArray *_atspi_dbus_attribute_array_from_iter (DBusMessageIter *iter);
+
+void _atspi_dbus_set_interfaces (AtspiAccessible *accessible, DBusMessageIter *iter);
+
+void _atspi_dbus_set_state (AtspiAccessible *accessible, DBusMessageIter *iter);
+
+#define _ATSPI_DBUS_CHECK_SIG(message, type, error, ret) \
+ if (!message) \
+ return (ret); \
+ if (dbus_message_get_type (message) == DBUS_MESSAGE_TYPE_ERROR) \
+ { \
+ const char *err; \
+ dbus_message_get_args (message, NULL, DBUS_TYPE_STRING, &err, DBUS_TYPE_INVALID); \
+ if (err) \
+ g_set_error_literal (error, ATSPI_ERROR, ATSPI_ERROR_IPC, err); \
+ dbus_message_unref (message); \
+ return ret; \
+ } \
+ if (strcmp (dbus_message_get_signature (message), type) != 0) \
+ { \
+ g_warning ("at-spi: Expected message signature %s but got %s at %s line %d", type, dbus_message_get_signature (message), __FILE__, __LINE__); \
+ dbus_message_unref (message); \
+ return (ret); \
+ }
+
+
+/**
+ * ATSPI_ERROR:
+ *
+ * Error domain for AT-SPI IPC failures. Errors in this domain will
+ * be from the #ATSPIAtspiError enumeration. See #GError for information on
+ * error domains.
+ */
+#define ATSPI_ERROR _atspi_error_quark()
+GQuark _atspi_error_quark (void);
+
+/**
+ * AtspiError:
+ * @ATSPI_APPLICATION_NO_LONGER_EXISTS: The application has quit.
+ */
+typedef enum
+{
+ ATSPI_ERROR_APPLICATION_GONE,
+ ATSPI_ERROR_IPC,
+ ATSPI_ERROR_SYNC_NOT_ALLOWED,
+} AtspiError;
+
+extern GMainLoop *atspi_main_loop;
+extern gboolean atspi_no_cache;
+
+GHashTable *_atspi_get_live_refs ();