00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef DBUS_MESSAGE_INTERNAL_H
00024 #define DBUS_MESSAGE_INTERNAL_H
00025
00026 #include <dbus/dbus-marshal-validate.h>
00027 #include <dbus/dbus-message.h>
00028 #include <dbus/dbus-resources.h>
00029 #include <dbus/dbus-list.h>
00030
00031 DBUS_BEGIN_DECLS
00032
00033 #ifdef DBUS_ENABLE_VERBOSE_MODE
00034 void _dbus_message_trace_ref (DBusMessage *message,
00035 int old_refcount,
00036 int new_refcount,
00037 const char *why);
00038 #else
00039
00040 #define _dbus_message_trace_ref(m, o, n, w) \
00041 do \
00042 {\
00043 (void) (o); \
00044 (void) (n); \
00045 } while (0)
00046 #endif
00047
00048 typedef struct DBusMessageLoader DBusMessageLoader;
00049
00050 void _dbus_message_get_network_data (DBusMessage *message,
00051 const DBusString **header,
00052 const DBusString **body);
00053 DBUS_PRIVATE_EXPORT
00054 void _dbus_message_get_unix_fds (DBusMessage *message,
00055 const int **fds,
00056 unsigned *n_fds);
00057
00058 void _dbus_message_lock (DBusMessage *message);
00059 void _dbus_message_unlock (DBusMessage *message);
00060 dbus_bool_t _dbus_message_add_counter (DBusMessage *message,
00061 DBusCounter *counter);
00062 void _dbus_message_add_counter_link (DBusMessage *message,
00063 DBusList *link);
00064 void _dbus_message_remove_counter (DBusMessage *message,
00065 DBusCounter *counter);
00066
00067 DBUS_PRIVATE_EXPORT
00068 DBusMessageLoader* _dbus_message_loader_new (void);
00069 DBUS_PRIVATE_EXPORT
00070 DBusMessageLoader* _dbus_message_loader_ref (DBusMessageLoader *loader);
00071 DBUS_PRIVATE_EXPORT
00072 void _dbus_message_loader_unref (DBusMessageLoader *loader);
00073
00074 DBUS_PRIVATE_EXPORT
00075 void _dbus_message_loader_get_buffer (DBusMessageLoader *loader,
00076 DBusString **buffer);
00077 DBUS_PRIVATE_EXPORT
00078 void _dbus_message_loader_return_buffer (DBusMessageLoader *loader,
00079 DBusString *buffer);
00080
00081 DBUS_PRIVATE_EXPORT
00082 dbus_bool_t _dbus_message_loader_get_unix_fds (DBusMessageLoader *loader,
00083 int **fds,
00084 unsigned *max_n_fds);
00085 DBUS_PRIVATE_EXPORT
00086 void _dbus_message_loader_return_unix_fds (DBusMessageLoader *loader,
00087 int *fds,
00088 unsigned n_fds);
00089
00090 DBUS_PRIVATE_EXPORT
00091 dbus_bool_t _dbus_message_loader_queue_messages (DBusMessageLoader *loader);
00092 DBusMessage* _dbus_message_loader_peek_message (DBusMessageLoader *loader);
00093 DBUS_PRIVATE_EXPORT
00094 DBusMessage* _dbus_message_loader_pop_message (DBusMessageLoader *loader);
00095 DBusList* _dbus_message_loader_pop_message_link (DBusMessageLoader *loader);
00096 void _dbus_message_loader_putback_message_link (DBusMessageLoader *loader,
00097 DBusList *link);
00098
00099 DBUS_PRIVATE_EXPORT
00100 dbus_bool_t _dbus_message_loader_get_is_corrupted (DBusMessageLoader *loader);
00101 DBusValidity _dbus_message_loader_get_corruption_reason (DBusMessageLoader *loader);
00102
00103 void _dbus_message_loader_set_max_message_size (DBusMessageLoader *loader,
00104 long size);
00105 DBUS_PRIVATE_EXPORT
00106 long _dbus_message_loader_get_max_message_size (DBusMessageLoader *loader);
00107
00108 void _dbus_message_loader_set_max_message_unix_fds(DBusMessageLoader *loader,
00109 long n);
00110 long _dbus_message_loader_get_max_message_unix_fds(DBusMessageLoader *loader);
00111 int _dbus_message_loader_get_pending_fds_count (DBusMessageLoader *loader);
00112 void _dbus_message_loader_set_pending_fds_function (DBusMessageLoader *loader,
00113 void (* callback) (void *),
00114 void *data);
00115
00116 typedef struct DBusInitialFDs DBusInitialFDs;
00117 DBusInitialFDs *_dbus_check_fdleaks_enter (void);
00118 void _dbus_check_fdleaks_leave (DBusInitialFDs *fds);
00119
00120 DBUS_END_DECLS
00121
00122 #endif