gir-repository r15 - in trunk: . gir



Author: johan
Date: Mon Jul 28 07:34:12 2008
New Revision: 15
URL: http://svn.gnome.org/viewvc/gir-repository?rev=15&view=rev

Log:
2008-07-28  Johan Dahlin  <johan gnome org>

    * gir/Makefile.am:
    * gir/glib-2.0.gir:
    * gir/gobject-2.0.gir:
    add glib and gobject gir files



Added:
   trunk/gir/glib-2.0.gir
   trunk/gir/gobject-2.0.gir
Modified:
   trunk/ChangeLog
   trunk/gir/Makefile.am

Modified: trunk/gir/Makefile.am
==============================================================================
--- trunk/gir/Makefile.am	(original)
+++ trunk/gir/Makefile.am	Mon Jul 28 07:34:12 2008
@@ -1,5 +1,31 @@
 GIRSOURCES =
 
+# glib
+GLIB_INCLUDEDIR=`pkg-config --variable=includedir glib-2.0`/glib-2.0
+GLIB_LIBDIR=`pkg-config --variable=libdir glib-2.0`
+glib-2.0.gir:
+	$(G_IR_SCANNER) -v --namespace GLib \
+	    --output $@ \
+		--strip-prefix=g \
+	    -I$(GLIB_INCLUDEDIR) \
+		-I$(GLIB_LIBDIR)/glib-2.0/include \
+		-DGETTEXT_PACKAGE=Dummy \
+	    $(GLIB_INCLUDEDIR)/glib/*.h
+GIRSOURCES += glib-2.0.gir
+
+# gobject
+gobject-2.0.gir:
+	$(G_IR_SCANNER) -v --namespace GObject \
+	    --output $@ \
+		--strip-prefix=g \
+        --include=glib-2.0.gir \
+	    -I$(GLIB_INCLUDEDIR) \
+		-I$(GLIB_LIBDIR)/glib-2.0/include \
+		-DGOBJECT_COMPILATION \
+        --pkg glib-2.0 \
+	    $(GLIB_INCLUDEDIR)/gobject/*.h
+GIRSOURCES += gobject-2.0.gir
+
 # cairo
 FT_INCLUDEDIR=`pkg-config --variable=includedir freetype2`/freetype2
 CAIRO_INCLUDEDIR=`pkg-config --variable=includedir cairo`/cairo

Added: trunk/gir/glib-2.0.gir
==============================================================================
--- (empty file)
+++ trunk/gir/glib-2.0.gir	Mon Jul 28 07:34:12 2008
@@ -0,0 +1,18241 @@
+<repository version="1.0"
+            xmlns="http://www.gtk.org/introspection/core/1.0";
+            xmlns:c="http://www.gtk.org/introspection/c/1.0";
+            xmlns:glib="http://www.gtk.org/introspection/glib/1.0";>
+  <namespace name="GLib">
+    <callback name="GCompareFunc">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="a">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="b">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GCompareDataFunc">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="a">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="b">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GEqualFunc">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="a">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="b">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GDestroyNotify">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GHashFunc">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="key">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GHFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="value">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GFreeFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GTranslateFunc">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <record name="TimeVal" c:type="GTimeVal"/>
+    <record name="GTimeVal" c:type="_GTimeVal">
+      <field name="tv_sec">
+        <type name="long" c:type="glong"/>
+      </field>
+      <field name="tv_usec">
+        <type name="long" c:type="glong"/>
+      </field>
+    </record>
+    <record name="Array" c:type="GArray"/>
+    <record name="ByteArray" c:type="GByteArray"/>
+    <record name="PtrArray" c:type="GPtrArray"/>
+    <record name="GArray" c:type="_GArray">
+      <field name="data">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="len">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <record name="GByteArray" c:type="_GByteArray">
+      <field name="data">
+        <type name="guint8*" c:type="guint8*"/>
+      </field>
+      <field name="len">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <record name="GPtrArray" c:type="_GPtrArray">
+      <field name="pdata">
+        <type name="gpointer*" c:type="gpointer*"/>
+      </field>
+      <field name="len">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <function name="array_new" c:identifier="g_array_new">
+      <return-value>
+        <type name="GArray*" c:type="GArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="zero_terminated">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="clear_">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="element_size">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_sized_new" c:identifier="g_array_sized_new">
+      <return-value>
+        <type name="GArray*" c:type="GArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="zero_terminated">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="clear_">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="element_size">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="reserved_size">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_free" c:identifier="g_array_free">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GArray" c:type="GArray*"/>
+        </parameter>
+        <parameter name="free_segment">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_append_vals" c:identifier="g_array_append_vals">
+      <return-value>
+        <type name="GArray*" c:type="GArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GArray" c:type="GArray*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="len">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_prepend_vals" c:identifier="g_array_prepend_vals">
+      <return-value>
+        <type name="GArray*" c:type="GArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GArray" c:type="GArray*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="len">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_insert_vals" c:identifier="g_array_insert_vals">
+      <return-value>
+        <type name="GArray*" c:type="GArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GArray" c:type="GArray*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="len">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_set_size" c:identifier="g_array_set_size">
+      <return-value>
+        <type name="GArray*" c:type="GArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GArray" c:type="GArray*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_remove_index" c:identifier="g_array_remove_index">
+      <return-value>
+        <type name="GArray*" c:type="GArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GArray" c:type="GArray*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_remove_index_fast"
+              c:identifier="g_array_remove_index_fast">
+      <return-value>
+        <type name="GArray*" c:type="GArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GArray" c:type="GArray*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_remove_range" c:identifier="g_array_remove_range">
+      <return-value>
+        <type name="GArray*" c:type="GArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GArray" c:type="GArray*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="length">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_sort" c:identifier="g_array_sort">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GArray" c:type="GArray*"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareFunc" c:type="GCompareFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_sort_with_data"
+              c:identifier="g_array_sort_with_data">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GArray" c:type="GArray*"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ptr_array_new" c:identifier="g_ptr_array_new">
+      <return-value>
+        <type name="GPtrArray*" c:type="GPtrArray*"/>
+      </return-value>
+    </function>
+    <function name="ptr_array_sized_new" c:identifier="g_ptr_array_sized_new">
+      <return-value>
+        <type name="GPtrArray*" c:type="GPtrArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="reserved_size">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ptr_array_free" c:identifier="g_ptr_array_free">
+      <return-value>
+        <type name="gpointer*" c:type="gpointer*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GPtrArray" c:type="GPtrArray*"/>
+        </parameter>
+        <parameter name="free_seg">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ptr_array_set_size" c:identifier="g_ptr_array_set_size">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GPtrArray" c:type="GPtrArray*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ptr_array_remove_index"
+              c:identifier="g_ptr_array_remove_index">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GPtrArray" c:type="GPtrArray*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ptr_array_remove_index_fast"
+              c:identifier="g_ptr_array_remove_index_fast">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GPtrArray" c:type="GPtrArray*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ptr_array_remove" c:identifier="g_ptr_array_remove">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GPtrArray" c:type="GPtrArray*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ptr_array_remove_fast"
+              c:identifier="g_ptr_array_remove_fast">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GPtrArray" c:type="GPtrArray*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ptr_array_remove_range"
+              c:identifier="g_ptr_array_remove_range">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GPtrArray" c:type="GPtrArray*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="length">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ptr_array_add" c:identifier="g_ptr_array_add">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GPtrArray" c:type="GPtrArray*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ptr_array_sort" c:identifier="g_ptr_array_sort">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GPtrArray" c:type="GPtrArray*"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareFunc" c:type="GCompareFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ptr_array_sort_with_data"
+              c:identifier="g_ptr_array_sort_with_data">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GPtrArray" c:type="GPtrArray*"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ptr_array_foreach" c:identifier="g_ptr_array_foreach">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GPtrArray" c:type="GPtrArray*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GFunc" c:type="GFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="byte_array_new" c:identifier="g_byte_array_new">
+      <return-value>
+        <type name="GByteArray*" c:type="GByteArray*"/>
+      </return-value>
+    </function>
+    <function name="byte_array_sized_new"
+              c:identifier="g_byte_array_sized_new">
+      <return-value>
+        <type name="GByteArray*" c:type="GByteArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="reserved_size">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="byte_array_free" c:identifier="g_byte_array_free">
+      <return-value>
+        <type name="guint8*" c:type="guint8*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GByteArray" c:type="GByteArray*"/>
+        </parameter>
+        <parameter name="free_segment">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="byte_array_append" c:identifier="g_byte_array_append">
+      <return-value>
+        <type name="GByteArray*" c:type="GByteArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GByteArray" c:type="GByteArray*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="guint8" c:type="guint8*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="byte_array_prepend" c:identifier="g_byte_array_prepend">
+      <return-value>
+        <type name="GByteArray*" c:type="GByteArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GByteArray" c:type="GByteArray*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="guint8" c:type="guint8*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="byte_array_set_size" c:identifier="g_byte_array_set_size">
+      <return-value>
+        <type name="GByteArray*" c:type="GByteArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GByteArray" c:type="GByteArray*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="byte_array_remove_index"
+              c:identifier="g_byte_array_remove_index">
+      <return-value>
+        <type name="GByteArray*" c:type="GByteArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GByteArray" c:type="GByteArray*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="byte_array_remove_index_fast"
+              c:identifier="g_byte_array_remove_index_fast">
+      <return-value>
+        <type name="GByteArray*" c:type="GByteArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GByteArray" c:type="GByteArray*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="byte_array_remove_range"
+              c:identifier="g_byte_array_remove_range">
+      <return-value>
+        <type name="GByteArray*" c:type="GByteArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GByteArray" c:type="GByteArray*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="length">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="byte_array_sort" c:identifier="g_byte_array_sort">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GByteArray" c:type="GByteArray*"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareFunc" c:type="GCompareFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="byte_array_sort_with_data"
+              c:identifier="g_byte_array_sort_with_data">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array">
+          <type name="GByteArray" c:type="GByteArray*"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="quark_try_string" c:identifier="g_quark_try_string">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="quark_from_static_string"
+              c:identifier="g_quark_from_static_string">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="quark_from_string" c:identifier="g_quark_from_string">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="quark_to_string" c:identifier="g_quark_to_string">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="quark">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="intern_string" c:identifier="g_intern_string">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="intern_static_string"
+              c:identifier="g_intern_static_string">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Error" c:type="GError"/>
+    <record name="GError" c:type="_GError">
+      <field name="domain">
+        <type name="GQuark" c:type="GQuark"/>
+      </field>
+      <field name="code">
+        <type name="int32" c:type="gint"/>
+      </field>
+      <field name="message">
+        <type name="string" c:type="gchar*"/>
+      </field>
+    </record>
+    <function name="error_new" c:identifier="g_error_new">
+      <return-value>
+        <type name="GError*" c:type="GError*"/>
+      </return-value>
+      <parameters>
+        <parameter name="domain">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="code">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="error_new_literal" c:identifier="g_error_new_literal">
+      <return-value>
+        <type name="GError*" c:type="GError*"/>
+      </return-value>
+      <parameters>
+        <parameter name="domain">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="code">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="message">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="error_free" c:identifier="g_error_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="error">
+          <type name="GError" c:type="GError*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="error_copy" c:identifier="g_error_copy">
+      <return-value>
+        <type name="GError*" c:type="GError*"/>
+      </return-value>
+      <parameters>
+        <parameter name="error">
+          <type name="GError" c:type="GError*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="error_matches" c:identifier="g_error_matches">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="error">
+          <type name="GError" c:type="GError*"/>
+        </parameter>
+        <parameter name="domain">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="code">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="set_error" c:identifier="g_set_error">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="err">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+        <parameter name="domain">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="code">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="set_error_literal" c:identifier="g_set_error_literal">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="err">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+        <parameter name="domain">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="code">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="message">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="propagate_error" c:identifier="g_propagate_error">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="dest">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+        <parameter name="src">
+          <type name="GError" c:type="GError*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="clear_error" c:identifier="g_clear_error">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="err">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="prefix_error" c:identifier="g_prefix_error">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="err">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="propagate_prefixed_error"
+              c:identifier="g_propagate_prefixed_error">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="dest">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+        <parameter name="src">
+          <type name="GError" c:type="GError*"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="get_user_name" c:identifier="g_get_user_name">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+    </function>
+    <function name="get_real_name" c:identifier="g_get_real_name">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+    </function>
+    <function name="get_home_dir" c:identifier="g_get_home_dir">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+    </function>
+    <function name="get_tmp_dir" c:identifier="g_get_tmp_dir">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+    </function>
+    <function name="get_host_name" c:identifier="g_get_host_name">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+    </function>
+    <function name="get_prgname" c:identifier="g_get_prgname">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+    </function>
+    <function name="set_prgname" c:identifier="g_set_prgname">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="prgname">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="get_application_name"
+              c:identifier="g_get_application_name">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+    </function>
+    <function name="set_application_name"
+              c:identifier="g_set_application_name">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="application_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="get_user_data_dir" c:identifier="g_get_user_data_dir">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+    </function>
+    <function name="get_user_config_dir" c:identifier="g_get_user_config_dir">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+    </function>
+    <function name="get_user_cache_dir" c:identifier="g_get_user_cache_dir">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+    </function>
+    <function name="get_system_data_dirs"
+              c:identifier="g_get_system_data_dirs">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+    </function>
+    <function name="get_system_config_dirs"
+              c:identifier="g_get_system_config_dirs">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+    </function>
+    <function name="get_language_names" c:identifier="g_get_language_names">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+    </function>
+    <enumeration name="guserdirectory" c:type="GUserDirectory">
+      <member name="y_desktop"
+              value="0"
+              c:identifier="G_USER_DIRECTORY_DESKTOP"/>
+      <member name="y_documents"
+              value="1"
+              c:identifier="G_USER_DIRECTORY_DOCUMENTS"/>
+      <member name="y_download"
+              value="2"
+              c:identifier="G_USER_DIRECTORY_DOWNLOAD"/>
+      <member name="y_music" value="3" c:identifier="G_USER_DIRECTORY_MUSIC"/>
+      <member name="y_pictures"
+              value="4"
+              c:identifier="G_USER_DIRECTORY_PICTURES"/>
+      <member name="y_public_share"
+              value="5"
+              c:identifier="G_USER_DIRECTORY_PUBLIC_SHARE"/>
+      <member name="y_templates"
+              value="6"
+              c:identifier="G_USER_DIRECTORY_TEMPLATES"/>
+      <member name="y_videos"
+              value="7"
+              c:identifier="G_USER_DIRECTORY_VIDEOS"/>
+      <member name="n_directories"
+              value="8"
+              c:identifier="G_USER_N_DIRECTORIES"/>
+    </enumeration>
+    <function name="get_user_special_dir"
+              c:identifier="g_get_user_special_dir">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="directory">
+          <type name="GUserDirectory" c:type="GUserDirectory"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="DebugKey" c:type="GDebugKey"/>
+    <record name="GDebugKey" c:type="_GDebugKey">
+      <field name="key">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="value">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <function name="parse_debug_string" c:identifier="g_parse_debug_string">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="keys">
+          <type name="GDebugKey" c:type="GDebugKey*"/>
+        </parameter>
+        <parameter name="nkeys">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="snprintf" c:identifier="g_snprintf">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="vsnprintf" c:identifier="g_vsnprintf">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="path_is_absolute" c:identifier="g_path_is_absolute">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="file_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="path_skip_root" c:identifier="g_path_skip_root">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="file_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="basename" c:identifier="g_basename">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="file_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="get_current_dir" c:identifier="g_get_current_dir">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+    </function>
+    <function name="path_get_basename" c:identifier="g_path_get_basename">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="file_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="path_get_dirname" c:identifier="g_path_get_dirname">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="file_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="nullify_pointer" c:identifier="g_nullify_pointer">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="nullify_location">
+          <type name="gpointer" c:type="gpointer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="getenv" c:identifier="g_getenv">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="variable">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="setenv" c:identifier="g_setenv">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="variable">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="overwrite">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unsetenv" c:identifier="g_unsetenv">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="variable">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="listenv" c:identifier="g_listenv">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+    </function>
+    <function name="g_getenv_nomalloc" c:identifier="_g_getenv_nomalloc">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="variable">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="buffer">
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="GVoidFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </callback>
+    <function name="atexit" c:identifier="g_atexit">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="func">
+          <type name="GVoidFunc" c:type="GVoidFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="find_program_in_path"
+              c:identifier="g_find_program_in_path">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="program">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bit_nth_lsf" c:identifier="g_bit_nth_lsf">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="mask">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+        <parameter name="nth_bit">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bit_nth_msf" c:identifier="g_bit_nth_msf">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="mask">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+        <parameter name="nth_bit">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bit_storage" c:identifier="g_bit_storage">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="number">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="TrashStack" c:type="GTrashStack"/>
+    <record name="GTrashStack" c:type="_GTrashStack">
+      <field name="next">
+        <type name="GTrashStack*" c:type="GTrashStack*"/>
+      </field>
+    </record>
+    <function name="trash_stack_push" c:identifier="g_trash_stack_push">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="stack_p">
+          <type name="GTrashStack" c:type="GTrashStack**"/>
+        </parameter>
+        <parameter name="data_p">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="trash_stack_pop" c:identifier="g_trash_stack_pop">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="stack_p">
+          <type name="GTrashStack" c:type="GTrashStack**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="trash_stack_peek" c:identifier="g_trash_stack_peek">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="stack_p">
+          <type name="GTrashStack" c:type="GTrashStack**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="trash_stack_height" c:identifier="g_trash_stack_height">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="stack_p">
+          <type name="GTrashStack" c:type="GTrashStack**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="lib_check_version" c:identifier="glib_check_version">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="required_major">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="required_minor">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="required_micro">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="atomic_int_exchange_and_add"
+              c:identifier="g_atomic_int_exchange_and_add">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="atomic">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="val">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="atomic_int_add" c:identifier="g_atomic_int_add">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="atomic">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="val">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="atomic_int_compare_and_exchange"
+              c:identifier="g_atomic_int_compare_and_exchange">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="atomic">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="oldval">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="newval">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="atomic_pointer_compare_and_exchange"
+              c:identifier="g_atomic_pointer_compare_and_exchange">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="atomic">
+          <type name="gpointer" c:type="gpointer*"/>
+        </parameter>
+        <parameter name="oldval">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="newval">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="atomic_int_get" c:identifier="g_atomic_int_get">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="atomic">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="atomic_int_set" c:identifier="g_atomic_int_set">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="atomic">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="newval">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="atomic_pointer_get" c:identifier="g_atomic_pointer_get">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="atomic">
+          <type name="gpointer" c:type="gpointer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="atomic_pointer_set" c:identifier="g_atomic_pointer_set">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="atomic">
+          <type name="gpointer" c:type="gpointer*"/>
+        </parameter>
+        <parameter name="newval">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_error_quark" c:identifier="g_thread_error_quark">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+    </function>
+    <enumeration name="gthreaderror" c:type="GThreadError">
+      <member name="r_again" value="0" c:identifier="G_THREAD_ERROR_AGAIN"/>
+    </enumeration>
+    <callback name="GThreadFunc">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <enumeration name="gthreadpriority" c:type="GThreadPriority">
+      <member name="y_low" value="0" c:identifier="G_THREAD_PRIORITY_LOW"/>
+      <member name="y_normal"
+              value="1"
+              c:identifier="G_THREAD_PRIORITY_NORMAL"/>
+      <member name="y_high" value="2" c:identifier="G_THREAD_PRIORITY_HIGH"/>
+      <member name="y_urgent"
+              value="3"
+              c:identifier="G_THREAD_PRIORITY_URGENT"/>
+    </enumeration>
+    <record name="Thread" c:type="GThread"/>
+    <record name="GThread" c:type="_GThread">
+      <field name="func">
+        <type name="GThreadFunc" c:type="GThreadFunc"/>
+      </field>
+      <field name="data">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="joinable">
+        <type name="boolean" c:type="gboolean"/>
+      </field>
+      <field name="priority">
+        <type name="GThreadPriority" c:type="GThreadPriority"/>
+      </field>
+    </record>
+    <record name="Mutex" c:type="GMutex"/>
+    <record name="Cond" c:type="GCond"/>
+    <record name="Private" c:type="GPrivate"/>
+    <record name="StaticPrivate" c:type="GStaticPrivate"/>
+    <record name="ThreadFunctions" c:type="GThreadFunctions"/>
+    <record name="GThreadFunctions" c:type="_GThreadFunctions">
+      <callback name="mutex_new">
+        <return-value>
+          <type name="GMutex*" c:type="GMutex*"/>
+        </return-value>
+      </callback>
+      <callback name="mutex_lock">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="mutex">
+            <type name="GMutex*" c:type="GMutex*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="mutex_trylock">
+        <return-value>
+          <type name="boolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="mutex">
+            <type name="GMutex*" c:type="GMutex*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="mutex_unlock">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="mutex">
+            <type name="GMutex*" c:type="GMutex*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="mutex_free">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="mutex">
+            <type name="GMutex*" c:type="GMutex*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="cond_new">
+        <return-value>
+          <type name="GCond*" c:type="GCond*"/>
+        </return-value>
+      </callback>
+      <callback name="cond_signal">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="cond">
+            <type name="GCond*" c:type="GCond*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="cond_broadcast">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="cond">
+            <type name="GCond*" c:type="GCond*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="cond_wait">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="cond">
+            <type name="GCond*" c:type="GCond*"/>
+          </parameter>
+          <parameter name="mutex">
+            <type name="GMutex*" c:type="GMutex*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="cond_timed_wait">
+        <return-value>
+          <type name="boolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="cond">
+            <type name="GCond*" c:type="GCond*"/>
+          </parameter>
+          <parameter name="mutex">
+            <type name="GMutex*" c:type="GMutex*"/>
+          </parameter>
+          <parameter name="end_time">
+            <type name="GTimeVal*" c:type="GTimeVal*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="cond_free">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="cond">
+            <type name="GCond*" c:type="GCond*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="private_new">
+        <return-value>
+          <type name="GPrivate*" c:type="GPrivate*"/>
+        </return-value>
+        <parameters>
+          <parameter name="destructor">
+            <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="private_get">
+        <return-value>
+          <type name="any" c:type="gpointer"/>
+        </return-value>
+        <parameters>
+          <parameter name="private_key">
+            <type name="GPrivate*" c:type="GPrivate*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="private_set">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="private_key">
+            <type name="GPrivate*" c:type="GPrivate*"/>
+          </parameter>
+          <parameter name="data">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="thread_create">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="func">
+            <type name="GThreadFunc" c:type="GThreadFunc"/>
+          </parameter>
+          <parameter name="data">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+          <parameter name="stack_size">
+            <type name="ulong" c:type="gulong"/>
+          </parameter>
+          <parameter name="joinable">
+            <type name="boolean" c:type="gboolean"/>
+          </parameter>
+          <parameter name="bound">
+            <type name="boolean" c:type="gboolean"/>
+          </parameter>
+          <parameter name="priority">
+            <type name="GThreadPriority" c:type="GThreadPriority"/>
+          </parameter>
+          <parameter name="thread">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+          <parameter name="error">
+            <type name="GError**" c:type="GError**"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="thread_yield">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+      </callback>
+      <callback name="thread_join">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="thread">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="thread_exit">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+      </callback>
+      <callback name="thread_set_priority">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="thread">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+          <parameter name="priority">
+            <type name="GThreadPriority" c:type="GThreadPriority"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="thread_self">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="thread">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="thread_equal">
+        <return-value>
+          <type name="boolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="thread1">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+          <parameter name="thread2">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+        </parameters>
+      </callback>
+    </record>
+    <function name="thread_init" c:identifier="g_thread_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="vtable">
+          <type name="GThreadFunctions" c:type="GThreadFunctions*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_init_with_errorcheck_mutexes"
+              c:identifier="g_thread_init_with_errorcheck_mutexes">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="vtable">
+          <type name="GThreadFunctions" c:type="GThreadFunctions*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_mutex_get_mutex_impl"
+              c:identifier="g_static_mutex_get_mutex_impl">
+      <return-value>
+        <type name="GMutex*" c:type="GMutex*"/>
+      </return-value>
+      <parameters>
+        <parameter name="mutex">
+          <type name="GMutex" c:type="GMutex**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_create_full" c:identifier="g_thread_create_full">
+      <return-value>
+        <type name="GThread*" c:type="GThread*"/>
+      </return-value>
+      <parameters>
+        <parameter name="func">
+          <type name="GThreadFunc" c:type="GThreadFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="stack_size">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+        <parameter name="joinable">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="bound">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="priority">
+          <type name="GThreadPriority" c:type="GThreadPriority"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_self" c:identifier="g_thread_self">
+      <return-value>
+        <type name="GThread*" c:type="GThread*"/>
+      </return-value>
+    </function>
+    <function name="thread_exit" c:identifier="g_thread_exit">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="retval">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_join" c:identifier="g_thread_join">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="thread">
+          <type name="GThread" c:type="GThread*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_set_priority" c:identifier="g_thread_set_priority">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="thread">
+          <type name="GThread" c:type="GThread*"/>
+        </parameter>
+        <parameter name="priority">
+          <type name="GThreadPriority" c:type="GThreadPriority"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_mutex_init" c:identifier="g_static_mutex_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mutex">
+          <type name="GStaticMutex" c:type="GStaticMutex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_mutex_free" c:identifier="g_static_mutex_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mutex">
+          <type name="GStaticMutex" c:type="GStaticMutex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="GStaticPrivate" c:type="_GStaticPrivate">
+      <field name="index">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <function name="static_private_init" c:identifier="g_static_private_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="private_key">
+          <type name="GStaticPrivate" c:type="GStaticPrivate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_private_get" c:identifier="g_static_private_get">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="private_key">
+          <type name="GStaticPrivate" c:type="GStaticPrivate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_private_set" c:identifier="g_static_private_set">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="private_key">
+          <type name="GStaticPrivate" c:type="GStaticPrivate*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="notify">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_private_free" c:identifier="g_static_private_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="private_key">
+          <type name="GStaticPrivate" c:type="GStaticPrivate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="StaticRecMutex" c:type="GStaticRecMutex"/>
+    <record name="GStaticRecMutex" c:type="_GStaticRecMutex">
+      <field name="mutex">
+        <type name="GStaticMutex" c:type="GStaticMutex"/>
+      </field>
+      <field name="depth">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="owner">
+        <type name="GSystemThread" c:type="GSystemThread"/>
+      </field>
+    </record>
+    <function name="static_rec_mutex_init"
+              c:identifier="g_static_rec_mutex_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mutex">
+          <type name="GStaticRecMutex" c:type="GStaticRecMutex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_rec_mutex_lock"
+              c:identifier="g_static_rec_mutex_lock">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mutex">
+          <type name="GStaticRecMutex" c:type="GStaticRecMutex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_rec_mutex_trylock"
+              c:identifier="g_static_rec_mutex_trylock">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="mutex">
+          <type name="GStaticRecMutex" c:type="GStaticRecMutex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_rec_mutex_unlock"
+              c:identifier="g_static_rec_mutex_unlock">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mutex">
+          <type name="GStaticRecMutex" c:type="GStaticRecMutex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_rec_mutex_lock_full"
+              c:identifier="g_static_rec_mutex_lock_full">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mutex">
+          <type name="GStaticRecMutex" c:type="GStaticRecMutex*"/>
+        </parameter>
+        <parameter name="depth">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_rec_mutex_unlock_full"
+              c:identifier="g_static_rec_mutex_unlock_full">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="mutex">
+          <type name="GStaticRecMutex" c:type="GStaticRecMutex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_rec_mutex_free"
+              c:identifier="g_static_rec_mutex_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mutex">
+          <type name="GStaticRecMutex" c:type="GStaticRecMutex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="StaticRWLock" c:type="GStaticRWLock"/>
+    <record name="GStaticRWLock" c:type="_GStaticRWLock">
+      <field name="mutex">
+        <type name="GStaticMutex" c:type="GStaticMutex"/>
+      </field>
+      <field name="read_cond">
+        <type name="GCond*" c:type="GCond*"/>
+      </field>
+      <field name="write_cond">
+        <type name="GCond*" c:type="GCond*"/>
+      </field>
+      <field name="read_counter">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="have_writer">
+        <type name="boolean" c:type="gboolean"/>
+      </field>
+      <field name="want_to_read">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="want_to_write">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <function name="static_rw_lock_init" c:identifier="g_static_rw_lock_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="lock">
+          <type name="GStaticRWLock" c:type="GStaticRWLock*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_rw_lock_reader_lock"
+              c:identifier="g_static_rw_lock_reader_lock">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="lock">
+          <type name="GStaticRWLock" c:type="GStaticRWLock*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_rw_lock_reader_trylock"
+              c:identifier="g_static_rw_lock_reader_trylock">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="lock">
+          <type name="GStaticRWLock" c:type="GStaticRWLock*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_rw_lock_reader_unlock"
+              c:identifier="g_static_rw_lock_reader_unlock">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="lock">
+          <type name="GStaticRWLock" c:type="GStaticRWLock*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_rw_lock_writer_lock"
+              c:identifier="g_static_rw_lock_writer_lock">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="lock">
+          <type name="GStaticRWLock" c:type="GStaticRWLock*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_rw_lock_writer_trylock"
+              c:identifier="g_static_rw_lock_writer_trylock">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="lock">
+          <type name="GStaticRWLock" c:type="GStaticRWLock*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_rw_lock_writer_unlock"
+              c:identifier="g_static_rw_lock_writer_unlock">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="lock">
+          <type name="GStaticRWLock" c:type="GStaticRWLock*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="static_rw_lock_free" c:identifier="g_static_rw_lock_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="lock">
+          <type name="GStaticRWLock" c:type="GStaticRWLock*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_foreach" c:identifier="g_thread_foreach">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="thread_func">
+          <type name="GFunc" c:type="GFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="goncestatus" c:type="GOnceStatus">
+      <member name="s_notcalled"
+              value="0"
+              c:identifier="G_ONCE_STATUS_NOTCALLED"/>
+      <member name="s_progress"
+              value="1"
+              c:identifier="G_ONCE_STATUS_PROGRESS"/>
+      <member name="s_ready" value="2" c:identifier="G_ONCE_STATUS_READY"/>
+    </enumeration>
+    <record name="Once" c:type="GOnce"/>
+    <record name="GOnce" c:type="_GOnce">
+      <field name="status">
+        <type name="GOnceStatus" c:type="GOnceStatus"/>
+      </field>
+      <field name="retval">
+        <type name="any" c:type="gpointer"/>
+      </field>
+    </record>
+    <function name="once_impl" c:identifier="g_once_impl">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="once">
+          <type name="GOnce" c:type="GOnce*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GThreadFunc" c:type="GThreadFunc"/>
+        </parameter>
+        <parameter name="arg">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="once_init_enter" c:identifier="g_once_init_enter">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="value_location">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="once_init_enter_impl"
+              c:identifier="g_once_init_enter_impl">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="value_location">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="once_init_leave" c:identifier="g_once_init_leave">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value_location">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="initialization_value">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="lib_dummy_decl" c:identifier="glib_dummy_decl">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <record name="AsyncQueue" c:type="GAsyncQueue"/>
+    <function name="async_queue_new" c:identifier="g_async_queue_new">
+      <return-value>
+        <type name="GAsyncQueue*" c:type="GAsyncQueue*"/>
+      </return-value>
+    </function>
+    <function name="async_queue_new_full"
+              c:identifier="g_async_queue_new_full">
+      <return-value>
+        <type name="GAsyncQueue*" c:type="GAsyncQueue*"/>
+      </return-value>
+      <parameters>
+        <parameter name="item_free_func">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_lock" c:identifier="g_async_queue_lock">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_unlock" c:identifier="g_async_queue_unlock">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_ref" c:identifier="g_async_queue_ref">
+      <return-value>
+        <type name="GAsyncQueue*" c:type="GAsyncQueue*"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_unref" c:identifier="g_async_queue_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_ref_unlocked"
+              c:identifier="g_async_queue_ref_unlocked">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_unref_and_unlock"
+              c:identifier="g_async_queue_unref_and_unlock">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_push" c:identifier="g_async_queue_push">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_push_unlocked"
+              c:identifier="g_async_queue_push_unlocked">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_push_sorted"
+              c:identifier="g_async_queue_push_sorted">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_push_sorted_unlocked"
+              c:identifier="g_async_queue_push_sorted_unlocked">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_pop" c:identifier="g_async_queue_pop">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_pop_unlocked"
+              c:identifier="g_async_queue_pop_unlocked">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_try_pop" c:identifier="g_async_queue_try_pop">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_try_pop_unlocked"
+              c:identifier="g_async_queue_try_pop_unlocked">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_timed_pop"
+              c:identifier="g_async_queue_timed_pop">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+        <parameter name="end_time">
+          <type name="GTimeVal" c:type="GTimeVal*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_timed_pop_unlocked"
+              c:identifier="g_async_queue_timed_pop_unlocked">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+        <parameter name="end_time">
+          <type name="GTimeVal" c:type="GTimeVal*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_length" c:identifier="g_async_queue_length">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_length_unlocked"
+              c:identifier="g_async_queue_length_unlocked">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_sort" c:identifier="g_async_queue_sort">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="async_queue_sort_unlocked"
+              c:identifier="g_async_queue_sort_unlocked">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="g_async_queue_get_mutex"
+              c:identifier="_g_async_queue_get_mutex">
+      <return-value>
+        <type name="GMutex*" c:type="GMutex*"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GAsyncQueue" c:type="GAsyncQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="on_error_query" c:identifier="g_on_error_query">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="prg_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="on_error_stack_trace"
+              c:identifier="g_on_error_stack_trace">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="prg_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="base64_encode_step" c:identifier="g_base64_encode_step">
+      <return-value>
+        <type name="size" c:type="gsize"/>
+      </return-value>
+      <parameters>
+        <parameter name="in">
+          <type name="guchar" c:type="guchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="break_lines">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="out">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="state">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="save">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="base64_encode_close" c:identifier="g_base64_encode_close">
+      <return-value>
+        <type name="size" c:type="gsize"/>
+      </return-value>
+      <parameters>
+        <parameter name="break_lines">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="out">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="state">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="save">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="base64_encode" c:identifier="g_base64_encode">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="data">
+          <type name="guchar" c:type="guchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="base64_decode_step" c:identifier="g_base64_decode_step">
+      <return-value>
+        <type name="size" c:type="gsize"/>
+      </return-value>
+      <parameters>
+        <parameter name="in">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="out">
+          <type name="guchar" c:type="guchar*"/>
+        </parameter>
+        <parameter name="state">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="save">
+          <type name="guint" c:type="guint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="base64_decode" c:identifier="g_base64_decode">
+      <return-value>
+        <type name="guchar*" c:type="guchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="text">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="out_len">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gbookmarkfileerror" c:type="GBookmarkFileError">
+      <member name="r_invalid_uri"
+              value="0"
+              c:identifier="G_BOOKMARK_FILE_ERROR_INVALID_URI"/>
+      <member name="r_invalid_value"
+              value="1"
+              c:identifier="G_BOOKMARK_FILE_ERROR_INVALID_VALUE"/>
+      <member name="r_app_not_registered"
+              value="2"
+              c:identifier="G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED"/>
+      <member name="r_uri_not_found"
+              value="3"
+              c:identifier="G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND"/>
+      <member name="r_read"
+              value="4"
+              c:identifier="G_BOOKMARK_FILE_ERROR_READ"/>
+      <member name="r_unknown_encoding"
+              value="5"
+              c:identifier="G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING"/>
+      <member name="r_write"
+              value="6"
+              c:identifier="G_BOOKMARK_FILE_ERROR_WRITE"/>
+      <member name="r_file_not_found"
+              value="7"
+              c:identifier="G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND"/>
+    </enumeration>
+    <function name="bookmark_file_error_quark"
+              c:identifier="g_bookmark_file_error_quark">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+    </function>
+    <record name="BookmarkFile" c:type="GBookmarkFile"/>
+    <function name="bookmark_file_new" c:identifier="g_bookmark_file_new">
+      <return-value>
+        <type name="GBookmarkFile*" c:type="GBookmarkFile*"/>
+      </return-value>
+    </function>
+    <function name="bookmark_file_free" c:identifier="g_bookmark_file_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_load_from_file"
+              c:identifier="g_bookmark_file_load_from_file">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_load_from_data"
+              c:identifier="g_bookmark_file_load_from_data">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_load_from_data_dirs"
+              c:identifier="g_bookmark_file_load_from_data_dirs">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="file">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="full_path">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_to_data"
+              c:identifier="g_bookmark_file_to_data">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_to_file"
+              c:identifier="g_bookmark_file_to_file">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_set_title"
+              c:identifier="g_bookmark_file_set_title">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="title">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_get_title"
+              c:identifier="g_bookmark_file_get_title">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_set_description"
+              c:identifier="g_bookmark_file_set_description">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="description">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_get_description"
+              c:identifier="g_bookmark_file_get_description">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_set_mime_type"
+              c:identifier="g_bookmark_file_set_mime_type">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="mime_type">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_get_mime_type"
+              c:identifier="g_bookmark_file_get_mime_type">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_set_groups"
+              c:identifier="g_bookmark_file_set_groups">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="groups">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="length">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_add_group"
+              c:identifier="g_bookmark_file_add_group">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="group">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_has_group"
+              c:identifier="g_bookmark_file_has_group">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="group">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_get_groups"
+              c:identifier="g_bookmark_file_get_groups">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_add_application"
+              c:identifier="g_bookmark_file_add_application">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="exec">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_has_application"
+              c:identifier="g_bookmark_file_has_application">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_get_applications"
+              c:identifier="g_bookmark_file_get_applications">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_set_app_info"
+              c:identifier="g_bookmark_file_set_app_info">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="exec">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="count">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="stamp">
+          <type name="time_t" c:type="time_t"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_get_app_info"
+              c:identifier="g_bookmark_file_get_app_info">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="exec">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="count">
+          <type name="guint" c:type="guint*"/>
+        </parameter>
+        <parameter name="stamp">
+          <type name="time_t" c:type="time_t*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_set_is_private"
+              c:identifier="g_bookmark_file_set_is_private">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="is_private">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_get_is_private"
+              c:identifier="g_bookmark_file_get_is_private">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_set_icon"
+              c:identifier="g_bookmark_file_set_icon">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="href">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="mime_type">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_get_icon"
+              c:identifier="g_bookmark_file_get_icon">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="href">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="mime_type">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_set_added"
+              c:identifier="g_bookmark_file_set_added">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="added">
+          <type name="time_t" c:type="time_t"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_get_added"
+              c:identifier="g_bookmark_file_get_added">
+      <return-value>
+        <type name="time_t" c:type="time_t"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_set_modified"
+              c:identifier="g_bookmark_file_set_modified">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="modified">
+          <type name="time_t" c:type="time_t"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_get_modified"
+              c:identifier="g_bookmark_file_get_modified">
+      <return-value>
+        <type name="time_t" c:type="time_t"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_set_visited"
+              c:identifier="g_bookmark_file_set_visited">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="visited">
+          <type name="time_t" c:type="time_t"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_get_visited"
+              c:identifier="g_bookmark_file_get_visited">
+      <return-value>
+        <type name="time_t" c:type="time_t"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_has_item"
+              c:identifier="g_bookmark_file_has_item">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_get_size"
+              c:identifier="g_bookmark_file_get_size">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_get_uris"
+              c:identifier="g_bookmark_file_get_uris">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_remove_group"
+              c:identifier="g_bookmark_file_remove_group">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="group">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_remove_application"
+              c:identifier="g_bookmark_file_remove_application">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_remove_item"
+              c:identifier="g_bookmark_file_remove_item">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="bookmark_file_move_item"
+              c:identifier="g_bookmark_file_move_item">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="bookmark">
+          <type name="GBookmarkFile" c:type="GBookmarkFile*"/>
+        </parameter>
+        <parameter name="old_uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="new_uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slice_alloc" c:identifier="g_slice_alloc">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="block_size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slice_alloc0" c:identifier="g_slice_alloc0">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="block_size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slice_copy" c:identifier="g_slice_copy">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="block_size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="mem_block">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slice_free1" c:identifier="g_slice_free1">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="block_size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="mem_block">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slice_free_chain_with_offset"
+              c:identifier="g_slice_free_chain_with_offset">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="block_size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="mem_chain">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="next_offset">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gsliceconfig" c:type="GSliceConfig">
+      <member name="g_always_malloc"
+              value="1"
+              c:identifier="G_SLICE_CONFIG_ALWAYS_MALLOC"/>
+      <member name="g_bypass_magazines"
+              value="2"
+              c:identifier="G_SLICE_CONFIG_BYPASS_MAGAZINES"/>
+      <member name="g_working_set_msecs"
+              value="3"
+              c:identifier="G_SLICE_CONFIG_WORKING_SET_MSECS"/>
+      <member name="g_color_increment"
+              value="4"
+              c:identifier="G_SLICE_CONFIG_COLOR_INCREMENT"/>
+      <member name="g_chunk_sizes"
+              value="5"
+              c:identifier="G_SLICE_CONFIG_CHUNK_SIZES"/>
+      <member name="g_contention_counter"
+              value="6"
+              c:identifier="G_SLICE_CONFIG_CONTENTION_COUNTER"/>
+    </enumeration>
+    <function name="slice_set_config" c:identifier="g_slice_set_config">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ckey">
+          <type name="GSliceConfig" c:type="GSliceConfig"/>
+        </parameter>
+        <parameter name="value">
+          <type name="gint64" c:type="gint64"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slice_get_config" c:identifier="g_slice_get_config">
+      <return-value>
+        <type name="gint64" c:type="gint64"/>
+      </return-value>
+      <parameters>
+        <parameter name="ckey">
+          <type name="GSliceConfig" c:type="GSliceConfig"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slice_get_config_state"
+              c:identifier="g_slice_get_config_state">
+      <return-value>
+        <type name="gint64*" c:type="gint64*"/>
+      </return-value>
+      <parameters>
+        <parameter name="ckey">
+          <type name="GSliceConfig" c:type="GSliceConfig"/>
+        </parameter>
+        <parameter name="address">
+          <type name="gint64" c:type="gint64"/>
+        </parameter>
+        <parameter name="n_values">
+          <type name="guint" c:type="guint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="MemVTable" c:type="GMemVTable"/>
+    <function name="malloc" c:identifier="g_malloc">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="n_bytes">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="malloc0" c:identifier="g_malloc0">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="n_bytes">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="realloc" c:identifier="g_realloc">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="mem">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="n_bytes">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="free" c:identifier="g_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mem">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="try_malloc" c:identifier="g_try_malloc">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="n_bytes">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="try_malloc0" c:identifier="g_try_malloc0">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="n_bytes">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="try_realloc" c:identifier="g_try_realloc">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="mem">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="n_bytes">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="GMemVTable" c:type="_GMemVTable">
+      <callback name="malloc">
+        <return-value>
+          <type name="any" c:type="gpointer"/>
+        </return-value>
+        <parameters>
+          <parameter name="n_bytes">
+            <type name="size" c:type="gsize"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="realloc">
+        <return-value>
+          <type name="any" c:type="gpointer"/>
+        </return-value>
+        <parameters>
+          <parameter name="mem">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+          <parameter name="n_bytes">
+            <type name="size" c:type="gsize"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="free">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="mem">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="calloc">
+        <return-value>
+          <type name="any" c:type="gpointer"/>
+        </return-value>
+        <parameters>
+          <parameter name="n_blocks">
+            <type name="size" c:type="gsize"/>
+          </parameter>
+          <parameter name="n_block_bytes">
+            <type name="size" c:type="gsize"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="try_malloc">
+        <return-value>
+          <type name="any" c:type="gpointer"/>
+        </return-value>
+        <parameters>
+          <parameter name="n_bytes">
+            <type name="size" c:type="gsize"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="try_realloc">
+        <return-value>
+          <type name="any" c:type="gpointer"/>
+        </return-value>
+        <parameters>
+          <parameter name="mem">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+          <parameter name="n_bytes">
+            <type name="size" c:type="gsize"/>
+          </parameter>
+        </parameters>
+      </callback>
+    </record>
+    <function name="mem_set_vtable" c:identifier="g_mem_set_vtable">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="vtable">
+          <type name="GMemVTable" c:type="GMemVTable*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mem_is_system_malloc"
+              c:identifier="g_mem_is_system_malloc">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+    </function>
+    <function name="mem_profile" c:identifier="g_mem_profile">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <record name="Allocator" c:type="GAllocator"/>
+    <record name="MemChunk" c:type="GMemChunk"/>
+    <function name="mem_chunk_new" c:identifier="g_mem_chunk_new">
+      <return-value>
+        <type name="GMemChunk*" c:type="GMemChunk*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="atom_size">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="area_size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="type">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mem_chunk_destroy" c:identifier="g_mem_chunk_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mem_chunk">
+          <type name="GMemChunk" c:type="GMemChunk*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mem_chunk_alloc" c:identifier="g_mem_chunk_alloc">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="mem_chunk">
+          <type name="GMemChunk" c:type="GMemChunk*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mem_chunk_alloc0" c:identifier="g_mem_chunk_alloc0">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="mem_chunk">
+          <type name="GMemChunk" c:type="GMemChunk*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mem_chunk_free" c:identifier="g_mem_chunk_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mem_chunk">
+          <type name="GMemChunk" c:type="GMemChunk*"/>
+        </parameter>
+        <parameter name="mem">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mem_chunk_clean" c:identifier="g_mem_chunk_clean">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mem_chunk">
+          <type name="GMemChunk" c:type="GMemChunk*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mem_chunk_reset" c:identifier="g_mem_chunk_reset">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mem_chunk">
+          <type name="GMemChunk" c:type="GMemChunk*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mem_chunk_print" c:identifier="g_mem_chunk_print">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="mem_chunk">
+          <type name="GMemChunk" c:type="GMemChunk*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mem_chunk_info" c:identifier="g_mem_chunk_info">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="blow_chunks" c:identifier="g_blow_chunks">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="allocator_new" c:identifier="g_allocator_new">
+      <return-value>
+        <type name="GAllocator*" c:type="GAllocator*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="n_preallocs">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="allocator_free" c:identifier="g_allocator_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="allocator">
+          <type name="GAllocator" c:type="GAllocator*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="List" c:type="GList"/>
+    <record name="GList" c:type="_GList">
+      <field name="data">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="next">
+        <type name="GList*" c:type="GList*"/>
+      </field>
+      <field name="prev">
+        <type name="GList*" c:type="GList*"/>
+      </field>
+    </record>
+    <function name="list_alloc" c:identifier="g_list_alloc">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+    </function>
+    <function name="list_free" c:identifier="g_list_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_free_1" c:identifier="g_list_free_1">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_append" c:identifier="g_list_append">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_prepend" c:identifier="g_list_prepend">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_insert" c:identifier="g_list_insert">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="position">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_insert_sorted" c:identifier="g_list_insert_sorted">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GCompareFunc" c:type="GCompareFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_insert_sorted_with_data"
+              c:identifier="g_list_insert_sorted_with_data">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_insert_before" c:identifier="g_list_insert_before">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="sibling">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_concat" c:identifier="g_list_concat">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list1">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="list2">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_remove" c:identifier="g_list_remove">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_remove_all" c:identifier="g_list_remove_all">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_remove_link" c:identifier="g_list_remove_link">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="llink">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_delete_link" c:identifier="g_list_delete_link">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="link_">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_reverse" c:identifier="g_list_reverse">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_copy" c:identifier="g_list_copy">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_nth" c:identifier="g_list_nth">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_nth_prev" c:identifier="g_list_nth_prev">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_find" c:identifier="g_list_find">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_find_custom" c:identifier="g_list_find_custom">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GCompareFunc" c:type="GCompareFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_position" c:identifier="g_list_position">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="llink">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_index" c:identifier="g_list_index">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_last" c:identifier="g_list_last">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_first" c:identifier="g_list_first">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_length" c:identifier="g_list_length">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_foreach" c:identifier="g_list_foreach">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GFunc" c:type="GFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_sort" c:identifier="g_list_sort">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareFunc" c:type="GCompareFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_sort_with_data" c:identifier="g_list_sort_with_data">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_nth_data" c:identifier="g_list_nth_data">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_push_allocator" c:identifier="g_list_push_allocator">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="allocator">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="list_pop_allocator" c:identifier="g_list_pop_allocator">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <record name="Cache" c:type="GCache"/>
+    <callback name="GCacheNewFunc">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="key">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GCacheDupFunc">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GCacheDestroyFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="cache_new" c:identifier="g_cache_new">
+      <return-value>
+        <type name="GCache*" c:type="GCache*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value_new_func">
+          <type name="GCacheNewFunc" c:type="GCacheNewFunc"/>
+        </parameter>
+        <parameter name="value_destroy_func">
+          <type name="GCacheDestroyFunc" c:type="GCacheDestroyFunc"/>
+        </parameter>
+        <parameter name="key_dup_func">
+          <type name="GCacheDupFunc" c:type="GCacheDupFunc"/>
+        </parameter>
+        <parameter name="key_destroy_func">
+          <type name="GCacheDestroyFunc" c:type="GCacheDestroyFunc"/>
+        </parameter>
+        <parameter name="hash_key_func">
+          <type name="GHashFunc" c:type="GHashFunc"/>
+        </parameter>
+        <parameter name="hash_value_func">
+          <type name="GHashFunc" c:type="GHashFunc"/>
+        </parameter>
+        <parameter name="key_equal_func">
+          <type name="GEqualFunc" c:type="GEqualFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cache_destroy" c:identifier="g_cache_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cache">
+          <type name="GCache" c:type="GCache*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cache_insert" c:identifier="g_cache_insert">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="cache">
+          <type name="GCache" c:type="GCache*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cache_remove" c:identifier="g_cache_remove">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cache">
+          <type name="GCache" c:type="GCache*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cache_key_foreach" c:identifier="g_cache_key_foreach">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cache">
+          <type name="GCache" c:type="GCache*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GHFunc" c:type="GHFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cache_value_foreach" c:identifier="g_cache_value_foreach">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cache">
+          <type name="GCache" c:type="GCache*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GHFunc" c:type="GHFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gchecksumtype" c:type="GChecksumType">
+      <member name="md5" value="0" c:identifier="G_CHECKSUM_MD5"/>
+      <member name="sha1" value="1" c:identifier="G_CHECKSUM_SHA1"/>
+      <member name="sha256" value="2" c:identifier="G_CHECKSUM_SHA256"/>
+    </enumeration>
+    <record name="Checksum" c:type="GChecksum"/>
+    <function name="checksum_type_get_length"
+              c:identifier="g_checksum_type_get_length">
+      <return-value>
+        <type name="ssize" c:type="gssize"/>
+      </return-value>
+      <parameters>
+        <parameter name="checksum_type">
+          <type name="GChecksumType" c:type="GChecksumType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="checksum_new" c:identifier="g_checksum_new">
+      <return-value>
+        <type name="GChecksum*" c:type="GChecksum*"/>
+      </return-value>
+      <parameters>
+        <parameter name="checksum_type">
+          <type name="GChecksumType" c:type="GChecksumType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="checksum_reset" c:identifier="g_checksum_reset">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="checksum">
+          <type name="GChecksum" c:type="GChecksum*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="checksum_copy" c:identifier="g_checksum_copy">
+      <return-value>
+        <type name="GChecksum*" c:type="GChecksum*"/>
+      </return-value>
+      <parameters>
+        <parameter name="checksum">
+          <type name="GChecksum" c:type="GChecksum*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="checksum_free" c:identifier="g_checksum_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="checksum">
+          <type name="GChecksum" c:type="GChecksum*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="checksum_update" c:identifier="g_checksum_update">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="checksum">
+          <type name="GChecksum" c:type="GChecksum*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="guchar" c:type="guchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="checksum_get_string" c:identifier="g_checksum_get_string">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="checksum">
+          <type name="GChecksum" c:type="GChecksum*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="checksum_get_digest" c:identifier="g_checksum_get_digest">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="checksum">
+          <type name="GChecksum" c:type="GChecksum*"/>
+        </parameter>
+        <parameter name="buffer">
+          <type name="guint8" c:type="guint8*"/>
+        </parameter>
+        <parameter name="digest_len">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="compute_checksum_for_data"
+              c:identifier="g_compute_checksum_for_data">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="checksum_type">
+          <type name="GChecksumType" c:type="GChecksumType"/>
+        </parameter>
+        <parameter name="data">
+          <type name="guchar" c:type="guchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="compute_checksum_for_string"
+              c:identifier="g_compute_checksum_for_string">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="checksum_type">
+          <type name="GChecksumType" c:type="GChecksumType"/>
+        </parameter>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Completion" c:type="GCompletion"/>
+    <callback name="GCompletionFunc">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter>
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GCompletionStrncmpFunc">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="s1">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="s2">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <record name="GCompletion" c:type="_GCompletion">
+      <field name="items">
+        <type name="GList*" c:type="GList*"/>
+      </field>
+      <field name="func">
+        <type name="GCompletionFunc" c:type="GCompletionFunc"/>
+      </field>
+      <field name="prefix">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="cache">
+        <type name="GList*" c:type="GList*"/>
+      </field>
+      <field name="strncmp_func">
+        <type name="GCompletionStrncmpFunc" c:type="GCompletionStrncmpFunc"/>
+      </field>
+    </record>
+    <function name="completion_new" c:identifier="g_completion_new">
+      <return-value>
+        <type name="GCompletion*" c:type="GCompletion*"/>
+      </return-value>
+      <parameters>
+        <parameter name="func">
+          <type name="GCompletionFunc" c:type="GCompletionFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="completion_add_items"
+              c:identifier="g_completion_add_items">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cmp">
+          <type name="GCompletion" c:type="GCompletion*"/>
+        </parameter>
+        <parameter name="items">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="completion_remove_items"
+              c:identifier="g_completion_remove_items">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cmp">
+          <type name="GCompletion" c:type="GCompletion*"/>
+        </parameter>
+        <parameter name="items">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="completion_clear_items"
+              c:identifier="g_completion_clear_items">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cmp">
+          <type name="GCompletion" c:type="GCompletion*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="completion_complete" c:identifier="g_completion_complete">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="cmp">
+          <type name="GCompletion" c:type="GCompletion*"/>
+        </parameter>
+        <parameter name="prefix">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="new_prefix">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="completion_complete_utf8"
+              c:identifier="g_completion_complete_utf8">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="cmp">
+          <type name="GCompletion" c:type="GCompletion*"/>
+        </parameter>
+        <parameter name="prefix">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="new_prefix">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="completion_set_compare"
+              c:identifier="g_completion_set_compare">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cmp">
+          <type name="GCompletion" c:type="GCompletion*"/>
+        </parameter>
+        <parameter name="strncmp_func">
+          <type name="GCompletionStrncmpFunc" c:type="GCompletionStrncmpFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="completion_free" c:identifier="g_completion_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cmp">
+          <type name="GCompletion" c:type="GCompletion*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gconverterror" c:type="GConvertError">
+      <member name="r_no_conversion"
+              value="0"
+              c:identifier="G_CONVERT_ERROR_NO_CONVERSION"/>
+      <member name="r_illegal_sequence"
+              value="1"
+              c:identifier="G_CONVERT_ERROR_ILLEGAL_SEQUENCE"/>
+      <member name="r_failed" value="2" c:identifier="G_CONVERT_ERROR_FAILED"/>
+      <member name="r_partial_input"
+              value="3"
+              c:identifier="G_CONVERT_ERROR_PARTIAL_INPUT"/>
+      <member name="r_bad_uri"
+              value="4"
+              c:identifier="G_CONVERT_ERROR_BAD_URI"/>
+      <member name="r_not_absolute_path"
+              value="5"
+              c:identifier="G_CONVERT_ERROR_NOT_ABSOLUTE_PATH"/>
+    </enumeration>
+    <function name="convert_error_quark" c:identifier="g_convert_error_quark">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+    </function>
+    <function name="iconv_open" c:identifier="g_iconv_open">
+      <return-value>
+        <type name="GIConv" c:type="GIConv"/>
+      </return-value>
+      <parameters>
+        <parameter name="to_codeset">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="from_codeset">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="iconv" c:identifier="g_iconv">
+      <return-value>
+        <type name="size" c:type="gsize"/>
+      </return-value>
+      <parameters>
+        <parameter name="converter">
+          <type name="GIConv" c:type="GIConv"/>
+        </parameter>
+        <parameter name="inbuf">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="inbytes_left">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="outbuf">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="outbytes_left">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="iconv_close" c:identifier="g_iconv_close">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="converter">
+          <type name="GIConv" c:type="GIConv"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="convert" c:identifier="g_convert">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="to_codeset">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="from_codeset">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="bytes_read">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="bytes_written">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="convert_with_iconv" c:identifier="g_convert_with_iconv">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="converter">
+          <type name="GIConv" c:type="GIConv"/>
+        </parameter>
+        <parameter name="bytes_read">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="bytes_written">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="convert_with_fallback"
+              c:identifier="g_convert_with_fallback">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="to_codeset">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="from_codeset">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="fallback">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="bytes_read">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="bytes_written">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="locale_to_utf8" c:identifier="g_locale_to_utf8">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="opsysstring">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="bytes_read">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="bytes_written">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="locale_from_utf8" c:identifier="g_locale_from_utf8">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="utf8string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="bytes_read">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="bytes_written">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="filename_to_utf8" c:identifier="g_filename_to_utf8">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="opsysstring">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="bytes_read">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="bytes_written">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="filename_from_utf8" c:identifier="g_filename_from_utf8">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="utf8string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="bytes_read">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="bytes_written">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="filename_from_uri" c:identifier="g_filename_from_uri">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="uri">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="hostname">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="filename_to_uri" c:identifier="g_filename_to_uri">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="hostname">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="filename_display_name"
+              c:identifier="g_filename_display_name">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="get_filename_charsets"
+              c:identifier="g_get_filename_charsets">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="charsets">
+          <type name="gchar" c:type="gchar***"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="filename_display_basename"
+              c:identifier="g_filename_display_basename">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uri_list_extract_uris"
+              c:identifier="g_uri_list_extract_uris">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="uri_list">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Data" c:type="GData"/>
+    <callback name="GDataForeachFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_id">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="datalist_init" c:identifier="g_datalist_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="datalist">
+          <type name="GData" c:type="GData**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="datalist_clear" c:identifier="g_datalist_clear">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="datalist">
+          <type name="GData" c:type="GData**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="datalist_id_get_data"
+              c:identifier="g_datalist_id_get_data">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="datalist">
+          <type name="GData" c:type="GData**"/>
+        </parameter>
+        <parameter name="key_id">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="datalist_id_set_data_full"
+              c:identifier="g_datalist_id_set_data_full">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="datalist">
+          <type name="GData" c:type="GData**"/>
+        </parameter>
+        <parameter name="key_id">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="destroy_func">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="datalist_id_remove_no_notify"
+              c:identifier="g_datalist_id_remove_no_notify">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="datalist">
+          <type name="GData" c:type="GData**"/>
+        </parameter>
+        <parameter name="key_id">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="datalist_foreach" c:identifier="g_datalist_foreach">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="datalist">
+          <type name="GData" c:type="GData**"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GDataForeachFunc" c:type="GDataForeachFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="datalist_set_flags" c:identifier="g_datalist_set_flags">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="datalist">
+          <type name="GData" c:type="GData**"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="datalist_unset_flags"
+              c:identifier="g_datalist_unset_flags">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="datalist">
+          <type name="GData" c:type="GData**"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="datalist_get_flags" c:identifier="g_datalist_get_flags">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="datalist">
+          <type name="GData" c:type="GData**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="dataset_destroy" c:identifier="g_dataset_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="dataset_location">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="dataset_id_get_data" c:identifier="g_dataset_id_get_data">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="dataset_location">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="key_id">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="dataset_id_set_data_full"
+              c:identifier="g_dataset_id_set_data_full">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="dataset_location">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="key_id">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="destroy_func">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="dataset_id_remove_no_notify"
+              c:identifier="g_dataset_id_remove_no_notify">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="dataset_location">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="key_id">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="dataset_foreach" c:identifier="g_dataset_foreach">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="dataset_location">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GDataForeachFunc" c:type="GDataForeachFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Date" c:type="GDate"/>
+    <enumeration name="gdatedmy" c:type="GDateDMY">
+      <member name="ay" value="0" c:identifier="G_DATE_DAY"/>
+      <member name="month" value="1" c:identifier="G_DATE_MONTH"/>
+      <member name="year" value="2" c:identifier="G_DATE_YEAR"/>
+    </enumeration>
+    <enumeration name="gdateweekday" c:type="GDateWeekday">
+      <member name="bad_weekday" value="0" c:identifier="G_DATE_BAD_WEEKDAY"/>
+      <member name="monday" value="1" c:identifier="G_DATE_MONDAY"/>
+      <member name="tuesday" value="2" c:identifier="G_DATE_TUESDAY"/>
+      <member name="dnesday" value="3" c:identifier="G_DATE_WEDNESDAY"/>
+      <member name="thursday" value="4" c:identifier="G_DATE_THURSDAY"/>
+      <member name="friday" value="5" c:identifier="G_DATE_FRIDAY"/>
+      <member name="saturday" value="6" c:identifier="G_DATE_SATURDAY"/>
+      <member name="sunday" value="7" c:identifier="G_DATE_SUNDAY"/>
+    </enumeration>
+    <enumeration name="gdatemonth" c:type="GDateMonth">
+      <member name="bad_month" value="0" c:identifier="G_DATE_BAD_MONTH"/>
+      <member name="january" value="1" c:identifier="G_DATE_JANUARY"/>
+      <member name="february" value="2" c:identifier="G_DATE_FEBRUARY"/>
+      <member name="arch" value="3" c:identifier="G_DATE_MARCH"/>
+      <member name="april" value="4" c:identifier="G_DATE_APRIL"/>
+      <member name="ay" value="5" c:identifier="G_DATE_MAY"/>
+      <member name="june" value="6" c:identifier="G_DATE_JUNE"/>
+      <member name="july" value="7" c:identifier="G_DATE_JULY"/>
+      <member name="august" value="8" c:identifier="G_DATE_AUGUST"/>
+      <member name="september" value="9" c:identifier="G_DATE_SEPTEMBER"/>
+      <member name="october" value="10" c:identifier="G_DATE_OCTOBER"/>
+      <member name="november" value="11" c:identifier="G_DATE_NOVEMBER"/>
+      <member name="december" value="12" c:identifier="G_DATE_DECEMBER"/>
+    </enumeration>
+    <record name="GDate" c:type="_GDate">
+      <field name="julian_days">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="julian">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="dmy">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="day">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="month">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="year">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <function name="date_new" c:identifier="g_date_new">
+      <return-value>
+        <type name="GDate*" c:type="GDate*"/>
+      </return-value>
+    </function>
+    <function name="date_new_dmy" c:identifier="g_date_new_dmy">
+      <return-value>
+        <type name="GDate*" c:type="GDate*"/>
+      </return-value>
+      <parameters>
+        <parameter name="day">
+          <type name="GDateDay" c:type="GDateDay"/>
+        </parameter>
+        <parameter name="month">
+          <type name="GDateMonth" c:type="GDateMonth"/>
+        </parameter>
+        <parameter name="year">
+          <type name="GDateYear" c:type="GDateYear"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_new_julian" c:identifier="g_date_new_julian">
+      <return-value>
+        <type name="GDate*" c:type="GDate*"/>
+      </return-value>
+      <parameters>
+        <parameter name="julian_day">
+          <type name="uint32" c:type="guint32"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_free" c:identifier="g_date_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_valid" c:identifier="g_date_valid">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_valid_day" c:identifier="g_date_valid_day">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="day">
+          <type name="GDateDay" c:type="GDateDay"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_valid_month" c:identifier="g_date_valid_month">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="month">
+          <type name="GDateMonth" c:type="GDateMonth"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_valid_year" c:identifier="g_date_valid_year">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="year">
+          <type name="GDateYear" c:type="GDateYear"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_valid_weekday" c:identifier="g_date_valid_weekday">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="weekday">
+          <type name="GDateWeekday" c:type="GDateWeekday"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_valid_julian" c:identifier="g_date_valid_julian">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="julian_date">
+          <type name="uint32" c:type="guint32"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_valid_dmy" c:identifier="g_date_valid_dmy">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="day">
+          <type name="GDateDay" c:type="GDateDay"/>
+        </parameter>
+        <parameter name="month">
+          <type name="GDateMonth" c:type="GDateMonth"/>
+        </parameter>
+        <parameter name="year">
+          <type name="GDateYear" c:type="GDateYear"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_get_weekday" c:identifier="g_date_get_weekday">
+      <return-value>
+        <type name="GDateWeekday" c:type="GDateWeekday"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_get_month" c:identifier="g_date_get_month">
+      <return-value>
+        <type name="GDateMonth" c:type="GDateMonth"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_get_year" c:identifier="g_date_get_year">
+      <return-value>
+        <type name="GDateYear" c:type="GDateYear"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_get_day" c:identifier="g_date_get_day">
+      <return-value>
+        <type name="GDateDay" c:type="GDateDay"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_get_julian" c:identifier="g_date_get_julian">
+      <return-value>
+        <type name="uint32" c:type="guint32"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_get_day_of_year"
+              c:identifier="g_date_get_day_of_year">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_get_monday_week_of_year"
+              c:identifier="g_date_get_monday_week_of_year">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_get_sunday_week_of_year"
+              c:identifier="g_date_get_sunday_week_of_year">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_get_iso8601_week_of_year"
+              c:identifier="g_date_get_iso8601_week_of_year">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_clear" c:identifier="g_date_clear">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="n_dates">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_set_parse" c:identifier="g_date_set_parse">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_set_time_t" c:identifier="g_date_set_time_t">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="timet">
+          <type name="time_t" c:type="time_t"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_set_time_val" c:identifier="g_date_set_time_val">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="timeval">
+          <type name="GTimeVal" c:type="GTimeVal*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_set_time" c:identifier="g_date_set_time">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="time_">
+          <type name="GTime" c:type="GTime"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_set_month" c:identifier="g_date_set_month">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="month">
+          <type name="GDateMonth" c:type="GDateMonth"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_set_day" c:identifier="g_date_set_day">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="day">
+          <type name="GDateDay" c:type="GDateDay"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_set_year" c:identifier="g_date_set_year">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="year">
+          <type name="GDateYear" c:type="GDateYear"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_set_dmy" c:identifier="g_date_set_dmy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="day">
+          <type name="GDateDay" c:type="GDateDay"/>
+        </parameter>
+        <parameter name="month">
+          <type name="GDateMonth" c:type="GDateMonth"/>
+        </parameter>
+        <parameter name="y">
+          <type name="GDateYear" c:type="GDateYear"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_set_julian" c:identifier="g_date_set_julian">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="julian_date">
+          <type name="uint32" c:type="guint32"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_is_first_of_month"
+              c:identifier="g_date_is_first_of_month">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_is_last_of_month"
+              c:identifier="g_date_is_last_of_month">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_add_days" c:identifier="g_date_add_days">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="n_days">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_subtract_days" c:identifier="g_date_subtract_days">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="n_days">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_add_months" c:identifier="g_date_add_months">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="n_months">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_subtract_months"
+              c:identifier="g_date_subtract_months">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="n_months">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_add_years" c:identifier="g_date_add_years">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="n_years">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_subtract_years" c:identifier="g_date_subtract_years">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="n_years">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_is_leap_year" c:identifier="g_date_is_leap_year">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="year">
+          <type name="GDateYear" c:type="GDateYear"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_get_days_in_month"
+              c:identifier="g_date_get_days_in_month">
+      <return-value>
+        <type name="uint8" c:type="guint8"/>
+      </return-value>
+      <parameters>
+        <parameter name="month">
+          <type name="GDateMonth" c:type="GDateMonth"/>
+        </parameter>
+        <parameter name="year">
+          <type name="GDateYear" c:type="GDateYear"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_get_monday_weeks_in_year"
+              c:identifier="g_date_get_monday_weeks_in_year">
+      <return-value>
+        <type name="uint8" c:type="guint8"/>
+      </return-value>
+      <parameters>
+        <parameter name="year">
+          <type name="GDateYear" c:type="GDateYear"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_get_sunday_weeks_in_year"
+              c:identifier="g_date_get_sunday_weeks_in_year">
+      <return-value>
+        <type name="uint8" c:type="guint8"/>
+      </return-value>
+      <parameters>
+        <parameter name="year">
+          <type name="GDateYear" c:type="GDateYear"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_days_between" c:identifier="g_date_days_between">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="date1">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="date2">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_compare" c:identifier="g_date_compare">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="lhs">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="rhs">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_to_struct_tm" c:identifier="g_date_to_struct_tm">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="tm">
+          <type name="???" c:type="???*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_clamp" c:identifier="g_date_clamp">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="min_date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="max_date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_order" c:identifier="g_date_order">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="date1">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+        <parameter name="date2">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="date_strftime" c:identifier="g_date_strftime">
+      <return-value>
+        <type name="size" c:type="gsize"/>
+      </return-value>
+      <parameters>
+        <parameter name="s">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="slen">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="date">
+          <type name="GDate" c:type="GDate*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Dir" c:type="GDir"/>
+    <function name="dir_open" c:identifier="g_dir_open">
+      <return-value>
+        <type name="GDir*" c:type="GDir*"/>
+      </return-value>
+      <parameters>
+        <parameter name="path">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="dir_read_name" c:identifier="g_dir_read_name">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="dir">
+          <type name="GDir" c:type="GDir*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="dir_rewind" c:identifier="g_dir_rewind">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="dir">
+          <type name="GDir" c:type="GDir*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="dir_close" c:identifier="g_dir_close">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="dir">
+          <type name="GDir" c:type="GDir*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gfileerror" c:type="GFileError">
+      <member name="r_exist" value="0" c:identifier="G_FILE_ERROR_EXIST"/>
+      <member name="r_isdir" value="1" c:identifier="G_FILE_ERROR_ISDIR"/>
+      <member name="r_acces" value="2" c:identifier="G_FILE_ERROR_ACCES"/>
+      <member name="r_nametoolong"
+              value="3"
+              c:identifier="G_FILE_ERROR_NAMETOOLONG"/>
+      <member name="r_noent" value="4" c:identifier="G_FILE_ERROR_NOENT"/>
+      <member name="r_notdir" value="5" c:identifier="G_FILE_ERROR_NOTDIR"/>
+      <member name="r_nxio" value="6" c:identifier="G_FILE_ERROR_NXIO"/>
+      <member name="r_nodev" value="7" c:identifier="G_FILE_ERROR_NODEV"/>
+      <member name="r_rofs" value="8" c:identifier="G_FILE_ERROR_ROFS"/>
+      <member name="r_txtbsy" value="9" c:identifier="G_FILE_ERROR_TXTBSY"/>
+      <member name="r_fault" value="10" c:identifier="G_FILE_ERROR_FAULT"/>
+      <member name="r_loop" value="11" c:identifier="G_FILE_ERROR_LOOP"/>
+      <member name="r_nospc" value="12" c:identifier="G_FILE_ERROR_NOSPC"/>
+      <member name="r_nomem" value="13" c:identifier="G_FILE_ERROR_NOMEM"/>
+      <member name="r_mfile" value="14" c:identifier="G_FILE_ERROR_MFILE"/>
+      <member name="r_nfile" value="15" c:identifier="G_FILE_ERROR_NFILE"/>
+      <member name="r_badf" value="16" c:identifier="G_FILE_ERROR_BADF"/>
+      <member name="r_inval" value="17" c:identifier="G_FILE_ERROR_INVAL"/>
+      <member name="r_pipe" value="18" c:identifier="G_FILE_ERROR_PIPE"/>
+      <member name="r_again" value="19" c:identifier="G_FILE_ERROR_AGAIN"/>
+      <member name="r_intr" value="20" c:identifier="G_FILE_ERROR_INTR"/>
+      <member name="r_io" value="21" c:identifier="G_FILE_ERROR_IO"/>
+      <member name="r_perm" value="22" c:identifier="G_FILE_ERROR_PERM"/>
+      <member name="r_nosys" value="23" c:identifier="G_FILE_ERROR_NOSYS"/>
+      <member name="r_failed" value="24" c:identifier="G_FILE_ERROR_FAILED"/>
+    </enumeration>
+    <enumeration name="gfiletest" c:type="GFileTest">
+      <member name="t_is_regular"
+              value="1"
+              c:identifier="G_FILE_TEST_IS_REGULAR"/>
+      <member name="t_is_symlink"
+              value="2"
+              c:identifier="G_FILE_TEST_IS_SYMLINK"/>
+      <member name="t_is_dir" value="4" c:identifier="G_FILE_TEST_IS_DIR"/>
+      <member name="t_is_executable"
+              value="8"
+              c:identifier="G_FILE_TEST_IS_EXECUTABLE"/>
+      <member name="t_exists" value="16" c:identifier="G_FILE_TEST_EXISTS"/>
+    </enumeration>
+    <function name="file_error_quark" c:identifier="g_file_error_quark">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+    </function>
+    <function name="file_error_from_errno"
+              c:identifier="g_file_error_from_errno">
+      <return-value>
+        <type name="GFileError" c:type="GFileError"/>
+      </return-value>
+      <parameters>
+        <parameter name="err_no">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="file_test" c:identifier="g_file_test">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="test">
+          <type name="GFileTest" c:type="GFileTest"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="file_get_contents" c:identifier="g_file_get_contents">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="contents">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="file_set_contents" c:identifier="g_file_set_contents">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="contents">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="file_read_link" c:identifier="g_file_read_link">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mkstemp" c:identifier="g_mkstemp">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="tmpl">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="file_open_tmp" c:identifier="g_file_open_tmp">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="tmpl">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="name_used">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="format_size_for_display"
+              c:identifier="g_format_size_for_display">
+      <return-value>
+        <type name="string" c:type="char*"/>
+      </return-value>
+      <parameters>
+        <parameter name="size">
+          <type name="goffset" c:type="goffset"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="build_path" c:identifier="g_build_path">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="separator">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="first_element">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="build_pathv" c:identifier="g_build_pathv">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="separator">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="args">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="build_filename" c:identifier="g_build_filename">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="first_element">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="build_filenamev" c:identifier="g_build_filenamev">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="args">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mkdir_with_parents" c:identifier="g_mkdir_with_parents">
+      <return-value>
+        <type name="int32" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="pathname">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="mode">
+          <type name="int32" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="HashTable" c:type="GHashTable"/>
+    <callback name="GHRFunc">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="key">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="value">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <record name="HashTableIter" c:type="GHashTableIter"/>
+    <record name="GHashTableIter" c:type="_GHashTableIter">
+      <field name="dummy1">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="dummy2">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="dummy3">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="dummy4">
+        <type name="int32" c:type="int"/>
+      </field>
+      <field name="dummy5">
+        <type name="boolean" c:type="gboolean"/>
+      </field>
+      <field name="dummy6">
+        <type name="any" c:type="gpointer"/>
+      </field>
+    </record>
+    <function name="hash_table_new" c:identifier="g_hash_table_new">
+      <return-value>
+        <type name="GHashTable*" c:type="GHashTable*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_func">
+          <type name="GHashFunc" c:type="GHashFunc"/>
+        </parameter>
+        <parameter name="key_equal_func">
+          <type name="GEqualFunc" c:type="GEqualFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_new_full" c:identifier="g_hash_table_new_full">
+      <return-value>
+        <type name="GHashTable*" c:type="GHashTable*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_func">
+          <type name="GHashFunc" c:type="GHashFunc"/>
+        </parameter>
+        <parameter name="key_equal_func">
+          <type name="GEqualFunc" c:type="GEqualFunc"/>
+        </parameter>
+        <parameter name="key_destroy_func">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+        <parameter name="value_destroy_func">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_destroy" c:identifier="g_hash_table_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_insert" c:identifier="g_hash_table_insert">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="value">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_replace" c:identifier="g_hash_table_replace">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="value">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_remove" c:identifier="g_hash_table_remove">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_remove_all"
+              c:identifier="g_hash_table_remove_all">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_steal" c:identifier="g_hash_table_steal">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_steal_all"
+              c:identifier="g_hash_table_steal_all">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_lookup" c:identifier="g_hash_table_lookup">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_lookup_extended"
+              c:identifier="g_hash_table_lookup_extended">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+        <parameter name="lookup_key">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="orig_key">
+          <type name="gpointer" c:type="gpointer*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="gpointer" c:type="gpointer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_foreach" c:identifier="g_hash_table_foreach">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GHFunc" c:type="GHFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_find" c:identifier="g_hash_table_find">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+        <parameter name="predicate">
+          <type name="GHRFunc" c:type="GHRFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_foreach_remove"
+              c:identifier="g_hash_table_foreach_remove">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GHRFunc" c:type="GHRFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_foreach_steal"
+              c:identifier="g_hash_table_foreach_steal">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GHRFunc" c:type="GHRFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_size" c:identifier="g_hash_table_size">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_get_keys" c:identifier="g_hash_table_get_keys">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_get_values"
+              c:identifier="g_hash_table_get_values">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_iter_init"
+              c:identifier="g_hash_table_iter_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GHashTableIter" c:type="GHashTableIter*"/>
+        </parameter>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_iter_next"
+              c:identifier="g_hash_table_iter_next">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GHashTableIter" c:type="GHashTableIter*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="gpointer" c:type="gpointer*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="gpointer" c:type="gpointer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_iter_get_hash_table"
+              c:identifier="g_hash_table_iter_get_hash_table">
+      <return-value>
+        <type name="GHashTable*" c:type="GHashTable*"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GHashTableIter" c:type="GHashTableIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_iter_remove"
+              c:identifier="g_hash_table_iter_remove">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GHashTableIter" c:type="GHashTableIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_iter_steal"
+              c:identifier="g_hash_table_iter_steal">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GHashTableIter" c:type="GHashTableIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_ref" c:identifier="g_hash_table_ref">
+      <return-value>
+        <type name="GHashTable*" c:type="GHashTable*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hash_table_unref" c:identifier="g_hash_table_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table">
+          <type name="GHashTable" c:type="GHashTable*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="str_equal" c:identifier="g_str_equal">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="v1">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="v2">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="str_hash" c:identifier="g_str_hash">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="v">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int_equal" c:identifier="g_int_equal">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="v1">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="v2">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int_hash" c:identifier="g_int_hash">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="v">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="direct_hash" c:identifier="g_direct_hash">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="v">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="direct_equal" c:identifier="g_direct_equal">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="v1">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="v2">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Hook" c:type="GHook"/>
+    <record name="HookList" c:type="GHookList"/>
+    <callback name="GHookCompareFunc">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="new_hook">
+          <type name="GHook*" c:type="GHook*"/>
+        </parameter>
+        <parameter name="sibling">
+          <type name="GHook*" c:type="GHook*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GHookFindFunc">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook">
+          <type name="GHook*" c:type="GHook*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GHookMarshaller">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook">
+          <type name="GHook*" c:type="GHook*"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GHookCheckMarshaller">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook">
+          <type name="GHook*" c:type="GHook*"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GHookFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GHookCheckFunc">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GHookFinalizeFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList*" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="hook">
+          <type name="GHook*" c:type="GHook*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <enumeration name="ghookflagmask" c:type="GHookFlagMask">
+      <member name="active" value="1" c:identifier="G_HOOK_FLAG_ACTIVE"/>
+      <member name="in_call" value="2" c:identifier="G_HOOK_FLAG_IN_CALL"/>
+      <member name="k" value="15" c:identifier="G_HOOK_FLAG_MASK"/>
+    </enumeration>
+    <record name="GHookList" c:type="_GHookList">
+      <field name="seq_id">
+        <type name="ulong" c:type="gulong"/>
+      </field>
+      <field name="hook_size">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="is_setup">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="hooks">
+        <type name="GHook*" c:type="GHook*"/>
+      </field>
+      <field name="dummy3">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="finalize_hook">
+        <type name="GHookFinalizeFunc" c:type="GHookFinalizeFunc"/>
+      </field>
+      <field name="dummy">
+        <type name="any" c:type="gpointer"/>
+      </field>
+    </record>
+    <record name="GHook" c:type="_GHook">
+      <field name="data">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="next">
+        <type name="GHook*" c:type="GHook*"/>
+      </field>
+      <field name="prev">
+        <type name="GHook*" c:type="GHook*"/>
+      </field>
+      <field name="ref_count">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="hook_id">
+        <type name="ulong" c:type="gulong"/>
+      </field>
+      <field name="flags">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="func">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="destroy">
+        <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+      </field>
+    </record>
+    <function name="hook_list_init" c:identifier="g_hook_list_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="hook_size">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_list_clear" c:identifier="g_hook_list_clear">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_alloc" c:identifier="g_hook_alloc">
+      <return-value>
+        <type name="GHook*" c:type="GHook*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_free" c:identifier="g_hook_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="hook">
+          <type name="GHook" c:type="GHook*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_ref" c:identifier="g_hook_ref">
+      <return-value>
+        <type name="GHook*" c:type="GHook*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="hook">
+          <type name="GHook" c:type="GHook*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_unref" c:identifier="g_hook_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="hook">
+          <type name="GHook" c:type="GHook*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_destroy" c:identifier="g_hook_destroy">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="hook_id">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_destroy_link" c:identifier="g_hook_destroy_link">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="hook">
+          <type name="GHook" c:type="GHook*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_prepend" c:identifier="g_hook_prepend">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="hook">
+          <type name="GHook" c:type="GHook*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_insert_before" c:identifier="g_hook_insert_before">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="sibling">
+          <type name="GHook" c:type="GHook*"/>
+        </parameter>
+        <parameter name="hook">
+          <type name="GHook" c:type="GHook*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_insert_sorted" c:identifier="g_hook_insert_sorted">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="hook">
+          <type name="GHook" c:type="GHook*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GHookCompareFunc" c:type="GHookCompareFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_get" c:identifier="g_hook_get">
+      <return-value>
+        <type name="GHook*" c:type="GHook*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="hook_id">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_find" c:identifier="g_hook_find">
+      <return-value>
+        <type name="GHook*" c:type="GHook*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="need_valids">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GHookFindFunc" c:type="GHookFindFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_find_data" c:identifier="g_hook_find_data">
+      <return-value>
+        <type name="GHook*" c:type="GHook*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="need_valids">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_find_func" c:identifier="g_hook_find_func">
+      <return-value>
+        <type name="GHook*" c:type="GHook*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="need_valids">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="func">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_find_func_data" c:identifier="g_hook_find_func_data">
+      <return-value>
+        <type name="GHook*" c:type="GHook*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="need_valids">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="func">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_first_valid" c:identifier="g_hook_first_valid">
+      <return-value>
+        <type name="GHook*" c:type="GHook*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="may_be_in_call">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_next_valid" c:identifier="g_hook_next_valid">
+      <return-value>
+        <type name="GHook*" c:type="GHook*"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="hook">
+          <type name="GHook" c:type="GHook*"/>
+        </parameter>
+        <parameter name="may_be_in_call">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_compare_ids" c:identifier="g_hook_compare_ids">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="new_hook">
+          <type name="GHook" c:type="GHook*"/>
+        </parameter>
+        <parameter name="sibling">
+          <type name="GHook" c:type="GHook*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_list_invoke" c:identifier="g_hook_list_invoke">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="may_recurse">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_list_invoke_check"
+              c:identifier="g_hook_list_invoke_check">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="may_recurse">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_list_marshal" c:identifier="g_hook_list_marshal">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="may_recurse">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="marshaller">
+          <type name="GHookMarshaller" c:type="GHookMarshaller"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="hook_list_marshal_check"
+              c:identifier="g_hook_list_marshal_check">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hook_list">
+          <type name="GHookList" c:type="GHookList*"/>
+        </parameter>
+        <parameter name="may_recurse">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="marshaller">
+          <type name="GHookCheckMarshaller" c:type="GHookCheckMarshaller"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="SList" c:type="GSList"/>
+    <record name="GSList" c:type="_GSList">
+      <field name="data">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="next">
+        <type name="GSList*" c:type="GSList*"/>
+      </field>
+    </record>
+    <function name="slist_alloc" c:identifier="g_slist_alloc">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+    </function>
+    <function name="slist_free" c:identifier="g_slist_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_free_1" c:identifier="g_slist_free_1">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_append" c:identifier="g_slist_append">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_prepend" c:identifier="g_slist_prepend">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_insert" c:identifier="g_slist_insert">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="position">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_insert_sorted" c:identifier="g_slist_insert_sorted">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GCompareFunc" c:type="GCompareFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_insert_sorted_with_data"
+              c:identifier="g_slist_insert_sorted_with_data">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_insert_before" c:identifier="g_slist_insert_before">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="slist">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="sibling">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_concat" c:identifier="g_slist_concat">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list1">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="list2">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_remove" c:identifier="g_slist_remove">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_remove_all" c:identifier="g_slist_remove_all">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_remove_link" c:identifier="g_slist_remove_link">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="link_">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_delete_link" c:identifier="g_slist_delete_link">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="link_">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_reverse" c:identifier="g_slist_reverse">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_copy" c:identifier="g_slist_copy">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_nth" c:identifier="g_slist_nth">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_find" c:identifier="g_slist_find">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_find_custom" c:identifier="g_slist_find_custom">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GCompareFunc" c:type="GCompareFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_position" c:identifier="g_slist_position">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="llink">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_index" c:identifier="g_slist_index">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_last" c:identifier="g_slist_last">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_length" c:identifier="g_slist_length">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_foreach" c:identifier="g_slist_foreach">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GFunc" c:type="GFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_sort" c:identifier="g_slist_sort">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareFunc" c:type="GCompareFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_sort_with_data"
+              c:identifier="g_slist_sort_with_data">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_nth_data" c:identifier="g_slist_nth_data">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="list">
+          <type name="GSList" c:type="GSList*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_push_allocator"
+              c:identifier="g_slist_push_allocator">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="dummy">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="slist_pop_allocator" c:identifier="g_slist_pop_allocator">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <record name="MainContext" c:type="GMainContext"/>
+    <record name="MainLoop" c:type="GMainLoop"/>
+    <record name="Source" c:type="GSource"/>
+    <record name="SourceCallbackFuncs" c:type="GSourceCallbackFuncs"/>
+    <record name="SourceFuncs" c:type="GSourceFuncs"/>
+    <callback name="GSourceFunc">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GChildWatchFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pid">
+          <type name="GPid" c:type="GPid"/>
+        </parameter>
+        <parameter name="status">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <record name="GSource" c:type="_GSource">
+      <field name="callback_data">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="callback_funcs">
+        <type name="GSourceCallbackFuncs*" c:type="GSourceCallbackFuncs*"/>
+      </field>
+      <field name="source_funcs">
+        <type name="GSourceFuncs*" c:type="GSourceFuncs*"/>
+      </field>
+      <field name="ref_count">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="context">
+        <type name="GMainContext*" c:type="GMainContext*"/>
+      </field>
+      <field name="priority">
+        <type name="int32" c:type="gint"/>
+      </field>
+      <field name="flags">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="source_id">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="poll_fds">
+        <type name="GSList*" c:type="GSList*"/>
+      </field>
+      <field name="prev">
+        <type name="GSource*" c:type="GSource*"/>
+      </field>
+      <field name="next">
+        <type name="GSource*" c:type="GSource*"/>
+      </field>
+      <field name="reserved1">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="reserved2">
+        <type name="any" c:type="gpointer"/>
+      </field>
+    </record>
+    <record name="GSourceCallbackFuncs" c:type="_GSourceCallbackFuncs">
+      <callback name="ref">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="cb_data">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="unref">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="cb_data">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="get">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="cb_data">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+          <parameter name="source">
+            <type name="GSource*" c:type="GSource*"/>
+          </parameter>
+          <parameter name="func">
+            <type name="GSourceFunc*" c:type="GSourceFunc*"/>
+          </parameter>
+          <parameter name="data">
+            <type name="gpointer*" c:type="gpointer*"/>
+          </parameter>
+        </parameters>
+      </callback>
+    </record>
+    <callback name="GSourceDummyMarshal">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </callback>
+    <record name="GSourceFuncs" c:type="_GSourceFuncs">
+      <callback name="prepare">
+        <return-value>
+          <type name="boolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="source">
+            <type name="GSource*" c:type="GSource*"/>
+          </parameter>
+          <parameter name="timeout_">
+            <type name="gint*" c:type="gint*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="check">
+        <return-value>
+          <type name="boolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="source">
+            <type name="GSource*" c:type="GSource*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="dispatch">
+        <return-value>
+          <type name="boolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="source">
+            <type name="GSource*" c:type="GSource*"/>
+          </parameter>
+          <parameter name="callback">
+            <type name="GSourceFunc" c:type="GSourceFunc"/>
+          </parameter>
+          <parameter name="user_data">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="finalize">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="source">
+            <type name="GSource*" c:type="GSource*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <field name="closure_callback">
+        <type name="GSourceFunc" c:type="GSourceFunc"/>
+      </field>
+      <field name="closure_marshal">
+        <type name="GSourceDummyMarshal" c:type="GSourceDummyMarshal"/>
+      </field>
+    </record>
+    <record name="PollFD" c:type="GPollFD"/>
+    <callback name="GPollFunc">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="ufds">
+          <type name="GPollFD*" c:type="GPollFD*"/>
+        </parameter>
+        <parameter name="nfsd">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="timeout_">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <record name="GPollFD" c:type="_GPollFD">
+      <field name="fd">
+        <type name="int32" c:type="gint"/>
+      </field>
+      <field name="events">
+        <type name="gushort" c:type="gushort"/>
+      </field>
+      <field name="revents">
+        <type name="gushort" c:type="gushort"/>
+      </field>
+    </record>
+    <function name="main_context_new" c:identifier="g_main_context_new">
+      <return-value>
+        <type name="GMainContext*" c:type="GMainContext*"/>
+      </return-value>
+    </function>
+    <function name="main_context_ref" c:identifier="g_main_context_ref">
+      <return-value>
+        <type name="GMainContext*" c:type="GMainContext*"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_unref" c:identifier="g_main_context_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_default"
+              c:identifier="g_main_context_default">
+      <return-value>
+        <type name="GMainContext*" c:type="GMainContext*"/>
+      </return-value>
+    </function>
+    <function name="main_context_iteration"
+              c:identifier="g_main_context_iteration">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+        <parameter name="may_block">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_pending"
+              c:identifier="g_main_context_pending">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_find_source_by_id"
+              c:identifier="g_main_context_find_source_by_id">
+      <return-value>
+        <type name="GSource*" c:type="GSource*"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+        <parameter name="source_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_find_source_by_user_data"
+              c:identifier="g_main_context_find_source_by_user_data">
+      <return-value>
+        <type name="GSource*" c:type="GSource*"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_find_source_by_funcs_user_data"
+              c:identifier="g_main_context_find_source_by_funcs_user_data">
+      <return-value>
+        <type name="GSource*" c:type="GSource*"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+        <parameter name="funcs">
+          <type name="GSourceFuncs" c:type="GSourceFuncs*"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_wakeup" c:identifier="g_main_context_wakeup">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_acquire"
+              c:identifier="g_main_context_acquire">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_release"
+              c:identifier="g_main_context_release">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_is_owner"
+              c:identifier="g_main_context_is_owner">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_wait" c:identifier="g_main_context_wait">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+        <parameter name="cond">
+          <type name="GCond" c:type="GCond*"/>
+        </parameter>
+        <parameter name="mutex">
+          <type name="GMutex" c:type="GMutex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_prepare"
+              c:identifier="g_main_context_prepare">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+        <parameter name="priority">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_query" c:identifier="g_main_context_query">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+        <parameter name="max_priority">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="timeout_">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="fds">
+          <type name="GPollFD" c:type="GPollFD*"/>
+        </parameter>
+        <parameter name="n_fds">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_check" c:identifier="g_main_context_check">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+        <parameter name="max_priority">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="fds">
+          <type name="GPollFD" c:type="GPollFD*"/>
+        </parameter>
+        <parameter name="n_fds">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_dispatch"
+              c:identifier="g_main_context_dispatch">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_set_poll_func"
+              c:identifier="g_main_context_set_poll_func">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GPollFunc" c:type="GPollFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_get_poll_func"
+              c:identifier="g_main_context_get_poll_func">
+      <return-value>
+        <type name="GPollFunc" c:type="GPollFunc"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_add_poll"
+              c:identifier="g_main_context_add_poll">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+        <parameter name="fd">
+          <type name="GPollFD" c:type="GPollFD*"/>
+        </parameter>
+        <parameter name="priority">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_context_remove_poll"
+              c:identifier="g_main_context_remove_poll">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+        <parameter name="fd">
+          <type name="GPollFD" c:type="GPollFD*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_depth" c:identifier="g_main_depth">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+    </function>
+    <function name="main_current_source" c:identifier="g_main_current_source">
+      <return-value>
+        <type name="GSource*" c:type="GSource*"/>
+      </return-value>
+    </function>
+    <function name="main_loop_new" c:identifier="g_main_loop_new">
+      <return-value>
+        <type name="GMainLoop*" c:type="GMainLoop*"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+        <parameter name="is_running">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_loop_run" c:identifier="g_main_loop_run">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="loop">
+          <type name="GMainLoop" c:type="GMainLoop*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_loop_quit" c:identifier="g_main_loop_quit">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="loop">
+          <type name="GMainLoop" c:type="GMainLoop*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_loop_ref" c:identifier="g_main_loop_ref">
+      <return-value>
+        <type name="GMainLoop*" c:type="GMainLoop*"/>
+      </return-value>
+      <parameters>
+        <parameter name="loop">
+          <type name="GMainLoop" c:type="GMainLoop*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_loop_unref" c:identifier="g_main_loop_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="loop">
+          <type name="GMainLoop" c:type="GMainLoop*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_loop_is_running"
+              c:identifier="g_main_loop_is_running">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="loop">
+          <type name="GMainLoop" c:type="GMainLoop*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="main_loop_get_context"
+              c:identifier="g_main_loop_get_context">
+      <return-value>
+        <type name="GMainContext*" c:type="GMainContext*"/>
+      </return-value>
+      <parameters>
+        <parameter name="loop">
+          <type name="GMainLoop" c:type="GMainLoop*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_new" c:identifier="g_source_new">
+      <return-value>
+        <type name="GSource*" c:type="GSource*"/>
+      </return-value>
+      <parameters>
+        <parameter name="source_funcs">
+          <type name="GSourceFuncs" c:type="GSourceFuncs*"/>
+        </parameter>
+        <parameter name="struct_size">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_ref" c:identifier="g_source_ref">
+      <return-value>
+        <type name="GSource*" c:type="GSource*"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_unref" c:identifier="g_source_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_attach" c:identifier="g_source_attach">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+        <parameter name="context">
+          <type name="GMainContext" c:type="GMainContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_destroy" c:identifier="g_source_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_set_priority" c:identifier="g_source_set_priority">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+        <parameter name="priority">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_get_priority" c:identifier="g_source_get_priority">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_set_can_recurse"
+              c:identifier="g_source_set_can_recurse">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+        <parameter name="can_recurse">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_get_can_recurse"
+              c:identifier="g_source_get_can_recurse">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_get_id" c:identifier="g_source_get_id">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_get_context" c:identifier="g_source_get_context">
+      <return-value>
+        <type name="GMainContext*" c:type="GMainContext*"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_set_callback" c:identifier="g_source_set_callback">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GSourceFunc" c:type="GSourceFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="notify">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_set_funcs" c:identifier="g_source_set_funcs">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+        <parameter name="funcs">
+          <type name="GSourceFuncs" c:type="GSourceFuncs*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_is_destroyed" c:identifier="g_source_is_destroyed">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_set_callback_indirect"
+              c:identifier="g_source_set_callback_indirect">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+        <parameter name="callback_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="callback_funcs">
+          <type name="GSourceCallbackFuncs" c:type="GSourceCallbackFuncs*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_add_poll" c:identifier="g_source_add_poll">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+        <parameter name="fd">
+          <type name="GPollFD" c:type="GPollFD*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_remove_poll" c:identifier="g_source_remove_poll">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+        <parameter name="fd">
+          <type name="GPollFD" c:type="GPollFD*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_get_current_time"
+              c:identifier="g_source_get_current_time">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+        <parameter name="timeval">
+          <type name="GTimeVal" c:type="GTimeVal*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="idle_source_new" c:identifier="g_idle_source_new">
+      <return-value>
+        <type name="GSource*" c:type="GSource*"/>
+      </return-value>
+    </function>
+    <function name="child_watch_source_new"
+              c:identifier="g_child_watch_source_new">
+      <return-value>
+        <type name="GSource*" c:type="GSource*"/>
+      </return-value>
+      <parameters>
+        <parameter name="pid">
+          <type name="GPid" c:type="GPid"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="timeout_source_new" c:identifier="g_timeout_source_new">
+      <return-value>
+        <type name="GSource*" c:type="GSource*"/>
+      </return-value>
+      <parameters>
+        <parameter name="interval">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="timeout_source_new_seconds"
+              c:identifier="g_timeout_source_new_seconds">
+      <return-value>
+        <type name="GSource*" c:type="GSource*"/>
+      </return-value>
+      <parameters>
+        <parameter name="interval">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="get_current_time" c:identifier="g_get_current_time">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="result">
+          <type name="GTimeVal" c:type="GTimeVal*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_remove" c:identifier="g_source_remove">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="tag">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_remove_by_user_data"
+              c:identifier="g_source_remove_by_user_data">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_remove_by_funcs_user_data"
+              c:identifier="g_source_remove_by_funcs_user_data">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="funcs">
+          <type name="GSourceFuncs" c:type="GSourceFuncs*"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="timeout_add_full" c:identifier="g_timeout_add_full">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="priority">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="interval">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="function">
+          <type name="GSourceFunc" c:type="GSourceFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="notify">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="timeout_add" c:identifier="g_timeout_add">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="interval">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="function">
+          <type name="GSourceFunc" c:type="GSourceFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="timeout_add_seconds_full"
+              c:identifier="g_timeout_add_seconds_full">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="priority">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="interval">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="function">
+          <type name="GSourceFunc" c:type="GSourceFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="notify">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="timeout_add_seconds" c:identifier="g_timeout_add_seconds">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="interval">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="function">
+          <type name="GSourceFunc" c:type="GSourceFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="child_watch_add_full"
+              c:identifier="g_child_watch_add_full">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="priority">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="pid">
+          <type name="GPid" c:type="GPid"/>
+        </parameter>
+        <parameter name="function">
+          <type name="GChildWatchFunc" c:type="GChildWatchFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="notify">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="child_watch_add" c:identifier="g_child_watch_add">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="pid">
+          <type name="GPid" c:type="GPid"/>
+        </parameter>
+        <parameter name="function">
+          <type name="GChildWatchFunc" c:type="GChildWatchFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="idle_add" c:identifier="g_idle_add">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="function">
+          <type name="GSourceFunc" c:type="GSourceFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="idle_add_full" c:identifier="g_idle_add_full">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="priority">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="function">
+          <type name="GSourceFunc" c:type="GSourceFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="notify">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="idle_remove_by_data" c:identifier="g_idle_remove_by_data">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gunicodetype" c:type="GUnicodeType">
+      <member name="control" value="0" c:identifier="G_UNICODE_CONTROL"/>
+      <member name="format" value="1" c:identifier="G_UNICODE_FORMAT"/>
+      <member name="unassigned" value="2" c:identifier="G_UNICODE_UNASSIGNED"/>
+      <member name="private_use"
+              value="3"
+              c:identifier="G_UNICODE_PRIVATE_USE"/>
+      <member name="surrogate" value="4" c:identifier="G_UNICODE_SURROGATE"/>
+      <member name="lowercase_letter"
+              value="5"
+              c:identifier="G_UNICODE_LOWERCASE_LETTER"/>
+      <member name="modifier_letter"
+              value="6"
+              c:identifier="G_UNICODE_MODIFIER_LETTER"/>
+      <member name="other_letter"
+              value="7"
+              c:identifier="G_UNICODE_OTHER_LETTER"/>
+      <member name="itlecase_letter"
+              value="8"
+              c:identifier="G_UNICODE_TITLECASE_LETTER"/>
+      <member name="uppercase_letter"
+              value="9"
+              c:identifier="G_UNICODE_UPPERCASE_LETTER"/>
+      <member name="combining_mark"
+              value="10"
+              c:identifier="G_UNICODE_COMBINING_MARK"/>
+      <member name="enclosing_mark"
+              value="11"
+              c:identifier="G_UNICODE_ENCLOSING_MARK"/>
+      <member name="non_spacing_mark"
+              value="12"
+              c:identifier="G_UNICODE_NON_SPACING_MARK"/>
+      <member name="decimal_number"
+              value="13"
+              c:identifier="G_UNICODE_DECIMAL_NUMBER"/>
+      <member name="letter_number"
+              value="14"
+              c:identifier="G_UNICODE_LETTER_NUMBER"/>
+      <member name="other_number"
+              value="15"
+              c:identifier="G_UNICODE_OTHER_NUMBER"/>
+      <member name="connect_punctuation"
+              value="16"
+              c:identifier="G_UNICODE_CONNECT_PUNCTUATION"/>
+      <member name="dash_punctuation"
+              value="17"
+              c:identifier="G_UNICODE_DASH_PUNCTUATION"/>
+      <member name="close_punctuation"
+              value="18"
+              c:identifier="G_UNICODE_CLOSE_PUNCTUATION"/>
+      <member name="final_punctuation"
+              value="19"
+              c:identifier="G_UNICODE_FINAL_PUNCTUATION"/>
+      <member name="initial_punctuation"
+              value="20"
+              c:identifier="G_UNICODE_INITIAL_PUNCTUATION"/>
+      <member name="other_punctuation"
+              value="21"
+              c:identifier="G_UNICODE_OTHER_PUNCTUATION"/>
+      <member name="open_punctuation"
+              value="22"
+              c:identifier="G_UNICODE_OPEN_PUNCTUATION"/>
+      <member name="currency_symbol"
+              value="23"
+              c:identifier="G_UNICODE_CURRENCY_SYMBOL"/>
+      <member name="modifier_symbol"
+              value="24"
+              c:identifier="G_UNICODE_MODIFIER_SYMBOL"/>
+      <member name="math_symbol"
+              value="25"
+              c:identifier="G_UNICODE_MATH_SYMBOL"/>
+      <member name="other_symbol"
+              value="26"
+              c:identifier="G_UNICODE_OTHER_SYMBOL"/>
+      <member name="line_separator"
+              value="27"
+              c:identifier="G_UNICODE_LINE_SEPARATOR"/>
+      <member name="paragraph_separator"
+              value="28"
+              c:identifier="G_UNICODE_PARAGRAPH_SEPARATOR"/>
+      <member name="space_separator"
+              value="29"
+              c:identifier="G_UNICODE_SPACE_SEPARATOR"/>
+    </enumeration>
+    <enumeration name="gunicodebreaktype" c:type="GUnicodeBreakType">
+      <member name="mandatory"
+              value="0"
+              c:identifier="G_UNICODE_BREAK_MANDATORY"/>
+      <member name="carriage_return"
+              value="1"
+              c:identifier="G_UNICODE_BREAK_CARRIAGE_RETURN"/>
+      <member name="line_feed"
+              value="2"
+              c:identifier="G_UNICODE_BREAK_LINE_FEED"/>
+      <member name="combining_mark"
+              value="3"
+              c:identifier="G_UNICODE_BREAK_COMBINING_MARK"/>
+      <member name="surrogate"
+              value="4"
+              c:identifier="G_UNICODE_BREAK_SURROGATE"/>
+      <member name="zero_width_space"
+              value="5"
+              c:identifier="G_UNICODE_BREAK_ZERO_WIDTH_SPACE"/>
+      <member name="inseparable"
+              value="6"
+              c:identifier="G_UNICODE_BREAK_INSEPARABLE"/>
+      <member name="non_breaking_glue"
+              value="7"
+              c:identifier="G_UNICODE_BREAK_NON_BREAKING_GLUE"/>
+      <member name="contingent"
+              value="8"
+              c:identifier="G_UNICODE_BREAK_CONTINGENT"/>
+      <member name="space" value="9" c:identifier="G_UNICODE_BREAK_SPACE"/>
+      <member name="after" value="10" c:identifier="G_UNICODE_BREAK_AFTER"/>
+      <member name="before" value="11" c:identifier="G_UNICODE_BREAK_BEFORE"/>
+      <member name="before_and_after"
+              value="12"
+              c:identifier="G_UNICODE_BREAK_BEFORE_AND_AFTER"/>
+      <member name="hyphen" value="13" c:identifier="G_UNICODE_BREAK_HYPHEN"/>
+      <member name="non_starter"
+              value="14"
+              c:identifier="G_UNICODE_BREAK_NON_STARTER"/>
+      <member name="open_punctuation"
+              value="15"
+              c:identifier="G_UNICODE_BREAK_OPEN_PUNCTUATION"/>
+      <member name="close_punctuation"
+              value="16"
+              c:identifier="G_UNICODE_BREAK_CLOSE_PUNCTUATION"/>
+      <member name="quotation"
+              value="17"
+              c:identifier="G_UNICODE_BREAK_QUOTATION"/>
+      <member name="exclamation"
+              value="18"
+              c:identifier="G_UNICODE_BREAK_EXCLAMATION"/>
+      <member name="ideographic"
+              value="19"
+              c:identifier="G_UNICODE_BREAK_IDEOGRAPHIC"/>
+      <member name="numeric"
+              value="20"
+              c:identifier="G_UNICODE_BREAK_NUMERIC"/>
+      <member name="infix_separator"
+              value="21"
+              c:identifier="G_UNICODE_BREAK_INFIX_SEPARATOR"/>
+      <member name="symbol" value="22" c:identifier="G_UNICODE_BREAK_SYMBOL"/>
+      <member name="alphabetic"
+              value="23"
+              c:identifier="G_UNICODE_BREAK_ALPHABETIC"/>
+      <member name="prefix" value="24" c:identifier="G_UNICODE_BREAK_PREFIX"/>
+      <member name="postfix"
+              value="25"
+              c:identifier="G_UNICODE_BREAK_POSTFIX"/>
+      <member name="complex_context"
+              value="26"
+              c:identifier="G_UNICODE_BREAK_COMPLEX_CONTEXT"/>
+      <member name="ambiguous"
+              value="27"
+              c:identifier="G_UNICODE_BREAK_AMBIGUOUS"/>
+      <member name="unknown"
+              value="28"
+              c:identifier="G_UNICODE_BREAK_UNKNOWN"/>
+      <member name="next_line"
+              value="29"
+              c:identifier="G_UNICODE_BREAK_NEXT_LINE"/>
+      <member name="word_joiner"
+              value="30"
+              c:identifier="G_UNICODE_BREAK_WORD_JOINER"/>
+      <member name="hangul_l_jamo"
+              value="31"
+              c:identifier="G_UNICODE_BREAK_HANGUL_L_JAMO"/>
+      <member name="hangul_v_jamo"
+              value="32"
+              c:identifier="G_UNICODE_BREAK_HANGUL_V_JAMO"/>
+      <member name="hangul_t_jamo"
+              value="33"
+              c:identifier="G_UNICODE_BREAK_HANGUL_T_JAMO"/>
+      <member name="hangul_lv_syllable"
+              value="34"
+              c:identifier="G_UNICODE_BREAK_HANGUL_LV_SYLLABLE"/>
+      <member name="hangul_lvt_syllable"
+              value="35"
+              c:identifier="G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE"/>
+    </enumeration>
+    <enumeration name="gunicodescript" c:type="GUnicodeScript">
+      <member name="t_invalid_code"
+              value="-1"
+              c:identifier="G_UNICODE_SCRIPT_INVALID_CODE"/>
+      <member name="t_common"
+              value="0"
+              c:identifier="G_UNICODE_SCRIPT_COMMON"/>
+      <member name="t_inherited"
+              value="1"
+              c:identifier="G_UNICODE_SCRIPT_INHERITED"/>
+      <member name="t_arabic"
+              value="2"
+              c:identifier="G_UNICODE_SCRIPT_ARABIC"/>
+      <member name="t_armenian"
+              value="3"
+              c:identifier="G_UNICODE_SCRIPT_ARMENIAN"/>
+      <member name="t_bengali"
+              value="4"
+              c:identifier="G_UNICODE_SCRIPT_BENGALI"/>
+      <member name="t_bopomofo"
+              value="5"
+              c:identifier="G_UNICODE_SCRIPT_BOPOMOFO"/>
+      <member name="t_cherokee"
+              value="6"
+              c:identifier="G_UNICODE_SCRIPT_CHEROKEE"/>
+      <member name="t_coptic"
+              value="7"
+              c:identifier="G_UNICODE_SCRIPT_COPTIC"/>
+      <member name="t_cyrillic"
+              value="8"
+              c:identifier="G_UNICODE_SCRIPT_CYRILLIC"/>
+      <member name="t_deseret"
+              value="9"
+              c:identifier="G_UNICODE_SCRIPT_DESERET"/>
+      <member name="t_devanagari"
+              value="10"
+              c:identifier="G_UNICODE_SCRIPT_DEVANAGARI"/>
+      <member name="t_ethiopic"
+              value="11"
+              c:identifier="G_UNICODE_SCRIPT_ETHIOPIC"/>
+      <member name="t_georgian"
+              value="12"
+              c:identifier="G_UNICODE_SCRIPT_GEORGIAN"/>
+      <member name="t_gothic"
+              value="13"
+              c:identifier="G_UNICODE_SCRIPT_GOTHIC"/>
+      <member name="t_greek" value="14" c:identifier="G_UNICODE_SCRIPT_GREEK"/>
+      <member name="t_gujarati"
+              value="15"
+              c:identifier="G_UNICODE_SCRIPT_GUJARATI"/>
+      <member name="t_gurmukhi"
+              value="16"
+              c:identifier="G_UNICODE_SCRIPT_GURMUKHI"/>
+      <member name="t_han" value="17" c:identifier="G_UNICODE_SCRIPT_HAN"/>
+      <member name="t_hangul"
+              value="18"
+              c:identifier="G_UNICODE_SCRIPT_HANGUL"/>
+      <member name="t_hebrew"
+              value="19"
+              c:identifier="G_UNICODE_SCRIPT_HEBREW"/>
+      <member name="t_hiragana"
+              value="20"
+              c:identifier="G_UNICODE_SCRIPT_HIRAGANA"/>
+      <member name="t_kannada"
+              value="21"
+              c:identifier="G_UNICODE_SCRIPT_KANNADA"/>
+      <member name="t_katakana"
+              value="22"
+              c:identifier="G_UNICODE_SCRIPT_KATAKANA"/>
+      <member name="t_khmer" value="23" c:identifier="G_UNICODE_SCRIPT_KHMER"/>
+      <member name="t_lao" value="24" c:identifier="G_UNICODE_SCRIPT_LAO"/>
+      <member name="t_latin" value="25" c:identifier="G_UNICODE_SCRIPT_LATIN"/>
+      <member name="t_malayalam"
+              value="26"
+              c:identifier="G_UNICODE_SCRIPT_MALAYALAM"/>
+      <member name="t_mongolian"
+              value="27"
+              c:identifier="G_UNICODE_SCRIPT_MONGOLIAN"/>
+      <member name="t_myanmar"
+              value="28"
+              c:identifier="G_UNICODE_SCRIPT_MYANMAR"/>
+      <member name="t_ogham" value="29" c:identifier="G_UNICODE_SCRIPT_OGHAM"/>
+      <member name="t_old_italic"
+              value="30"
+              c:identifier="G_UNICODE_SCRIPT_OLD_ITALIC"/>
+      <member name="t_oriya" value="31" c:identifier="G_UNICODE_SCRIPT_ORIYA"/>
+      <member name="t_runic" value="32" c:identifier="G_UNICODE_SCRIPT_RUNIC"/>
+      <member name="t_sinhala"
+              value="33"
+              c:identifier="G_UNICODE_SCRIPT_SINHALA"/>
+      <member name="t_syriac"
+              value="34"
+              c:identifier="G_UNICODE_SCRIPT_SYRIAC"/>
+      <member name="t_tamil" value="35" c:identifier="G_UNICODE_SCRIPT_TAMIL"/>
+      <member name="t_telugu"
+              value="36"
+              c:identifier="G_UNICODE_SCRIPT_TELUGU"/>
+      <member name="t_thaana"
+              value="37"
+              c:identifier="G_UNICODE_SCRIPT_THAANA"/>
+      <member name="t_thai" value="38" c:identifier="G_UNICODE_SCRIPT_THAI"/>
+      <member name="t_tibetan"
+              value="39"
+              c:identifier="G_UNICODE_SCRIPT_TIBETAN"/>
+      <member name="t_canadian_aboriginal"
+              value="40"
+              c:identifier="G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL"/>
+      <member name="t_yi" value="41" c:identifier="G_UNICODE_SCRIPT_YI"/>
+      <member name="t_tagalog"
+              value="42"
+              c:identifier="G_UNICODE_SCRIPT_TAGALOG"/>
+      <member name="t_hanunoo"
+              value="43"
+              c:identifier="G_UNICODE_SCRIPT_HANUNOO"/>
+      <member name="t_buhid" value="44" c:identifier="G_UNICODE_SCRIPT_BUHID"/>
+      <member name="t_tagbanwa"
+              value="45"
+              c:identifier="G_UNICODE_SCRIPT_TAGBANWA"/>
+      <member name="t_braille"
+              value="46"
+              c:identifier="G_UNICODE_SCRIPT_BRAILLE"/>
+      <member name="t_cypriot"
+              value="47"
+              c:identifier="G_UNICODE_SCRIPT_CYPRIOT"/>
+      <member name="t_limbu" value="48" c:identifier="G_UNICODE_SCRIPT_LIMBU"/>
+      <member name="t_osmanya"
+              value="49"
+              c:identifier="G_UNICODE_SCRIPT_OSMANYA"/>
+      <member name="t_shavian"
+              value="50"
+              c:identifier="G_UNICODE_SCRIPT_SHAVIAN"/>
+      <member name="t_linear_b"
+              value="51"
+              c:identifier="G_UNICODE_SCRIPT_LINEAR_B"/>
+      <member name="t_tai_le"
+              value="52"
+              c:identifier="G_UNICODE_SCRIPT_TAI_LE"/>
+      <member name="t_ugaritic"
+              value="53"
+              c:identifier="G_UNICODE_SCRIPT_UGARITIC"/>
+      <member name="t_new_tai_lue"
+              value="54"
+              c:identifier="G_UNICODE_SCRIPT_NEW_TAI_LUE"/>
+      <member name="t_buginese"
+              value="55"
+              c:identifier="G_UNICODE_SCRIPT_BUGINESE"/>
+      <member name="t_glagolitic"
+              value="56"
+              c:identifier="G_UNICODE_SCRIPT_GLAGOLITIC"/>
+      <member name="t_tifinagh"
+              value="57"
+              c:identifier="G_UNICODE_SCRIPT_TIFINAGH"/>
+      <member name="t_syloti_nagri"
+              value="58"
+              c:identifier="G_UNICODE_SCRIPT_SYLOTI_NAGRI"/>
+      <member name="t_old_persian"
+              value="59"
+              c:identifier="G_UNICODE_SCRIPT_OLD_PERSIAN"/>
+      <member name="t_kharoshthi"
+              value="60"
+              c:identifier="G_UNICODE_SCRIPT_KHAROSHTHI"/>
+      <member name="t_unknown"
+              value="61"
+              c:identifier="G_UNICODE_SCRIPT_UNKNOWN"/>
+      <member name="t_balinese"
+              value="62"
+              c:identifier="G_UNICODE_SCRIPT_BALINESE"/>
+      <member name="t_cuneiform"
+              value="63"
+              c:identifier="G_UNICODE_SCRIPT_CUNEIFORM"/>
+      <member name="t_phoenician"
+              value="64"
+              c:identifier="G_UNICODE_SCRIPT_PHOENICIAN"/>
+      <member name="t_phags_pa"
+              value="65"
+              c:identifier="G_UNICODE_SCRIPT_PHAGS_PA"/>
+      <member name="t_nko" value="66" c:identifier="G_UNICODE_SCRIPT_NKO"/>
+      <member name="t_kayah_li"
+              value="67"
+              c:identifier="G_UNICODE_SCRIPT_KAYAH_LI"/>
+      <member name="t_lepcha"
+              value="68"
+              c:identifier="G_UNICODE_SCRIPT_LEPCHA"/>
+      <member name="t_rejang"
+              value="69"
+              c:identifier="G_UNICODE_SCRIPT_REJANG"/>
+      <member name="t_sundanese"
+              value="70"
+              c:identifier="G_UNICODE_SCRIPT_SUNDANESE"/>
+      <member name="t_saurashtra"
+              value="71"
+              c:identifier="G_UNICODE_SCRIPT_SAURASHTRA"/>
+      <member name="t_cham" value="72" c:identifier="G_UNICODE_SCRIPT_CHAM"/>
+      <member name="t_ol_chiki"
+              value="73"
+              c:identifier="G_UNICODE_SCRIPT_OL_CHIKI"/>
+      <member name="t_vai" value="74" c:identifier="G_UNICODE_SCRIPT_VAI"/>
+      <member name="t_carian"
+              value="75"
+              c:identifier="G_UNICODE_SCRIPT_CARIAN"/>
+      <member name="t_lycian"
+              value="76"
+              c:identifier="G_UNICODE_SCRIPT_LYCIAN"/>
+      <member name="t_lydian"
+              value="77"
+              c:identifier="G_UNICODE_SCRIPT_LYDIAN"/>
+    </enumeration>
+    <function name="get_charset" c:identifier="g_get_charset">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="charset">
+          <type name="char" c:type="char**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_isalnum" c:identifier="g_unichar_isalnum">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_isalpha" c:identifier="g_unichar_isalpha">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_iscntrl" c:identifier="g_unichar_iscntrl">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_isdigit" c:identifier="g_unichar_isdigit">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_isgraph" c:identifier="g_unichar_isgraph">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_islower" c:identifier="g_unichar_islower">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_isprint" c:identifier="g_unichar_isprint">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_ispunct" c:identifier="g_unichar_ispunct">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_isspace" c:identifier="g_unichar_isspace">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_isupper" c:identifier="g_unichar_isupper">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_isxdigit" c:identifier="g_unichar_isxdigit">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_istitle" c:identifier="g_unichar_istitle">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_isdefined" c:identifier="g_unichar_isdefined">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_iswide" c:identifier="g_unichar_iswide">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_iswide_cjk" c:identifier="g_unichar_iswide_cjk">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_iszerowidth" c:identifier="g_unichar_iszerowidth">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_ismark" c:identifier="g_unichar_ismark">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_toupper" c:identifier="g_unichar_toupper">
+      <return-value>
+        <type name="gunichar" c:type="gunichar"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_tolower" c:identifier="g_unichar_tolower">
+      <return-value>
+        <type name="gunichar" c:type="gunichar"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_totitle" c:identifier="g_unichar_totitle">
+      <return-value>
+        <type name="gunichar" c:type="gunichar"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_digit_value" c:identifier="g_unichar_digit_value">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_xdigit_value"
+              c:identifier="g_unichar_xdigit_value">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_type" c:identifier="g_unichar_type">
+      <return-value>
+        <type name="GUnicodeType" c:type="GUnicodeType"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_break_type" c:identifier="g_unichar_break_type">
+      <return-value>
+        <type name="GUnicodeBreakType" c:type="GUnicodeBreakType"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_combining_class"
+              c:identifier="g_unichar_combining_class">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="uc">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unicode_canonical_ordering"
+              c:identifier="g_unicode_canonical_ordering">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="gunichar" c:type="gunichar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unicode_canonical_decomposition"
+              c:identifier="g_unicode_canonical_decomposition">
+      <return-value>
+        <type name="gunichar*" c:type="gunichar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="ch">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+        <parameter name="result_len">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_get_char" c:identifier="g_utf8_get_char">
+      <return-value>
+        <type name="gunichar" c:type="gunichar"/>
+      </return-value>
+      <parameters>
+        <parameter name="p">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_get_char_validated"
+              c:identifier="g_utf8_get_char_validated">
+      <return-value>
+        <type name="gunichar" c:type="gunichar"/>
+      </return-value>
+      <parameters>
+        <parameter name="p">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="max_len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_offset_to_pointer"
+              c:identifier="g_utf8_offset_to_pointer">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="offset">
+          <type name="long" c:type="glong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_pointer_to_offset"
+              c:identifier="g_utf8_pointer_to_offset">
+      <return-value>
+        <type name="long" c:type="glong"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="pos">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_prev_char" c:identifier="g_utf8_prev_char">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="p">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_find_next_char" c:identifier="g_utf8_find_next_char">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="p">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="end">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_find_prev_char" c:identifier="g_utf8_find_prev_char">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="p">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_strlen" c:identifier="g_utf8_strlen">
+      <return-value>
+        <type name="long" c:type="glong"/>
+      </return-value>
+      <parameters>
+        <parameter name="p">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="max">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_strncpy" c:identifier="g_utf8_strncpy">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="dest">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="src">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_strchr" c:identifier="g_utf8_strchr">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="p">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_strrchr" c:identifier="g_utf8_strrchr">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="p">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_strreverse" c:identifier="g_utf8_strreverse">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_to_utf16" c:identifier="g_utf8_to_utf16">
+      <return-value>
+        <type name="gunichar2*" c:type="gunichar2*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="long" c:type="glong"/>
+        </parameter>
+        <parameter name="items_read">
+          <type name="glong" c:type="glong*"/>
+        </parameter>
+        <parameter name="items_written">
+          <type name="glong" c:type="glong*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_to_ucs4" c:identifier="g_utf8_to_ucs4">
+      <return-value>
+        <type name="gunichar*" c:type="gunichar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="long" c:type="glong"/>
+        </parameter>
+        <parameter name="items_read">
+          <type name="glong" c:type="glong*"/>
+        </parameter>
+        <parameter name="items_written">
+          <type name="glong" c:type="glong*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_to_ucs4_fast" c:identifier="g_utf8_to_ucs4_fast">
+      <return-value>
+        <type name="gunichar*" c:type="gunichar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="long" c:type="glong"/>
+        </parameter>
+        <parameter name="items_written">
+          <type name="glong" c:type="glong*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf16_to_ucs4" c:identifier="g_utf16_to_ucs4">
+      <return-value>
+        <type name="gunichar*" c:type="gunichar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="gunichar2" c:type="gunichar2*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="long" c:type="glong"/>
+        </parameter>
+        <parameter name="items_read">
+          <type name="glong" c:type="glong*"/>
+        </parameter>
+        <parameter name="items_written">
+          <type name="glong" c:type="glong*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf16_to_utf8" c:identifier="g_utf16_to_utf8">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="gunichar2" c:type="gunichar2*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="long" c:type="glong"/>
+        </parameter>
+        <parameter name="items_read">
+          <type name="glong" c:type="glong*"/>
+        </parameter>
+        <parameter name="items_written">
+          <type name="glong" c:type="glong*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ucs4_to_utf16" c:identifier="g_ucs4_to_utf16">
+      <return-value>
+        <type name="gunichar2*" c:type="gunichar2*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="gunichar" c:type="gunichar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="long" c:type="glong"/>
+        </parameter>
+        <parameter name="items_read">
+          <type name="glong" c:type="glong*"/>
+        </parameter>
+        <parameter name="items_written">
+          <type name="glong" c:type="glong*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ucs4_to_utf8" c:identifier="g_ucs4_to_utf8">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="gunichar" c:type="gunichar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="long" c:type="glong"/>
+        </parameter>
+        <parameter name="items_read">
+          <type name="glong" c:type="glong*"/>
+        </parameter>
+        <parameter name="items_written">
+          <type name="glong" c:type="glong*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_to_utf8" c:identifier="g_unichar_to_utf8">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+        <parameter name="outbuf">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_validate" c:identifier="g_utf8_validate">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="max_len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="end">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_validate" c:identifier="g_unichar_validate">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="ch">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_strup" c:identifier="g_utf8_strup">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_strdown" c:identifier="g_utf8_strdown">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_casefold" c:identifier="g_utf8_casefold">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gnormalizemode" c:type="GNormalizeMode">
+      <member name="default" value="0" c:identifier="G_NORMALIZE_DEFAULT"/>
+      <member name="nfd" value="0" c:identifier="G_NORMALIZE_NFD"/>
+      <member name="default_compose"
+              value="1"
+              c:identifier="G_NORMALIZE_DEFAULT_COMPOSE"/>
+      <member name="nfc" value="1" c:identifier="G_NORMALIZE_NFC"/>
+      <member name="all" value="2" c:identifier="G_NORMALIZE_ALL"/>
+      <member name="nfkd" value="2" c:identifier="G_NORMALIZE_NFKD"/>
+      <member name="all_compose"
+              value="3"
+              c:identifier="G_NORMALIZE_ALL_COMPOSE"/>
+      <member name="nfkc" value="3" c:identifier="G_NORMALIZE_NFKC"/>
+    </enumeration>
+    <function name="utf8_normalize" c:identifier="g_utf8_normalize">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="mode">
+          <type name="GNormalizeMode" c:type="GNormalizeMode"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_collate" c:identifier="g_utf8_collate">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="str1">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="str2">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_collate_key" c:identifier="g_utf8_collate_key">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_collate_key_for_filename"
+              c:identifier="g_utf8_collate_key_for_filename">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_get_mirror_char"
+              c:identifier="g_unichar_get_mirror_char">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="ch">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+        <parameter name="mirrored_ch">
+          <type name="gunichar" c:type="gunichar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unichar_get_script" c:identifier="g_unichar_get_script">
+      <return-value>
+        <type name="GUnicodeScript" c:type="GUnicodeScript"/>
+      </return-value>
+      <parameters>
+        <parameter name="ch">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="g_utf8_make_valid" c:identifier="_g_utf8_make_valid">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="String" c:type="GString"/>
+    <record name="StringChunk" c:type="GStringChunk"/>
+    <record name="GString" c:type="_GString">
+      <field name="str">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="len">
+        <type name="size" c:type="gsize"/>
+      </field>
+      <field name="allocated_len">
+        <type name="size" c:type="gsize"/>
+      </field>
+    </record>
+    <function name="string_chunk_new" c:identifier="g_string_chunk_new">
+      <return-value>
+        <type name="GStringChunk*" c:type="GStringChunk*"/>
+      </return-value>
+      <parameters>
+        <parameter name="size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_chunk_free" c:identifier="g_string_chunk_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="chunk">
+          <type name="GStringChunk" c:type="GStringChunk*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_chunk_clear" c:identifier="g_string_chunk_clear">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="chunk">
+          <type name="GStringChunk" c:type="GStringChunk*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_chunk_insert" c:identifier="g_string_chunk_insert">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="chunk">
+          <type name="GStringChunk" c:type="GStringChunk*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_chunk_insert_len"
+              c:identifier="g_string_chunk_insert_len">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="chunk">
+          <type name="GStringChunk" c:type="GStringChunk*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_chunk_insert_const"
+              c:identifier="g_string_chunk_insert_const">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="chunk">
+          <type name="GStringChunk" c:type="GStringChunk*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_new" c:identifier="g_string_new">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="init">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_new_len" c:identifier="g_string_new_len">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="init">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_sized_new" c:identifier="g_string_sized_new">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="dfl_size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_free" c:identifier="g_string_free">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="free_segment">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_equal" c:identifier="g_string_equal">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="v">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="v2">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_hash" c:identifier="g_string_hash">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_assign" c:identifier="g_string_assign">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="rval">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_truncate" c:identifier="g_string_truncate">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_set_size" c:identifier="g_string_set_size">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_insert_len" c:identifier="g_string_insert_len">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="pos">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="val">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_append" c:identifier="g_string_append">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="val">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_append_len" c:identifier="g_string_append_len">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="val">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_append_c" c:identifier="g_string_append_c">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="c">
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_append_unichar"
+              c:identifier="g_string_append_unichar">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="wc">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_prepend" c:identifier="g_string_prepend">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="val">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_prepend_c" c:identifier="g_string_prepend_c">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="c">
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_prepend_unichar"
+              c:identifier="g_string_prepend_unichar">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="wc">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_prepend_len" c:identifier="g_string_prepend_len">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="val">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_insert" c:identifier="g_string_insert">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="pos">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="val">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_insert_c" c:identifier="g_string_insert_c">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="pos">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="c">
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_insert_unichar"
+              c:identifier="g_string_insert_unichar">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="pos">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="wc">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_overwrite" c:identifier="g_string_overwrite">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="pos">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="val">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_overwrite_len"
+              c:identifier="g_string_overwrite_len">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="pos">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="val">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_erase" c:identifier="g_string_erase">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="pos">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_ascii_down" c:identifier="g_string_ascii_down">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_ascii_up" c:identifier="g_string_ascii_up">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_vprintf" c:identifier="g_string_vprintf">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_printf" c:identifier="g_string_printf">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_append_vprintf"
+              c:identifier="g_string_append_vprintf">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_append_printf"
+              c:identifier="g_string_append_printf">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_append_uri_escaped"
+              c:identifier="g_string_append_uri_escaped">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="unescaped">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="reserved_chars_allowed">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="allow_utf8">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_down" c:identifier="g_string_down">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="string_up" c:identifier="g_string_up">
+      <return-value>
+        <type name="GString*" c:type="GString*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="IOChannel" c:type="GIOChannel"/>
+    <record name="IOFuncs" c:type="GIOFuncs"/>
+    <enumeration name="gioerror" c:type="GIOError">
+      <member name="r_none" value="0" c:identifier="G_IO_ERROR_NONE"/>
+      <member name="r_again" value="1" c:identifier="G_IO_ERROR_AGAIN"/>
+      <member name="r_inval" value="2" c:identifier="G_IO_ERROR_INVAL"/>
+      <member name="r_unknown" value="3" c:identifier="G_IO_ERROR_UNKNOWN"/>
+    </enumeration>
+    <enumeration name="giochannelerror" c:type="GIOChannelError">
+      <member name="r_fbig" value="0" c:identifier="G_IO_CHANNEL_ERROR_FBIG"/>
+      <member name="r_inval"
+              value="1"
+              c:identifier="G_IO_CHANNEL_ERROR_INVAL"/>
+      <member name="r_io" value="2" c:identifier="G_IO_CHANNEL_ERROR_IO"/>
+      <member name="r_isdir"
+              value="3"
+              c:identifier="G_IO_CHANNEL_ERROR_ISDIR"/>
+      <member name="r_nospc"
+              value="4"
+              c:identifier="G_IO_CHANNEL_ERROR_NOSPC"/>
+      <member name="r_nxio" value="5" c:identifier="G_IO_CHANNEL_ERROR_NXIO"/>
+      <member name="r_overflow"
+              value="6"
+              c:identifier="G_IO_CHANNEL_ERROR_OVERFLOW"/>
+      <member name="r_pipe" value="7" c:identifier="G_IO_CHANNEL_ERROR_PIPE"/>
+      <member name="r_failed"
+              value="8"
+              c:identifier="G_IO_CHANNEL_ERROR_FAILED"/>
+    </enumeration>
+    <enumeration name="giostatus" c:type="GIOStatus">
+      <member name="s_error" value="0" c:identifier="G_IO_STATUS_ERROR"/>
+      <member name="s_normal" value="1" c:identifier="G_IO_STATUS_NORMAL"/>
+      <member name="s_eof" value="2" c:identifier="G_IO_STATUS_EOF"/>
+      <member name="s_again" value="3" c:identifier="G_IO_STATUS_AGAIN"/>
+    </enumeration>
+    <enumeration name="gseektype" c:type="GSeekType">
+      <member name="cur" value="0" c:identifier="G_SEEK_CUR"/>
+      <member name="set" value="1" c:identifier="G_SEEK_SET"/>
+      <member name="end" value="2" c:identifier="G_SEEK_END"/>
+    </enumeration>
+    <enumeration name="giocondition" c:type="GIOCondition">
+      <member name="in" value="1" c:identifier="G_IO_IN"/>
+      <member name="out" value="4" c:identifier="G_IO_OUT"/>
+      <member name="pri" value="2" c:identifier="G_IO_PRI"/>
+      <member name="err" value="8" c:identifier="G_IO_ERR"/>
+      <member name="hup" value="16" c:identifier="G_IO_HUP"/>
+      <member name="nval" value="32" c:identifier="G_IO_NVAL"/>
+    </enumeration>
+    <enumeration name="gioflags" c:type="GIOFlags">
+      <member name="_append" value="1" c:identifier="G_IO_FLAG_APPEND"/>
+      <member name="_nonblock" value="2" c:identifier="G_IO_FLAG_NONBLOCK"/>
+      <member name="_is_readable"
+              value="4"
+              c:identifier="G_IO_FLAG_IS_READABLE"/>
+      <member name="_is_writeable"
+              value="8"
+              c:identifier="G_IO_FLAG_IS_WRITEABLE"/>
+      <member name="_is_seekable"
+              value="16"
+              c:identifier="G_IO_FLAG_IS_SEEKABLE"/>
+      <member name="_mask" value="31" c:identifier="G_IO_FLAG_MASK"/>
+      <member name="_get_mask" value="31" c:identifier="G_IO_FLAG_GET_MASK"/>
+      <member name="_set_mask" value="3" c:identifier="G_IO_FLAG_SET_MASK"/>
+    </enumeration>
+    <record name="GIOChannel" c:type="_GIOChannel">
+      <field name="ref_count">
+        <type name="int32" c:type="gint"/>
+      </field>
+      <field name="funcs">
+        <type name="GIOFuncs*" c:type="GIOFuncs*"/>
+      </field>
+      <field name="encoding">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="read_cd">
+        <type name="GIConv" c:type="GIConv"/>
+      </field>
+      <field name="write_cd">
+        <type name="GIConv" c:type="GIConv"/>
+      </field>
+      <field name="line_term">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="line_term_len">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="buf_size">
+        <type name="size" c:type="gsize"/>
+      </field>
+      <field name="read_buf">
+        <type name="GString*" c:type="GString*"/>
+      </field>
+      <field name="encoded_read_buf">
+        <type name="GString*" c:type="GString*"/>
+      </field>
+      <field name="write_buf">
+        <type name="GString*" c:type="GString*"/>
+      </field>
+      <field name="partial_write_buf">
+        <type name="gchar" c:type="gchar"/>
+      </field>
+      <field name="use_buffer">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="do_encode">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="close_on_unref">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="is_readable">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="is_writeable">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="is_seekable">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="reserved1">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="reserved2">
+        <type name="any" c:type="gpointer"/>
+      </field>
+    </record>
+    <callback name="GIOFunc">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GIOChannel*" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="condition">
+          <type name="GIOCondition" c:type="GIOCondition"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <record name="GIOFuncs" c:type="_GIOFuncs">
+      <callback name="io_read">
+        <return-value>
+          <type name="GIOStatus" c:type="GIOStatus"/>
+        </return-value>
+        <parameters>
+          <parameter name="channel">
+            <type name="GIOChannel*" c:type="GIOChannel*"/>
+          </parameter>
+          <parameter name="buf">
+            <type name="string" c:type="gchar*"/>
+          </parameter>
+          <parameter name="count">
+            <type name="size" c:type="gsize"/>
+          </parameter>
+          <parameter name="bytes_read">
+            <type name="gsize*" c:type="gsize*"/>
+          </parameter>
+          <parameter name="err">
+            <type name="GError**" c:type="GError**"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="io_write">
+        <return-value>
+          <type name="GIOStatus" c:type="GIOStatus"/>
+        </return-value>
+        <parameters>
+          <parameter name="channel">
+            <type name="GIOChannel*" c:type="GIOChannel*"/>
+          </parameter>
+          <parameter name="buf">
+            <type name="string" c:type="gchar*"/>
+          </parameter>
+          <parameter name="count">
+            <type name="size" c:type="gsize"/>
+          </parameter>
+          <parameter name="bytes_written">
+            <type name="gsize*" c:type="gsize*"/>
+          </parameter>
+          <parameter name="err">
+            <type name="GError**" c:type="GError**"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="io_seek">
+        <return-value>
+          <type name="GIOStatus" c:type="GIOStatus"/>
+        </return-value>
+        <parameters>
+          <parameter name="channel">
+            <type name="GIOChannel*" c:type="GIOChannel*"/>
+          </parameter>
+          <parameter name="offset">
+            <type name="gint64" c:type="gint64"/>
+          </parameter>
+          <parameter name="type">
+            <type name="GSeekType" c:type="GSeekType"/>
+          </parameter>
+          <parameter name="err">
+            <type name="GError**" c:type="GError**"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="io_close">
+        <return-value>
+          <type name="GIOStatus" c:type="GIOStatus"/>
+        </return-value>
+        <parameters>
+          <parameter name="channel">
+            <type name="GIOChannel*" c:type="GIOChannel*"/>
+          </parameter>
+          <parameter name="err">
+            <type name="GError**" c:type="GError**"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="io_create_watch">
+        <return-value>
+          <type name="GSource*" c:type="GSource*"/>
+        </return-value>
+        <parameters>
+          <parameter name="channel">
+            <type name="GIOChannel*" c:type="GIOChannel*"/>
+          </parameter>
+          <parameter name="condition">
+            <type name="GIOCondition" c:type="GIOCondition"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="io_free">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="channel">
+            <type name="GIOChannel*" c:type="GIOChannel*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="io_set_flags">
+        <return-value>
+          <type name="GIOStatus" c:type="GIOStatus"/>
+        </return-value>
+        <parameters>
+          <parameter name="channel">
+            <type name="GIOChannel*" c:type="GIOChannel*"/>
+          </parameter>
+          <parameter name="flags">
+            <type name="GIOFlags" c:type="GIOFlags"/>
+          </parameter>
+          <parameter name="err">
+            <type name="GError**" c:type="GError**"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="io_get_flags">
+        <return-value>
+          <type name="GIOFlags" c:type="GIOFlags"/>
+        </return-value>
+        <parameters>
+          <parameter name="channel">
+            <type name="GIOChannel*" c:type="GIOChannel*"/>
+          </parameter>
+        </parameters>
+      </callback>
+    </record>
+    <function name="io_channel_init" c:identifier="g_io_channel_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_ref" c:identifier="g_io_channel_ref">
+      <return-value>
+        <type name="GIOChannel*" c:type="GIOChannel*"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_unref" c:identifier="g_io_channel_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_read" c:identifier="g_io_channel_read">
+      <return-value>
+        <type name="GIOError" c:type="GIOError"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="buf">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="count">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="bytes_read">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_write" c:identifier="g_io_channel_write">
+      <return-value>
+        <type name="GIOError" c:type="GIOError"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="buf">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="count">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="bytes_written">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_seek" c:identifier="g_io_channel_seek">
+      <return-value>
+        <type name="GIOError" c:type="GIOError"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="offset">
+          <type name="gint64" c:type="gint64"/>
+        </parameter>
+        <parameter name="type">
+          <type name="GSeekType" c:type="GSeekType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_close" c:identifier="g_io_channel_close">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_shutdown" c:identifier="g_io_channel_shutdown">
+      <return-value>
+        <type name="GIOStatus" c:type="GIOStatus"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="flush">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="err">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_add_watch_full" c:identifier="g_io_add_watch_full">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="priority">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="condition">
+          <type name="GIOCondition" c:type="GIOCondition"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GIOFunc" c:type="GIOFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="notify">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_create_watch" c:identifier="g_io_create_watch">
+      <return-value>
+        <type name="GSource*" c:type="GSource*"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="condition">
+          <type name="GIOCondition" c:type="GIOCondition"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_add_watch" c:identifier="g_io_add_watch">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="condition">
+          <type name="GIOCondition" c:type="GIOCondition"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GIOFunc" c:type="GIOFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_set_buffer_size"
+              c:identifier="g_io_channel_set_buffer_size">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_get_buffer_size"
+              c:identifier="g_io_channel_get_buffer_size">
+      <return-value>
+        <type name="size" c:type="gsize"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_get_buffer_condition"
+              c:identifier="g_io_channel_get_buffer_condition">
+      <return-value>
+        <type name="GIOCondition" c:type="GIOCondition"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_set_flags"
+              c:identifier="g_io_channel_set_flags">
+      <return-value>
+        <type name="GIOStatus" c:type="GIOStatus"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GIOFlags" c:type="GIOFlags"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_get_flags"
+              c:identifier="g_io_channel_get_flags">
+      <return-value>
+        <type name="GIOFlags" c:type="GIOFlags"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_set_line_term"
+              c:identifier="g_io_channel_set_line_term">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="line_term">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_get_line_term"
+              c:identifier="g_io_channel_get_line_term">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_set_buffered"
+              c:identifier="g_io_channel_set_buffered">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="buffered">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_get_buffered"
+              c:identifier="g_io_channel_get_buffered">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_set_encoding"
+              c:identifier="g_io_channel_set_encoding">
+      <return-value>
+        <type name="GIOStatus" c:type="GIOStatus"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="encoding">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_get_encoding"
+              c:identifier="g_io_channel_get_encoding">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_set_close_on_unref"
+              c:identifier="g_io_channel_set_close_on_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="do_close">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_get_close_on_unref"
+              c:identifier="g_io_channel_get_close_on_unref">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_flush" c:identifier="g_io_channel_flush">
+      <return-value>
+        <type name="GIOStatus" c:type="GIOStatus"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_read_line"
+              c:identifier="g_io_channel_read_line">
+      <return-value>
+        <type name="GIOStatus" c:type="GIOStatus"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="str_return">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="terminator_pos">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_read_line_string"
+              c:identifier="g_io_channel_read_line_string">
+      <return-value>
+        <type name="GIOStatus" c:type="GIOStatus"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="buffer">
+          <type name="GString" c:type="GString*"/>
+        </parameter>
+        <parameter name="terminator_pos">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_read_to_end"
+              c:identifier="g_io_channel_read_to_end">
+      <return-value>
+        <type name="GIOStatus" c:type="GIOStatus"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="str_return">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_read_chars"
+              c:identifier="g_io_channel_read_chars">
+      <return-value>
+        <type name="GIOStatus" c:type="GIOStatus"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="buf">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="count">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="bytes_read">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_read_unichar"
+              c:identifier="g_io_channel_read_unichar">
+      <return-value>
+        <type name="GIOStatus" c:type="GIOStatus"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="thechar">
+          <type name="gunichar" c:type="gunichar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_write_chars"
+              c:identifier="g_io_channel_write_chars">
+      <return-value>
+        <type name="GIOStatus" c:type="GIOStatus"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="buf">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="count">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="bytes_written">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_write_unichar"
+              c:identifier="g_io_channel_write_unichar">
+      <return-value>
+        <type name="GIOStatus" c:type="GIOStatus"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="thechar">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_seek_position"
+              c:identifier="g_io_channel_seek_position">
+      <return-value>
+        <type name="GIOStatus" c:type="GIOStatus"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+        <parameter name="offset">
+          <type name="gint64" c:type="gint64"/>
+        </parameter>
+        <parameter name="type">
+          <type name="GSeekType" c:type="GSeekType"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_new_file" c:identifier="g_io_channel_new_file">
+      <return-value>
+        <type name="GIOChannel*" c:type="GIOChannel*"/>
+      </return-value>
+      <parameters>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="mode">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_error_quark"
+              c:identifier="g_io_channel_error_quark">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+    </function>
+    <function name="io_channel_error_from_errno"
+              c:identifier="g_io_channel_error_from_errno">
+      <return-value>
+        <type name="GIOChannelError" c:type="GIOChannelError"/>
+      </return-value>
+      <parameters>
+        <parameter name="en">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_unix_new" c:identifier="g_io_channel_unix_new">
+      <return-value>
+        <type name="GIOChannel*" c:type="GIOChannel*"/>
+      </return-value>
+      <parameters>
+        <parameter name="fd">
+          <type name="int32" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_unix_get_fd"
+              c:identifier="g_io_channel_unix_get_fd">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="channel">
+          <type name="GIOChannel" c:type="GIOChannel*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gkeyfileerror" c:type="GKeyFileError">
+      <member name="r_unknown_encoding"
+              value="0"
+              c:identifier="G_KEY_FILE_ERROR_UNKNOWN_ENCODING"/>
+      <member name="r_parse" value="1" c:identifier="G_KEY_FILE_ERROR_PARSE"/>
+      <member name="r_not_found"
+              value="2"
+              c:identifier="G_KEY_FILE_ERROR_NOT_FOUND"/>
+      <member name="r_key_not_found"
+              value="3"
+              c:identifier="G_KEY_FILE_ERROR_KEY_NOT_FOUND"/>
+      <member name="r_group_not_found"
+              value="4"
+              c:identifier="G_KEY_FILE_ERROR_GROUP_NOT_FOUND"/>
+      <member name="r_invalid_value"
+              value="5"
+              c:identifier="G_KEY_FILE_ERROR_INVALID_VALUE"/>
+    </enumeration>
+    <function name="key_file_error_quark"
+              c:identifier="g_key_file_error_quark">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+    </function>
+    <record name="KeyFile" c:type="GKeyFile"/>
+    <enumeration name="gkeyfileflags" c:type="GKeyFileFlags">
+      <member name="none" value="0" c:identifier="G_KEY_FILE_NONE"/>
+      <member name="keep_comments"
+              value="1"
+              c:identifier="G_KEY_FILE_KEEP_COMMENTS"/>
+      <member name="keep_translations"
+              value="2"
+              c:identifier="G_KEY_FILE_KEEP_TRANSLATIONS"/>
+    </enumeration>
+    <function name="key_file_new" c:identifier="g_key_file_new">
+      <return-value>
+        <type name="GKeyFile*" c:type="GKeyFile*"/>
+      </return-value>
+    </function>
+    <function name="key_file_free" c:identifier="g_key_file_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_set_list_separator"
+              c:identifier="g_key_file_set_list_separator">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="separator">
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_load_from_file"
+              c:identifier="g_key_file_load_from_file">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="file">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GKeyFileFlags" c:type="GKeyFileFlags"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_load_from_data"
+              c:identifier="g_key_file_load_from_data">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GKeyFileFlags" c:type="GKeyFileFlags"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_load_from_dirs"
+              c:identifier="g_key_file_load_from_dirs">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="file">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="search_dirs">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="full_path">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GKeyFileFlags" c:type="GKeyFileFlags"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_load_from_data_dirs"
+              c:identifier="g_key_file_load_from_data_dirs">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="file">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="full_path">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GKeyFileFlags" c:type="GKeyFileFlags"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_to_data" c:identifier="g_key_file_to_data">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_start_group"
+              c:identifier="g_key_file_get_start_group">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_groups" c:identifier="g_key_file_get_groups">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_keys" c:identifier="g_key_file_get_keys">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_has_group" c:identifier="g_key_file_has_group">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_has_key" c:identifier="g_key_file_has_key">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_value" c:identifier="g_key_file_get_value">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_set_value" c:identifier="g_key_file_set_value">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_string" c:identifier="g_key_file_get_string">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_set_string" c:identifier="g_key_file_set_string">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_locale_string"
+              c:identifier="g_key_file_get_locale_string">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="locale">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_set_locale_string"
+              c:identifier="g_key_file_set_locale_string">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="locale">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_boolean"
+              c:identifier="g_key_file_get_boolean">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_set_boolean"
+              c:identifier="g_key_file_set_boolean">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_integer"
+              c:identifier="g_key_file_get_integer">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_set_integer"
+              c:identifier="g_key_file_set_integer">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_double" c:identifier="g_key_file_get_double">
+      <return-value>
+        <type name="double" c:type="gdouble"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_set_double" c:identifier="g_key_file_set_double">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="double" c:type="gdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_string_list"
+              c:identifier="g_key_file_get_string_list">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_set_string_list"
+              c:identifier="g_key_file_set_string_list">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="list">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_locale_string_list"
+              c:identifier="g_key_file_get_locale_string_list">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="locale">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_set_locale_string_list"
+              c:identifier="g_key_file_set_locale_string_list">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="locale">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="list">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_boolean_list"
+              c:identifier="g_key_file_get_boolean_list">
+      <return-value>
+        <type name="gboolean*" c:type="gboolean*"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_set_boolean_list"
+              c:identifier="g_key_file_set_boolean_list">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="list">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="length">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_integer_list"
+              c:identifier="g_key_file_get_integer_list">
+      <return-value>
+        <type name="gint*" c:type="gint*"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_set_double_list"
+              c:identifier="g_key_file_set_double_list">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="list">
+          <type name="double" c:type="gdouble"/>
+        </parameter>
+        <parameter name="length">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_double_list"
+              c:identifier="g_key_file_get_double_list">
+      <return-value>
+        <type name="gdouble*" c:type="gdouble*"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="gsize" c:type="gsize*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_set_integer_list"
+              c:identifier="g_key_file_set_integer_list">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="list">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="length">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_set_comment"
+              c:identifier="g_key_file_set_comment">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="comment">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_get_comment"
+              c:identifier="g_key_file_get_comment">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_remove_comment"
+              c:identifier="g_key_file_remove_comment">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_remove_key" c:identifier="g_key_file_remove_key">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="key_file_remove_group"
+              c:identifier="g_key_file_remove_group">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_file">
+          <type name="GKeyFile" c:type="GKeyFile*"/>
+        </parameter>
+        <parameter name="group_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="MappedFile" c:type="GMappedFile"/>
+    <function name="mapped_file_new" c:identifier="g_mapped_file_new">
+      <return-value>
+        <type name="GMappedFile*" c:type="GMappedFile*"/>
+      </return-value>
+      <parameters>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="writable">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mapped_file_get_length"
+              c:identifier="g_mapped_file_get_length">
+      <return-value>
+        <type name="size" c:type="gsize"/>
+      </return-value>
+      <parameters>
+        <parameter name="file">
+          <type name="GMappedFile" c:type="GMappedFile*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mapped_file_get_contents"
+              c:identifier="g_mapped_file_get_contents">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="file">
+          <type name="GMappedFile" c:type="GMappedFile*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="mapped_file_free" c:identifier="g_mapped_file_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="file">
+          <type name="GMappedFile" c:type="GMappedFile*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gmarkuperror" c:type="GMarkupError">
+      <member name="r_bad_utf8"
+              value="0"
+              c:identifier="G_MARKUP_ERROR_BAD_UTF8"/>
+      <member name="r_empty" value="1" c:identifier="G_MARKUP_ERROR_EMPTY"/>
+      <member name="r_parse" value="2" c:identifier="G_MARKUP_ERROR_PARSE"/>
+      <member name="r_unknown_element"
+              value="3"
+              c:identifier="G_MARKUP_ERROR_UNKNOWN_ELEMENT"/>
+      <member name="r_unknown_attribute"
+              value="4"
+              c:identifier="G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE"/>
+      <member name="r_invalid_content"
+              value="5"
+              c:identifier="G_MARKUP_ERROR_INVALID_CONTENT"/>
+      <member name="r_missing_attribute"
+              value="6"
+              c:identifier="G_MARKUP_ERROR_MISSING_ATTRIBUTE"/>
+    </enumeration>
+    <function name="markup_error_quark" c:identifier="g_markup_error_quark">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+    </function>
+    <enumeration name="gmarkupparseflags" c:type="GMarkupParseFlags">
+      <member name="do_not_use_this_unsupported_flag"
+              value="1"
+              c:identifier="G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG"/>
+      <member name="treat_cdata_as_text"
+              value="2"
+              c:identifier="G_MARKUP_TREAT_CDATA_AS_TEXT"/>
+      <member name="refix_error_position"
+              value="4"
+              c:identifier="G_MARKUP_PREFIX_ERROR_POSITION"/>
+    </enumeration>
+    <record name="MarkupParseContext" c:type="GMarkupParseContext"/>
+    <record name="MarkupParser" c:type="GMarkupParser"/>
+    <record name="GMarkupParser" c:type="_GMarkupParser">
+      <callback name="start_element">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="context">
+            <type name="GMarkupParseContext*" c:type="GMarkupParseContext*"/>
+          </parameter>
+          <parameter name="element_name">
+            <type name="string" c:type="gchar*"/>
+          </parameter>
+          <parameter name="attribute_names">
+            <type name="gchar**" c:type="gchar**"/>
+          </parameter>
+          <parameter name="attribute_values">
+            <type name="gchar**" c:type="gchar**"/>
+          </parameter>
+          <parameter name="user_data">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+          <parameter name="error">
+            <type name="GError**" c:type="GError**"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="end_element">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="context">
+            <type name="GMarkupParseContext*" c:type="GMarkupParseContext*"/>
+          </parameter>
+          <parameter name="element_name">
+            <type name="string" c:type="gchar*"/>
+          </parameter>
+          <parameter name="user_data">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+          <parameter name="error">
+            <type name="GError**" c:type="GError**"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="text">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="context">
+            <type name="GMarkupParseContext*" c:type="GMarkupParseContext*"/>
+          </parameter>
+          <parameter name="text">
+            <type name="string" c:type="gchar*"/>
+          </parameter>
+          <parameter name="text_len">
+            <type name="size" c:type="gsize"/>
+          </parameter>
+          <parameter name="user_data">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+          <parameter name="error">
+            <type name="GError**" c:type="GError**"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="passthrough">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="context">
+            <type name="GMarkupParseContext*" c:type="GMarkupParseContext*"/>
+          </parameter>
+          <parameter name="passthrough_text">
+            <type name="string" c:type="gchar*"/>
+          </parameter>
+          <parameter name="text_len">
+            <type name="size" c:type="gsize"/>
+          </parameter>
+          <parameter name="user_data">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+          <parameter name="error">
+            <type name="GError**" c:type="GError**"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="error">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="context">
+            <type name="GMarkupParseContext*" c:type="GMarkupParseContext*"/>
+          </parameter>
+          <parameter name="error">
+            <type name="GError*" c:type="GError*"/>
+          </parameter>
+          <parameter name="user_data">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+        </parameters>
+      </callback>
+    </record>
+    <function name="markup_parse_context_new"
+              c:identifier="g_markup_parse_context_new">
+      <return-value>
+        <type name="GMarkupParseContext*" c:type="GMarkupParseContext*"/>
+      </return-value>
+      <parameters>
+        <parameter name="parser">
+          <type name="GMarkupParser" c:type="GMarkupParser*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GMarkupParseFlags" c:type="GMarkupParseFlags"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="user_data_dnotify">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="markup_parse_context_free"
+              c:identifier="g_markup_parse_context_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMarkupParseContext" c:type="GMarkupParseContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="markup_parse_context_parse"
+              c:identifier="g_markup_parse_context_parse">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMarkupParseContext" c:type="GMarkupParseContext*"/>
+        </parameter>
+        <parameter name="text">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="text_len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="markup_parse_context_push"
+              c:identifier="g_markup_parse_context_push">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMarkupParseContext" c:type="GMarkupParseContext*"/>
+        </parameter>
+        <parameter name="parser">
+          <type name="GMarkupParser" c:type="GMarkupParser*"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="markup_parse_context_pop"
+              c:identifier="g_markup_parse_context_pop">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMarkupParseContext" c:type="GMarkupParseContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="markup_parse_context_end_parse"
+              c:identifier="g_markup_parse_context_end_parse">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMarkupParseContext" c:type="GMarkupParseContext*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="markup_parse_context_get_element"
+              c:identifier="g_markup_parse_context_get_element">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMarkupParseContext" c:type="GMarkupParseContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="markup_parse_context_get_element_stack"
+              c:identifier="g_markup_parse_context_get_element_stack">
+      <return-value>
+        <type name="GSList*" c:type="GSList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMarkupParseContext" c:type="GMarkupParseContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="markup_parse_context_get_position"
+              c:identifier="g_markup_parse_context_get_position">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GMarkupParseContext" c:type="GMarkupParseContext*"/>
+        </parameter>
+        <parameter name="line_number">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="char_number">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="markup_escape_text" c:identifier="g_markup_escape_text">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="text">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="markup_printf_escaped"
+              c:identifier="g_markup_printf_escaped">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="format">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="markup_vprintf_escaped"
+              c:identifier="g_markup_vprintf_escaped">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="format">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gmarkupcollecttype" c:type="GMarkupCollectType">
+      <member name="invalid"
+              value="0"
+              c:identifier="G_MARKUP_COLLECT_INVALID"/>
+      <member name="string" value="1" c:identifier="G_MARKUP_COLLECT_STRING"/>
+      <member name="strdup" value="2" c:identifier="G_MARKUP_COLLECT_STRDUP"/>
+      <member name="boolean"
+              value="3"
+              c:identifier="G_MARKUP_COLLECT_BOOLEAN"/>
+      <member name="ristate"
+              value="4"
+              c:identifier="G_MARKUP_COLLECT_TRISTATE"/>
+      <member name="optional"
+              value="65536"
+              c:identifier="G_MARKUP_COLLECT_OPTIONAL"/>
+    </enumeration>
+    <function name="markup_collect_attributes"
+              c:identifier="g_markup_collect_attributes">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="element_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="attribute_names">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="attribute_values">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+        <parameter name="first_type">
+          <type name="GMarkupCollectType" c:type="GMarkupCollectType"/>
+        </parameter>
+        <parameter name="first_attr">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="printf_string_upper_bound"
+              c:identifier="g_printf_string_upper_bound">
+      <return-value>
+        <type name="size" c:type="gsize"/>
+      </return-value>
+      <parameters>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gloglevelflags" c:type="GLogLevelFlags">
+      <member name="flag_recursion"
+              value="1"
+              c:identifier="G_LOG_FLAG_RECURSION"/>
+      <member name="flag_fatal" value="2" c:identifier="G_LOG_FLAG_FATAL"/>
+      <member name="error" value="4" c:identifier="G_LOG_LEVEL_ERROR"/>
+      <member name="critical" value="8" c:identifier="G_LOG_LEVEL_CRITICAL"/>
+      <member name="warning" value="16" c:identifier="G_LOG_LEVEL_WARNING"/>
+      <member name="message" value="32" c:identifier="G_LOG_LEVEL_MESSAGE"/>
+      <member name="info" value="64" c:identifier="G_LOG_LEVEL_INFO"/>
+      <member name="debug" value="128" c:identifier="G_LOG_LEVEL_DEBUG"/>
+      <member name="mask" value="-4" c:identifier="G_LOG_LEVEL_MASK"/>
+    </enumeration>
+    <callback name="GLogFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="log_domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="log_level">
+          <type name="GLogLevelFlags" c:type="GLogLevelFlags"/>
+        </parameter>
+        <parameter name="message">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="log_set_handler" c:identifier="g_log_set_handler">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="log_domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="log_levels">
+          <type name="GLogLevelFlags" c:type="GLogLevelFlags"/>
+        </parameter>
+        <parameter name="log_func">
+          <type name="GLogFunc" c:type="GLogFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="log_remove_handler" c:identifier="g_log_remove_handler">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="log_domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="handler_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="log_default_handler" c:identifier="g_log_default_handler">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="log_domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="log_level">
+          <type name="GLogLevelFlags" c:type="GLogLevelFlags"/>
+        </parameter>
+        <parameter name="message">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="unused_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="log_set_default_handler"
+              c:identifier="g_log_set_default_handler">
+      <return-value>
+        <type name="GLogFunc" c:type="GLogFunc"/>
+      </return-value>
+      <parameters>
+        <parameter name="log_func">
+          <type name="GLogFunc" c:type="GLogFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="log" c:identifier="g_log">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="log_domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="log_level">
+          <type name="GLogLevelFlags" c:type="GLogLevelFlags"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="logv" c:identifier="g_logv">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="log_domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="log_level">
+          <type name="GLogLevelFlags" c:type="GLogLevelFlags"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="log_set_fatal_mask" c:identifier="g_log_set_fatal_mask">
+      <return-value>
+        <type name="GLogLevelFlags" c:type="GLogLevelFlags"/>
+      </return-value>
+      <parameters>
+        <parameter name="log_domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="fatal_mask">
+          <type name="GLogLevelFlags" c:type="GLogLevelFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="log_set_always_fatal"
+              c:identifier="g_log_set_always_fatal">
+      <return-value>
+        <type name="GLogLevelFlags" c:type="GLogLevelFlags"/>
+      </return-value>
+      <parameters>
+        <parameter name="fatal_mask">
+          <type name="GLogLevelFlags" c:type="GLogLevelFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="g_log_fallback_handler"
+              c:identifier="_g_log_fallback_handler">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="log_domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="log_level">
+          <type name="GLogLevelFlags" c:type="GLogLevelFlags"/>
+        </parameter>
+        <parameter name="message">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="unused_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="return_if_fail_warning"
+              c:identifier="g_return_if_fail_warning">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="log_domain">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="pretty_function">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="expression">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="warn_message" c:identifier="g_warn_message">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="domain">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="file">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="line">
+          <type name="int32" c:type="int"/>
+        </parameter>
+        <parameter name="func">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="warnexpr">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="assert_warning" c:identifier="g_assert_warning">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="log_domain">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="file">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="line">
+          <type name="int32" c:type="int"/>
+        </parameter>
+        <parameter name="pretty_function">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="expression">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="GPrintFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="print" c:identifier="g_print">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="set_print_handler" c:identifier="g_set_print_handler">
+      <return-value>
+        <type name="GPrintFunc" c:type="GPrintFunc"/>
+      </return-value>
+      <parameters>
+        <parameter name="func">
+          <type name="GPrintFunc" c:type="GPrintFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="printerr" c:identifier="g_printerr">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="set_printerr_handler"
+              c:identifier="g_set_printerr_handler">
+      <return-value>
+        <type name="GPrintFunc" c:type="GPrintFunc"/>
+      </return-value>
+      <parameters>
+        <parameter name="func">
+          <type name="GPrintFunc" c:type="GPrintFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Node" c:type="GNode"/>
+    <enumeration name="gtraverseflags" c:type="GTraverseFlags">
+      <member name="leaves" value="1" c:identifier="G_TRAVERSE_LEAVES"/>
+      <member name="non_leaves"
+              value="2"
+              c:identifier="G_TRAVERSE_NON_LEAVES"/>
+      <member name="all" value="3" c:identifier="G_TRAVERSE_ALL"/>
+      <member name="mask" value="3" c:identifier="G_TRAVERSE_MASK"/>
+      <member name="leafs" value="1" c:identifier="G_TRAVERSE_LEAFS"/>
+      <member name="non_leafs" value="2" c:identifier="G_TRAVERSE_NON_LEAFS"/>
+    </enumeration>
+    <enumeration name="gtraversetype" c:type="GTraverseType">
+      <member name="in_order" value="0" c:identifier="G_IN_ORDER"/>
+      <member name="pre_order" value="1" c:identifier="G_PRE_ORDER"/>
+      <member name="post_order" value="2" c:identifier="G_POST_ORDER"/>
+      <member name="level_order" value="3" c:identifier="G_LEVEL_ORDER"/>
+    </enumeration>
+    <callback name="GNodeTraverseFunc">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode*" c:type="GNode*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GNodeForeachFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode*" c:type="GNode*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GCopyFunc">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="src">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <record name="GNode" c:type="_GNode">
+      <field name="data">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="next">
+        <type name="GNode*" c:type="GNode*"/>
+      </field>
+      <field name="prev">
+        <type name="GNode*" c:type="GNode*"/>
+      </field>
+      <field name="parent">
+        <type name="GNode*" c:type="GNode*"/>
+      </field>
+      <field name="children">
+        <type name="GNode*" c:type="GNode*"/>
+      </field>
+    </record>
+    <function name="node_new" c:identifier="g_node_new">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_destroy" c:identifier="g_node_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="root">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_unlink" c:identifier="g_node_unlink">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_copy_deep" c:identifier="g_node_copy_deep">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="copy_func">
+          <type name="GCopyFunc" c:type="GCopyFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_copy" c:identifier="g_node_copy">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_insert" c:identifier="g_node_insert">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="parent">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="position">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_insert_before" c:identifier="g_node_insert_before">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="parent">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="sibling">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_insert_after" c:identifier="g_node_insert_after">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="parent">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="sibling">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_prepend" c:identifier="g_node_prepend">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="parent">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_n_nodes" c:identifier="g_node_n_nodes">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="root">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GTraverseFlags" c:type="GTraverseFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_get_root" c:identifier="g_node_get_root">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_is_ancestor" c:identifier="g_node_is_ancestor">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="descendant">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_depth" c:identifier="g_node_depth">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_find" c:identifier="g_node_find">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="root">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="order">
+          <type name="GTraverseType" c:type="GTraverseType"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GTraverseFlags" c:type="GTraverseFlags"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_traverse" c:identifier="g_node_traverse">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="root">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="order">
+          <type name="GTraverseType" c:type="GTraverseType"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GTraverseFlags" c:type="GTraverseFlags"/>
+        </parameter>
+        <parameter name="max_depth">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GNodeTraverseFunc" c:type="GNodeTraverseFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_max_height" c:identifier="g_node_max_height">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="root">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_children_foreach"
+              c:identifier="g_node_children_foreach">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GTraverseFlags" c:type="GTraverseFlags"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GNodeForeachFunc" c:type="GNodeForeachFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_reverse_children"
+              c:identifier="g_node_reverse_children">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_n_children" c:identifier="g_node_n_children">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_nth_child" c:identifier="g_node_nth_child">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_last_child" c:identifier="g_node_last_child">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_find_child" c:identifier="g_node_find_child">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GTraverseFlags" c:type="GTraverseFlags"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_child_position" c:identifier="g_node_child_position">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="child">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_child_index" c:identifier="g_node_child_index">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_first_sibling" c:identifier="g_node_first_sibling">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_last_sibling" c:identifier="g_node_last_sibling">
+      <return-value>
+        <type name="GNode*" c:type="GNode*"/>
+      </return-value>
+      <parameters>
+        <parameter name="node">
+          <type name="GNode" c:type="GNode*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_push_allocator" c:identifier="g_node_push_allocator">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="dummy">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="node_pop_allocator" c:identifier="g_node_pop_allocator">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <record name="OptionContext" c:type="GOptionContext"/>
+    <record name="OptionGroup" c:type="GOptionGroup"/>
+    <record name="OptionEntry" c:type="GOptionEntry"/>
+    <enumeration name="goptionflags" c:type="GOptionFlags">
+      <member name="_hidden" value="1" c:identifier="G_OPTION_FLAG_HIDDEN"/>
+      <member name="_in_main" value="2" c:identifier="G_OPTION_FLAG_IN_MAIN"/>
+      <member name="_reverse" value="4" c:identifier="G_OPTION_FLAG_REVERSE"/>
+      <member name="_no_arg" value="8" c:identifier="G_OPTION_FLAG_NO_ARG"/>
+      <member name="_filename"
+              value="16"
+              c:identifier="G_OPTION_FLAG_FILENAME"/>
+      <member name="_optional_arg"
+              value="32"
+              c:identifier="G_OPTION_FLAG_OPTIONAL_ARG"/>
+      <member name="_noalias" value="64" c:identifier="G_OPTION_FLAG_NOALIAS"/>
+    </enumeration>
+    <enumeration name="goptionarg" c:type="GOptionArg">
+      <member name="g_none" value="0" c:identifier="G_OPTION_ARG_NONE"/>
+      <member name="g_string" value="1" c:identifier="G_OPTION_ARG_STRING"/>
+      <member name="g_int" value="2" c:identifier="G_OPTION_ARG_INT"/>
+      <member name="g_callback"
+              value="3"
+              c:identifier="G_OPTION_ARG_CALLBACK"/>
+      <member name="g_filename"
+              value="4"
+              c:identifier="G_OPTION_ARG_FILENAME"/>
+      <member name="g_string_array"
+              value="5"
+              c:identifier="G_OPTION_ARG_STRING_ARRAY"/>
+      <member name="g_filename_array"
+              value="6"
+              c:identifier="G_OPTION_ARG_FILENAME_ARRAY"/>
+      <member name="g_double" value="7" c:identifier="G_OPTION_ARG_DOUBLE"/>
+      <member name="g_int64" value="8" c:identifier="G_OPTION_ARG_INT64"/>
+    </enumeration>
+    <callback name="GOptionArgFunc">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="option_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError**" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GOptionParseFunc">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext*" c:type="GOptionContext*"/>
+        </parameter>
+        <parameter name="group">
+          <type name="GOptionGroup*" c:type="GOptionGroup*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError**" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GOptionErrorFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext*" c:type="GOptionContext*"/>
+        </parameter>
+        <parameter name="group">
+          <type name="GOptionGroup*" c:type="GOptionGroup*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError**" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <enumeration name="goptionerror" c:type="GOptionError">
+      <member name="r_unknown_option"
+              value="0"
+              c:identifier="G_OPTION_ERROR_UNKNOWN_OPTION"/>
+      <member name="r_bad_value"
+              value="1"
+              c:identifier="G_OPTION_ERROR_BAD_VALUE"/>
+      <member name="r_failed" value="2" c:identifier="G_OPTION_ERROR_FAILED"/>
+    </enumeration>
+    <function name="option_error_quark" c:identifier="g_option_error_quark">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+    </function>
+    <record name="GOptionEntry" c:type="_GOptionEntry">
+      <field name="long_name">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="short_name">
+        <type name="gchar" c:type="gchar"/>
+      </field>
+      <field name="flags">
+        <type name="int32" c:type="gint"/>
+      </field>
+      <field name="arg">
+        <type name="GOptionArg" c:type="GOptionArg"/>
+      </field>
+      <field name="arg_data">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="description">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="arg_description">
+        <type name="string" c:type="gchar*"/>
+      </field>
+    </record>
+    <function name="option_context_new" c:identifier="g_option_context_new">
+      <return-value>
+        <type name="GOptionContext*" c:type="GOptionContext*"/>
+      </return-value>
+      <parameters>
+        <parameter name="parameter_string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_set_summary"
+              c:identifier="g_option_context_set_summary">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+        <parameter name="summary">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_get_summary"
+              c:identifier="g_option_context_get_summary">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_set_description"
+              c:identifier="g_option_context_set_description">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+        <parameter name="description">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_get_description"
+              c:identifier="g_option_context_get_description">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_free" c:identifier="g_option_context_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_set_help_enabled"
+              c:identifier="g_option_context_set_help_enabled">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+        <parameter name="help_enabled">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_get_help_enabled"
+              c:identifier="g_option_context_get_help_enabled">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_set_ignore_unknown_options"
+              c:identifier="g_option_context_set_ignore_unknown_options">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+        <parameter name="ignore_unknown">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_get_ignore_unknown_options"
+              c:identifier="g_option_context_get_ignore_unknown_options">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_add_main_entries"
+              c:identifier="g_option_context_add_main_entries">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+        <parameter name="entries">
+          <type name="GOptionEntry" c:type="GOptionEntry*"/>
+        </parameter>
+        <parameter name="translation_domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_parse"
+              c:identifier="g_option_context_parse">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+        <parameter name="argc">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="argv">
+          <type name="gchar" c:type="gchar***"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_set_translate_func"
+              c:identifier="g_option_context_set_translate_func">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GTranslateFunc" c:type="GTranslateFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="destroy_notify">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_set_translation_domain"
+              c:identifier="g_option_context_set_translation_domain">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+        <parameter name="domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_add_group"
+              c:identifier="g_option_context_add_group">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+        <parameter name="group">
+          <type name="GOptionGroup" c:type="GOptionGroup*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_set_main_group"
+              c:identifier="g_option_context_set_main_group">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+        <parameter name="group">
+          <type name="GOptionGroup" c:type="GOptionGroup*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_get_main_group"
+              c:identifier="g_option_context_get_main_group">
+      <return-value>
+        <type name="GOptionGroup*" c:type="GOptionGroup*"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_context_get_help"
+              c:identifier="g_option_context_get_help">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="context">
+          <type name="GOptionContext" c:type="GOptionContext*"/>
+        </parameter>
+        <parameter name="main_help">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="group">
+          <type name="GOptionGroup" c:type="GOptionGroup*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_group_new" c:identifier="g_option_group_new">
+      <return-value>
+        <type name="GOptionGroup*" c:type="GOptionGroup*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="description">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="help_description">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="destroy">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_group_set_parse_hooks"
+              c:identifier="g_option_group_set_parse_hooks">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="group">
+          <type name="GOptionGroup" c:type="GOptionGroup*"/>
+        </parameter>
+        <parameter name="pre_parse_func">
+          <type name="GOptionParseFunc" c:type="GOptionParseFunc"/>
+        </parameter>
+        <parameter name="post_parse_func">
+          <type name="GOptionParseFunc" c:type="GOptionParseFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_group_set_error_hook"
+              c:identifier="g_option_group_set_error_hook">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="group">
+          <type name="GOptionGroup" c:type="GOptionGroup*"/>
+        </parameter>
+        <parameter name="error_func">
+          <type name="GOptionErrorFunc" c:type="GOptionErrorFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_group_free" c:identifier="g_option_group_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="group">
+          <type name="GOptionGroup" c:type="GOptionGroup*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_group_add_entries"
+              c:identifier="g_option_group_add_entries">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="group">
+          <type name="GOptionGroup" c:type="GOptionGroup*"/>
+        </parameter>
+        <parameter name="entries">
+          <type name="GOptionEntry" c:type="GOptionEntry*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_group_set_translate_func"
+              c:identifier="g_option_group_set_translate_func">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="group">
+          <type name="GOptionGroup" c:type="GOptionGroup*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GTranslateFunc" c:type="GTranslateFunc"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="destroy_notify">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="option_group_set_translation_domain"
+              c:identifier="g_option_group_set_translation_domain">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="group">
+          <type name="GOptionGroup" c:type="GOptionGroup*"/>
+        </parameter>
+        <parameter name="domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="PatternSpec" c:type="GPatternSpec"/>
+    <function name="pattern_spec_new" c:identifier="g_pattern_spec_new">
+      <return-value>
+        <type name="GPatternSpec*" c:type="GPatternSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="pattern">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="pattern_spec_free" c:identifier="g_pattern_spec_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GPatternSpec" c:type="GPatternSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="pattern_spec_equal" c:identifier="g_pattern_spec_equal">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec1">
+          <type name="GPatternSpec" c:type="GPatternSpec*"/>
+        </parameter>
+        <parameter name="pspec2">
+          <type name="GPatternSpec" c:type="GPatternSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="pattern_match" c:identifier="g_pattern_match">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GPatternSpec" c:type="GPatternSpec*"/>
+        </parameter>
+        <parameter name="string_length">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="string_reversed">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="pattern_match_string"
+              c:identifier="g_pattern_match_string">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GPatternSpec" c:type="GPatternSpec*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="pattern_match_simple"
+              c:identifier="g_pattern_match_simple">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="pattern">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="spaced_primes_closest"
+              c:identifier="g_spaced_primes_closest">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="num">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="qsort_with_data" c:identifier="g_qsort_with_data">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pbase">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="total_elems">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Queue" c:type="GQueue"/>
+    <record name="GQueue" c:type="_GQueue">
+      <field name="head">
+        <type name="GList*" c:type="GList*"/>
+      </field>
+      <field name="tail">
+        <type name="GList*" c:type="GList*"/>
+      </field>
+      <field name="length">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <function name="queue_new" c:identifier="g_queue_new">
+      <return-value>
+        <type name="GQueue*" c:type="GQueue*"/>
+      </return-value>
+    </function>
+    <function name="queue_free" c:identifier="g_queue_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_init" c:identifier="g_queue_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_clear" c:identifier="g_queue_clear">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_is_empty" c:identifier="g_queue_is_empty">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_get_length" c:identifier="g_queue_get_length">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_reverse" c:identifier="g_queue_reverse">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_copy" c:identifier="g_queue_copy">
+      <return-value>
+        <type name="GQueue*" c:type="GQueue*"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_foreach" c:identifier="g_queue_foreach">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GFunc" c:type="GFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_find" c:identifier="g_queue_find">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_find_custom" c:identifier="g_queue_find_custom">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GCompareFunc" c:type="GCompareFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_sort" c:identifier="g_queue_sort">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_push_head" c:identifier="g_queue_push_head">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_push_tail" c:identifier="g_queue_push_tail">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_push_nth" c:identifier="g_queue_push_nth">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="n">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_pop_head" c:identifier="g_queue_pop_head">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_pop_tail" c:identifier="g_queue_pop_tail">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_pop_nth" c:identifier="g_queue_pop_nth">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_peek_head" c:identifier="g_queue_peek_head">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_peek_tail" c:identifier="g_queue_peek_tail">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_peek_nth" c:identifier="g_queue_peek_nth">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_index" c:identifier="g_queue_index">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_remove" c:identifier="g_queue_remove">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_remove_all" c:identifier="g_queue_remove_all">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_insert_before" c:identifier="g_queue_insert_before">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="sibling">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_insert_after" c:identifier="g_queue_insert_after">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="sibling">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_insert_sorted" c:identifier="g_queue_insert_sorted">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_push_head_link"
+              c:identifier="g_queue_push_head_link">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="link_">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_push_tail_link"
+              c:identifier="g_queue_push_tail_link">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="link_">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_push_nth_link" c:identifier="g_queue_push_nth_link">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="link_">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_pop_head_link" c:identifier="g_queue_pop_head_link">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_pop_tail_link" c:identifier="g_queue_pop_tail_link">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_pop_nth_link" c:identifier="g_queue_pop_nth_link">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_peek_head_link"
+              c:identifier="g_queue_peek_head_link">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_peek_tail_link"
+              c:identifier="g_queue_peek_tail_link">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_peek_nth_link" c:identifier="g_queue_peek_nth_link">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_link_index" c:identifier="g_queue_link_index">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="link_">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_unlink" c:identifier="g_queue_unlink">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="link_">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="queue_delete_link" c:identifier="g_queue_delete_link">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="queue">
+          <type name="GQueue" c:type="GQueue*"/>
+        </parameter>
+        <parameter name="link_">
+          <type name="GList" c:type="GList*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Rand" c:type="GRand"/>
+    <function name="rand_new_with_seed" c:identifier="g_rand_new_with_seed">
+      <return-value>
+        <type name="GRand*" c:type="GRand*"/>
+      </return-value>
+      <parameters>
+        <parameter name="seed">
+          <type name="uint32" c:type="guint32"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="rand_new_with_seed_array"
+              c:identifier="g_rand_new_with_seed_array">
+      <return-value>
+        <type name="GRand*" c:type="GRand*"/>
+      </return-value>
+      <parameters>
+        <parameter name="seed">
+          <type name="guint32" c:type="guint32*"/>
+        </parameter>
+        <parameter name="seed_length">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="rand_new" c:identifier="g_rand_new">
+      <return-value>
+        <type name="GRand*" c:type="GRand*"/>
+      </return-value>
+    </function>
+    <function name="rand_free" c:identifier="g_rand_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="rand_">
+          <type name="GRand" c:type="GRand*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="rand_copy" c:identifier="g_rand_copy">
+      <return-value>
+        <type name="GRand*" c:type="GRand*"/>
+      </return-value>
+      <parameters>
+        <parameter name="rand_">
+          <type name="GRand" c:type="GRand*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="rand_set_seed" c:identifier="g_rand_set_seed">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="rand_">
+          <type name="GRand" c:type="GRand*"/>
+        </parameter>
+        <parameter name="seed">
+          <type name="uint32" c:type="guint32"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="rand_set_seed_array" c:identifier="g_rand_set_seed_array">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="rand_">
+          <type name="GRand" c:type="GRand*"/>
+        </parameter>
+        <parameter name="seed">
+          <type name="guint32" c:type="guint32*"/>
+        </parameter>
+        <parameter name="seed_length">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="rand_int" c:identifier="g_rand_int">
+      <return-value>
+        <type name="uint32" c:type="guint32"/>
+      </return-value>
+      <parameters>
+        <parameter name="rand_">
+          <type name="GRand" c:type="GRand*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="rand_int_range" c:identifier="g_rand_int_range">
+      <return-value>
+        <type name="int32" c:type="gint32"/>
+      </return-value>
+      <parameters>
+        <parameter name="rand_">
+          <type name="GRand" c:type="GRand*"/>
+        </parameter>
+        <parameter name="begin">
+          <type name="int32" c:type="gint32"/>
+        </parameter>
+        <parameter name="end">
+          <type name="int32" c:type="gint32"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="rand_double" c:identifier="g_rand_double">
+      <return-value>
+        <type name="double" c:type="gdouble"/>
+      </return-value>
+      <parameters>
+        <parameter name="rand_">
+          <type name="GRand" c:type="GRand*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="rand_double_range" c:identifier="g_rand_double_range">
+      <return-value>
+        <type name="double" c:type="gdouble"/>
+      </return-value>
+      <parameters>
+        <parameter name="rand_">
+          <type name="GRand" c:type="GRand*"/>
+        </parameter>
+        <parameter name="begin">
+          <type name="double" c:type="gdouble"/>
+        </parameter>
+        <parameter name="end">
+          <type name="double" c:type="gdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="random_set_seed" c:identifier="g_random_set_seed">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="seed">
+          <type name="uint32" c:type="guint32"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="random_int" c:identifier="g_random_int">
+      <return-value>
+        <type name="uint32" c:type="guint32"/>
+      </return-value>
+    </function>
+    <function name="random_int_range" c:identifier="g_random_int_range">
+      <return-value>
+        <type name="int32" c:type="gint32"/>
+      </return-value>
+      <parameters>
+        <parameter name="begin">
+          <type name="int32" c:type="gint32"/>
+        </parameter>
+        <parameter name="end">
+          <type name="int32" c:type="gint32"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="random_double" c:identifier="g_random_double">
+      <return-value>
+        <type name="double" c:type="gdouble"/>
+      </return-value>
+    </function>
+    <function name="random_double_range" c:identifier="g_random_double_range">
+      <return-value>
+        <type name="double" c:type="gdouble"/>
+      </return-value>
+      <parameters>
+        <parameter name="begin">
+          <type name="double" c:type="gdouble"/>
+        </parameter>
+        <parameter name="end">
+          <type name="double" c:type="gdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Relation" c:type="GRelation"/>
+    <record name="Tuples" c:type="GTuples"/>
+    <record name="GTuples" c:type="_GTuples">
+      <field name="len">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <function name="relation_new" c:identifier="g_relation_new">
+      <return-value>
+        <type name="GRelation*" c:type="GRelation*"/>
+      </return-value>
+      <parameters>
+        <parameter name="fields">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="relation_destroy" c:identifier="g_relation_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="relation">
+          <type name="GRelation" c:type="GRelation*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="relation_index" c:identifier="g_relation_index">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="relation">
+          <type name="GRelation" c:type="GRelation*"/>
+        </parameter>
+        <parameter name="field">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="hash_func">
+          <type name="GHashFunc" c:type="GHashFunc"/>
+        </parameter>
+        <parameter name="key_equal_func">
+          <type name="GEqualFunc" c:type="GEqualFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="relation_insert" c:identifier="g_relation_insert">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="relation">
+          <type name="GRelation" c:type="GRelation*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="relation_delete" c:identifier="g_relation_delete">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="relation">
+          <type name="GRelation" c:type="GRelation*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="field">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="relation_select" c:identifier="g_relation_select">
+      <return-value>
+        <type name="GTuples*" c:type="GTuples*"/>
+      </return-value>
+      <parameters>
+        <parameter name="relation">
+          <type name="GRelation" c:type="GRelation*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="field">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="relation_count" c:identifier="g_relation_count">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="relation">
+          <type name="GRelation" c:type="GRelation*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="field">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="relation_exists" c:identifier="g_relation_exists">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="relation">
+          <type name="GRelation" c:type="GRelation*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="relation_print" c:identifier="g_relation_print">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="relation">
+          <type name="GRelation" c:type="GRelation*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tuples_destroy" c:identifier="g_tuples_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="tuples">
+          <type name="GTuples" c:type="GTuples*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tuples_index" c:identifier="g_tuples_index">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="tuples">
+          <type name="GTuples" c:type="GTuples*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="field">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gregexerror" c:type="GRegexError">
+      <member name="r_compile" value="0" c:identifier="G_REGEX_ERROR_COMPILE"/>
+      <member name="r_optimize"
+              value="1"
+              c:identifier="G_REGEX_ERROR_OPTIMIZE"/>
+      <member name="r_replace" value="2" c:identifier="G_REGEX_ERROR_REPLACE"/>
+      <member name="r_match" value="3" c:identifier="G_REGEX_ERROR_MATCH"/>
+      <member name="r_internal"
+              value="4"
+              c:identifier="G_REGEX_ERROR_INTERNAL"/>
+      <member name="r_stray_backslash"
+              value="101"
+              c:identifier="G_REGEX_ERROR_STRAY_BACKSLASH"/>
+      <member name="r_missing_control_char"
+              value="102"
+              c:identifier="G_REGEX_ERROR_MISSING_CONTROL_CHAR"/>
+      <member name="r_unrecognized_escape"
+              value="103"
+              c:identifier="G_REGEX_ERROR_UNRECOGNIZED_ESCAPE"/>
+      <member name="r_quantifiers_out_of_order"
+              value="104"
+              c:identifier="G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER"/>
+      <member name="r_quantifier_too_big"
+              value="105"
+              c:identifier="G_REGEX_ERROR_QUANTIFIER_TOO_BIG"/>
+      <member name="r_unterminated_character_class"
+              value="106"
+              c:identifier="G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS"/>
+      <member name="r_invalid_escape_in_character_class"
+              value="107"
+              c:identifier="G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS"/>
+      <member name="r_range_out_of_order"
+              value="108"
+              c:identifier="G_REGEX_ERROR_RANGE_OUT_OF_ORDER"/>
+      <member name="r_nothing_to_repeat"
+              value="109"
+              c:identifier="G_REGEX_ERROR_NOTHING_TO_REPEAT"/>
+      <member name="r_unrecognized_character"
+              value="112"
+              c:identifier="G_REGEX_ERROR_UNRECOGNIZED_CHARACTER"/>
+      <member name="r_posix_named_class_outside_class"
+              value="113"
+              c:identifier="G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS"/>
+      <member name="r_unmatched_parenthesis"
+              value="114"
+              c:identifier="G_REGEX_ERROR_UNMATCHED_PARENTHESIS"/>
+      <member name="r_inexistent_subpattern_reference"
+              value="115"
+              c:identifier="G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE"/>
+      <member name="r_unterminated_comment"
+              value="118"
+              c:identifier="G_REGEX_ERROR_UNTERMINATED_COMMENT"/>
+      <member name="r_expression_too_large"
+              value="120"
+              c:identifier="G_REGEX_ERROR_EXPRESSION_TOO_LARGE"/>
+      <member name="r_memory_error"
+              value="121"
+              c:identifier="G_REGEX_ERROR_MEMORY_ERROR"/>
+      <member name="r_variable_length_lookbehind"
+              value="125"
+              c:identifier="G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND"/>
+      <member name="r_malformed_condition"
+              value="126"
+              c:identifier="G_REGEX_ERROR_MALFORMED_CONDITION"/>
+      <member name="r_too_many_conditional_branches"
+              value="127"
+              c:identifier="G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES"/>
+      <member name="r_assertion_expected"
+              value="128"
+              c:identifier="G_REGEX_ERROR_ASSERTION_EXPECTED"/>
+      <member name="r_unknown_posix_class_name"
+              value="130"
+              c:identifier="G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME"/>
+      <member name="r_posix_collating_elements_not_supported"
+              value="131"
+              c:identifier="G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED"/>
+      <member name="r_hex_code_too_large"
+              value="134"
+              c:identifier="G_REGEX_ERROR_HEX_CODE_TOO_LARGE"/>
+      <member name="r_invalid_condition"
+              value="135"
+              c:identifier="G_REGEX_ERROR_INVALID_CONDITION"/>
+      <member name="r_single_byte_match_in_lookbehind"
+              value="136"
+              c:identifier="G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND"/>
+      <member name="r_infinite_loop"
+              value="140"
+              c:identifier="G_REGEX_ERROR_INFINITE_LOOP"/>
+      <member name="r_missing_subpattern_name_terminator"
+              value="142"
+              c:identifier="G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR"/>
+      <member name="r_duplicate_subpattern_name"
+              value="143"
+              c:identifier="G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME"/>
+      <member name="r_malformed_property"
+              value="146"
+              c:identifier="G_REGEX_ERROR_MALFORMED_PROPERTY"/>
+      <member name="r_unknown_property"
+              value="147"
+              c:identifier="G_REGEX_ERROR_UNKNOWN_PROPERTY"/>
+      <member name="r_subpattern_name_too_long"
+              value="148"
+              c:identifier="G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG"/>
+      <member name="r_too_many_subpatterns"
+              value="149"
+              c:identifier="G_REGEX_ERROR_TOO_MANY_SUBPATTERNS"/>
+      <member name="r_invalid_octal_value"
+              value="151"
+              c:identifier="G_REGEX_ERROR_INVALID_OCTAL_VALUE"/>
+      <member name="r_too_many_branches_in_define"
+              value="154"
+              c:identifier="G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE"/>
+      <member name="r_define_repetion"
+              value="155"
+              c:identifier="G_REGEX_ERROR_DEFINE_REPETION"/>
+      <member name="r_inconsistent_newline_options"
+              value="156"
+              c:identifier="G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS"/>
+      <member name="r_missing_back_reference"
+              value="157"
+              c:identifier="G_REGEX_ERROR_MISSING_BACK_REFERENCE"/>
+    </enumeration>
+    <function name="regex_error_quark" c:identifier="g_regex_error_quark">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+    </function>
+    <enumeration name="gregexcompileflags" c:type="GRegexCompileFlags">
+      <member name="aseless" value="1" c:identifier="G_REGEX_CASELESS"/>
+      <member name="multiline" value="2" c:identifier="G_REGEX_MULTILINE"/>
+      <member name="dotall" value="4" c:identifier="G_REGEX_DOTALL"/>
+      <member name="extended" value="8" c:identifier="G_REGEX_EXTENDED"/>
+      <member name="anchored" value="16" c:identifier="G_REGEX_ANCHORED"/>
+      <member name="dollar_endonly"
+              value="32"
+              c:identifier="G_REGEX_DOLLAR_ENDONLY"/>
+      <member name="ungreedy" value="512" c:identifier="G_REGEX_UNGREEDY"/>
+      <member name="raw" value="2048" c:identifier="G_REGEX_RAW"/>
+      <member name="no_auto_capture"
+              value="4096"
+              c:identifier="G_REGEX_NO_AUTO_CAPTURE"/>
+      <member name="optimize" value="8192" c:identifier="G_REGEX_OPTIMIZE"/>
+      <member name="dupnames" value="524288" c:identifier="G_REGEX_DUPNAMES"/>
+      <member name="newline_cr"
+              value="1048576"
+              c:identifier="G_REGEX_NEWLINE_CR"/>
+      <member name="newline_lf"
+              value="2097152"
+              c:identifier="G_REGEX_NEWLINE_LF"/>
+      <member name="newline_crlf"
+              value="3145728"
+              c:identifier="G_REGEX_NEWLINE_CRLF"/>
+    </enumeration>
+    <enumeration name="gregexmatchflags" c:type="GRegexMatchFlags">
+      <member name="anchored"
+              value="16"
+              c:identifier="G_REGEX_MATCH_ANCHORED"/>
+      <member name="notbol" value="128" c:identifier="G_REGEX_MATCH_NOTBOL"/>
+      <member name="noteol" value="256" c:identifier="G_REGEX_MATCH_NOTEOL"/>
+      <member name="notempty"
+              value="1024"
+              c:identifier="G_REGEX_MATCH_NOTEMPTY"/>
+      <member name="partial"
+              value="32768"
+              c:identifier="G_REGEX_MATCH_PARTIAL"/>
+      <member name="newline_cr"
+              value="1048576"
+              c:identifier="G_REGEX_MATCH_NEWLINE_CR"/>
+      <member name="newline_lf"
+              value="2097152"
+              c:identifier="G_REGEX_MATCH_NEWLINE_LF"/>
+      <member name="newline_crlf"
+              value="3145728"
+              c:identifier="G_REGEX_MATCH_NEWLINE_CRLF"/>
+      <member name="newline_any"
+              value="4194304"
+              c:identifier="G_REGEX_MATCH_NEWLINE_ANY"/>
+    </enumeration>
+    <record name="Regex" c:type="GRegex"/>
+    <record name="MatchInfo" c:type="GMatchInfo"/>
+    <callback name="GRegexEvalCallback">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo*" c:type="GMatchInfo*"/>
+        </parameter>
+        <parameter name="result">
+          <type name="GString*" c:type="GString*"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="regex_new" c:identifier="g_regex_new">
+      <return-value>
+        <type name="GRegex*" c:type="GRegex*"/>
+      </return-value>
+      <parameters>
+        <parameter name="pattern">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="compile_options">
+          <type name="GRegexCompileFlags" c:type="GRegexCompileFlags"/>
+        </parameter>
+        <parameter name="match_options">
+          <type name="GRegexMatchFlags" c:type="GRegexMatchFlags"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_ref" c:identifier="g_regex_ref">
+      <return-value>
+        <type name="GRegex*" c:type="GRegex*"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_unref" c:identifier="g_regex_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_get_pattern" c:identifier="g_regex_get_pattern">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_get_max_backref"
+              c:identifier="g_regex_get_max_backref">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_get_capture_count"
+              c:identifier="g_regex_get_capture_count">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_get_string_number"
+              c:identifier="g_regex_get_string_number">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_escape_string" c:identifier="g_regex_escape_string">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="length">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_match_simple" c:identifier="g_regex_match_simple">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="pattern">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="compile_options">
+          <type name="GRegexCompileFlags" c:type="GRegexCompileFlags"/>
+        </parameter>
+        <parameter name="match_options">
+          <type name="GRegexMatchFlags" c:type="GRegexMatchFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_match" c:identifier="g_regex_match">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="match_options">
+          <type name="GRegexMatchFlags" c:type="GRegexMatchFlags"/>
+        </parameter>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_match_full" c:identifier="g_regex_match_full">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="string_len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="start_position">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="match_options">
+          <type name="GRegexMatchFlags" c:type="GRegexMatchFlags"/>
+        </parameter>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo**"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_match_all" c:identifier="g_regex_match_all">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="match_options">
+          <type name="GRegexMatchFlags" c:type="GRegexMatchFlags"/>
+        </parameter>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_match_all_full"
+              c:identifier="g_regex_match_all_full">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="string_len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="start_position">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="match_options">
+          <type name="GRegexMatchFlags" c:type="GRegexMatchFlags"/>
+        </parameter>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo**"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_split_simple" c:identifier="g_regex_split_simple">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="pattern">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="compile_options">
+          <type name="GRegexCompileFlags" c:type="GRegexCompileFlags"/>
+        </parameter>
+        <parameter name="match_options">
+          <type name="GRegexMatchFlags" c:type="GRegexMatchFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_split" c:identifier="g_regex_split">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="match_options">
+          <type name="GRegexMatchFlags" c:type="GRegexMatchFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_split_full" c:identifier="g_regex_split_full">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="string_len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="start_position">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="match_options">
+          <type name="GRegexMatchFlags" c:type="GRegexMatchFlags"/>
+        </parameter>
+        <parameter name="max_tokens">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_replace" c:identifier="g_regex_replace">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="string_len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="start_position">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="replacement">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="match_options">
+          <type name="GRegexMatchFlags" c:type="GRegexMatchFlags"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_replace_literal"
+              c:identifier="g_regex_replace_literal">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="string_len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="start_position">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="replacement">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="match_options">
+          <type name="GRegexMatchFlags" c:type="GRegexMatchFlags"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_replace_eval" c:identifier="g_regex_replace_eval">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="regex">
+          <type name="GRegex" c:type="GRegex*"/>
+        </parameter>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="string_len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="start_position">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="match_options">
+          <type name="GRegexMatchFlags" c:type="GRegexMatchFlags"/>
+        </parameter>
+        <parameter name="eval">
+          <type name="GRegexEvalCallback" c:type="GRegexEvalCallback"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="regex_check_replacement"
+              c:identifier="g_regex_check_replacement">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="replacement">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="has_references">
+          <type name="gboolean" c:type="gboolean*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="match_info_get_regex"
+              c:identifier="g_match_info_get_regex">
+      <return-value>
+        <type name="GRegex*" c:type="GRegex*"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="match_info_get_string"
+              c:identifier="g_match_info_get_string">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="match_info_free" c:identifier="g_match_info_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="match_info_next" c:identifier="g_match_info_next">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="match_info_matches" c:identifier="g_match_info_matches">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="match_info_get_match_count"
+              c:identifier="g_match_info_get_match_count">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="match_info_is_partial_match"
+              c:identifier="g_match_info_is_partial_match">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="match_info_expand_references"
+              c:identifier="g_match_info_expand_references">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo*"/>
+        </parameter>
+        <parameter name="string_to_expand">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="match_info_fetch" c:identifier="g_match_info_fetch">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo*"/>
+        </parameter>
+        <parameter name="match_num">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="match_info_fetch_pos"
+              c:identifier="g_match_info_fetch_pos">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo*"/>
+        </parameter>
+        <parameter name="match_num">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="start_pos">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="end_pos">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="match_info_fetch_named"
+              c:identifier="g_match_info_fetch_named">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo*"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="match_info_fetch_named_pos"
+              c:identifier="g_match_info_fetch_named_pos">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo*"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="start_pos">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="end_pos">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="match_info_fetch_all"
+              c:identifier="g_match_info_fetch_all">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="match_info">
+          <type name="GMatchInfo" c:type="GMatchInfo*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Scanner" c:type="GScanner"/>
+    <record name="ScannerConfig" c:type="GScannerConfig"/>
+    <callback name="GScannerMsgFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner*" c:type="GScanner*"/>
+        </parameter>
+        <parameter name="message">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <enumeration name="gerrortype" c:type="GErrorType">
+      <member name="_unknown" value="0" c:identifier="G_ERR_UNKNOWN"/>
+      <member name="_unexp_eof" value="1" c:identifier="G_ERR_UNEXP_EOF"/>
+      <member name="_unexp_eof_in_string"
+              value="2"
+              c:identifier="G_ERR_UNEXP_EOF_IN_STRING"/>
+      <member name="_unexp_eof_in_comment"
+              value="3"
+              c:identifier="G_ERR_UNEXP_EOF_IN_COMMENT"/>
+      <member name="_non_digit_in_const"
+              value="4"
+              c:identifier="G_ERR_NON_DIGIT_IN_CONST"/>
+      <member name="_digit_radix" value="5" c:identifier="G_ERR_DIGIT_RADIX"/>
+      <member name="_float_radix" value="6" c:identifier="G_ERR_FLOAT_RADIX"/>
+      <member name="_float_malformed"
+              value="7"
+              c:identifier="G_ERR_FLOAT_MALFORMED"/>
+    </enumeration>
+    <enumeration name="gtokentype" c:type="GTokenType">
+      <member name="eof" value="0" c:identifier="G_TOKEN_EOF"/>
+      <member name="left_paren" value="0" c:identifier="G_TOKEN_LEFT_PAREN"/>
+      <member name="right_paren" value="0" c:identifier="G_TOKEN_RIGHT_PAREN"/>
+      <member name="left_curly" value="0" c:identifier="G_TOKEN_LEFT_CURLY"/>
+      <member name="right_curly" value="0" c:identifier="G_TOKEN_RIGHT_CURLY"/>
+      <member name="left_brace" value="0" c:identifier="G_TOKEN_LEFT_BRACE"/>
+      <member name="right_brace" value="0" c:identifier="G_TOKEN_RIGHT_BRACE"/>
+      <member name="equal_sign" value="0" c:identifier="G_TOKEN_EQUAL_SIGN"/>
+      <member name="comma" value="0" c:identifier="G_TOKEN_COMMA"/>
+      <member name="none" value="256" c:identifier="G_TOKEN_NONE"/>
+      <member name="error" value="257" c:identifier="G_TOKEN_ERROR"/>
+      <member name="char" value="258" c:identifier="G_TOKEN_CHAR"/>
+      <member name="binary" value="259" c:identifier="G_TOKEN_BINARY"/>
+      <member name="octal" value="260" c:identifier="G_TOKEN_OCTAL"/>
+      <member name="int" value="261" c:identifier="G_TOKEN_INT"/>
+      <member name="hex" value="262" c:identifier="G_TOKEN_HEX"/>
+      <member name="float" value="263" c:identifier="G_TOKEN_FLOAT"/>
+      <member name="string" value="264" c:identifier="G_TOKEN_STRING"/>
+      <member name="symbol" value="265" c:identifier="G_TOKEN_SYMBOL"/>
+      <member name="identifier" value="266" c:identifier="G_TOKEN_IDENTIFIER"/>
+      <member name="identifier_null"
+              value="267"
+              c:identifier="G_TOKEN_IDENTIFIER_NULL"/>
+      <member name="comment_single"
+              value="268"
+              c:identifier="G_TOKEN_COMMENT_SINGLE"/>
+      <member name="comment_multi"
+              value="269"
+              c:identifier="G_TOKEN_COMMENT_MULTI"/>
+      <member name="last" value="270" c:identifier="G_TOKEN_LAST"/>
+    </enumeration>
+    <record name="GScannerConfig" c:type="_GScannerConfig">
+      <field name="cset_skip_characters">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="cset_identifier_first">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="cset_identifier_nth">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="cpair_comment_single">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="case_sensitive">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="skip_comment_multi">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="skip_comment_single">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="scan_comment_multi">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="scan_identifier">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="scan_identifier_1char">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="scan_identifier_NULL">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="scan_symbols">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="scan_binary">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="scan_octal">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="scan_float">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="scan_hex">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="scan_hex_dollar">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="scan_string_sq">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="scan_string_dq">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="numbers_2_int">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="int_2_float">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="identifier_2_string">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="char_2_token">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="symbol_2_token">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="scope_0_fallback">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="store_int64">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="padding_dummy">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <record name="GScanner" c:type="_GScanner">
+      <field name="user_data">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="max_parse_errors">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="parse_errors">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="input_name">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="qdata">
+        <type name="GData*" c:type="GData*"/>
+      </field>
+      <field name="config">
+        <type name="GScannerConfig*" c:type="GScannerConfig*"/>
+      </field>
+      <field name="token">
+        <type name="GTokenType" c:type="GTokenType"/>
+      </field>
+      <field name="value">
+        <type name="GTokenValue" c:type="GTokenValue"/>
+      </field>
+      <field name="line">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="position">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="next_token">
+        <type name="GTokenType" c:type="GTokenType"/>
+      </field>
+      <field name="next_value">
+        <type name="GTokenValue" c:type="GTokenValue"/>
+      </field>
+      <field name="next_line">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="next_position">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="symbol_table">
+        <type name="GHashTable*" c:type="GHashTable*"/>
+      </field>
+      <field name="input_fd">
+        <type name="int32" c:type="gint"/>
+      </field>
+      <field name="text">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="text_end">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="buffer">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="scope_id">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="msg_handler">
+        <type name="GScannerMsgFunc" c:type="GScannerMsgFunc"/>
+      </field>
+    </record>
+    <function name="scanner_new" c:identifier="g_scanner_new">
+      <return-value>
+        <type name="GScanner*" c:type="GScanner*"/>
+      </return-value>
+      <parameters>
+        <parameter name="config_templ">
+          <type name="GScannerConfig" c:type="GScannerConfig*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_destroy" c:identifier="g_scanner_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_input_file" c:identifier="g_scanner_input_file">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+        <parameter name="input_fd">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_sync_file_offset"
+              c:identifier="g_scanner_sync_file_offset">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_input_text" c:identifier="g_scanner_input_text">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+        <parameter name="text">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="text_len">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_get_next_token"
+              c:identifier="g_scanner_get_next_token">
+      <return-value>
+        <type name="GTokenType" c:type="GTokenType"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_peek_next_token"
+              c:identifier="g_scanner_peek_next_token">
+      <return-value>
+        <type name="GTokenType" c:type="GTokenType"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_cur_token" c:identifier="g_scanner_cur_token">
+      <return-value>
+        <type name="GTokenType" c:type="GTokenType"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_cur_value" c:identifier="g_scanner_cur_value">
+      <return-value>
+        <type name="GTokenValue" c:type="GTokenValue"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_cur_line" c:identifier="g_scanner_cur_line">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_cur_position"
+              c:identifier="g_scanner_cur_position">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_eof" c:identifier="g_scanner_eof">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_set_scope" c:identifier="g_scanner_set_scope">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+        <parameter name="scope_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_scope_add_symbol"
+              c:identifier="g_scanner_scope_add_symbol">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+        <parameter name="scope_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="symbol">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_scope_remove_symbol"
+              c:identifier="g_scanner_scope_remove_symbol">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+        <parameter name="scope_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="symbol">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_scope_lookup_symbol"
+              c:identifier="g_scanner_scope_lookup_symbol">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+        <parameter name="scope_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="symbol">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_scope_foreach_symbol"
+              c:identifier="g_scanner_scope_foreach_symbol">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+        <parameter name="scope_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GHFunc" c:type="GHFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_lookup_symbol"
+              c:identifier="g_scanner_lookup_symbol">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+        <parameter name="symbol">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_unexp_token" c:identifier="g_scanner_unexp_token">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+        <parameter name="expected_token">
+          <type name="GTokenType" c:type="GTokenType"/>
+        </parameter>
+        <parameter name="identifier_spec">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="symbol_spec">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="symbol_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="message">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="is_error">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_error" c:identifier="g_scanner_error">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="scanner_warn" c:identifier="g_scanner_warn">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="scanner">
+          <type name="GScanner" c:type="GScanner*"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Sequence" c:type="GSequence"/>
+    <record name="SequenceIter" c:type="GSequenceIter"/>
+    <callback name="GSequenceIterCompareFunc">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="a">
+          <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="b">
+          <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="sequence_new" c:identifier="g_sequence_new">
+      <return-value>
+        <type name="GSequence*" c:type="GSequence*"/>
+      </return-value>
+      <parameters>
+        <parameter name="data_destroy">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_free" c:identifier="g_sequence_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_get_length" c:identifier="g_sequence_get_length">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_foreach" c:identifier="g_sequence_foreach">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GFunc" c:type="GFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_foreach_range"
+              c:identifier="g_sequence_foreach_range">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="begin">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="end">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GFunc" c:type="GFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_sort" c:identifier="g_sequence_sort">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+        <parameter name="cmp_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="cmp_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_sort_iter" c:identifier="g_sequence_sort_iter">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+        <parameter name="cmp_func">
+          <type name="GSequenceIterCompareFunc"
+                c:type="GSequenceIterCompareFunc"/>
+        </parameter>
+        <parameter name="cmp_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_get_begin_iter"
+              c:identifier="g_sequence_get_begin_iter">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_get_end_iter"
+              c:identifier="g_sequence_get_end_iter">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_get_iter_at_pos"
+              c:identifier="g_sequence_get_iter_at_pos">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+        <parameter name="pos">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_append" c:identifier="g_sequence_append">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_prepend" c:identifier="g_sequence_prepend">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_insert_before"
+              c:identifier="g_sequence_insert_before">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_move" c:identifier="g_sequence_move">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="src">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="dest">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_swap" c:identifier="g_sequence_swap">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="a">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="b">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_insert_sorted"
+              c:identifier="g_sequence_insert_sorted">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="cmp_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="cmp_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_insert_sorted_iter"
+              c:identifier="g_sequence_insert_sorted_iter">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="iter_cmp">
+          <type name="GSequenceIterCompareFunc"
+                c:type="GSequenceIterCompareFunc"/>
+        </parameter>
+        <parameter name="cmp_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_sort_changed"
+              c:identifier="g_sequence_sort_changed">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="cmp_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="cmp_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_sort_changed_iter"
+              c:identifier="g_sequence_sort_changed_iter">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="iter_cmp">
+          <type name="GSequenceIterCompareFunc"
+                c:type="GSequenceIterCompareFunc"/>
+        </parameter>
+        <parameter name="cmp_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_remove" c:identifier="g_sequence_remove">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_remove_range"
+              c:identifier="g_sequence_remove_range">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="begin">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="end">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_move_range" c:identifier="g_sequence_move_range">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="dest">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="begin">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="end">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_search" c:identifier="g_sequence_search">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="cmp_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="cmp_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_search_iter"
+              c:identifier="g_sequence_search_iter">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="seq">
+          <type name="GSequence" c:type="GSequence*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="iter_cmp">
+          <type name="GSequenceIterCompareFunc"
+                c:type="GSequenceIterCompareFunc"/>
+        </parameter>
+        <parameter name="cmp_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_get" c:identifier="g_sequence_get">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_set" c:identifier="g_sequence_set">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_iter_is_begin"
+              c:identifier="g_sequence_iter_is_begin">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_iter_is_end"
+              c:identifier="g_sequence_iter_is_end">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_iter_next" c:identifier="g_sequence_iter_next">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_iter_prev" c:identifier="g_sequence_iter_prev">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_iter_get_position"
+              c:identifier="g_sequence_iter_get_position">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_iter_move" c:identifier="g_sequence_iter_move">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="delta">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_iter_get_sequence"
+              c:identifier="g_sequence_iter_get_sequence">
+      <return-value>
+        <type name="GSequence*" c:type="GSequence*"/>
+      </return-value>
+      <parameters>
+        <parameter name="iter">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_iter_compare"
+              c:identifier="g_sequence_iter_compare">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="a">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="b">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sequence_range_get_midpoint"
+              c:identifier="g_sequence_range_get_midpoint">
+      <return-value>
+        <type name="GSequenceIter*" c:type="GSequenceIter*"/>
+      </return-value>
+      <parameters>
+        <parameter name="begin">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+        <parameter name="end">
+          <type name="GSequenceIter" c:type="GSequenceIter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gshellerror" c:type="GShellError">
+      <member name="r_bad_quoting"
+              value="0"
+              c:identifier="G_SHELL_ERROR_BAD_QUOTING"/>
+      <member name="r_empty_string"
+              value="1"
+              c:identifier="G_SHELL_ERROR_EMPTY_STRING"/>
+      <member name="r_failed" value="2" c:identifier="G_SHELL_ERROR_FAILED"/>
+    </enumeration>
+    <function name="shell_error_quark" c:identifier="g_shell_error_quark">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+    </function>
+    <function name="shell_quote" c:identifier="g_shell_quote">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="unquoted_string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="shell_unquote" c:identifier="g_shell_unquote">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="quoted_string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="shell_parse_argv" c:identifier="g_shell_parse_argv">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="command_line">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="argcp">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="argvp">
+          <type name="gchar" c:type="gchar***"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gspawnerror" c:type="GSpawnError">
+      <member name="r_fork" value="0" c:identifier="G_SPAWN_ERROR_FORK"/>
+      <member name="r_read" value="1" c:identifier="G_SPAWN_ERROR_READ"/>
+      <member name="r_chdir" value="2" c:identifier="G_SPAWN_ERROR_CHDIR"/>
+      <member name="r_acces" value="3" c:identifier="G_SPAWN_ERROR_ACCES"/>
+      <member name="r_perm" value="4" c:identifier="G_SPAWN_ERROR_PERM"/>
+      <member name="r_2big" value="5" c:identifier="G_SPAWN_ERROR_2BIG"/>
+      <member name="r_noexec" value="6" c:identifier="G_SPAWN_ERROR_NOEXEC"/>
+      <member name="r_nametoolong"
+              value="7"
+              c:identifier="G_SPAWN_ERROR_NAMETOOLONG"/>
+      <member name="r_noent" value="8" c:identifier="G_SPAWN_ERROR_NOENT"/>
+      <member name="r_nomem" value="9" c:identifier="G_SPAWN_ERROR_NOMEM"/>
+      <member name="r_notdir" value="10" c:identifier="G_SPAWN_ERROR_NOTDIR"/>
+      <member name="r_loop" value="11" c:identifier="G_SPAWN_ERROR_LOOP"/>
+      <member name="r_txtbusy"
+              value="12"
+              c:identifier="G_SPAWN_ERROR_TXTBUSY"/>
+      <member name="r_io" value="13" c:identifier="G_SPAWN_ERROR_IO"/>
+      <member name="r_nfile" value="14" c:identifier="G_SPAWN_ERROR_NFILE"/>
+      <member name="r_mfile" value="15" c:identifier="G_SPAWN_ERROR_MFILE"/>
+      <member name="r_inval" value="16" c:identifier="G_SPAWN_ERROR_INVAL"/>
+      <member name="r_isdir" value="17" c:identifier="G_SPAWN_ERROR_ISDIR"/>
+      <member name="r_libbad" value="18" c:identifier="G_SPAWN_ERROR_LIBBAD"/>
+      <member name="r_failed" value="19" c:identifier="G_SPAWN_ERROR_FAILED"/>
+    </enumeration>
+    <callback name="GSpawnChildSetupFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <enumeration name="gspawnflags" c:type="GSpawnFlags">
+      <member name="leave_descriptors_open"
+              value="1"
+              c:identifier="G_SPAWN_LEAVE_DESCRIPTORS_OPEN"/>
+      <member name="do_not_reap_child"
+              value="2"
+              c:identifier="G_SPAWN_DO_NOT_REAP_CHILD"/>
+      <member name="search_path" value="4" c:identifier="G_SPAWN_SEARCH_PATH"/>
+      <member name="stdout_to_dev_null"
+              value="8"
+              c:identifier="G_SPAWN_STDOUT_TO_DEV_NULL"/>
+      <member name="stderr_to_dev_null"
+              value="16"
+              c:identifier="G_SPAWN_STDERR_TO_DEV_NULL"/>
+      <member name="child_inherits_stdin"
+              value="32"
+              c:identifier="G_SPAWN_CHILD_INHERITS_STDIN"/>
+      <member name="ile_and_argv_zero"
+              value="64"
+              c:identifier="G_SPAWN_FILE_AND_ARGV_ZERO"/>
+    </enumeration>
+    <function name="spawn_error_quark" c:identifier="g_spawn_error_quark">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+    </function>
+    <function name="spawn_async" c:identifier="g_spawn_async">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="working_directory">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="argv">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="envp">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GSpawnFlags" c:type="GSpawnFlags"/>
+        </parameter>
+        <parameter name="child_setup">
+          <type name="GSpawnChildSetupFunc" c:type="GSpawnChildSetupFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="child_pid">
+          <type name="GPid" c:type="GPid*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="spawn_async_with_pipes"
+              c:identifier="g_spawn_async_with_pipes">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="working_directory">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="argv">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="envp">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GSpawnFlags" c:type="GSpawnFlags"/>
+        </parameter>
+        <parameter name="child_setup">
+          <type name="GSpawnChildSetupFunc" c:type="GSpawnChildSetupFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="child_pid">
+          <type name="GPid" c:type="GPid*"/>
+        </parameter>
+        <parameter name="standard_input">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="standard_output">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="standard_error">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="spawn_sync" c:identifier="g_spawn_sync">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="working_directory">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="argv">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="envp">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GSpawnFlags" c:type="GSpawnFlags"/>
+        </parameter>
+        <parameter name="child_setup">
+          <type name="GSpawnChildSetupFunc" c:type="GSpawnChildSetupFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="standard_output">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="standard_error">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="exit_status">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="spawn_command_line_sync"
+              c:identifier="g_spawn_command_line_sync">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="command_line">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="standard_output">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="standard_error">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="exit_status">
+          <type name="gint" c:type="gint*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="spawn_command_line_async"
+              c:identifier="g_spawn_command_line_async">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="command_line">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="spawn_close_pid" c:identifier="g_spawn_close_pid">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pid">
+          <type name="GPid" c:type="GPid"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gasciitype" c:type="GAsciiType">
+      <member name="alnum" value="1" c:identifier="G_ASCII_ALNUM"/>
+      <member name="alpha" value="2" c:identifier="G_ASCII_ALPHA"/>
+      <member name="cntrl" value="4" c:identifier="G_ASCII_CNTRL"/>
+      <member name="digit" value="8" c:identifier="G_ASCII_DIGIT"/>
+      <member name="graph" value="16" c:identifier="G_ASCII_GRAPH"/>
+      <member name="lower" value="32" c:identifier="G_ASCII_LOWER"/>
+      <member name="print" value="64" c:identifier="G_ASCII_PRINT"/>
+      <member name="punct" value="128" c:identifier="G_ASCII_PUNCT"/>
+      <member name="space" value="256" c:identifier="G_ASCII_SPACE"/>
+      <member name="upper" value="512" c:identifier="G_ASCII_UPPER"/>
+      <member name="xdigit" value="1024" c:identifier="G_ASCII_XDIGIT"/>
+    </enumeration>
+    <function name="ascii_tolower" c:identifier="g_ascii_tolower">
+      <return-value>
+        <type name="gchar" c:type="gchar"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ascii_toupper" c:identifier="g_ascii_toupper">
+      <return-value>
+        <type name="gchar" c:type="gchar"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ascii_digit_value" c:identifier="g_ascii_digit_value">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ascii_xdigit_value" c:identifier="g_ascii_xdigit_value">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="c">
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strdelimit" c:identifier="g_strdelimit">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="delimiters">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="new_delimiter">
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strcanon" c:identifier="g_strcanon">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="valid_chars">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="substitutor">
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strerror" c:identifier="g_strerror">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="errnum">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strsignal" c:identifier="g_strsignal">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="signum">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strreverse" c:identifier="g_strreverse">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strlcpy" c:identifier="g_strlcpy">
+      <return-value>
+        <type name="size" c:type="gsize"/>
+      </return-value>
+      <parameters>
+        <parameter name="dest">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="src">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="dest_size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strlcat" c:identifier="g_strlcat">
+      <return-value>
+        <type name="size" c:type="gsize"/>
+      </return-value>
+      <parameters>
+        <parameter name="dest">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="src">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="dest_size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strstr_len" c:identifier="g_strstr_len">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="haystack">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="haystack_len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="needle">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strrstr" c:identifier="g_strrstr">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="haystack">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="needle">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strrstr_len" c:identifier="g_strrstr_len">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="haystack">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="haystack_len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+        <parameter name="needle">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="str_has_suffix" c:identifier="g_str_has_suffix">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="suffix">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="str_has_prefix" c:identifier="g_str_has_prefix">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="prefix">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strtod" c:identifier="g_strtod">
+      <return-value>
+        <type name="double" c:type="gdouble"/>
+      </return-value>
+      <parameters>
+        <parameter name="nptr">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="endptr">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ascii_strtod" c:identifier="g_ascii_strtod">
+      <return-value>
+        <type name="double" c:type="gdouble"/>
+      </return-value>
+      <parameters>
+        <parameter name="nptr">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="endptr">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ascii_strtoull" c:identifier="g_ascii_strtoull">
+      <return-value>
+        <type name="guint64" c:type="guint64"/>
+      </return-value>
+      <parameters>
+        <parameter name="nptr">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="endptr">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="base">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ascii_strtoll" c:identifier="g_ascii_strtoll">
+      <return-value>
+        <type name="gint64" c:type="gint64"/>
+      </return-value>
+      <parameters>
+        <parameter name="nptr">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="endptr">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="base">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ascii_dtostr" c:identifier="g_ascii_dtostr">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="buffer">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="buf_len">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="d">
+          <type name="double" c:type="gdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ascii_formatd" c:identifier="g_ascii_formatd">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="buffer">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="buf_len">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="d">
+          <type name="double" c:type="gdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strchug" c:identifier="g_strchug">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strchomp" c:identifier="g_strchomp">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ascii_strcasecmp" c:identifier="g_ascii_strcasecmp">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="s1">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="s2">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ascii_strncasecmp" c:identifier="g_ascii_strncasecmp">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="s1">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="s2">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ascii_strdown" c:identifier="g_ascii_strdown">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ascii_strup" c:identifier="g_ascii_strup">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="len">
+          <type name="ssize" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strcasecmp" c:identifier="g_strcasecmp">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="s1">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="s2">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strncasecmp" c:identifier="g_strncasecmp">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="s1">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="s2">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strdown" c:identifier="g_strdown">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strup" c:identifier="g_strup">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strdup" c:identifier="g_strdup">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strdup_printf" c:identifier="g_strdup_printf">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strdup_vprintf" c:identifier="g_strdup_vprintf">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strndup" c:identifier="g_strndup">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="str">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strnfill" c:identifier="g_strnfill">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="length">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="fill_char">
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strconcat" c:identifier="g_strconcat">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="string1">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strjoin" c:identifier="g_strjoin">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="separator">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strcompress" c:identifier="g_strcompress">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strescape" c:identifier="g_strescape">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="exceptions">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="memdup" c:identifier="g_memdup">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="mem">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="byte_size">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strsplit" c:identifier="g_strsplit">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="delimiter">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="max_tokens">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strsplit_set" c:identifier="g_strsplit_set">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="delimiters">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="max_tokens">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strjoinv" c:identifier="g_strjoinv">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="separator">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="str_array">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strfreev" c:identifier="g_strfreev">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="str_array">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strdupv" c:identifier="g_strdupv">
+      <return-value>
+        <type name="gchar**" c:type="gchar**"/>
+      </return-value>
+      <parameters>
+        <parameter name="str_array">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strv_length" c:identifier="g_strv_length">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="str_array">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="stpcpy" c:identifier="g_stpcpy">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="dest">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="src">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strip_context" c:identifier="g_strip_context">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="msgid">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="msgval">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="dgettext" c:identifier="g_dgettext">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="msgid">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="dngettext" c:identifier="g_dngettext">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="msgid">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="msgid_plural">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="n">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="dpgettext" c:identifier="g_dpgettext">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="msgctxtid">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="msgidoffset">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="dpgettext2" c:identifier="g_dpgettext2">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="domain">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="context">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="msgid">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="TestCase" c:type="GTestCase"/>
+    <record name="TestSuite" c:type="GTestSuite"/>
+    <function name="strcmp0" c:identifier="g_strcmp0">
+      <return-value>
+        <type name="int32" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="str1">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="str2">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_minimized_result"
+              c:identifier="g_test_minimized_result">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="minimized_quantity">
+          <type name="double" c:type="double"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_maximized_result"
+              c:identifier="g_test_maximized_result">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="maximized_quantity">
+          <type name="double" c:type="double"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_init" c:identifier="g_test_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="argc">
+          <type name="int" c:type="int*"/>
+        </parameter>
+        <parameter name="argv">
+          <type name="char" c:type="char***"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_run" c:identifier="g_test_run">
+      <return-value>
+        <type name="int32" c:type="int"/>
+      </return-value>
+    </function>
+    <function name="test_add_func" c:identifier="g_test_add_func">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="testpath">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="test_func">
+          <type name="???" c:type="???*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_add_data_func" c:identifier="g_test_add_data_func">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="testpath">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="test_data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="test_func">
+          <type name="???" c:type="???*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_message" c:identifier="g_test_message">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="format">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_bug_base" c:identifier="g_test_bug_base">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uri_pattern">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_bug" c:identifier="g_test_bug">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bug_uri_snippet">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_timer_start" c:identifier="g_test_timer_start">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="test_timer_elapsed" c:identifier="g_test_timer_elapsed">
+      <return-value>
+        <type name="double" c:type="double"/>
+      </return-value>
+    </function>
+    <function name="test_timer_last" c:identifier="g_test_timer_last">
+      <return-value>
+        <type name="double" c:type="double"/>
+      </return-value>
+    </function>
+    <function name="test_queue_free" c:identifier="g_test_queue_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="gfree_pointer">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_queue_destroy" c:identifier="g_test_queue_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="destroy_func">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+        <parameter name="destroy_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gtesttrapflags" c:type="GTestTrapFlags">
+      <member name="silence_stdout"
+              value="128"
+              c:identifier="G_TEST_TRAP_SILENCE_STDOUT"/>
+      <member name="silence_stderr"
+              value="256"
+              c:identifier="G_TEST_TRAP_SILENCE_STDERR"/>
+      <member name="inherit_stdin"
+              value="512"
+              c:identifier="G_TEST_TRAP_INHERIT_STDIN"/>
+    </enumeration>
+    <function name="test_trap_fork" c:identifier="g_test_trap_fork">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="usec_timeout">
+          <type name="guint64" c:type="guint64"/>
+        </parameter>
+        <parameter name="test_trap_flags">
+          <type name="GTestTrapFlags" c:type="GTestTrapFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_trap_has_passed"
+              c:identifier="g_test_trap_has_passed">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+    </function>
+    <function name="test_trap_reached_timeout"
+              c:identifier="g_test_trap_reached_timeout">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+    </function>
+    <function name="test_rand_int" c:identifier="g_test_rand_int">
+      <return-value>
+        <type name="int32" c:type="gint32"/>
+      </return-value>
+    </function>
+    <function name="test_rand_int_range" c:identifier="g_test_rand_int_range">
+      <return-value>
+        <type name="int32" c:type="gint32"/>
+      </return-value>
+      <parameters>
+        <parameter name="begin">
+          <type name="int32" c:type="gint32"/>
+        </parameter>
+        <parameter name="end">
+          <type name="int32" c:type="gint32"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_rand_double" c:identifier="g_test_rand_double">
+      <return-value>
+        <type name="double" c:type="double"/>
+      </return-value>
+    </function>
+    <function name="test_rand_double_range"
+              c:identifier="g_test_rand_double_range">
+      <return-value>
+        <type name="double" c:type="double"/>
+      </return-value>
+      <parameters>
+        <parameter name="range_start">
+          <type name="double" c:type="double"/>
+        </parameter>
+        <parameter name="range_end">
+          <type name="double" c:type="double"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_create_case" c:identifier="g_test_create_case">
+      <return-value>
+        <type name="GTestCase*" c:type="GTestCase*"/>
+      </return-value>
+      <parameters>
+        <parameter name="test_name">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="data_size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="test_data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="data_setup">
+          <type name="???" c:type="???*"/>
+        </parameter>
+        <parameter name="data_test">
+          <type name="???" c:type="???*"/>
+        </parameter>
+        <parameter name="data_teardown">
+          <type name="???" c:type="???*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_create_suite" c:identifier="g_test_create_suite">
+      <return-value>
+        <type name="GTestSuite*" c:type="GTestSuite*"/>
+      </return-value>
+      <parameters>
+        <parameter name="suite_name">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_get_root" c:identifier="g_test_get_root">
+      <return-value>
+        <type name="GTestSuite*" c:type="GTestSuite*"/>
+      </return-value>
+    </function>
+    <function name="test_suite_add" c:identifier="g_test_suite_add">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="suite">
+          <type name="GTestSuite" c:type="GTestSuite*"/>
+        </parameter>
+        <parameter name="test_case">
+          <type name="GTestCase" c:type="GTestCase*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_suite_add_suite"
+              c:identifier="g_test_suite_add_suite">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="suite">
+          <type name="GTestSuite" c:type="GTestSuite*"/>
+        </parameter>
+        <parameter name="nestedsuite">
+          <type name="GTestSuite" c:type="GTestSuite*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_run_suite" c:identifier="g_test_run_suite">
+      <return-value>
+        <type name="int32" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="suite">
+          <type name="GTestSuite" c:type="GTestSuite*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_trap_assertions"
+              c:identifier="g_test_trap_assertions">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="domain">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="file">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="line">
+          <type name="int32" c:type="int"/>
+        </parameter>
+        <parameter name="func">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="assertion_flags">
+          <type name="guint64" c:type="guint64"/>
+        </parameter>
+        <parameter name="pattern">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="assertion_message" c:identifier="g_assertion_message">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="domain">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="file">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="line">
+          <type name="int32" c:type="int"/>
+        </parameter>
+        <parameter name="func">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="message">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="assertion_message_expr"
+              c:identifier="g_assertion_message_expr">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="domain">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="file">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="line">
+          <type name="int32" c:type="int"/>
+        </parameter>
+        <parameter name="func">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="expr">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="assertion_message_cmpstr"
+              c:identifier="g_assertion_message_cmpstr">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="domain">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="file">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="line">
+          <type name="int32" c:type="int"/>
+        </parameter>
+        <parameter name="func">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="expr">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="arg1">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="cmp">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="arg2">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="assertion_message_cmpnum"
+              c:identifier="g_assertion_message_cmpnum">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="domain">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="file">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="line">
+          <type name="int32" c:type="int"/>
+        </parameter>
+        <parameter name="func">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="expr">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="arg1">
+          <type name="long" c:type="long"/>
+        </parameter>
+        <parameter name="cmp">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="arg2">
+          <type name="long" c:type="long"/>
+        </parameter>
+        <parameter name="numtype">
+          <type name="char" c:type="char"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_add_vtable" c:identifier="g_test_add_vtable">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="testpath">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="data_size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="test_data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="data_setup">
+          <type name="???" c:type="???*"/>
+        </parameter>
+        <parameter name="data_test">
+          <type name="???" c:type="???*"/>
+        </parameter>
+        <parameter name="data_teardown">
+          <type name="???" c:type="???*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="TestConfig" c:type="GTestConfig"/>
+    <enumeration name="gtestlogtype" c:type="GTestLogType">
+      <member name="none" value="0" c:identifier="G_TEST_LOG_NONE"/>
+      <member name="error" value="1" c:identifier="G_TEST_LOG_ERROR"/>
+      <member name="start_binary"
+              value="2"
+              c:identifier="G_TEST_LOG_START_BINARY"/>
+      <member name="list_case" value="3" c:identifier="G_TEST_LOG_LIST_CASE"/>
+      <member name="skip_case" value="4" c:identifier="G_TEST_LOG_SKIP_CASE"/>
+      <member name="start_case"
+              value="5"
+              c:identifier="G_TEST_LOG_START_CASE"/>
+      <member name="stop_case" value="6" c:identifier="G_TEST_LOG_STOP_CASE"/>
+      <member name="min_result"
+              value="7"
+              c:identifier="G_TEST_LOG_MIN_RESULT"/>
+      <member name="max_result"
+              value="8"
+              c:identifier="G_TEST_LOG_MAX_RESULT"/>
+      <member name="message" value="9" c:identifier="G_TEST_LOG_MESSAGE"/>
+    </enumeration>
+    <record name="TestLogMsg" c:type="GTestLogMsg"/>
+    <record name="TestLogBuffer" c:type="GTestLogBuffer"/>
+    <function name="test_log_type_name" c:identifier="g_test_log_type_name">
+      <return-value>
+        <type name="string" c:type="char*"/>
+      </return-value>
+      <parameters>
+        <parameter name="log_type">
+          <type name="GTestLogType" c:type="GTestLogType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_log_buffer_new" c:identifier="g_test_log_buffer_new">
+      <return-value>
+        <type name="GTestLogBuffer*" c:type="GTestLogBuffer*"/>
+      </return-value>
+    </function>
+    <function name="test_log_buffer_free"
+              c:identifier="g_test_log_buffer_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="tbuffer">
+          <type name="GTestLogBuffer" c:type="GTestLogBuffer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_log_buffer_push"
+              c:identifier="g_test_log_buffer_push">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="tbuffer">
+          <type name="GTestLogBuffer" c:type="GTestLogBuffer*"/>
+        </parameter>
+        <parameter name="n_bytes">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="bytes">
+          <type name="guint8" c:type="guint8*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_log_buffer_pop" c:identifier="g_test_log_buffer_pop">
+      <return-value>
+        <type name="GTestLogMsg*" c:type="GTestLogMsg*"/>
+      </return-value>
+      <parameters>
+        <parameter name="tbuffer">
+          <type name="GTestLogBuffer" c:type="GTestLogBuffer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="test_log_msg_free" c:identifier="g_test_log_msg_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="tmsg">
+          <type name="GTestLogMsg" c:type="GTestLogMsg*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="ThreadPool" c:type="GThreadPool"/>
+    <record name="GThreadPool" c:type="_GThreadPool">
+      <field name="func">
+        <type name="GFunc" c:type="GFunc"/>
+      </field>
+      <field name="user_data">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="exclusive">
+        <type name="boolean" c:type="gboolean"/>
+      </field>
+    </record>
+    <function name="thread_pool_new" c:identifier="g_thread_pool_new">
+      <return-value>
+        <type name="GThreadPool*" c:type="GThreadPool*"/>
+      </return-value>
+      <parameters>
+        <parameter name="func">
+          <type name="GFunc" c:type="GFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="max_threads">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="exclusive">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_pool_push" c:identifier="g_thread_pool_push">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pool">
+          <type name="GThreadPool" c:type="GThreadPool*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_pool_set_max_threads"
+              c:identifier="g_thread_pool_set_max_threads">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pool">
+          <type name="GThreadPool" c:type="GThreadPool*"/>
+        </parameter>
+        <parameter name="max_threads">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="error">
+          <type name="GError" c:type="GError**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_pool_get_max_threads"
+              c:identifier="g_thread_pool_get_max_threads">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="pool">
+          <type name="GThreadPool" c:type="GThreadPool*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_pool_get_num_threads"
+              c:identifier="g_thread_pool_get_num_threads">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="pool">
+          <type name="GThreadPool" c:type="GThreadPool*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_pool_unprocessed"
+              c:identifier="g_thread_pool_unprocessed">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="pool">
+          <type name="GThreadPool" c:type="GThreadPool*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_pool_free" c:identifier="g_thread_pool_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pool">
+          <type name="GThreadPool" c:type="GThreadPool*"/>
+        </parameter>
+        <parameter name="immediate">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="wait_">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_pool_set_max_unused_threads"
+              c:identifier="g_thread_pool_set_max_unused_threads">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="max_threads">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_pool_get_max_unused_threads"
+              c:identifier="g_thread_pool_get_max_unused_threads">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+    </function>
+    <function name="thread_pool_get_num_unused_threads"
+              c:identifier="g_thread_pool_get_num_unused_threads">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+    </function>
+    <function name="thread_pool_stop_unused_threads"
+              c:identifier="g_thread_pool_stop_unused_threads">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="thread_pool_set_sort_function"
+              c:identifier="g_thread_pool_set_sort_function">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pool">
+          <type name="GThreadPool" c:type="GThreadPool*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_pool_set_max_idle_time"
+              c:identifier="g_thread_pool_set_max_idle_time">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="interval">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="thread_pool_get_max_idle_time"
+              c:identifier="g_thread_pool_get_max_idle_time">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+    </function>
+    <record name="Timer" c:type="GTimer"/>
+    <function name="timer_new" c:identifier="g_timer_new">
+      <return-value>
+        <type name="GTimer*" c:type="GTimer*"/>
+      </return-value>
+    </function>
+    <function name="timer_destroy" c:identifier="g_timer_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="timer">
+          <type name="GTimer" c:type="GTimer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="timer_start" c:identifier="g_timer_start">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="timer">
+          <type name="GTimer" c:type="GTimer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="timer_stop" c:identifier="g_timer_stop">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="timer">
+          <type name="GTimer" c:type="GTimer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="timer_reset" c:identifier="g_timer_reset">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="timer">
+          <type name="GTimer" c:type="GTimer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="timer_continue" c:identifier="g_timer_continue">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="timer">
+          <type name="GTimer" c:type="GTimer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="timer_elapsed" c:identifier="g_timer_elapsed">
+      <return-value>
+        <type name="double" c:type="gdouble"/>
+      </return-value>
+      <parameters>
+        <parameter name="timer">
+          <type name="GTimer" c:type="GTimer*"/>
+        </parameter>
+        <parameter name="microseconds">
+          <type name="gulong" c:type="gulong*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="usleep" c:identifier="g_usleep">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="microseconds">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="time_val_add" c:identifier="g_time_val_add">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="time_">
+          <type name="GTimeVal" c:type="GTimeVal*"/>
+        </parameter>
+        <parameter name="microseconds">
+          <type name="long" c:type="glong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="time_val_from_iso8601"
+              c:identifier="g_time_val_from_iso8601">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="iso_date">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="time_">
+          <type name="GTimeVal" c:type="GTimeVal*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="time_val_to_iso8601" c:identifier="g_time_val_to_iso8601">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="time_">
+          <type name="GTimeVal" c:type="GTimeVal*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Tree" c:type="GTree"/>
+    <callback name="GTraverseFunc">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="key">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="value">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="tree_new" c:identifier="g_tree_new">
+      <return-value>
+        <type name="GTree*" c:type="GTree*"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_compare_func">
+          <type name="GCompareFunc" c:type="GCompareFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_new_with_data" c:identifier="g_tree_new_with_data">
+      <return-value>
+        <type name="GTree*" c:type="GTree*"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_compare_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="key_compare_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_new_full" c:identifier="g_tree_new_full">
+      <return-value>
+        <type name="GTree*" c:type="GTree*"/>
+      </return-value>
+      <parameters>
+        <parameter name="key_compare_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="key_compare_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="key_destroy_func">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+        <parameter name="value_destroy_func">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_destroy" c:identifier="g_tree_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="tree">
+          <type name="GTree" c:type="GTree*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_insert" c:identifier="g_tree_insert">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="tree">
+          <type name="GTree" c:type="GTree*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="value">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_replace" c:identifier="g_tree_replace">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="tree">
+          <type name="GTree" c:type="GTree*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="value">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_remove" c:identifier="g_tree_remove">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="tree">
+          <type name="GTree" c:type="GTree*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_steal" c:identifier="g_tree_steal">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="tree">
+          <type name="GTree" c:type="GTree*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_lookup" c:identifier="g_tree_lookup">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="tree">
+          <type name="GTree" c:type="GTree*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_lookup_extended"
+              c:identifier="g_tree_lookup_extended">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="tree">
+          <type name="GTree" c:type="GTree*"/>
+        </parameter>
+        <parameter name="lookup_key">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+        <parameter name="orig_key">
+          <type name="gpointer" c:type="gpointer*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="gpointer" c:type="gpointer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_foreach" c:identifier="g_tree_foreach">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="tree">
+          <type name="GTree" c:type="GTree*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="GTraverseFunc" c:type="GTraverseFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_traverse" c:identifier="g_tree_traverse">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="tree">
+          <type name="GTree" c:type="GTree*"/>
+        </parameter>
+        <parameter name="traverse_func">
+          <type name="GTraverseFunc" c:type="GTraverseFunc"/>
+        </parameter>
+        <parameter name="traverse_type">
+          <type name="GTraverseType" c:type="GTraverseType"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_search" c:identifier="g_tree_search">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="tree">
+          <type name="GTree" c:type="GTree*"/>
+        </parameter>
+        <parameter name="search_func">
+          <type name="GCompareFunc" c:type="GCompareFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_height" c:identifier="g_tree_height">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="tree">
+          <type name="GTree" c:type="GTree*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="tree_nnodes" c:identifier="g_tree_nnodes">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="tree">
+          <type name="GTree" c:type="GTree*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uri_unescape_string" c:identifier="g_uri_unescape_string">
+      <return-value>
+        <type name="string" c:type="char*"/>
+      </return-value>
+      <parameters>
+        <parameter name="escaped_string">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="illegal_characters">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uri_unescape_segment"
+              c:identifier="g_uri_unescape_segment">
+      <return-value>
+        <type name="string" c:type="char*"/>
+      </return-value>
+      <parameters>
+        <parameter name="escaped_string">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="escaped_string_end">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="illegal_characters">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uri_parse_scheme" c:identifier="g_uri_parse_scheme">
+      <return-value>
+        <type name="string" c:type="char*"/>
+      </return-value>
+      <parameters>
+        <parameter name="uri">
+          <type name="string" c:type="char*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uri_escape_string" c:identifier="g_uri_escape_string">
+      <return-value>
+        <type name="string" c:type="char*"/>
+      </return-value>
+      <parameters>
+        <parameter name="unescaped">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="reserved_chars_allowed">
+          <type name="string" c:type="char*"/>
+        </parameter>
+        <parameter name="allow_utf8">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="printf" c:identifier="g_printf">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="fprintf" c:identifier="g_fprintf">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="file">
+          <type name="FILE" c:type="FILE*"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="sprintf" c:identifier="g_sprintf">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="vprintf" c:identifier="g_vprintf">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="vfprintf" c:identifier="g_vfprintf">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="file">
+          <type name="FILE" c:type="FILE*"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="vsprintf" c:identifier="g_vsprintf">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="vasprintf" c:identifier="g_vasprintf">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="string">
+          <type name="gchar" c:type="gchar**"/>
+        </parameter>
+        <parameter name="format">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="access" c:identifier="g_access">
+      <return-value>
+        <type name="int32" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="mode">
+          <type name="int32" c:type="int"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="chdir" c:identifier="g_chdir">
+      <return-value>
+        <type name="int32" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="path">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="unlink" c:identifier="g_unlink">
+      <return-value>
+        <type name="int32" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="rmdir" c:identifier="g_rmdir">
+      <return-value>
+        <type name="int32" c:type="int"/>
+      </return-value>
+      <parameters>
+        <parameter name="filename">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+  </namespace>
+</repository>

Added: trunk/gir/gobject-2.0.gir
==============================================================================
--- (empty file)
+++ trunk/gir/gobject-2.0.gir	Mon Jul 28 07:34:12 2008
@@ -0,0 +1,6594 @@
+<repository version="1.0"
+            xmlns="http://www.gtk.org/introspection/core/1.0";
+            xmlns:c="http://www.gtk.org/introspection/c/1.0";
+            xmlns:glib="http://www.gtk.org/introspection/glib/1.0";>
+  <namespace name="GObject">
+    <record name="Value" c:type="GValue"/>
+    <record name="TypePlugin" c:type="GTypePlugin"/>
+    <record name="TypeInstance" c:type="GTypeInstance"/>
+    <record name="TypeInfo" c:type="GTypeInfo"/>
+    <record name="TypeFundamentalInfo" c:type="GTypeFundamentalInfo"/>
+    <record name="InterfaceInfo" c:type="GInterfaceInfo"/>
+    <record name="TypeValueTable" c:type="GTypeValueTable"/>
+    <record name="TypeQuery" c:type="GTypeQuery"/>
+    <record name="GTypeInstance" c:type="_GTypeInstance">
+      <field name="g_class">
+        <type name="GTypeClass*" c:type="GTypeClass*"/>
+      </field>
+    </record>
+    <record name="GTypeQuery" c:type="_GTypeQuery">
+      <field name="type">
+        <type name="GType" c:type="GType"/>
+      </field>
+      <field name="type_name">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="class_size">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="instance_size">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <enumeration name="gtypedebugflags" c:type="GTypeDebugFlags">
+      <member name="none" value="0" c:identifier="G_TYPE_DEBUG_NONE"/>
+      <member name="objects" value="1" c:identifier="G_TYPE_DEBUG_OBJECTS"/>
+      <member name="signals" value="2" c:identifier="G_TYPE_DEBUG_SIGNALS"/>
+      <member name="mask" value="3" c:identifier="G_TYPE_DEBUG_MASK"/>
+    </enumeration>
+    <function name="type_init" c:identifier="g_type_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="type_init_with_debug_flags"
+              c:identifier="g_type_init_with_debug_flags">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="debug_flags">
+          <type name="GTypeDebugFlags" c:type="GTypeDebugFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_name" c:identifier="g_type_name">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_qname" c:identifier="g_type_qname">
+      <return-value>
+        <type name="GQuark" c:type="GQuark"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_from_name" c:identifier="g_type_from_name">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_parent" c:identifier="g_type_parent">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_depth" c:identifier="g_type_depth">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_next_base" c:identifier="g_type_next_base">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="leaf_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="root_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_is_a" c:identifier="g_type_is_a">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="is_a_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_class_ref" c:identifier="g_type_class_ref">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_class_peek" c:identifier="g_type_class_peek">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_class_peek_static"
+              c:identifier="g_type_class_peek_static">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_class_unref" c:identifier="g_type_class_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_class">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_class_peek_parent"
+              c:identifier="g_type_class_peek_parent">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_class">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_interface_peek" c:identifier="g_type_interface_peek">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance_class">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="iface_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_interface_peek_parent"
+              c:identifier="g_type_interface_peek_parent">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_iface">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_default_interface_ref"
+              c:identifier="g_type_default_interface_ref">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_default_interface_peek"
+              c:identifier="g_type_default_interface_peek">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_default_interface_unref"
+              c:identifier="g_type_default_interface_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_iface">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_children" c:identifier="g_type_children">
+      <return-value>
+        <type name="GType*" c:type="GType*"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="n_children">
+          <type name="guint" c:type="guint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_interfaces" c:identifier="g_type_interfaces">
+      <return-value>
+        <type name="GType*" c:type="GType*"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="n_interfaces">
+          <type name="guint" c:type="guint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_set_qdata" c:identifier="g_type_set_qdata">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="quark">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_get_qdata" c:identifier="g_type_get_qdata">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="quark">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_query" c:identifier="g_type_query">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="query">
+          <type name="GTypeQuery" c:type="GTypeQuery*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="GBaseInitFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_class">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GBaseFinalizeFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_class">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GClassInitFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_class">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="class_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GClassFinalizeFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_class">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="class_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GInstanceInitFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="GTypeInstance*" c:type="GTypeInstance*"/>
+        </parameter>
+        <parameter name="g_class">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GInterfaceInitFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_iface">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="iface_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GInterfaceFinalizeFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_iface">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="iface_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GTypeClassCacheFunc">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="cache_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="g_class">
+          <type name="GTypeClass*" c:type="GTypeClass*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GTypeInterfaceCheckFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="check_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="g_iface">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <enumeration name="gtypefundamentalflags" c:type="GTypeFundamentalFlags">
+      <member name="lag_classed" value="1" c:identifier="G_TYPE_FLAG_CLASSED"/>
+      <member name="lag_instantiatable"
+              value="2"
+              c:identifier="G_TYPE_FLAG_INSTANTIATABLE"/>
+      <member name="lag_derivable"
+              value="4"
+              c:identifier="G_TYPE_FLAG_DERIVABLE"/>
+      <member name="lag_deep_derivable"
+              value="8"
+              c:identifier="G_TYPE_FLAG_DEEP_DERIVABLE"/>
+    </enumeration>
+    <enumeration name="gtypeflags" c:type="GTypeFlags">
+      <member name="_abstract" value="16" c:identifier="G_TYPE_FLAG_ABSTRACT"/>
+      <member name="_value_abstract"
+              value="32"
+              c:identifier="G_TYPE_FLAG_VALUE_ABSTRACT"/>
+    </enumeration>
+    <record name="GTypeInfo" c:type="_GTypeInfo">
+      <field name="class_size">
+        <type name="uint16" c:type="guint16"/>
+      </field>
+      <field name="base_init">
+        <type name="GBaseInitFunc" c:type="GBaseInitFunc"/>
+      </field>
+      <field name="base_finalize">
+        <type name="GBaseFinalizeFunc" c:type="GBaseFinalizeFunc"/>
+      </field>
+      <field name="class_init">
+        <type name="GClassInitFunc" c:type="GClassInitFunc"/>
+      </field>
+      <field name="class_finalize">
+        <type name="GClassFinalizeFunc" c:type="GClassFinalizeFunc"/>
+      </field>
+      <field name="class_data">
+        <type name="gconstpointer" c:type="gconstpointer"/>
+      </field>
+      <field name="instance_size">
+        <type name="uint16" c:type="guint16"/>
+      </field>
+      <field name="n_preallocs">
+        <type name="uint16" c:type="guint16"/>
+      </field>
+      <field name="instance_init">
+        <type name="GInstanceInitFunc" c:type="GInstanceInitFunc"/>
+      </field>
+      <field name="value_table">
+        <type name="GTypeValueTable*" c:type="GTypeValueTable*"/>
+      </field>
+    </record>
+    <record name="GTypeFundamentalInfo" c:type="_GTypeFundamentalInfo">
+      <field name="type_flags">
+        <type name="GTypeFundamentalFlags" c:type="GTypeFundamentalFlags"/>
+      </field>
+    </record>
+    <record name="GInterfaceInfo" c:type="_GInterfaceInfo">
+      <field name="interface_init">
+        <type name="GInterfaceInitFunc" c:type="GInterfaceInitFunc"/>
+      </field>
+      <field name="interface_finalize">
+        <type name="GInterfaceFinalizeFunc" c:type="GInterfaceFinalizeFunc"/>
+      </field>
+      <field name="interface_data">
+        <type name="any" c:type="gpointer"/>
+      </field>
+    </record>
+    <record name="GTypeValueTable" c:type="_GTypeValueTable">
+      <callback name="value_init">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="value_free">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="value_copy">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="src_value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+          <parameter name="dest_value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="value_peek_pointer">
+        <return-value>
+          <type name="any" c:type="gpointer"/>
+        </return-value>
+        <parameters>
+          <parameter name="value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <field name="collect_format">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <callback name="collect_value">
+        <return-value>
+          <type name="string" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <parameter name="value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+          <parameter name="n_collect_values">
+            <type name="uint32" c:type="guint"/>
+          </parameter>
+          <parameter name="collect_values">
+            <type name="GTypeCValue*" c:type="GTypeCValue*"/>
+          </parameter>
+          <parameter name="collect_flags">
+            <type name="uint32" c:type="guint"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <field name="lcopy_format">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <callback name="lcopy_value">
+        <return-value>
+          <type name="string" c:type="gchar*"/>
+        </return-value>
+        <parameters>
+          <parameter name="value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+          <parameter name="n_collect_values">
+            <type name="uint32" c:type="guint"/>
+          </parameter>
+          <parameter name="collect_values">
+            <type name="GTypeCValue*" c:type="GTypeCValue*"/>
+          </parameter>
+          <parameter name="collect_flags">
+            <type name="uint32" c:type="guint"/>
+          </parameter>
+        </parameters>
+      </callback>
+    </record>
+    <function name="type_register_static"
+              c:identifier="g_type_register_static">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="parent_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="type_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="info">
+          <type name="GTypeInfo" c:type="GTypeInfo*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GTypeFlags" c:type="GTypeFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_register_static_simple"
+              c:identifier="g_type_register_static_simple">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="parent_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="type_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="class_size">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="class_init">
+          <type name="GClassInitFunc" c:type="GClassInitFunc"/>
+        </parameter>
+        <parameter name="instance_size">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="instance_init">
+          <type name="GInstanceInitFunc" c:type="GInstanceInitFunc"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GTypeFlags" c:type="GTypeFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_register_dynamic"
+              c:identifier="g_type_register_dynamic">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="parent_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="type_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="plugin">
+          <type name="GTypePlugin" c:type="GTypePlugin*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GTypeFlags" c:type="GTypeFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_register_fundamental"
+              c:identifier="g_type_register_fundamental">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="type_id">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="type_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="info">
+          <type name="GTypeInfo" c:type="GTypeInfo*"/>
+        </parameter>
+        <parameter name="finfo">
+          <type name="GTypeFundamentalInfo" c:type="GTypeFundamentalInfo*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GTypeFlags" c:type="GTypeFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_add_interface_static"
+              c:identifier="g_type_add_interface_static">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="interface_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="info">
+          <type name="GInterfaceInfo" c:type="GInterfaceInfo*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_add_interface_dynamic"
+              c:identifier="g_type_add_interface_dynamic">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="interface_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="plugin">
+          <type name="GTypePlugin" c:type="GTypePlugin*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_interface_add_prerequisite"
+              c:identifier="g_type_interface_add_prerequisite">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="interface_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="prerequisite_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_interface_prerequisites"
+              c:identifier="g_type_interface_prerequisites">
+      <return-value>
+        <type name="GType*" c:type="GType*"/>
+      </return-value>
+      <parameters>
+        <parameter name="interface_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="n_prerequisites">
+          <type name="guint" c:type="guint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_class_add_private"
+              c:identifier="g_type_class_add_private">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_class">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="private_size">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_instance_get_private"
+              c:identifier="g_type_instance_get_private">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="GTypeInstance" c:type="GTypeInstance*"/>
+        </parameter>
+        <parameter name="private_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_get_plugin" c:identifier="g_type_get_plugin">
+      <return-value>
+        <type name="GTypePlugin*" c:type="GTypePlugin*"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_interface_get_plugin"
+              c:identifier="g_type_interface_get_plugin">
+      <return-value>
+        <type name="GTypePlugin*" c:type="GTypePlugin*"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="interface_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_fundamental_next"
+              c:identifier="g_type_fundamental_next">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="type_fundamental" c:identifier="g_type_fundamental">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="type_id">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_create_instance"
+              c:identifier="g_type_create_instance">
+      <return-value>
+        <type name="GTypeInstance*" c:type="GTypeInstance*"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_free_instance" c:identifier="g_type_free_instance">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="GTypeInstance" c:type="GTypeInstance*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_add_class_cache_func"
+              c:identifier="g_type_add_class_cache_func">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cache_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="cache_func">
+          <type name="GTypeClassCacheFunc" c:type="GTypeClassCacheFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_remove_class_cache_func"
+              c:identifier="g_type_remove_class_cache_func">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="cache_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="cache_func">
+          <type name="GTypeClassCacheFunc" c:type="GTypeClassCacheFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_class_unref_uncached"
+              c:identifier="g_type_class_unref_uncached">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_class">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_add_interface_check"
+              c:identifier="g_type_add_interface_check">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="check_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="check_func">
+          <type name="GTypeInterfaceCheckFunc"
+                c:type="GTypeInterfaceCheckFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_remove_interface_check"
+              c:identifier="g_type_remove_interface_check">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="check_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="check_func">
+          <type name="GTypeInterfaceCheckFunc"
+                c:type="GTypeInterfaceCheckFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_value_table_peek"
+              c:identifier="g_type_value_table_peek">
+      <return-value>
+        <type name="GTypeValueTable*" c:type="GTypeValueTable*"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_check_instance" c:identifier="g_type_check_instance">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="GTypeInstance" c:type="GTypeInstance*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_check_instance_cast"
+              c:identifier="g_type_check_instance_cast">
+      <return-value>
+        <type name="GTypeInstance*" c:type="GTypeInstance*"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="GTypeInstance" c:type="GTypeInstance*"/>
+        </parameter>
+        <parameter name="iface_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_check_instance_is_a"
+              c:identifier="g_type_check_instance_is_a">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="GTypeInstance" c:type="GTypeInstance*"/>
+        </parameter>
+        <parameter name="iface_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_check_class_cast"
+              c:identifier="g_type_check_class_cast">
+      <return-value>
+        <type name="GTypeClass*" c:type="GTypeClass*"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_class">
+          <type name="GTypeClass" c:type="GTypeClass*"/>
+        </parameter>
+        <parameter name="is_a_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_check_class_is_a"
+              c:identifier="g_type_check_class_is_a">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_class">
+          <type name="GTypeClass" c:type="GTypeClass*"/>
+        </parameter>
+        <parameter name="is_a_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_check_is_value_type"
+              c:identifier="g_type_check_is_value_type">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_check_value" c:identifier="g_type_check_value">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_check_value_holds"
+              c:identifier="g_type_check_value_holds">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_test_flags" c:identifier="g_type_test_flags">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_name_from_instance"
+              c:identifier="g_type_name_from_instance">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="GTypeInstance" c:type="GTypeInstance*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_name_from_class"
+              c:identifier="g_type_name_from_class">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_class">
+          <type name="GTypeClass" c:type="GTypeClass*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_c_init" c:identifier="g_value_c_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="value_types_init" c:identifier="g_value_types_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="enum_types_init" c:identifier="g_enum_types_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="param_type_init" c:identifier="g_param_type_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="boxed_type_init" c:identifier="g_boxed_type_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="object_type_init" c:identifier="g_object_type_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="param_spec_types_init"
+              c:identifier="g_param_spec_types_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="value_transforms_init"
+              c:identifier="g_value_transforms_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <function name="signal_init" c:identifier="g_signal_init">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </function>
+    <callback name="GBoxedCopyFunc">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="boxed">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GBoxedFreeFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="boxed">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="boxed_copy" c:identifier="g_boxed_copy">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="boxed_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="src_boxed">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="boxed_free" c:identifier="g_boxed_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="boxed_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="boxed">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_boxed" c:identifier="g_value_set_boxed">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_boxed">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_static_boxed"
+              c:identifier="g_value_set_static_boxed">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_boxed">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_boxed" c:identifier="g_value_get_boxed">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_dup_boxed" c:identifier="g_value_dup_boxed">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="boxed_type_register_static"
+              c:identifier="g_boxed_type_register_static">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="boxed_copy">
+          <type name="GBoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+        </parameter>
+        <parameter name="boxed_free">
+          <type name="GBoxedFreeFunc" c:type="GBoxedFreeFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_take_boxed" c:identifier="g_value_take_boxed">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_boxed">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_boxed_take_ownership"
+              c:identifier="g_value_set_boxed_take_ownership">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_boxed">
+          <type name="gconstpointer" c:type="gconstpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_get_type" c:identifier="g_closure_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="value_get_type" c:identifier="g_value_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="value_array_get_type"
+              c:identifier="g_value_array_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="date_get_type" c:identifier="g_date_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="strv_get_type" c:identifier="g_strv_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="gstring_get_type" c:identifier="g_gstring_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="hash_table_get_type" c:identifier="g_hash_table_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="regex_get_type" c:identifier="g_regex_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <record name="Closure" c:type="GClosure"/>
+    <record name="ClosureNotifyData" c:type="GClosureNotifyData"/>
+    <callback name="GCallback">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+    </callback>
+    <callback name="GClosureNotify">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="closure">
+          <type name="GClosure*" c:type="GClosure*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GClosureMarshal">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure*" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue*" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue*" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <record name="CClosure" c:type="GCClosure"/>
+    <record name="GClosureNotifyData" c:type="_GClosureNotifyData">
+      <field name="data">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="notify">
+        <type name="GClosureNotify" c:type="GClosureNotify"/>
+      </field>
+    </record>
+    <record name="GClosure" c:type="_GClosure">
+      <field name="ref_count">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="meta_marshal">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="n_guards">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="n_fnotifiers">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="n_inotifiers">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="in_inotify">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="floating">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="derivative_flag">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="in_marshal">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="is_invalid">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <callback name="marshal">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="closure">
+            <type name="GClosure*" c:type="GClosure*"/>
+          </parameter>
+          <parameter name="return_value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+          <parameter name="n_param_values">
+            <type name="uint32" c:type="guint"/>
+          </parameter>
+          <parameter name="param_values">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+          <parameter name="invocation_hint">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+          <parameter name="marshal_data">
+            <type name="any" c:type="gpointer"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <field name="data">
+        <type name="any" c:type="gpointer"/>
+      </field>
+      <field name="notifiers">
+        <type name="GClosureNotifyData*" c:type="GClosureNotifyData*"/>
+      </field>
+    </record>
+    <record name="GCClosure" c:type="_GCClosure">
+      <field name="closure">
+        <type name="GClosure" c:type="GClosure"/>
+      </field>
+      <field name="callback">
+        <type name="any" c:type="gpointer"/>
+      </field>
+    </record>
+    <function name="cclosure_new" c:identifier="g_cclosure_new">
+      <return-value>
+        <type name="GClosure*" c:type="GClosure*"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback_func">
+          <type name="GCallback" c:type="GCallback"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="destroy_data">
+          <type name="GClosureNotify" c:type="GClosureNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_new_swap" c:identifier="g_cclosure_new_swap">
+      <return-value>
+        <type name="GClosure*" c:type="GClosure*"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback_func">
+          <type name="GCallback" c:type="GCallback"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="destroy_data">
+          <type name="GClosureNotify" c:type="GClosureNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_type_cclosure_new"
+              c:identifier="g_signal_type_cclosure_new">
+      <return-value>
+        <type name="GClosure*" c:type="GClosure*"/>
+      </return-value>
+      <parameters>
+        <parameter name="itype">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="struct_offset">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_ref" c:identifier="g_closure_ref">
+      <return-value>
+        <type name="GClosure*" c:type="GClosure*"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_sink" c:identifier="g_closure_sink">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_unref" c:identifier="g_closure_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_new_simple" c:identifier="g_closure_new_simple">
+      <return-value>
+        <type name="GClosure*" c:type="GClosure*"/>
+      </return-value>
+      <parameters>
+        <parameter name="sizeof_closure">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_add_finalize_notifier"
+              c:identifier="g_closure_add_finalize_notifier">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="notify_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="notify_func">
+          <type name="GClosureNotify" c:type="GClosureNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_remove_finalize_notifier"
+              c:identifier="g_closure_remove_finalize_notifier">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="notify_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="notify_func">
+          <type name="GClosureNotify" c:type="GClosureNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_add_invalidate_notifier"
+              c:identifier="g_closure_add_invalidate_notifier">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="notify_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="notify_func">
+          <type name="GClosureNotify" c:type="GClosureNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_remove_invalidate_notifier"
+              c:identifier="g_closure_remove_invalidate_notifier">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="notify_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="notify_func">
+          <type name="GClosureNotify" c:type="GClosureNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_add_marshal_guards"
+              c:identifier="g_closure_add_marshal_guards">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="pre_marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="pre_marshal_notify">
+          <type name="GClosureNotify" c:type="GClosureNotify"/>
+        </parameter>
+        <parameter name="post_marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="post_marshal_notify">
+          <type name="GClosureNotify" c:type="GClosureNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_set_marshal" c:identifier="g_closure_set_marshal">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="marshal">
+          <type name="GClosureMarshal" c:type="GClosureMarshal"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_set_meta_marshal"
+              c:identifier="g_closure_set_meta_marshal">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="meta_marshal">
+          <type name="GClosureMarshal" c:type="GClosureMarshal"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_invalidate" c:identifier="g_closure_invalidate">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_invoke" c:identifier="g_closure_invoke">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="EnumValue" c:type="GEnumValue"/>
+    <record name="FlagsValue" c:type="GFlagsValue"/>
+    <record name="GEnumValue" c:type="_GEnumValue">
+      <field name="value">
+        <type name="int32" c:type="gint"/>
+      </field>
+      <field name="value_name">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="value_nick">
+        <type name="string" c:type="gchar*"/>
+      </field>
+    </record>
+    <record name="GFlagsValue" c:type="_GFlagsValue">
+      <field name="value">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="value_name">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="value_nick">
+        <type name="string" c:type="gchar*"/>
+      </field>
+    </record>
+    <function name="enum_get_value" c:identifier="g_enum_get_value">
+      <return-value>
+        <type name="GEnumValue*" c:type="GEnumValue*"/>
+      </return-value>
+      <parameters>
+        <parameter name="enum_class">
+          <type name="GEnumClass" c:type="GEnumClass*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="enum_get_value_by_name"
+              c:identifier="g_enum_get_value_by_name">
+      <return-value>
+        <type name="GEnumValue*" c:type="GEnumValue*"/>
+      </return-value>
+      <parameters>
+        <parameter name="enum_class">
+          <type name="GEnumClass" c:type="GEnumClass*"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="enum_get_value_by_nick"
+              c:identifier="g_enum_get_value_by_nick">
+      <return-value>
+        <type name="GEnumValue*" c:type="GEnumValue*"/>
+      </return-value>
+      <parameters>
+        <parameter name="enum_class">
+          <type name="GEnumClass" c:type="GEnumClass*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="flags_get_first_value"
+              c:identifier="g_flags_get_first_value">
+      <return-value>
+        <type name="GFlagsValue*" c:type="GFlagsValue*"/>
+      </return-value>
+      <parameters>
+        <parameter name="flags_class">
+          <type name="GFlagsClass" c:type="GFlagsClass*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="flags_get_value_by_name"
+              c:identifier="g_flags_get_value_by_name">
+      <return-value>
+        <type name="GFlagsValue*" c:type="GFlagsValue*"/>
+      </return-value>
+      <parameters>
+        <parameter name="flags_class">
+          <type name="GFlagsClass" c:type="GFlagsClass*"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="flags_get_value_by_nick"
+              c:identifier="g_flags_get_value_by_nick">
+      <return-value>
+        <type name="GFlagsValue*" c:type="GFlagsValue*"/>
+      </return-value>
+      <parameters>
+        <parameter name="flags_class">
+          <type name="GFlagsClass" c:type="GFlagsClass*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_enum" c:identifier="g_value_set_enum">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_enum">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_enum" c:identifier="g_value_get_enum">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_flags" c:identifier="g_value_set_flags">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_flags">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_flags" c:identifier="g_value_get_flags">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="enum_register_static"
+              c:identifier="g_enum_register_static">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="const_static_values">
+          <type name="GEnumValue" c:type="GEnumValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="flags_register_static"
+              c:identifier="g_flags_register_static">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="const_static_values">
+          <type name="GFlagsValue" c:type="GFlagsValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="enum_complete_type_info"
+              c:identifier="g_enum_complete_type_info">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_enum_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="info">
+          <type name="GTypeInfo" c:type="GTypeInfo*"/>
+        </parameter>
+        <parameter name="const_values">
+          <type name="GEnumValue" c:type="GEnumValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="flags_complete_type_info"
+              c:identifier="g_flags_complete_type_info">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_flags_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="info">
+          <type name="GTypeInfo" c:type="GTypeInfo*"/>
+        </parameter>
+        <parameter name="const_values">
+          <type name="GFlagsValue" c:type="GFlagsValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__void"
+              c:identifier="g_cclosure_marshal_VOID__VOID">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__boolean"
+              c:identifier="g_cclosure_marshal_VOID__BOOLEAN">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__char"
+              c:identifier="g_cclosure_marshal_VOID__CHAR">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__uchar"
+              c:identifier="g_cclosure_marshal_VOID__UCHAR">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__int"
+              c:identifier="g_cclosure_marshal_VOID__INT">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__uint"
+              c:identifier="g_cclosure_marshal_VOID__UINT">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__long"
+              c:identifier="g_cclosure_marshal_VOID__LONG">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__ulong"
+              c:identifier="g_cclosure_marshal_VOID__ULONG">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__enum"
+              c:identifier="g_cclosure_marshal_VOID__ENUM">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__flags"
+              c:identifier="g_cclosure_marshal_VOID__FLAGS">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__float"
+              c:identifier="g_cclosure_marshal_VOID__FLOAT">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__double"
+              c:identifier="g_cclosure_marshal_VOID__DOUBLE">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__string"
+              c:identifier="g_cclosure_marshal_VOID__STRING">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__param"
+              c:identifier="g_cclosure_marshal_VOID__PARAM">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__boxed"
+              c:identifier="g_cclosure_marshal_VOID__BOXED">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__pointer"
+              c:identifier="g_cclosure_marshal_VOID__POINTER">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__object"
+              c:identifier="g_cclosure_marshal_VOID__OBJECT">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_void__uint_pointer"
+              c:identifier="g_cclosure_marshal_VOID__UINT_POINTER">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_boolean__flags"
+              c:identifier="g_cclosure_marshal_BOOLEAN__FLAGS">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_marshal_string__object_pointer"
+              c:identifier="g_cclosure_marshal_STRING__OBJECT_POINTER">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="invocation_hint">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="marshal_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="GValueTransform">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="src_value">
+          <type name="GValue*" c:type="GValue*"/>
+        </parameter>
+        <parameter name="dest_value">
+          <type name="GValue*" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <record name="GValue" c:type="_GValue">
+      <field name="g_type">
+        <type name="GType" c:type="GType"/>
+      </field>
+      <field name="data">
+        <type name="???" c:type="???"/>
+      </field>
+    </record>
+    <function name="value_init" c:identifier="g_value_init">
+      <return-value>
+        <type name="GValue*" c:type="GValue*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="g_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_copy" c:identifier="g_value_copy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="src_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="dest_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_reset" c:identifier="g_value_reset">
+      <return-value>
+        <type name="GValue*" c:type="GValue*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_unset" c:identifier="g_value_unset">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_instance" c:identifier="g_value_set_instance">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_fits_pointer" c:identifier="g_value_fits_pointer">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_peek_pointer" c:identifier="g_value_peek_pointer">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_type_compatible"
+              c:identifier="g_value_type_compatible">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="src_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="dest_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_type_transformable"
+              c:identifier="g_value_type_transformable">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="src_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="dest_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_transform" c:identifier="g_value_transform">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="src_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="dest_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_register_transform_func"
+              c:identifier="g_value_register_transform_func">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="src_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="dest_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="transform_func">
+          <type name="GValueTransform" c:type="GValueTransform"/>
+        </parameter>
+      </parameters>
+    </function>
+    <enumeration name="gparamflags" c:type="GParamFlags">
+      <member name="readable" value="1" c:identifier="G_PARAM_READABLE"/>
+      <member name="writable" value="2" c:identifier="G_PARAM_WRITABLE"/>
+      <member name="construct" value="4" c:identifier="G_PARAM_CONSTRUCT"/>
+      <member name="construct_only"
+              value="8"
+              c:identifier="G_PARAM_CONSTRUCT_ONLY"/>
+      <member name="lax_validation"
+              value="16"
+              c:identifier="G_PARAM_LAX_VALIDATION"/>
+      <member name="static_name"
+              value="32"
+              c:identifier="G_PARAM_STATIC_NAME"/>
+      <member name="private" value="32" c:identifier="G_PARAM_PRIVATE"/>
+      <member name="static_nick"
+              value="64"
+              c:identifier="G_PARAM_STATIC_NICK"/>
+      <member name="static_blurb"
+              value="128"
+              c:identifier="G_PARAM_STATIC_BLURB"/>
+    </enumeration>
+    <record name="ParamSpec" c:type="GParamSpec"/>
+    <record name="Parameter" c:type="GParameter"/>
+    <record name="ParamSpecPool" c:type="GParamSpecPool"/>
+    <record name="GParamSpec" c:type="_GParamSpec">
+      <field name="g_type_instance">
+        <type name="GTypeInstance" c:type="GTypeInstance"/>
+      </field>
+      <field name="name">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="flags">
+        <type name="GParamFlags" c:type="GParamFlags"/>
+      </field>
+      <field name="value_type">
+        <type name="GType" c:type="GType"/>
+      </field>
+      <field name="owner_type">
+        <type name="GType" c:type="GType"/>
+      </field>
+      <field name="_nick">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="_blurb">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="qdata">
+        <type name="GData*" c:type="GData*"/>
+      </field>
+      <field name="ref_count">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="param_id">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="value_type">
+        <type name="GType" c:type="GType"/>
+      </field>
+      <callback name="finalize">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="pspec">
+            <type name="GParamSpec*" c:type="GParamSpec*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="value_set_default">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="pspec">
+            <type name="GParamSpec*" c:type="GParamSpec*"/>
+          </parameter>
+          <parameter name="value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="value_validate">
+        <return-value>
+          <type name="boolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="pspec">
+            <type name="GParamSpec*" c:type="GParamSpec*"/>
+          </parameter>
+          <parameter name="value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="values_cmp">
+        <return-value>
+          <type name="int32" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <parameter name="pspec">
+            <type name="GParamSpec*" c:type="GParamSpec*"/>
+          </parameter>
+          <parameter name="value1">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+          <parameter name="value2">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <field name="dummy">
+        <type name="any" c:type="gpointer"/>
+      </field>
+    </record>
+    <record name="GParameter" c:type="_GParameter">
+      <field name="name">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="value">
+        <type name="GValue" c:type="GValue"/>
+      </field>
+    </record>
+    <function name="param_spec_ref" c:identifier="g_param_spec_ref">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_unref" c:identifier="g_param_spec_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_sink" c:identifier="g_param_spec_sink">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_ref_sink" c:identifier="g_param_spec_ref_sink">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_get_qdata"
+              c:identifier="g_param_spec_get_qdata">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+        <parameter name="quark">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_set_qdata"
+              c:identifier="g_param_spec_set_qdata">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+        <parameter name="quark">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_set_qdata_full"
+              c:identifier="g_param_spec_set_qdata_full">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+        <parameter name="quark">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="destroy">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_steal_qdata"
+              c:identifier="g_param_spec_steal_qdata">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+        <parameter name="quark">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_get_redirect_target"
+              c:identifier="g_param_spec_get_redirect_target">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_value_set_default"
+              c:identifier="g_param_value_set_default">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_value_defaults"
+              c:identifier="g_param_value_defaults">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_value_validate"
+              c:identifier="g_param_value_validate">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_value_convert" c:identifier="g_param_value_convert">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+        <parameter name="src_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="dest_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="strict_validation">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_values_cmp" c:identifier="g_param_values_cmp">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+        <parameter name="value1">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="value2">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_get_name" c:identifier="g_param_spec_get_name">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_get_nick" c:identifier="g_param_spec_get_nick">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_get_blurb"
+              c:identifier="g_param_spec_get_blurb">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_param" c:identifier="g_value_set_param">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="param">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_param" c:identifier="g_value_get_param">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_dup_param" c:identifier="g_value_dup_param">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_take_param" c:identifier="g_value_take_param">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="param">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_param_take_ownership"
+              c:identifier="g_value_set_param_take_ownership">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="param">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="ParamSpecTypeInfo" c:type="GParamSpecTypeInfo"/>
+    <record name="GParamSpecTypeInfo" c:type="_GParamSpecTypeInfo">
+      <field name="instance_size">
+        <type name="uint16" c:type="guint16"/>
+      </field>
+      <field name="n_preallocs">
+        <type name="uint16" c:type="guint16"/>
+      </field>
+      <callback name="instance_init">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="pspec">
+            <type name="GParamSpec*" c:type="GParamSpec*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <field name="value_type">
+        <type name="GType" c:type="GType"/>
+      </field>
+      <callback name="finalize">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="pspec">
+            <type name="GParamSpec*" c:type="GParamSpec*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="value_set_default">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="pspec">
+            <type name="GParamSpec*" c:type="GParamSpec*"/>
+          </parameter>
+          <parameter name="value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="value_validate">
+        <return-value>
+          <type name="boolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="pspec">
+            <type name="GParamSpec*" c:type="GParamSpec*"/>
+          </parameter>
+          <parameter name="value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="values_cmp">
+        <return-value>
+          <type name="int32" c:type="gint"/>
+        </return-value>
+        <parameters>
+          <parameter name="pspec">
+            <type name="GParamSpec*" c:type="GParamSpec*"/>
+          </parameter>
+          <parameter name="value1">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+          <parameter name="value2">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+        </parameters>
+      </callback>
+    </record>
+    <function name="param_type_register_static"
+              c:identifier="g_param_type_register_static">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="pspec_info">
+          <type name="GParamSpecTypeInfo" c:type="GParamSpecTypeInfo*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="g_param_type_register_static_constant"
+              c:identifier="_g_param_type_register_static_constant">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="pspec_info">
+          <type name="GParamSpecTypeInfo" c:type="GParamSpecTypeInfo*"/>
+        </parameter>
+        <parameter name="opt_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_internal" c:identifier="g_param_spec_internal">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="param_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_pool_new" c:identifier="g_param_spec_pool_new">
+      <return-value>
+        <type name="GParamSpecPool*" c:type="GParamSpecPool*"/>
+      </return-value>
+      <parameters>
+        <parameter name="type_prefixing">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_pool_insert"
+              c:identifier="g_param_spec_pool_insert">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pool">
+          <type name="GParamSpecPool" c:type="GParamSpecPool*"/>
+        </parameter>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+        <parameter name="owner_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_pool_remove"
+              c:identifier="g_param_spec_pool_remove">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="pool">
+          <type name="GParamSpecPool" c:type="GParamSpecPool*"/>
+        </parameter>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_pool_lookup"
+              c:identifier="g_param_spec_pool_lookup">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="pool">
+          <type name="GParamSpecPool" c:type="GParamSpecPool*"/>
+        </parameter>
+        <parameter name="param_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="owner_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="walk_ancestors">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_pool_list_owned"
+              c:identifier="g_param_spec_pool_list_owned">
+      <return-value>
+        <type name="GList*" c:type="GList*"/>
+      </return-value>
+      <parameters>
+        <parameter name="pool">
+          <type name="GParamSpecPool" c:type="GParamSpecPool*"/>
+        </parameter>
+        <parameter name="owner_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_pool_list"
+              c:identifier="g_param_spec_pool_list">
+      <return-value>
+        <type name="GParamSpec**" c:type="GParamSpec**"/>
+      </return-value>
+      <parameters>
+        <parameter name="pool">
+          <type name="GParamSpecPool" c:type="GParamSpecPool*"/>
+        </parameter>
+        <parameter name="owner_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="n_pspecs_p">
+          <type name="guint" c:type="guint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="SignalQuery" c:type="GSignalQuery"/>
+    <record name="SignalInvocationHint" c:type="GSignalInvocationHint"/>
+    <callback name="GSignalEmissionHook">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="ihint">
+          <type name="GSignalInvocationHint*" c:type="GSignalInvocationHint*"/>
+        </parameter>
+        <parameter name="n_param_values">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_values">
+          <type name="GValue*" c:type="GValue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GSignalAccumulator">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="ihint">
+          <type name="GSignalInvocationHint*" c:type="GSignalInvocationHint*"/>
+        </parameter>
+        <parameter name="return_accu">
+          <type name="GValue*" c:type="GValue*"/>
+        </parameter>
+        <parameter name="handler_return">
+          <type name="GValue*" c:type="GValue*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <enumeration name="gsignalflags" c:type="GSignalFlags">
+      <member name="run_first" value="1" c:identifier="G_SIGNAL_RUN_FIRST"/>
+      <member name="run_last" value="2" c:identifier="G_SIGNAL_RUN_LAST"/>
+      <member name="run_cleanup"
+              value="4"
+              c:identifier="G_SIGNAL_RUN_CLEANUP"/>
+      <member name="no_recurse" value="8" c:identifier="G_SIGNAL_NO_RECURSE"/>
+      <member name="detailed" value="16" c:identifier="G_SIGNAL_DETAILED"/>
+      <member name="action" value="32" c:identifier="G_SIGNAL_ACTION"/>
+      <member name="no_hooks" value="64" c:identifier="G_SIGNAL_NO_HOOKS"/>
+    </enumeration>
+    <enumeration name="gconnectflags" c:type="GConnectFlags">
+      <member name="after" value="1" c:identifier="G_CONNECT_AFTER"/>
+      <member name="swapped" value="2" c:identifier="G_CONNECT_SWAPPED"/>
+    </enumeration>
+    <enumeration name="gsignalmatchtype" c:type="GSignalMatchType">
+      <member name="id" value="1" c:identifier="G_SIGNAL_MATCH_ID"/>
+      <member name="detail" value="2" c:identifier="G_SIGNAL_MATCH_DETAIL"/>
+      <member name="closure" value="4" c:identifier="G_SIGNAL_MATCH_CLOSURE"/>
+      <member name="func" value="8" c:identifier="G_SIGNAL_MATCH_FUNC"/>
+      <member name="data" value="16" c:identifier="G_SIGNAL_MATCH_DATA"/>
+      <member name="unblocked"
+              value="32"
+              c:identifier="G_SIGNAL_MATCH_UNBLOCKED"/>
+    </enumeration>
+    <record name="GSignalInvocationHint" c:type="_GSignalInvocationHint">
+      <field name="signal_id">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="detail">
+        <type name="GQuark" c:type="GQuark"/>
+      </field>
+      <field name="run_type">
+        <type name="GSignalFlags" c:type="GSignalFlags"/>
+      </field>
+    </record>
+    <record name="GSignalQuery" c:type="_GSignalQuery">
+      <field name="signal_id">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="signal_name">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="itype">
+        <type name="GType" c:type="GType"/>
+      </field>
+      <field name="signal_flags">
+        <type name="GSignalFlags" c:type="GSignalFlags"/>
+      </field>
+      <field name="return_type">
+        <type name="GType" c:type="GType"/>
+      </field>
+      <field name="n_params">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="param_types">
+        <type name="GType*" c:type="GType*"/>
+      </field>
+    </record>
+    <function name="signal_newv" c:identifier="g_signal_newv">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="signal_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="itype">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="signal_flags">
+          <type name="GSignalFlags" c:type="GSignalFlags"/>
+        </parameter>
+        <parameter name="class_closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="accumulator">
+          <type name="GSignalAccumulator" c:type="GSignalAccumulator"/>
+        </parameter>
+        <parameter name="accu_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="c_marshaller">
+          <type name="GSignalCMarshaller" c:type="GSignalCMarshaller"/>
+        </parameter>
+        <parameter name="return_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="n_params">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="param_types">
+          <type name="GType" c:type="GType*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_new_valist" c:identifier="g_signal_new_valist">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="signal_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="itype">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="signal_flags">
+          <type name="GSignalFlags" c:type="GSignalFlags"/>
+        </parameter>
+        <parameter name="class_closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="accumulator">
+          <type name="GSignalAccumulator" c:type="GSignalAccumulator"/>
+        </parameter>
+        <parameter name="accu_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="c_marshaller">
+          <type name="GSignalCMarshaller" c:type="GSignalCMarshaller"/>
+        </parameter>
+        <parameter name="return_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="n_params">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_new" c:identifier="g_signal_new">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="signal_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="itype">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="signal_flags">
+          <type name="GSignalFlags" c:type="GSignalFlags"/>
+        </parameter>
+        <parameter name="class_offset">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="accumulator">
+          <type name="GSignalAccumulator" c:type="GSignalAccumulator"/>
+        </parameter>
+        <parameter name="accu_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="c_marshaller">
+          <type name="GSignalCMarshaller" c:type="GSignalCMarshaller"/>
+        </parameter>
+        <parameter name="return_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="n_params">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_new_class_handler"
+              c:identifier="g_signal_new_class_handler">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="signal_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="itype">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="signal_flags">
+          <type name="GSignalFlags" c:type="GSignalFlags"/>
+        </parameter>
+        <parameter name="class_handler">
+          <type name="GCallback" c:type="GCallback"/>
+        </parameter>
+        <parameter name="accumulator">
+          <type name="GSignalAccumulator" c:type="GSignalAccumulator"/>
+        </parameter>
+        <parameter name="accu_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="c_marshaller">
+          <type name="GSignalCMarshaller" c:type="GSignalCMarshaller"/>
+        </parameter>
+        <parameter name="return_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="n_params">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_emitv" c:identifier="g_signal_emitv">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance_and_params">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="detail">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_emit_valist" c:identifier="g_signal_emit_valist">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="detail">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="var_args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_emit" c:identifier="g_signal_emit">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="detail">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_emit_by_name" c:identifier="g_signal_emit_by_name">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="detailed_signal">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_lookup" c:identifier="g_signal_lookup">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="itype">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_name" c:identifier="g_signal_name">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_query" c:identifier="g_signal_query">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="query">
+          <type name="GSignalQuery" c:type="GSignalQuery*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_list_ids" c:identifier="g_signal_list_ids">
+      <return-value>
+        <type name="guint*" c:type="guint*"/>
+      </return-value>
+      <parameters>
+        <parameter name="itype">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="n_ids">
+          <type name="guint" c:type="guint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_parse_name" c:identifier="g_signal_parse_name">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="detailed_signal">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="itype">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="signal_id_p">
+          <type name="guint" c:type="guint*"/>
+        </parameter>
+        <parameter name="detail_p">
+          <type name="GQuark" c:type="GQuark*"/>
+        </parameter>
+        <parameter name="force_detail_quark">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_get_invocation_hint"
+              c:identifier="g_signal_get_invocation_hint">
+      <return-value>
+        <type name="GSignalInvocationHint*" c:type="GSignalInvocationHint*"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_stop_emission"
+              c:identifier="g_signal_stop_emission">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="detail">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_stop_emission_by_name"
+              c:identifier="g_signal_stop_emission_by_name">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="detailed_signal">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_add_emission_hook"
+              c:identifier="g_signal_add_emission_hook">
+      <return-value>
+        <type name="ulong" c:type="gulong"/>
+      </return-value>
+      <parameters>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="detail">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="hook_func">
+          <type name="GSignalEmissionHook" c:type="GSignalEmissionHook"/>
+        </parameter>
+        <parameter name="hook_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="data_destroy">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_remove_emission_hook"
+              c:identifier="g_signal_remove_emission_hook">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="hook_id">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_has_handler_pending"
+              c:identifier="g_signal_has_handler_pending">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="detail">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="may_be_blocked">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_connect_closure_by_id"
+              c:identifier="g_signal_connect_closure_by_id">
+      <return-value>
+        <type name="ulong" c:type="gulong"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="detail">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="after">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_connect_closure"
+              c:identifier="g_signal_connect_closure">
+      <return-value>
+        <type name="ulong" c:type="gulong"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="detailed_signal">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="after">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_connect_data" c:identifier="g_signal_connect_data">
+      <return-value>
+        <type name="ulong" c:type="gulong"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="detailed_signal">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="c_handler">
+          <type name="GCallback" c:type="GCallback"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="destroy_data">
+          <type name="GClosureNotify" c:type="GClosureNotify"/>
+        </parameter>
+        <parameter name="connect_flags">
+          <type name="GConnectFlags" c:type="GConnectFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_handler_block"
+              c:identifier="g_signal_handler_block">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="handler_id">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_handler_unblock"
+              c:identifier="g_signal_handler_unblock">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="handler_id">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_handler_disconnect"
+              c:identifier="g_signal_handler_disconnect">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="handler_id">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_handler_is_connected"
+              c:identifier="g_signal_handler_is_connected">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="handler_id">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_handler_find" c:identifier="g_signal_handler_find">
+      <return-value>
+        <type name="ulong" c:type="gulong"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="mask">
+          <type name="GSignalMatchType" c:type="GSignalMatchType"/>
+        </parameter>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="detail">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_handlers_block_matched"
+              c:identifier="g_signal_handlers_block_matched">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="mask">
+          <type name="GSignalMatchType" c:type="GSignalMatchType"/>
+        </parameter>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="detail">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_handlers_unblock_matched"
+              c:identifier="g_signal_handlers_unblock_matched">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="mask">
+          <type name="GSignalMatchType" c:type="GSignalMatchType"/>
+        </parameter>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="detail">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_handlers_disconnect_matched"
+              c:identifier="g_signal_handlers_disconnect_matched">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="mask">
+          <type name="GSignalMatchType" c:type="GSignalMatchType"/>
+        </parameter>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="detail">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+        <parameter name="func">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_override_class_closure"
+              c:identifier="g_signal_override_class_closure">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="signal_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="instance_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="class_closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_override_class_handler"
+              c:identifier="g_signal_override_class_handler">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="signal_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="instance_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="class_handler">
+          <type name="GCallback" c:type="GCallback"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_chain_from_overridden"
+              c:identifier="g_signal_chain_from_overridden">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance_and_params">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="return_value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_chain_from_overridden_handler"
+              c:identifier="g_signal_chain_from_overridden_handler">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_accumulator_true_handled"
+              c:identifier="g_signal_accumulator_true_handled">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="ihint">
+          <type name="GSignalInvocationHint" c:type="GSignalInvocationHint*"/>
+        </parameter>
+        <parameter name="return_accu">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="handler_return">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="dummy">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_handlers_destroy"
+              c:identifier="g_signal_handlers_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="g_signals_destroy" c:identifier="_g_signals_destroy">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="itype">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="Object" c:type="GObject"/>
+    <record name="InitiallyUnowned" c:type="GInitiallyUnowned"/>
+    <record name="ObjectConstructParam" c:type="GObjectConstructParam"/>
+    <callback name="GObjectGetPropertyFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject*" c:type="GObject*"/>
+        </parameter>
+        <parameter name="property_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="value">
+          <type name="GValue*" c:type="GValue*"/>
+        </parameter>
+        <parameter name="pspec">
+          <type name="GParamSpec*" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GObjectSetPropertyFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject*" c:type="GObject*"/>
+        </parameter>
+        <parameter name="property_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="value">
+          <type name="GValue*" c:type="GValue*"/>
+        </parameter>
+        <parameter name="pspec">
+          <type name="GParamSpec*" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GObjectFinalizeFunc">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject*" c:type="GObject*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GWeakNotify">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="where_the_object_was">
+          <type name="GObject*" c:type="GObject*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <record name="GObject" c:type="_GObject">
+      <field name="g_type_instance">
+        <type name="GTypeInstance" c:type="GTypeInstance"/>
+      </field>
+      <field name="ref_count">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="qdata">
+        <type name="GData*" c:type="GData*"/>
+      </field>
+      <field name="construct_properties">
+        <type name="GSList*" c:type="GSList*"/>
+      </field>
+      <callback name="constructor">
+        <return-value>
+          <type name="GObject*" c:type="GObject*"/>
+        </return-value>
+        <parameters>
+          <parameter name="type">
+            <type name="GType" c:type="GType"/>
+          </parameter>
+          <parameter name="n_construct_properties">
+            <type name="uint32" c:type="guint"/>
+          </parameter>
+          <parameter name="construct_properties">
+            <type name="GObjectConstructParam*"
+                  c:type="GObjectConstructParam*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="set_property">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="object">
+            <type name="GObject*" c:type="GObject*"/>
+          </parameter>
+          <parameter name="property_id">
+            <type name="uint32" c:type="guint"/>
+          </parameter>
+          <parameter name="value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+          <parameter name="pspec">
+            <type name="GParamSpec*" c:type="GParamSpec*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="get_property">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="object">
+            <type name="GObject*" c:type="GObject*"/>
+          </parameter>
+          <parameter name="property_id">
+            <type name="uint32" c:type="guint"/>
+          </parameter>
+          <parameter name="value">
+            <type name="GValue*" c:type="GValue*"/>
+          </parameter>
+          <parameter name="pspec">
+            <type name="GParamSpec*" c:type="GParamSpec*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="dispose">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="object">
+            <type name="GObject*" c:type="GObject*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="finalize">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="object">
+            <type name="GObject*" c:type="GObject*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="dispatch_properties_changed">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="object">
+            <type name="GObject*" c:type="GObject*"/>
+          </parameter>
+          <parameter name="n_pspecs">
+            <type name="uint32" c:type="guint"/>
+          </parameter>
+          <parameter name="pspecs">
+            <type name="GParamSpec**" c:type="GParamSpec**"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="notify">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="object">
+            <type name="GObject*" c:type="GObject*"/>
+          </parameter>
+          <parameter name="pspec">
+            <type name="GParamSpec*" c:type="GParamSpec*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="constructed">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="object">
+            <type name="GObject*" c:type="GObject*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <field name="pdummy">
+        <type name="any" c:type="gpointer"/>
+      </field>
+    </record>
+    <record name="GObjectConstructParam" c:type="_GObjectConstructParam">
+      <field name="pspec">
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </field>
+      <field name="value">
+        <type name="GValue*" c:type="GValue*"/>
+      </field>
+    </record>
+    <function name="initially_unowned_get_type"
+              c:identifier="g_initially_unowned_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="object_class_install_property"
+              c:identifier="g_object_class_install_property">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="oclass">
+          <type name="GObjectClass" c:type="GObjectClass*"/>
+        </parameter>
+        <parameter name="property_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_class_find_property"
+              c:identifier="g_object_class_find_property">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="oclass">
+          <type name="GObjectClass" c:type="GObjectClass*"/>
+        </parameter>
+        <parameter name="property_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_class_list_properties"
+              c:identifier="g_object_class_list_properties">
+      <return-value>
+        <type name="GParamSpec**" c:type="GParamSpec**"/>
+      </return-value>
+      <parameters>
+        <parameter name="oclass">
+          <type name="GObjectClass" c:type="GObjectClass*"/>
+        </parameter>
+        <parameter name="n_properties">
+          <type name="guint" c:type="guint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_class_override_property"
+              c:identifier="g_object_class_override_property">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="oclass">
+          <type name="GObjectClass" c:type="GObjectClass*"/>
+        </parameter>
+        <parameter name="property_id">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_interface_install_property"
+              c:identifier="g_object_interface_install_property">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_iface">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="pspec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_interface_find_property"
+              c:identifier="g_object_interface_find_property">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_iface">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="property_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_interface_list_properties"
+              c:identifier="g_object_interface_list_properties">
+      <return-value>
+        <type name="GParamSpec**" c:type="GParamSpec**"/>
+      </return-value>
+      <parameters>
+        <parameter name="g_iface">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="n_properties_p">
+          <type name="guint" c:type="guint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_new" c:identifier="g_object_new">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="object_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="first_property_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_newv" c:identifier="g_object_newv">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="object_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="n_parameters">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="parameters">
+          <type name="GParameter" c:type="GParameter*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_new_valist" c:identifier="g_object_new_valist">
+      <return-value>
+        <type name="GObject*" c:type="GObject*"/>
+      </return-value>
+      <parameters>
+        <parameter name="object_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="first_property_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="var_args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_set" c:identifier="g_object_set">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="first_property_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_get" c:identifier="g_object_get">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="first_property_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_connect" c:identifier="g_object_connect">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="signal_spec">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_disconnect" c:identifier="g_object_disconnect">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="signal_spec">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_set_valist" c:identifier="g_object_set_valist">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="first_property_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="var_args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_get_valist" c:identifier="g_object_get_valist">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="first_property_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="var_args">
+          <type name="va_list" c:type="va_list"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_set_property" c:identifier="g_object_set_property">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="property_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_get_property" c:identifier="g_object_get_property">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="property_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_freeze_notify"
+              c:identifier="g_object_freeze_notify">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_notify" c:identifier="g_object_notify">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="property_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_thaw_notify" c:identifier="g_object_thaw_notify">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_is_floating" c:identifier="g_object_is_floating">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_ref_sink" c:identifier="g_object_ref_sink">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_ref" c:identifier="g_object_ref">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_unref" c:identifier="g_object_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_weak_ref" c:identifier="g_object_weak_ref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="notify">
+          <type name="GWeakNotify" c:type="GWeakNotify"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_weak_unref" c:identifier="g_object_weak_unref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="notify">
+          <type name="GWeakNotify" c:type="GWeakNotify"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_add_weak_pointer"
+              c:identifier="g_object_add_weak_pointer">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="weak_pointer_location">
+          <type name="gpointer" c:type="gpointer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_remove_weak_pointer"
+              c:identifier="g_object_remove_weak_pointer">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="weak_pointer_location">
+          <type name="gpointer" c:type="gpointer*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="GToggleNotify">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="object">
+          <type name="GObject*" c:type="GObject*"/>
+        </parameter>
+        <parameter name="is_last_ref">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="object_add_toggle_ref"
+              c:identifier="g_object_add_toggle_ref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="notify">
+          <type name="GToggleNotify" c:type="GToggleNotify"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_remove_toggle_ref"
+              c:identifier="g_object_remove_toggle_ref">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="notify">
+          <type name="GToggleNotify" c:type="GToggleNotify"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_get_qdata" c:identifier="g_object_get_qdata">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="quark">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_set_qdata" c:identifier="g_object_set_qdata">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="quark">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_set_qdata_full"
+              c:identifier="g_object_set_qdata_full">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="quark">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="destroy">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_steal_qdata" c:identifier="g_object_steal_qdata">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="quark">
+          <type name="GQuark" c:type="GQuark"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_get_data" c:identifier="g_object_get_data">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_set_data" c:identifier="g_object_set_data">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_set_data_full"
+              c:identifier="g_object_set_data_full">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="destroy">
+          <type name="GDestroyNotify" c:type="GDestroyNotify"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_steal_data" c:identifier="g_object_steal_data">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="key">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_watch_closure"
+              c:identifier="g_object_watch_closure">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_new_object" c:identifier="g_cclosure_new_object">
+      <return-value>
+        <type name="GClosure*" c:type="GClosure*"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback_func">
+          <type name="GCallback" c:type="GCallback"/>
+        </parameter>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="cclosure_new_object_swap"
+              c:identifier="g_cclosure_new_object_swap">
+      <return-value>
+        <type name="GClosure*" c:type="GClosure*"/>
+      </return-value>
+      <parameters>
+        <parameter name="callback_func">
+          <type name="GCallback" c:type="GCallback"/>
+        </parameter>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="closure_new_object" c:identifier="g_closure_new_object">
+      <return-value>
+        <type name="GClosure*" c:type="GClosure*"/>
+      </return-value>
+      <parameters>
+        <parameter name="sizeof_closure">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_object" c:identifier="g_value_set_object">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_object">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_object" c:identifier="g_value_get_object">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_dup_object" c:identifier="g_value_dup_object">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="signal_connect_object"
+              c:identifier="g_signal_connect_object">
+      <return-value>
+        <type name="ulong" c:type="gulong"/>
+      </return-value>
+      <parameters>
+        <parameter name="instance">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="detailed_signal">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="c_handler">
+          <type name="GCallback" c:type="GCallback"/>
+        </parameter>
+        <parameter name="gobject">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+        <parameter name="connect_flags">
+          <type name="GConnectFlags" c:type="GConnectFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_force_floating"
+              c:identifier="g_object_force_floating">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_run_dispose" c:identifier="g_object_run_dispose">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object">
+          <type name="GObject" c:type="GObject*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_take_object" c:identifier="g_value_take_object">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_object">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_object_take_ownership"
+              c:identifier="g_value_set_object_take_ownership">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_object">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_compat_control"
+              c:identifier="g_object_compat_control">
+      <return-value>
+        <type name="size" c:type="gsize"/>
+      </return-value>
+      <parameters>
+        <parameter name="what">
+          <type name="size" c:type="gsize"/>
+        </parameter>
+        <parameter name="data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="ParamSpecChar" c:type="GParamSpecChar"/>
+    <record name="ParamSpecUChar" c:type="GParamSpecUChar"/>
+    <record name="ParamSpecBoolean" c:type="GParamSpecBoolean"/>
+    <record name="ParamSpecInt" c:type="GParamSpecInt"/>
+    <record name="ParamSpecUInt" c:type="GParamSpecUInt"/>
+    <record name="ParamSpecLong" c:type="GParamSpecLong"/>
+    <record name="ParamSpecULong" c:type="GParamSpecULong"/>
+    <record name="ParamSpecInt64" c:type="GParamSpecInt64"/>
+    <record name="ParamSpecUInt64" c:type="GParamSpecUInt64"/>
+    <record name="ParamSpecUnichar" c:type="GParamSpecUnichar"/>
+    <record name="ParamSpecEnum" c:type="GParamSpecEnum"/>
+    <record name="ParamSpecFlags" c:type="GParamSpecFlags"/>
+    <record name="ParamSpecFloat" c:type="GParamSpecFloat"/>
+    <record name="ParamSpecDouble" c:type="GParamSpecDouble"/>
+    <record name="ParamSpecString" c:type="GParamSpecString"/>
+    <record name="ParamSpecParam" c:type="GParamSpecParam"/>
+    <record name="ParamSpecBoxed" c:type="GParamSpecBoxed"/>
+    <record name="ParamSpecPointer" c:type="GParamSpecPointer"/>
+    <record name="ParamSpecValueArray" c:type="GParamSpecValueArray"/>
+    <record name="ParamSpecObject" c:type="GParamSpecObject"/>
+    <record name="ParamSpecOverride" c:type="GParamSpecOverride"/>
+    <record name="ParamSpecGType" c:type="GParamSpecGType"/>
+    <record name="GParamSpecChar" c:type="_GParamSpecChar">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="minimum">
+        <type name="int8" c:type="gint8"/>
+      </field>
+      <field name="maximum">
+        <type name="int8" c:type="gint8"/>
+      </field>
+      <field name="default_value">
+        <type name="int8" c:type="gint8"/>
+      </field>
+    </record>
+    <record name="GParamSpecUChar" c:type="_GParamSpecUChar">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="minimum">
+        <type name="uint8" c:type="guint8"/>
+      </field>
+      <field name="maximum">
+        <type name="uint8" c:type="guint8"/>
+      </field>
+      <field name="default_value">
+        <type name="uint8" c:type="guint8"/>
+      </field>
+    </record>
+    <record name="GParamSpecBoolean" c:type="_GParamSpecBoolean">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="default_value">
+        <type name="boolean" c:type="gboolean"/>
+      </field>
+    </record>
+    <record name="GParamSpecInt" c:type="_GParamSpecInt">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="minimum">
+        <type name="int32" c:type="gint"/>
+      </field>
+      <field name="maximum">
+        <type name="int32" c:type="gint"/>
+      </field>
+      <field name="default_value">
+        <type name="int32" c:type="gint"/>
+      </field>
+    </record>
+    <record name="GParamSpecUInt" c:type="_GParamSpecUInt">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="minimum">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="maximum">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="default_value">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <record name="GParamSpecLong" c:type="_GParamSpecLong">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="minimum">
+        <type name="long" c:type="glong"/>
+      </field>
+      <field name="maximum">
+        <type name="long" c:type="glong"/>
+      </field>
+      <field name="default_value">
+        <type name="long" c:type="glong"/>
+      </field>
+    </record>
+    <record name="GParamSpecULong" c:type="_GParamSpecULong">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="minimum">
+        <type name="ulong" c:type="gulong"/>
+      </field>
+      <field name="maximum">
+        <type name="ulong" c:type="gulong"/>
+      </field>
+      <field name="default_value">
+        <type name="ulong" c:type="gulong"/>
+      </field>
+    </record>
+    <record name="GParamSpecInt64" c:type="_GParamSpecInt64">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="minimum">
+        <type name="gint64" c:type="gint64"/>
+      </field>
+      <field name="maximum">
+        <type name="gint64" c:type="gint64"/>
+      </field>
+      <field name="default_value">
+        <type name="gint64" c:type="gint64"/>
+      </field>
+    </record>
+    <record name="GParamSpecUInt64" c:type="_GParamSpecUInt64">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="minimum">
+        <type name="guint64" c:type="guint64"/>
+      </field>
+      <field name="maximum">
+        <type name="guint64" c:type="guint64"/>
+      </field>
+      <field name="default_value">
+        <type name="guint64" c:type="guint64"/>
+      </field>
+    </record>
+    <record name="GParamSpecUnichar" c:type="_GParamSpecUnichar">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="default_value">
+        <type name="gunichar" c:type="gunichar"/>
+      </field>
+    </record>
+    <record name="GParamSpecEnum" c:type="_GParamSpecEnum">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="enum_class">
+        <type name="GEnumClass*" c:type="GEnumClass*"/>
+      </field>
+      <field name="default_value">
+        <type name="int32" c:type="gint"/>
+      </field>
+    </record>
+    <record name="GParamSpecFlags" c:type="_GParamSpecFlags">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="flags_class">
+        <type name="GFlagsClass*" c:type="GFlagsClass*"/>
+      </field>
+      <field name="default_value">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <record name="GParamSpecFloat" c:type="_GParamSpecFloat">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="minimum">
+        <type name="float" c:type="gfloat"/>
+      </field>
+      <field name="maximum">
+        <type name="float" c:type="gfloat"/>
+      </field>
+      <field name="default_value">
+        <type name="float" c:type="gfloat"/>
+      </field>
+      <field name="epsilon">
+        <type name="float" c:type="gfloat"/>
+      </field>
+    </record>
+    <record name="GParamSpecDouble" c:type="_GParamSpecDouble">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="minimum">
+        <type name="double" c:type="gdouble"/>
+      </field>
+      <field name="maximum">
+        <type name="double" c:type="gdouble"/>
+      </field>
+      <field name="default_value">
+        <type name="double" c:type="gdouble"/>
+      </field>
+      <field name="epsilon">
+        <type name="double" c:type="gdouble"/>
+      </field>
+    </record>
+    <record name="GParamSpecString" c:type="_GParamSpecString">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="default_value">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="cset_first">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="cset_nth">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <field name="substitutor">
+        <type name="gchar" c:type="gchar"/>
+      </field>
+      <field name="null_fold_if_empty">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="ensure_non_null">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <record name="GParamSpecParam" c:type="_GParamSpecParam">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+    </record>
+    <record name="GParamSpecBoxed" c:type="_GParamSpecBoxed">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+    </record>
+    <record name="GParamSpecPointer" c:type="_GParamSpecPointer">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+    </record>
+    <record name="GParamSpecValueArray" c:type="_GParamSpecValueArray">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="element_spec">
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </field>
+      <field name="fixed_n_elements">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <record name="GParamSpecObject" c:type="_GParamSpecObject">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+    </record>
+    <record name="GParamSpecOverride" c:type="_GParamSpecOverride">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="overridden">
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </field>
+    </record>
+    <record name="GParamSpecGType" c:type="_GParamSpecGType">
+      <field name="parent_instance">
+        <type name="GParamSpec" c:type="GParamSpec"/>
+      </field>
+      <field name="is_a_type">
+        <type name="GType" c:type="GType"/>
+      </field>
+    </record>
+    <function name="param_spec_char" c:identifier="g_param_spec_char">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="minimum">
+          <type name="int8" c:type="gint8"/>
+        </parameter>
+        <parameter name="maximum">
+          <type name="int8" c:type="gint8"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="int8" c:type="gint8"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_uchar" c:identifier="g_param_spec_uchar">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="minimum">
+          <type name="uint8" c:type="guint8"/>
+        </parameter>
+        <parameter name="maximum">
+          <type name="uint8" c:type="guint8"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="uint8" c:type="guint8"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_boolean" c:identifier="g_param_spec_boolean">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_int" c:identifier="g_param_spec_int">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="minimum">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="maximum">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_uint" c:identifier="g_param_spec_uint">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="minimum">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="maximum">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_long" c:identifier="g_param_spec_long">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="minimum">
+          <type name="long" c:type="glong"/>
+        </parameter>
+        <parameter name="maximum">
+          <type name="long" c:type="glong"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="long" c:type="glong"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_ulong" c:identifier="g_param_spec_ulong">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="minimum">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+        <parameter name="maximum">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_int64" c:identifier="g_param_spec_int64">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="minimum">
+          <type name="gint64" c:type="gint64"/>
+        </parameter>
+        <parameter name="maximum">
+          <type name="gint64" c:type="gint64"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="gint64" c:type="gint64"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_uint64" c:identifier="g_param_spec_uint64">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="minimum">
+          <type name="guint64" c:type="guint64"/>
+        </parameter>
+        <parameter name="maximum">
+          <type name="guint64" c:type="guint64"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="guint64" c:type="guint64"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_unichar" c:identifier="g_param_spec_unichar">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="gunichar" c:type="gunichar"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_enum" c:identifier="g_param_spec_enum">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="enum_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_flags" c:identifier="g_param_spec_flags">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="flags_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_float" c:identifier="g_param_spec_float">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="minimum">
+          <type name="float" c:type="gfloat"/>
+        </parameter>
+        <parameter name="maximum">
+          <type name="float" c:type="gfloat"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="float" c:type="gfloat"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_double" c:identifier="g_param_spec_double">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="minimum">
+          <type name="double" c:type="gdouble"/>
+        </parameter>
+        <parameter name="maximum">
+          <type name="double" c:type="gdouble"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="double" c:type="gdouble"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_string" c:identifier="g_param_spec_string">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="default_value">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_param" c:identifier="g_param_spec_param">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="param_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_boxed" c:identifier="g_param_spec_boxed">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="boxed_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_pointer" c:identifier="g_param_spec_pointer">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_value_array"
+              c:identifier="g_param_spec_value_array">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="element_spec">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_object" c:identifier="g_param_spec_object">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="object_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_override" c:identifier="g_param_spec_override">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="overridden">
+          <type name="GParamSpec" c:type="GParamSpec*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="param_spec_gtype" c:identifier="g_param_spec_gtype">
+      <return-value>
+        <type name="GParamSpec*" c:type="GParamSpec*"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="nick">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="blurb">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="is_a_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GParamFlags" c:type="GParamFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="source_set_closure" c:identifier="g_source_set_closure">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="source">
+          <type name="GSource" c:type="GSource*"/>
+        </parameter>
+        <parameter name="closure">
+          <type name="GClosure" c:type="GClosure*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="io_channel_get_type" c:identifier="g_io_channel_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="io_condition_get_type"
+              c:identifier="g_io_condition_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <record name="TypeModule" c:type="GTypeModule"/>
+    <record name="GTypeModule" c:type="_GTypeModule">
+      <field name="parent_instance">
+        <type name="GObject" c:type="GObject"/>
+      </field>
+      <field name="use_count">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="type_infos">
+        <type name="GSList*" c:type="GSList*"/>
+      </field>
+      <field name="interface_infos">
+        <type name="GSList*" c:type="GSList*"/>
+      </field>
+      <field name="name">
+        <type name="string" c:type="gchar*"/>
+      </field>
+      <callback name="load">
+        <return-value>
+          <type name="boolean" c:type="gboolean"/>
+        </return-value>
+        <parameters>
+          <parameter name="module">
+            <type name="GTypeModule*" c:type="GTypeModule*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="unload">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="module">
+            <type name="GTypeModule*" c:type="GTypeModule*"/>
+          </parameter>
+        </parameters>
+      </callback>
+      <callback name="reserved1">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+      </callback>
+      <callback name="reserved2">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+      </callback>
+      <callback name="reserved3">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+      </callback>
+      <callback name="reserved4">
+        <return-value>
+          <type name="none" c:type="void"/>
+        </return-value>
+      </callback>
+    </record>
+    <function name="type_module_get_type"
+              c:identifier="g_type_module_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="type_module_use" c:identifier="g_type_module_use">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="module">
+          <type name="GTypeModule" c:type="GTypeModule*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_module_unuse" c:identifier="g_type_module_unuse">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="module">
+          <type name="GTypeModule" c:type="GTypeModule*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_module_set_name"
+              c:identifier="g_type_module_set_name">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="module">
+          <type name="GTypeModule" c:type="GTypeModule*"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_module_register_type"
+              c:identifier="g_type_module_register_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="module">
+          <type name="GTypeModule" c:type="GTypeModule*"/>
+        </parameter>
+        <parameter name="parent_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="type_name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="type_info">
+          <type name="GTypeInfo" c:type="GTypeInfo*"/>
+        </parameter>
+        <parameter name="flags">
+          <type name="GTypeFlags" c:type="GTypeFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_module_add_interface"
+              c:identifier="g_type_module_add_interface">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="module">
+          <type name="GTypeModule" c:type="GTypeModule*"/>
+        </parameter>
+        <parameter name="instance_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="interface_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="interface_info">
+          <type name="GInterfaceInfo" c:type="GInterfaceInfo*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_module_register_enum"
+              c:identifier="g_type_module_register_enum">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="module">
+          <type name="GTypeModule" c:type="GTypeModule*"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="const_static_values">
+          <type name="GEnumValue" c:type="GEnumValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_module_register_flags"
+              c:identifier="g_type_module_register_flags">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="module">
+          <type name="GTypeModule" c:type="GTypeModule*"/>
+        </parameter>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+        <parameter name="const_static_values">
+          <type name="GFlagsValue" c:type="GFlagsValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <callback name="GTypePluginUse">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="plugin">
+          <type name="GTypePlugin*" c:type="GTypePlugin*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GTypePluginUnuse">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="plugin">
+          <type name="GTypePlugin*" c:type="GTypePlugin*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GTypePluginCompleteTypeInfo">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="plugin">
+          <type name="GTypePlugin*" c:type="GTypePlugin*"/>
+        </parameter>
+        <parameter name="g_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="info">
+          <type name="GTypeInfo*" c:type="GTypeInfo*"/>
+        </parameter>
+        <parameter name="value_table">
+          <type name="GTypeValueTable*" c:type="GTypeValueTable*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <callback name="GTypePluginCompleteInterfaceInfo">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="plugin">
+          <type name="GTypePlugin*" c:type="GTypePlugin*"/>
+        </parameter>
+        <parameter name="instance_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="interface_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="info">
+          <type name="GInterfaceInfo*" c:type="GInterfaceInfo*"/>
+        </parameter>
+      </parameters>
+    </callback>
+    <function name="type_plugin_get_type"
+              c:identifier="g_type_plugin_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="type_plugin_use" c:identifier="g_type_plugin_use">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="plugin">
+          <type name="GTypePlugin" c:type="GTypePlugin*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_plugin_unuse" c:identifier="g_type_plugin_unuse">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="plugin">
+          <type name="GTypePlugin" c:type="GTypePlugin*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_plugin_complete_type_info"
+              c:identifier="g_type_plugin_complete_type_info">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="plugin">
+          <type name="GTypePlugin" c:type="GTypePlugin*"/>
+        </parameter>
+        <parameter name="g_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="info">
+          <type name="GTypeInfo" c:type="GTypeInfo*"/>
+        </parameter>
+        <parameter name="value_table">
+          <type name="GTypeValueTable" c:type="GTypeValueTable*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="type_plugin_complete_interface_info"
+              c:identifier="g_type_plugin_complete_interface_info">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="plugin">
+          <type name="GTypePlugin" c:type="GTypePlugin*"/>
+        </parameter>
+        <parameter name="instance_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="interface_type">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+        <parameter name="info">
+          <type name="GInterfaceInfo" c:type="GInterfaceInfo*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <record name="ValueArray" c:type="GValueArray"/>
+    <record name="GValueArray" c:type="_GValueArray">
+      <field name="n_values">
+        <type name="uint32" c:type="guint"/>
+      </field>
+      <field name="values">
+        <type name="GValue*" c:type="GValue*"/>
+      </field>
+      <field name="n_prealloced">
+        <type name="uint32" c:type="guint"/>
+      </field>
+    </record>
+    <function name="value_array_get_nth" c:identifier="g_value_array_get_nth">
+      <return-value>
+        <type name="GValue*" c:type="GValue*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value_array">
+          <type name="GValueArray" c:type="GValueArray*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_array_new" c:identifier="g_value_array_new">
+      <return-value>
+        <type name="GValueArray*" c:type="GValueArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="n_prealloced">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_array_free" c:identifier="g_value_array_free">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value_array">
+          <type name="GValueArray" c:type="GValueArray*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_array_copy" c:identifier="g_value_array_copy">
+      <return-value>
+        <type name="GValueArray*" c:type="GValueArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value_array">
+          <type name="GValueArray" c:type="GValueArray*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_array_prepend" c:identifier="g_value_array_prepend">
+      <return-value>
+        <type name="GValueArray*" c:type="GValueArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value_array">
+          <type name="GValueArray" c:type="GValueArray*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_array_append" c:identifier="g_value_array_append">
+      <return-value>
+        <type name="GValueArray*" c:type="GValueArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value_array">
+          <type name="GValueArray" c:type="GValueArray*"/>
+        </parameter>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_array_insert" c:identifier="g_value_array_insert">
+      <return-value>
+        <type name="GValueArray*" c:type="GValueArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value_array">
+          <type name="GValueArray" c:type="GValueArray*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_array_remove" c:identifier="g_value_array_remove">
+      <return-value>
+        <type name="GValueArray*" c:type="GValueArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value_array">
+          <type name="GValueArray" c:type="GValueArray*"/>
+        </parameter>
+        <parameter name="index_">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_array_sort" c:identifier="g_value_array_sort">
+      <return-value>
+        <type name="GValueArray*" c:type="GValueArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value_array">
+          <type name="GValueArray" c:type="GValueArray*"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareFunc" c:type="GCompareFunc"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_array_sort_with_data"
+              c:identifier="g_value_array_sort_with_data">
+      <return-value>
+        <type name="GValueArray*" c:type="GValueArray*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value_array">
+          <type name="GValueArray" c:type="GValueArray*"/>
+        </parameter>
+        <parameter name="compare_func">
+          <type name="GCompareDataFunc" c:type="GCompareDataFunc"/>
+        </parameter>
+        <parameter name="user_data">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_char" c:identifier="g_value_set_char">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_char">
+          <type name="gchar" c:type="gchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_char" c:identifier="g_value_get_char">
+      <return-value>
+        <type name="gchar" c:type="gchar"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_uchar" c:identifier="g_value_set_uchar">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_uchar">
+          <type name="guchar" c:type="guchar"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_uchar" c:identifier="g_value_get_uchar">
+      <return-value>
+        <type name="guchar" c:type="guchar"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_boolean" c:identifier="g_value_set_boolean">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_boolean">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_boolean" c:identifier="g_value_get_boolean">
+      <return-value>
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_int" c:identifier="g_value_set_int">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_int">
+          <type name="int32" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_int" c:identifier="g_value_get_int">
+      <return-value>
+        <type name="int32" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_uint" c:identifier="g_value_set_uint">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_uint">
+          <type name="uint32" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_uint" c:identifier="g_value_get_uint">
+      <return-value>
+        <type name="uint32" c:type="guint"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_long" c:identifier="g_value_set_long">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_long">
+          <type name="long" c:type="glong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_long" c:identifier="g_value_get_long">
+      <return-value>
+        <type name="long" c:type="glong"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_ulong" c:identifier="g_value_set_ulong">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_ulong">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_ulong" c:identifier="g_value_get_ulong">
+      <return-value>
+        <type name="ulong" c:type="gulong"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_int64" c:identifier="g_value_set_int64">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_int64">
+          <type name="gint64" c:type="gint64"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_int64" c:identifier="g_value_get_int64">
+      <return-value>
+        <type name="gint64" c:type="gint64"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_uint64" c:identifier="g_value_set_uint64">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_uint64">
+          <type name="guint64" c:type="guint64"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_uint64" c:identifier="g_value_get_uint64">
+      <return-value>
+        <type name="guint64" c:type="guint64"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_float" c:identifier="g_value_set_float">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_float">
+          <type name="float" c:type="gfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_float" c:identifier="g_value_get_float">
+      <return-value>
+        <type name="float" c:type="gfloat"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_double" c:identifier="g_value_set_double">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_double">
+          <type name="double" c:type="gdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_double" c:identifier="g_value_get_double">
+      <return-value>
+        <type name="double" c:type="gdouble"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_string" c:identifier="g_value_set_string">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_static_string"
+              c:identifier="g_value_set_static_string">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_string" c:identifier="g_value_get_string">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_dup_string" c:identifier="g_value_dup_string">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_pointer" c:identifier="g_value_set_pointer">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_pointer">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_pointer" c:identifier="g_value_get_pointer">
+      <return-value>
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gtype_get_type" c:identifier="g_gtype_get_type">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="value_set_gtype" c:identifier="g_value_set_gtype">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_gtype">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_get_gtype" c:identifier="g_value_get_gtype">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="pointer_type_register_static"
+              c:identifier="g_pointer_type_register_static">
+      <return-value>
+        <type name="GType" c:type="GType"/>
+      </return-value>
+      <parameters>
+        <parameter name="name">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="strdup_value_contents"
+              c:identifier="g_strdup_value_contents">
+      <return-value>
+        <type name="string" c:type="gchar*"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_take_string" c:identifier="g_value_take_string">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="value_set_string_take_ownership"
+              c:identifier="g_value_set_string_take_ownership">
+      <return-value>
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value">
+          <type name="GValue" c:type="GValue*"/>
+        </parameter>
+        <parameter name="v_string">
+          <type name="string" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+  </namespace>
+</repository>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]