with Interfaces.C; use Interfaces.C;
with System;
with dbus_arch_deps_h;
with Interfaces.C.Strings;
with dbus_types_h;
limited with dbus_errors_h;

package dbus_signature_h is

   type DBusSignatureIter is record
      dummy1 : System.Address;  -- ../dbus/dbus-signature.h:46:9
      dummy2 : System.Address;  -- ../dbus/dbus-signature.h:47:9
      dummy8 : aliased dbus_arch_deps_h.dbus_uint32_t;  -- ../dbus/dbus-signature.h:48:17
      dummy12 : aliased int;  -- ../dbus/dbus-signature.h:49:7
      dummy17 : aliased int;  -- ../dbus/dbus-signature.h:50:7
   end record;
   pragma Convention (C_Pass_By_Copy, DBusSignatureIter);  -- ../dbus/dbus-signature.h:51:3

   procedure dbus_signature_iter_init (arg1 : access DBusSignatureIter; arg2 : Interfaces.C.Strings.chars_ptr);  -- ../dbus/dbus-signature.h:53:17
   pragma Import (C, dbus_signature_iter_init, "dbus_signature_iter_init");

   function dbus_signature_iter_get_current_type (arg1 : access constant DBusSignatureIter) return int;  -- ../dbus/dbus-signature.h:56:17
   pragma Import (C, dbus_signature_iter_get_current_type, "dbus_signature_iter_get_current_type");

   function dbus_signature_iter_get_signature (arg1 : access constant DBusSignatureIter) return Interfaces.C.Strings.chars_ptr;  -- ../dbus/dbus-signature.h:58:17
   pragma Import (C, dbus_signature_iter_get_signature, "dbus_signature_iter_get_signature");

   function dbus_signature_iter_get_element_type (arg1 : access constant DBusSignatureIter) return int;  -- ../dbus/dbus-signature.h:60:17
   pragma Import (C, dbus_signature_iter_get_element_type, "dbus_signature_iter_get_element_type");

   function dbus_signature_iter_next (arg1 : access DBusSignatureIter) return dbus_types_h.dbus_bool_t;  -- ../dbus/dbus-signature.h:62:17
   pragma Import (C, dbus_signature_iter_next, "dbus_signature_iter_next");

   procedure dbus_signature_iter_recurse (arg1 : access constant DBusSignatureIter; arg2 : access DBusSignatureIter);  -- ../dbus/dbus-signature.h:64:17
   pragma Import (C, dbus_signature_iter_recurse, "dbus_signature_iter_recurse");

   function dbus_signature_validate (arg1 : Interfaces.C.Strings.chars_ptr; arg2 : access dbus_errors_h.DBusError) return dbus_types_h.dbus_bool_t;  -- ../dbus/dbus-signature.h:67:17
   pragma Import (C, dbus_signature_validate, "dbus_signature_validate");

   function dbus_signature_validate_single (arg1 : Interfaces.C.Strings.chars_ptr; arg2 : access dbus_errors_h.DBusError) return dbus_types_h.dbus_bool_t;  -- ../dbus/dbus-signature.h:70:17
   pragma Import (C, dbus_signature_validate_single, "dbus_signature_validate_single");

   function dbus_type_is_basic (arg1 : int) return dbus_types_h.dbus_bool_t;  -- ../dbus/dbus-signature.h:73:17
   pragma Import (C, dbus_type_is_basic, "dbus_type_is_basic");

   function dbus_type_is_container (arg1 : int) return dbus_types_h.dbus_bool_t;  -- ../dbus/dbus-signature.h:74:17
   pragma Import (C, dbus_type_is_container, "dbus_type_is_container");

   function dbus_type_is_fixed (arg1 : int) return dbus_types_h.dbus_bool_t;  -- ../dbus/dbus-signature.h:75:17
   pragma Import (C, dbus_type_is_fixed, "dbus_type_is_fixed");

end dbus_signature_h;
