dbus-marshal-validate: Check brackets in signature nest correctly
[platform/upstream/dbus.git] / dbus / dbus-marshal-header.h
index fd16c5f..0073e4f 100644 (file)
@@ -57,14 +57,14 @@ struct DBusHeader
 
   dbus_uint32_t padding : 3;        /**< bytes of alignment in header */
   dbus_uint32_t byte_order : 8;     /**< byte order of header */
+  unsigned char protocol_version;
 };
 
-dbus_bool_t   _dbus_header_init                   (DBusHeader        *header,
-                                                   int                byte_order);
+dbus_bool_t   _dbus_header_init                   (DBusHeader        *header);
 void          _dbus_header_free                   (DBusHeader        *header);
-void          _dbus_header_reinit                 (DBusHeader        *header,
-                                                   int                byte_order);
+void          _dbus_header_reinit                 (DBusHeader        *header);
 dbus_bool_t   _dbus_header_create                 (DBusHeader        *header,
+                                                   int                byte_order,
                                                    int                type,
                                                    const char        *destination,
                                                    const char        *path,
@@ -79,6 +79,7 @@ void          _dbus_header_set_serial             (DBusHeader        *header,
 dbus_uint32_t _dbus_header_get_serial             (DBusHeader        *header);
 void          _dbus_header_update_lengths         (DBusHeader        *header,
                                                    int                body_len);
+DBUS_PRIVATE_EXPORT
 dbus_bool_t   _dbus_header_set_field_basic        (DBusHeader        *header,
                                                    int                field,
                                                    int                type,
@@ -87,10 +88,12 @@ dbus_bool_t   _dbus_header_get_field_basic        (DBusHeader        *header,
                                                    int                field,
                                                    int                type,
                                                    void              *value);
+DBUS_PRIVATE_EXPORT
 dbus_bool_t   _dbus_header_get_field_raw          (DBusHeader        *header,
                                                    int                field,
                                                    const DBusString **str,
                                                    int               *pos);
+DBUS_PRIVATE_EXPORT
 dbus_bool_t   _dbus_header_delete_field           (DBusHeader        *header,
                                                    int                field);
 void          _dbus_header_toggle_flag            (DBusHeader        *header,
@@ -109,7 +112,8 @@ dbus_bool_t   _dbus_header_have_message_untrusted (int                max_messag
                                                    int               *body_len,
                                                    const DBusString  *str,
                                                    int                start,
-                                                   int                len);
+                                                   int                len,
+                                                   dbus_bool_t       *is_gvariant);
 dbus_bool_t   _dbus_header_load                   (DBusHeader        *header,
                                                    DBusValidationMode mode,
                                                    DBusValidity      *validity,
@@ -122,6 +126,8 @@ dbus_bool_t   _dbus_header_load                   (DBusHeader        *header,
                                                    int                len);
 void          _dbus_header_byteswap               (DBusHeader        *header,
                                                    int                new_order);
+DBUS_PRIVATE_EXPORT
+char          _dbus_header_get_byte_order         (const DBusHeader  *header);