[gobject-introspection] Add GIMarshallingTests-1.0-expected.gir so we track changes in the scanner



commit 2c256ddfb4463a7a87b38450e66f764a034a4855
Author: Tomeu Vizoso <tomeu sugarlabs org>
Date:   Thu May 6 10:47:14 2010 +0200

    Add GIMarshallingTests-1.0-expected.gir so we track changes in the scanner

 gir/GIMarshallingTests-1.0-expected.gir | 3133 +++++++++++++++++++++++++++++++
 gir/Makefile.am                         |    1 +
 2 files changed, 3134 insertions(+), 0 deletions(-)
---
diff --git a/gir/GIMarshallingTests-1.0-expected.gir b/gir/GIMarshallingTests-1.0-expected.gir
new file mode 100644
index 0000000..ee2d315
--- /dev/null
+++ b/gir/GIMarshallingTests-1.0-expected.gir
@@ -0,0 +1,3133 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations.  -->
+<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";>
+  <include name="GLib" version="2.0"/>
+  <include name="GObject" version="2.0"/>
+  <package name="gobject-2.0"/>
+  <namespace name="GIMarshallingTests"
+             version="1.0"
+             shared-library="libgirepository-gimarshallingtests-1.0.so.1"
+             c:prefix="GIMarshallingTests">
+    <record name="BoxedStruct"
+            c:type="GIMarshallingTestsBoxedStruct"
+            glib:type-name="GIMarshallingTestsBoxedStruct"
+            glib:get-type="g_i_marshalling_tests_boxed_struct_get_type">
+      <field name="long_" writable="1">
+        <type name="long" c:type="glong"/>
+      </field>
+      <constructor name="new"
+                   c:identifier="g_i_marshalling_tests_boxed_struct_new">
+        <return-value transfer-ownership="full">
+          <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct*"/>
+        </return-value>
+      </constructor>
+    </record>
+    <constant name="CONSTANT_NUMBER" value="42">
+      <type name="int"/>
+    </constant>
+    <constant name="CONSTANT_UTF8" value="const xe2x99xa5 utf8">
+      <type name="utf8"/>
+    </constant>
+    <enumeration name="Enum" c:type="GIMarshallingTestsEnum">
+      <member name="value1"
+              value="0"
+              c:identifier="G_I_MARSHALLING_TESTS_ENUM_VALUE1"/>
+      <member name="value2"
+              value="1"
+              c:identifier="G_I_MARSHALLING_TESTS_ENUM_VALUE2"/>
+      <member name="value3"
+              value="42"
+              c:identifier="G_I_MARSHALLING_TESTS_ENUM_VALUE3"/>
+    </enumeration>
+    <bitfield name="Flags"
+              glib:type-name="GIMarshallingTestsFlags"
+              glib:get-type="g_i_marshalling_tests_flags_get_type"
+              c:type="GIMarshallingTestsFlags">
+      <member name="value1"
+              value="1"
+              c:identifier="G_I_MARSHALLING_TESTS_FLAGS_VALUE1"
+              glib:nick="value1"/>
+      <member name="value2"
+              value="2"
+              c:identifier="G_I_MARSHALLING_TESTS_FLAGS_VALUE2"
+              glib:nick="value2"/>
+      <member name="value3"
+              value="4"
+              c:identifier="G_I_MARSHALLING_TESTS_FLAGS_VALUE3"
+              glib:nick="value3"/>
+    </bitfield>
+    <enumeration name="GEnum"
+                 glib:type-name="GIMarshallingTestsGEnum"
+                 glib:get-type="g_i_marshalling_tests_genum_get_type"
+                 c:type="GIMarshallingTestsGEnum">
+      <member name="value1"
+              value="0"
+              c:identifier="G_I_MARSHALLING_TESTS_GENUM_VALUE1"
+              glib:nick="value1"/>
+      <member name="value2"
+              value="1"
+              c:identifier="G_I_MARSHALLING_TESTS_GENUM_VALUE2"
+              glib:nick="value2"/>
+      <member name="value3"
+              value="42"
+              c:identifier="G_I_MARSHALLING_TESTS_GENUM_VALUE3"
+              glib:nick="value3"/>
+    </enumeration>
+    <interface name="Interface"
+               c:type="GIMarshallingTestsInterface"
+               glib:type-name="GIMarshallingTestsInterface"
+               glib:get-type="g_i_marshalling_tests_interface_get_type"
+               glib:type-struct="InterfaceIface">
+      <virtual-method name="test_int8_in" invoker="test_int8_in">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="in" transfer-ownership="none">
+            <type name="int8" c:type="gint8"/>
+          </parameter>
+        </parameters>
+      </virtual-method>
+      <method name="test_int8_in"
+              c:identifier="g_i_marshalling_tests_interface_test_int8_in">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="in" transfer-ownership="none">
+            <type name="int8" c:type="gint8"/>
+          </parameter>
+        </parameters>
+      </method>
+    </interface>
+    <record name="InterfaceIface"
+            c:type="GIMarshallingTestsInterfaceIface"
+            glib:is-gtype-struct-for="Interface">
+      <field name="base_iface">
+        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+      </field>
+      <field name="test_int8_in">
+        <callback name="test_int8_in" c:type="test_int8_in">
+          <return-value transfer-ownership="none">
+            <type name="none" c:type="void"/>
+          </return-value>
+          <parameters>
+            <parameter name="self" transfer-ownership="none">
+              <type name="Interface" c:type="GIMarshallingTestsInterface*"/>
+            </parameter>
+            <parameter name="in" transfer-ownership="none">
+              <type name="int8" c:type="gint8"/>
+            </parameter>
+          </parameters>
+        </callback>
+      </field>
+    </record>
+    <record name="NestedStruct" c:type="GIMarshallingTestsNestedStruct">
+      <field name="simple_struct" writable="1">
+        <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct"/>
+      </field>
+    </record>
+    <record name="NotSimpleStruct" c:type="GIMarshallingTestsNotSimpleStruct">
+      <field name="pointer" writable="1">
+        <type name="NestedStruct" c:type="GIMarshallingTestsNestedStruct*"/>
+      </field>
+    </record>
+    <constant name="OVERRIDES_CONSTANT" value="42">
+      <type name="int"/>
+    </constant>
+    <class name="Object"
+           c:type="GIMarshallingTestsObject"
+           parent="GObject.Object"
+           glib:type-name="GIMarshallingTestsObject"
+           glib:get-type="g_i_marshalling_tests_object_get_type"
+           glib:type-struct="ObjectClass">
+      <constructor name="new" c:identifier="g_i_marshalling_tests_object_new">
+        <return-value transfer-ownership="full">
+          <type name="Object" c:type="GIMarshallingTestsObject*"/>
+        </return-value>
+        <parameters>
+          <parameter name="int_" transfer-ownership="none">
+            <type name="int" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </constructor>
+      <function name="static_method"
+                c:identifier="g_i_marshalling_tests_object_static_method">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+      </function>
+      <virtual-method name="method_int8_in" invoker="method_int8_in">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="in" transfer-ownership="none">
+            <type name="int8" c:type="gint8"/>
+          </parameter>
+        </parameters>
+      </virtual-method>
+      <virtual-method name="method_int8_out" invoker="method_int8_out">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="out" direction="out" transfer-ownership="full">
+            <type name="int8" c:type="gint8*"/>
+          </parameter>
+        </parameters>
+      </virtual-method>
+      <virtual-method name="method_with_default_implementation"
+                      invoker="method_with_default_implementation">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="in" transfer-ownership="none">
+            <type name="int8" c:type="gint8"/>
+          </parameter>
+        </parameters>
+      </virtual-method>
+      <method name="method" c:identifier="g_i_marshalling_tests_object_method">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+      </method>
+      <method name="overridden_method"
+              c:identifier="g_i_marshalling_tests_object_overridden_method">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+      </method>
+      <method name="method_array_in"
+              c:identifier="g_i_marshalling_tests_object_method_array_in">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="ints" transfer-ownership="none">
+            <array length="2" c:type="gint*">
+              <type name="int"/>
+            </array>
+          </parameter>
+          <parameter name="length" transfer-ownership="none">
+            <type name="int" c:type="gint"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="method_array_out"
+              c:identifier="g_i_marshalling_tests_object_method_array_out">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="ints" direction="out" transfer-ownership="none">
+            <array length="2" c:type="gint**">
+              <type name="int"/>
+            </array>
+          </parameter>
+          <parameter name="length" direction="out" transfer-ownership="full">
+            <type name="int" c:type="gint*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="method_array_inout"
+              c:identifier="g_i_marshalling_tests_object_method_array_inout">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="ints" direction="inout" transfer-ownership="none">
+            <array length="2" c:type="gint**">
+              <type name="int"/>
+            </array>
+          </parameter>
+          <parameter name="length" direction="inout" transfer-ownership="full">
+            <type name="int" c:type="gint*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="method_array_return"
+              c:identifier="g_i_marshalling_tests_object_method_array_return">
+        <return-value transfer-ownership="none">
+          <array length="1" c:type="gint*">
+            <type name="int"/>
+          </array>
+        </return-value>
+        <parameters>
+          <parameter name="length" direction="out" transfer-ownership="full">
+            <type name="int" c:type="gint*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="method_int8_in"
+              c:identifier="g_i_marshalling_tests_object_method_int8_in">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="in" transfer-ownership="none">
+            <type name="int8" c:type="gint8"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="method_int8_out"
+              c:identifier="g_i_marshalling_tests_object_method_int8_out">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="out" direction="out" transfer-ownership="full">
+            <type name="int8" c:type="gint8*"/>
+          </parameter>
+        </parameters>
+      </method>
+      <method name="method_with_default_implementation"
+              c:identifier="g_i_marshalling_tests_object_method_with_default_implementation">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+        <parameters>
+          <parameter name="in" transfer-ownership="none">
+            <type name="int8" c:type="gint8"/>
+          </parameter>
+        </parameters>
+      </method>
+      <property name="int" writable="1" construct="1">
+        <type name="int" c:type="gint"/>
+      </property>
+      <field name="parent_instance">
+        <type name="GObject.Object" c:type="GObject"/>
+      </field>
+      <field name="int_">
+        <type name="int" c:type="gint"/>
+      </field>
+    </class>
+    <record name="ObjectClass"
+            c:type="GIMarshallingTestsObjectClass"
+            glib:is-gtype-struct-for="Object">
+      <field name="parent_class">
+        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+      </field>
+      <field name="method_int8_in">
+        <callback name="method_int8_in" c:type="method_int8_in">
+          <return-value transfer-ownership="none">
+            <type name="none" c:type="void"/>
+          </return-value>
+          <parameters>
+            <parameter name="self" transfer-ownership="none">
+              <type name="Object" c:type="GIMarshallingTestsObject*"/>
+            </parameter>
+            <parameter name="in" transfer-ownership="none">
+              <type name="int8" c:type="gint8"/>
+            </parameter>
+          </parameters>
+        </callback>
+      </field>
+      <field name="method_int8_out">
+        <callback name="method_int8_out" c:type="method_int8_out">
+          <return-value transfer-ownership="none">
+            <type name="none" c:type="void"/>
+          </return-value>
+          <parameters>
+            <parameter name="self" transfer-ownership="none">
+              <type name="Object" c:type="GIMarshallingTestsObject*"/>
+            </parameter>
+            <parameter name="out" direction="out" transfer-ownership="full">
+              <type name="int8" c:type="gint8*"/>
+            </parameter>
+          </parameters>
+        </callback>
+      </field>
+      <field name="method_with_default_implementation">
+        <callback name="method_with_default_implementation"
+                  c:type="method_with_default_implementation">
+          <return-value transfer-ownership="none">
+            <type name="none" c:type="void"/>
+          </return-value>
+          <parameters>
+            <parameter name="self" transfer-ownership="none">
+              <type name="Object" c:type="GIMarshallingTestsObject*"/>
+            </parameter>
+            <parameter name="in" transfer-ownership="none">
+              <type name="int8" c:type="gint8"/>
+            </parameter>
+          </parameters>
+        </callback>
+      </field>
+    </record>
+    <class name="OverridesObject"
+           c:type="GIMarshallingTestsOverridesObject"
+           parent="GObject.Object"
+           glib:type-name="GIMarshallingTestsOverridesObject"
+           glib:get-type="g_i_marshalling_tests_overrides_object_get_type"
+           glib:type-struct="OverridesObjectClass">
+      <constructor name="new"
+                   c:identifier="g_i_marshalling_tests_overrides_object_new">
+        <return-value transfer-ownership="full">
+          <type name="OverridesObject"
+                c:type="GIMarshallingTestsOverridesObject*"/>
+        </return-value>
+      </constructor>
+      <method name="method"
+              c:identifier="g_i_marshalling_tests_overrides_object_method">
+        <return-value transfer-ownership="none">
+          <type name="long" c:type="glong"/>
+        </return-value>
+      </method>
+      <field name="parent_instance">
+        <type name="GObject.Object" c:type="GObject"/>
+      </field>
+      <field name="long_">
+        <type name="long" c:type="glong"/>
+      </field>
+    </class>
+    <record name="OverridesObjectClass"
+            c:type="GIMarshallingTestsOverridesObjectClass"
+            glib:is-gtype-struct-for="OverridesObject">
+      <field name="parent_class">
+        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+      </field>
+    </record>
+    <record name="OverridesStruct"
+            c:type="GIMarshallingTestsOverridesStruct"
+            glib:type-name="GIMarshallingTestsOverridesStruct"
+            glib:get-type="g_i_marshalling_tests_overrides_struct_get_type">
+      <field name="long_" writable="1">
+        <type name="long" c:type="glong"/>
+      </field>
+      <constructor name="new"
+                   c:identifier="g_i_marshalling_tests_overrides_struct_new">
+        <return-value transfer-ownership="full">
+          <type name="OverridesStruct"
+                c:type="GIMarshallingTestsOverridesStruct*"/>
+        </return-value>
+      </constructor>
+      <method name="method"
+              c:identifier="g_i_marshalling_tests_overrides_struct_method">
+        <return-value transfer-ownership="none">
+          <type name="long" c:type="glong"/>
+        </return-value>
+      </method>
+    </record>
+    <record name="PointerStruct" c:type="GIMarshallingTestsPointerStruct">
+      <field name="long_" writable="1">
+        <type name="long" c:type="glong"/>
+      </field>
+    </record>
+    <record name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct">
+      <field name="long_" writable="1">
+        <type name="long" c:type="glong"/>
+      </field>
+      <field name="int8" writable="1">
+        <type name="int8" c:type="gint8"/>
+      </field>
+      <method name="method"
+              c:identifier="g_i_marshalling_tests_simple_struct_method">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+      </method>
+    </record>
+    <class name="SubObject"
+           c:type="GIMarshallingTestsSubObject"
+           parent="Object"
+           glib:type-name="GIMarshallingTestsSubObject"
+           glib:get-type="g_i_marshalling_tests_sub_object_get_type"
+           glib:type-struct="SubObjectClass">
+      <method name="sub_method"
+              c:identifier="g_i_marshalling_tests_sub_object_sub_method">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+      </method>
+      <method name="overwritten_method"
+              c:identifier="g_i_marshalling_tests_sub_object_overwritten_method">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+      </method>
+      <field name="parent_instance">
+        <type name="Object" c:type="GIMarshallingTestsObject"/>
+      </field>
+    </class>
+    <record name="SubObjectClass"
+            c:type="GIMarshallingTestsSubObjectClass"
+            glib:is-gtype-struct-for="SubObject">
+      <field name="parent_class">
+        <type name="ObjectClass" c:type="GIMarshallingTestsObjectClass"/>
+      </field>
+    </record>
+    <union name="Union"
+           c:type="GIMarshallingTestsUnion"
+           glib:type-name="GIMarshallingTestsUnion"
+           glib:get-type="g_i_marshalling_tests_union_get_type">
+      <field name="long_" writable="1">
+        <type name="long" c:type="glong"/>
+      </field>
+      <method name="method" c:identifier="g_i_marshalling_tests_union_method">
+        <return-value transfer-ownership="none">
+          <type name="none" c:type="void"/>
+        </return-value>
+      </method>
+    </union>
+    <function name="array_fixed_inout"
+              c:identifier="g_i_marshalling_tests_array_fixed_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ints" direction="inout" transfer-ownership="none">
+          <array c:type="gint**" fixed-size="4">
+            <type name="int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_fixed_int_in"
+              c:identifier="g_i_marshalling_tests_array_fixed_int_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ints" transfer-ownership="none">
+          <array c:type="gint*" fixed-size="4">
+            <type name="int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_fixed_int_return"
+              c:identifier="g_i_marshalling_tests_array_fixed_int_return">
+      <return-value transfer-ownership="none">
+        <array c:type="gint*" fixed-size="4">
+          <type name="int"/>
+        </array>
+      </return-value>
+    </function>
+    <function name="array_fixed_out"
+              c:identifier="g_i_marshalling_tests_array_fixed_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ints" direction="out" transfer-ownership="none">
+          <array c:type="gint**" fixed-size="4">
+            <type name="int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_fixed_out_struct"
+              c:identifier="g_i_marshalling_tests_array_fixed_out_struct">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="structs" direction="out" transfer-ownership="none">
+          <array c:type="GIMarshallingTestsSimpleStruct**" fixed-size="2">
+            <type name="SimpleStruct"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_fixed_short_in"
+              c:identifier="g_i_marshalling_tests_array_fixed_short_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="shorts" transfer-ownership="none">
+          <array c:type="gshort*" fixed-size="4">
+            <type name="short"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_fixed_short_return"
+              c:identifier="g_i_marshalling_tests_array_fixed_short_return">
+      <return-value transfer-ownership="none">
+        <array c:type="gshort*" fixed-size="4">
+          <type name="short"/>
+        </array>
+      </return-value>
+    </function>
+    <function name="array_in" c:identifier="g_i_marshalling_tests_array_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ints" transfer-ownership="none">
+          <array length="1" c:type="gint*">
+            <type name="int"/>
+          </array>
+        </parameter>
+        <parameter name="length" transfer-ownership="none">
+          <type name="int" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_inout"
+              c:identifier="g_i_marshalling_tests_array_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ints" direction="inout" transfer-ownership="none">
+          <array length="1" c:type="gint**">
+            <type name="int"/>
+          </array>
+        </parameter>
+        <parameter name="length" direction="inout" transfer-ownership="full">
+          <type name="int" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_out" c:identifier="g_i_marshalling_tests_array_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ints" direction="out" transfer-ownership="none">
+          <array length="1" c:type="gint**">
+            <type name="int"/>
+          </array>
+        </parameter>
+        <parameter name="length" direction="out" transfer-ownership="full">
+          <type name="int" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_return"
+              c:identifier="g_i_marshalling_tests_array_return">
+      <return-value transfer-ownership="none">
+        <array length="0" c:type="gint*">
+          <type name="int"/>
+        </array>
+      </return-value>
+      <parameters>
+        <parameter name="length" direction="out" transfer-ownership="full">
+          <type name="int" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_zero_terminated_in"
+              c:identifier="g_i_marshalling_tests_array_zero_terminated_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="utf8s" transfer-ownership="none">
+          <array c:type="gchar**">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_zero_terminated_inout"
+              c:identifier="g_i_marshalling_tests_array_zero_terminated_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="utf8s" direction="inout" transfer-ownership="none">
+          <array c:type="gchar***">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_zero_terminated_out"
+              c:identifier="g_i_marshalling_tests_array_zero_terminated_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="utf8s" direction="out" transfer-ownership="none">
+          <array c:type="gchar***">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="array_zero_terminated_return"
+              c:identifier="g_i_marshalling_tests_array_zero_terminated_return">
+      <return-value transfer-ownership="none">
+        <array c:type="gchar**">
+          <type name="utf8"/>
+        </array>
+      </return-value>
+    </function>
+    <function name="boolean_in_false"
+              c:identifier="g_i_marshalling_tests_boolean_in_false">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bool_" transfer-ownership="none">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="boolean_in_true"
+              c:identifier="g_i_marshalling_tests_boolean_in_true">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bool_" transfer-ownership="none">
+          <type name="boolean" c:type="gboolean"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="boolean_inout_false_true"
+              c:identifier="g_i_marshalling_tests_boolean_inout_false_true">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bool_" direction="inout" transfer-ownership="full">
+          <type name="boolean" c:type="gboolean*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="boolean_inout_true_false"
+              c:identifier="g_i_marshalling_tests_boolean_inout_true_false">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bool_" direction="inout" transfer-ownership="full">
+          <type name="boolean" c:type="gboolean*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="boolean_out_false"
+              c:identifier="g_i_marshalling_tests_boolean_out_false">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bool_" direction="out" transfer-ownership="full">
+          <type name="boolean" c:type="gboolean*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="boolean_out_true"
+              c:identifier="g_i_marshalling_tests_boolean_out_true">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="bool_" direction="out" transfer-ownership="full">
+          <type name="boolean" c:type="gboolean*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="boolean_return_false"
+              c:identifier="g_i_marshalling_tests_boolean_return_false">
+      <return-value transfer-ownership="none">
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+    </function>
+    <function name="boolean_return_true"
+              c:identifier="g_i_marshalling_tests_boolean_return_true">
+      <return-value transfer-ownership="none">
+        <type name="boolean" c:type="gboolean"/>
+      </return-value>
+    </function>
+    <function name="boxed_struct_in"
+              c:identifier="g_i_marshalling_tests__boxed_struct_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="struct_" transfer-ownership="none">
+          <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="boxed_struct_inout"
+              c:identifier="g_i_marshalling_tests__boxed_struct_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="struct_" direction="inout" transfer-ownership="none">
+          <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="boxed_struct_out"
+              c:identifier="g_i_marshalling_tests__boxed_struct_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="struct_" direction="out" transfer-ownership="none">
+          <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="boxed_struct_return"
+              c:identifier="g_i_marshalling_tests__boxed_struct_return">
+      <return-value transfer-ownership="none">
+        <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct*"/>
+      </return-value>
+    </function>
+    <function name="double_in" c:identifier="g_i_marshalling_tests_double_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="double_" transfer-ownership="none">
+          <type name="double" c:type="gdouble"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="double_inout"
+              c:identifier="g_i_marshalling_tests_double_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="double_" direction="inout" transfer-ownership="full">
+          <type name="double" c:type="gdouble*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="double_out"
+              c:identifier="g_i_marshalling_tests_double_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="double_" direction="out" transfer-ownership="full">
+          <type name="double" c:type="gdouble*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="double_return"
+              c:identifier="g_i_marshalling_tests_double_return">
+      <return-value transfer-ownership="none">
+        <type name="double" c:type="gdouble"/>
+      </return-value>
+    </function>
+    <function name="enum_in" c:identifier="g_i_marshalling_tests_enum_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="enum_" transfer-ownership="none">
+          <type name="Enum" c:type="GIMarshallingTestsEnum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="enum_inout"
+              c:identifier="g_i_marshalling_tests_enum_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="enum_" direction="inout" transfer-ownership="full">
+          <type name="Enum" c:type="GIMarshallingTestsEnum*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="enum_out" c:identifier="g_i_marshalling_tests_enum_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="enum_" direction="out" transfer-ownership="full">
+          <type name="Enum" c:type="GIMarshallingTestsEnum*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="enum_return"
+              c:identifier="g_i_marshalling_tests_enum_return">
+      <return-value transfer-ownership="full">
+        <type name="Enum" c:type="GIMarshallingTestsEnum"/>
+      </return-value>
+    </function>
+    <function name="filename_list_return"
+              c:identifier="g_i_marshalling_tests_filename_list_return">
+      <return-value transfer-ownership="full">
+        <type name="GLib.SList" c:type="GSList*"/>
+      </return-value>
+    </function>
+    <function name="flags_in" c:identifier="g_i_marshalling_tests_flags_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="flags_" transfer-ownership="none">
+          <type name="Flags" c:type="GIMarshallingTestsFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="flags_in_zero"
+              c:identifier="g_i_marshalling_tests_flags_in_zero">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="flags" transfer-ownership="none">
+          <type name="Flags" c:type="GIMarshallingTestsFlags"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="flags_inout"
+              c:identifier="g_i_marshalling_tests_flags_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="flags_" direction="inout" transfer-ownership="full">
+          <type name="Flags" c:type="GIMarshallingTestsFlags*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="flags_out" c:identifier="g_i_marshalling_tests_flags_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="flags_" direction="out" transfer-ownership="full">
+          <type name="Flags" c:type="GIMarshallingTestsFlags*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="flags_return"
+              c:identifier="g_i_marshalling_tests_flags_return">
+      <return-value transfer-ownership="full">
+        <type name="Flags" c:type="GIMarshallingTestsFlags"/>
+      </return-value>
+    </function>
+    <function name="float_in" c:identifier="g_i_marshalling_tests_float_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="float_" transfer-ownership="none">
+          <type name="float" c:type="gfloat"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="float_inout"
+              c:identifier="g_i_marshalling_tests_float_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="float_" direction="inout" transfer-ownership="full">
+          <type name="float" c:type="gfloat*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="float_out" c:identifier="g_i_marshalling_tests_float_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="float_" direction="out" transfer-ownership="full">
+          <type name="float" c:type="gfloat*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="float_return"
+              c:identifier="g_i_marshalling_tests_float_return">
+      <return-value transfer-ownership="none">
+        <type name="float" c:type="gfloat"/>
+      </return-value>
+    </function>
+    <function name="garray_int_none_in"
+              c:identifier="g_i_marshalling_tests_garray_int_none_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array_" transfer-ownership="none">
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="int"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="garray_int_none_return"
+              c:identifier="g_i_marshalling_tests_garray_int_none_return">
+      <return-value transfer-ownership="none">
+        <array name="GLib.Array" c:type="GArray*">
+          <type name="int"/>
+        </array>
+      </return-value>
+    </function>
+    <function name="garray_utf8_container_in"
+              c:identifier="g_i_marshalling_tests_garray_utf8_container_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array_" transfer-ownership="container">
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="garray_utf8_container_inout"
+              c:identifier="g_i_marshalling_tests_garray_utf8_container_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array_"
+                   direction="inout"
+                   transfer-ownership="container">
+          <array name="GLib.Array" c:type="GArray**">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="garray_utf8_container_out"
+              c:identifier="g_i_marshalling_tests_garray_utf8_container_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array_"
+                   direction="out"
+                   transfer-ownership="container">
+          <array name="GLib.Array" c:type="GArray**">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="garray_utf8_container_return"
+              c:identifier="g_i_marshalling_tests_garray_utf8_container_return">
+      <return-value transfer-ownership="container">
+        <array name="GLib.Array" c:type="GArray*">
+          <type name="utf8"/>
+        </array>
+      </return-value>
+    </function>
+    <function name="garray_utf8_full_in"
+              c:identifier="g_i_marshalling_tests_garray_utf8_full_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array_" transfer-ownership="full">
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="garray_utf8_full_inout"
+              c:identifier="g_i_marshalling_tests_garray_utf8_full_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array_" direction="inout" transfer-ownership="full">
+          <array name="GLib.Array" c:type="GArray**">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="garray_utf8_full_out"
+              c:identifier="g_i_marshalling_tests_garray_utf8_full_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array_" direction="out" transfer-ownership="full">
+          <array name="GLib.Array" c:type="GArray**">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="garray_utf8_full_return"
+              c:identifier="g_i_marshalling_tests_garray_utf8_full_return">
+      <return-value transfer-ownership="full">
+        <array name="GLib.Array" c:type="GArray*">
+          <type name="utf8"/>
+        </array>
+      </return-value>
+    </function>
+    <function name="garray_utf8_none_in"
+              c:identifier="g_i_marshalling_tests_garray_utf8_none_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array_" transfer-ownership="none">
+          <array name="GLib.Array" c:type="GArray*">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="garray_utf8_none_inout"
+              c:identifier="g_i_marshalling_tests_garray_utf8_none_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array_" direction="inout" transfer-ownership="none">
+          <array name="GLib.Array" c:type="GArray**">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="garray_utf8_none_out"
+              c:identifier="g_i_marshalling_tests_garray_utf8_none_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="array_" direction="out" transfer-ownership="none">
+          <array name="GLib.Array" c:type="GArray**">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="garray_utf8_none_return"
+              c:identifier="g_i_marshalling_tests_garray_utf8_none_return">
+      <return-value transfer-ownership="none">
+        <array name="GLib.Array" c:type="GArray*">
+          <type name="utf8"/>
+        </array>
+      </return-value>
+    </function>
+    <function name="gclosure_in"
+              c:identifier="g_i_marshalling_tests_gclosure_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="closure" transfer-ownership="none">
+          <type name="GObject.Closure" c:type="GClosure*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="genum_in" c:identifier="g_i_marshalling_tests_genum_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="enum_" transfer-ownership="none">
+          <type name="GEnum" c:type="GIMarshallingTestsGEnum"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="genum_inout"
+              c:identifier="g_i_marshalling_tests_genum_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="enum_" direction="inout" transfer-ownership="full">
+          <type name="GEnum" c:type="GIMarshallingTestsGEnum*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="genum_out" c:identifier="g_i_marshalling_tests_genum_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="enum_" direction="out" transfer-ownership="full">
+          <type name="GEnum" c:type="GIMarshallingTestsGEnum*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="genum_return"
+              c:identifier="g_i_marshalling_tests_genum_return">
+      <return-value transfer-ownership="full">
+        <type name="Enum" c:type="GIMarshallingTestsEnum"/>
+      </return-value>
+    </function>
+    <function name="ghashtable_int_none_in"
+              c:identifier="g_i_marshalling_tests_ghashtable_int_none_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table" transfer-ownership="none">
+          <type name="GLib.HashTable" c:type="GHashTable*">
+            <type name="int"/>
+            <type name="int"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ghashtable_int_none_return"
+              c:identifier="g_i_marshalling_tests_ghashtable_int_none_return">
+      <return-value transfer-ownership="none">
+        <type name="GLib.HashTable" c:type="GHashTable*">
+          <type name="int"/>
+          <type name="int"/>
+        </type>
+      </return-value>
+    </function>
+    <function name="ghashtable_utf8_container_in"
+              c:identifier="g_i_marshalling_tests_ghashtable_utf8_container_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table" transfer-ownership="container">
+          <type name="GLib.HashTable" c:type="GHashTable*">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ghashtable_utf8_container_inout"
+              c:identifier="g_i_marshalling_tests_ghashtable_utf8_container_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table"
+                   direction="inout"
+                   transfer-ownership="container">
+          <type name="GLib.HashTable" c:type="GHashTable**">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ghashtable_utf8_container_out"
+              c:identifier="g_i_marshalling_tests_ghashtable_utf8_container_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table"
+                   direction="out"
+                   transfer-ownership="container">
+          <type name="GLib.HashTable" c:type="GHashTable**">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ghashtable_utf8_container_return"
+              c:identifier="g_i_marshalling_tests_ghashtable_utf8_container_return">
+      <return-value transfer-ownership="container">
+        <type name="GLib.HashTable" c:type="GHashTable*">
+          <type name="utf8"/>
+          <type name="utf8"/>
+        </type>
+      </return-value>
+    </function>
+    <function name="ghashtable_utf8_full_in"
+              c:identifier="g_i_marshalling_tests_ghashtable_utf8_full_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table" transfer-ownership="full">
+          <type name="GLib.HashTable" c:type="GHashTable*">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ghashtable_utf8_full_inout"
+              c:identifier="g_i_marshalling_tests_ghashtable_utf8_full_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table"
+                   direction="inout"
+                   transfer-ownership="full">
+          <type name="GLib.HashTable" c:type="GHashTable**">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ghashtable_utf8_full_out"
+              c:identifier="g_i_marshalling_tests_ghashtable_utf8_full_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table" direction="out" transfer-ownership="full">
+          <type name="GLib.HashTable" c:type="GHashTable**">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ghashtable_utf8_full_return"
+              c:identifier="g_i_marshalling_tests_ghashtable_utf8_full_return">
+      <return-value transfer-ownership="full">
+        <type name="GLib.HashTable" c:type="GHashTable*">
+          <type name="utf8"/>
+          <type name="utf8"/>
+        </type>
+      </return-value>
+    </function>
+    <function name="ghashtable_utf8_none_in"
+              c:identifier="g_i_marshalling_tests_ghashtable_utf8_none_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table" transfer-ownership="none">
+          <type name="GLib.HashTable" c:type="GHashTable*">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ghashtable_utf8_none_inout"
+              c:identifier="g_i_marshalling_tests_ghashtable_utf8_none_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table"
+                   direction="inout"
+                   transfer-ownership="none">
+          <type name="GLib.HashTable" c:type="GHashTable**">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ghashtable_utf8_none_out"
+              c:identifier="g_i_marshalling_tests_ghashtable_utf8_none_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="hash_table" direction="out" transfer-ownership="none">
+          <type name="GLib.HashTable" c:type="GHashTable**">
+            <type name="utf8"/>
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ghashtable_utf8_none_return"
+              c:identifier="g_i_marshalling_tests_ghashtable_utf8_none_return">
+      <return-value transfer-ownership="none">
+        <type name="GLib.HashTable" c:type="GHashTable*">
+          <type name="utf8"/>
+          <type name="utf8"/>
+        </type>
+      </return-value>
+    </function>
+    <function name="glist_int_none_in"
+              c:identifier="g_i_marshalling_tests_glist_int_none_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" transfer-ownership="none">
+          <type name="GLib.List" c:type="GList*">
+            <type name="int"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="glist_int_none_return"
+              c:identifier="g_i_marshalling_tests_glist_int_none_return">
+      <return-value transfer-ownership="none">
+        <type name="GLib.List" c:type="GList*">
+          <type name="int"/>
+        </type>
+      </return-value>
+    </function>
+    <function name="glist_utf8_container_in"
+              c:identifier="g_i_marshalling_tests_glist_utf8_container_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" transfer-ownership="container">
+          <type name="GLib.List" c:type="GList*">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="glist_utf8_container_inout"
+              c:identifier="g_i_marshalling_tests_glist_utf8_container_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list"
+                   direction="inout"
+                   transfer-ownership="container">
+          <type name="GLib.List" c:type="GList**">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="glist_utf8_container_out"
+              c:identifier="g_i_marshalling_tests_glist_utf8_container_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" direction="out" transfer-ownership="container">
+          <type name="GLib.List" c:type="GList**">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="glist_utf8_container_return"
+              c:identifier="g_i_marshalling_tests_glist_utf8_container_return">
+      <return-value transfer-ownership="container">
+        <type name="GLib.List" c:type="GList*">
+          <type name="utf8"/>
+        </type>
+      </return-value>
+    </function>
+    <function name="glist_utf8_full_in"
+              c:identifier="g_i_marshalling_tests_glist_utf8_full_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" transfer-ownership="full">
+          <type name="GLib.List" c:type="GList*">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="glist_utf8_full_inout"
+              c:identifier="g_i_marshalling_tests_glist_utf8_full_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" direction="inout" transfer-ownership="full">
+          <type name="GLib.List" c:type="GList**">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="glist_utf8_full_out"
+              c:identifier="g_i_marshalling_tests_glist_utf8_full_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" direction="out" transfer-ownership="full">
+          <type name="GLib.List" c:type="GList**">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="glist_utf8_full_return"
+              c:identifier="g_i_marshalling_tests_glist_utf8_full_return">
+      <return-value transfer-ownership="full">
+        <type name="GLib.List" c:type="GList*">
+          <type name="utf8"/>
+        </type>
+      </return-value>
+    </function>
+    <function name="glist_utf8_none_in"
+              c:identifier="g_i_marshalling_tests_glist_utf8_none_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" transfer-ownership="none">
+          <type name="GLib.List" c:type="GList*">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="glist_utf8_none_inout"
+              c:identifier="g_i_marshalling_tests_glist_utf8_none_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" direction="inout" transfer-ownership="none">
+          <type name="GLib.List" c:type="GList**">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="glist_utf8_none_out"
+              c:identifier="g_i_marshalling_tests_glist_utf8_none_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" direction="out" transfer-ownership="none">
+          <type name="GLib.List" c:type="GList**">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="glist_utf8_none_return"
+              c:identifier="g_i_marshalling_tests_glist_utf8_none_return">
+      <return-value transfer-ownership="none">
+        <type name="GLib.List" c:type="GList*">
+          <type name="utf8"/>
+        </type>
+      </return-value>
+    </function>
+    <function name="gslist_int_none_in"
+              c:identifier="g_i_marshalling_tests_gslist_int_none_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" transfer-ownership="none">
+          <type name="GLib.SList" c:type="GSList*">
+            <type name="int"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gslist_int_none_return"
+              c:identifier="g_i_marshalling_tests_gslist_int_none_return">
+      <return-value transfer-ownership="none">
+        <type name="GLib.SList" c:type="GSList*">
+          <type name="int"/>
+        </type>
+      </return-value>
+    </function>
+    <function name="gslist_utf8_container_in"
+              c:identifier="g_i_marshalling_tests_gslist_utf8_container_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" transfer-ownership="container">
+          <type name="GLib.SList" c:type="GSList*">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gslist_utf8_container_inout"
+              c:identifier="g_i_marshalling_tests_gslist_utf8_container_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list"
+                   direction="inout"
+                   transfer-ownership="container">
+          <type name="GLib.SList" c:type="GSList**">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gslist_utf8_container_out"
+              c:identifier="g_i_marshalling_tests_gslist_utf8_container_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" direction="out" transfer-ownership="container">
+          <type name="GLib.SList" c:type="GSList**">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gslist_utf8_container_return"
+              c:identifier="g_i_marshalling_tests_gslist_utf8_container_return">
+      <return-value transfer-ownership="container">
+        <type name="GLib.SList" c:type="GSList*">
+          <type name="utf8"/>
+        </type>
+      </return-value>
+    </function>
+    <function name="gslist_utf8_full_in"
+              c:identifier="g_i_marshalling_tests_gslist_utf8_full_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" transfer-ownership="full">
+          <type name="GLib.SList" c:type="GSList*">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gslist_utf8_full_inout"
+              c:identifier="g_i_marshalling_tests_gslist_utf8_full_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" direction="inout" transfer-ownership="full">
+          <type name="GLib.SList" c:type="GSList**">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gslist_utf8_full_out"
+              c:identifier="g_i_marshalling_tests_gslist_utf8_full_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" direction="out" transfer-ownership="full">
+          <type name="GLib.SList" c:type="GSList**">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gslist_utf8_full_return"
+              c:identifier="g_i_marshalling_tests_gslist_utf8_full_return">
+      <return-value transfer-ownership="full">
+        <type name="GLib.SList" c:type="GSList*">
+          <type name="utf8"/>
+        </type>
+      </return-value>
+    </function>
+    <function name="gslist_utf8_none_in"
+              c:identifier="g_i_marshalling_tests_gslist_utf8_none_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" transfer-ownership="none">
+          <type name="GLib.SList" c:type="GSList*">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gslist_utf8_none_inout"
+              c:identifier="g_i_marshalling_tests_gslist_utf8_none_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" direction="inout" transfer-ownership="none">
+          <type name="GLib.SList" c:type="GSList**">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gslist_utf8_none_out"
+              c:identifier="g_i_marshalling_tests_gslist_utf8_none_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="list" direction="out" transfer-ownership="none">
+          <type name="GLib.SList" c:type="GSList**">
+            <type name="utf8"/>
+          </type>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gslist_utf8_none_return"
+              c:identifier="g_i_marshalling_tests_gslist_utf8_none_return">
+      <return-value transfer-ownership="none">
+        <type name="GLib.SList" c:type="GSList*">
+          <type name="utf8"/>
+        </type>
+      </return-value>
+    </function>
+    <function name="gtype_in" c:identifier="g_i_marshalling_tests_gtype_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="gtype" transfer-ownership="none">
+          <type name="GType" c:type="GType"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gtype_inout"
+              c:identifier="g_i_marshalling_tests_gtype_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="gtype" direction="inout" transfer-ownership="full">
+          <type name="GType" c:type="GType*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gtype_out" c:identifier="g_i_marshalling_tests_gtype_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="gtype" direction="out" transfer-ownership="full">
+          <type name="GType" c:type="GType*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gtype_return"
+              c:identifier="g_i_marshalling_tests_gtype_return">
+      <return-value transfer-ownership="none">
+        <type name="GType" c:type="GType"/>
+      </return-value>
+    </function>
+    <function name="gvalue_in" c:identifier="g_i_marshalling_tests_gvalue_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value" transfer-ownership="none">
+          <type name="GObject.Value" c:type="GValue*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gvalue_inout"
+              c:identifier="g_i_marshalling_tests_gvalue_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value" direction="inout" transfer-ownership="none">
+          <type name="GObject.Value" c:type="GValue**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gvalue_out"
+              c:identifier="g_i_marshalling_tests_gvalue_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="value" direction="out" transfer-ownership="none">
+          <type name="GObject.Value" c:type="GValue**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="gvalue_return"
+              c:identifier="g_i_marshalling_tests_gvalue_return">
+      <return-value transfer-ownership="none">
+        <type name="GObject.Value" c:type="GValue*"/>
+      </return-value>
+    </function>
+    <function name="int16_in_max"
+              c:identifier="g_i_marshalling_tests_int16_in_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int16" transfer-ownership="none">
+          <type name="int16" c:type="gint16"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int16_in_min"
+              c:identifier="g_i_marshalling_tests_int16_in_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int16" transfer-ownership="none">
+          <type name="int16" c:type="gint16"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int16_inout_max_min"
+              c:identifier="g_i_marshalling_tests_int16_inout_max_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int16" direction="inout" transfer-ownership="full">
+          <type name="int16" c:type="gint16*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int16_inout_min_max"
+              c:identifier="g_i_marshalling_tests_int16_inout_min_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int16" direction="inout" transfer-ownership="full">
+          <type name="int16" c:type="gint16*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int16_out_max"
+              c:identifier="g_i_marshalling_tests_int16_out_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int16" direction="out" transfer-ownership="full">
+          <type name="int16" c:type="gint16*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int16_out_min"
+              c:identifier="g_i_marshalling_tests_int16_out_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int16" direction="out" transfer-ownership="full">
+          <type name="int16" c:type="gint16*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int16_return_max"
+              c:identifier="g_i_marshalling_tests_int16_return_max">
+      <return-value transfer-ownership="none">
+        <type name="int16" c:type="gint16"/>
+      </return-value>
+    </function>
+    <function name="int16_return_min"
+              c:identifier="g_i_marshalling_tests_int16_return_min">
+      <return-value transfer-ownership="none">
+        <type name="int16" c:type="gint16"/>
+      </return-value>
+    </function>
+    <function name="int32_in_max"
+              c:identifier="g_i_marshalling_tests_int32_in_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int32" transfer-ownership="none">
+          <type name="int32" c:type="gint32"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int32_in_min"
+              c:identifier="g_i_marshalling_tests_int32_in_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int32" transfer-ownership="none">
+          <type name="int32" c:type="gint32"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int32_inout_max_min"
+              c:identifier="g_i_marshalling_tests_int32_inout_max_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int32" direction="inout" transfer-ownership="full">
+          <type name="int32" c:type="gint32*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int32_inout_min_max"
+              c:identifier="g_i_marshalling_tests_int32_inout_min_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int32" direction="inout" transfer-ownership="full">
+          <type name="int32" c:type="gint32*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int32_out_max"
+              c:identifier="g_i_marshalling_tests_int32_out_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int32" direction="out" transfer-ownership="full">
+          <type name="int32" c:type="gint32*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int32_out_min"
+              c:identifier="g_i_marshalling_tests_int32_out_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int32" direction="out" transfer-ownership="full">
+          <type name="int32" c:type="gint32*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int32_return_max"
+              c:identifier="g_i_marshalling_tests_int32_return_max">
+      <return-value transfer-ownership="none">
+        <type name="int32" c:type="gint32"/>
+      </return-value>
+    </function>
+    <function name="int32_return_min"
+              c:identifier="g_i_marshalling_tests_int32_return_min">
+      <return-value transfer-ownership="none">
+        <type name="int32" c:type="gint32"/>
+      </return-value>
+    </function>
+    <function name="int64_in_max"
+              c:identifier="g_i_marshalling_tests_int64_in_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int64" transfer-ownership="none">
+          <type name="int64" c:type="gint64"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int64_in_min"
+              c:identifier="g_i_marshalling_tests_int64_in_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int64" transfer-ownership="none">
+          <type name="int64" c:type="gint64"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int64_inout_max_min"
+              c:identifier="g_i_marshalling_tests_int64_inout_max_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int64" direction="inout" transfer-ownership="full">
+          <type name="int64" c:type="gint64*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int64_inout_min_max"
+              c:identifier="g_i_marshalling_tests_int64_inout_min_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int64" direction="inout" transfer-ownership="full">
+          <type name="int64" c:type="gint64*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int64_out_max"
+              c:identifier="g_i_marshalling_tests_int64_out_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int64" direction="out" transfer-ownership="full">
+          <type name="int64" c:type="gint64*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int64_out_min"
+              c:identifier="g_i_marshalling_tests_int64_out_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int64" direction="out" transfer-ownership="full">
+          <type name="int64" c:type="gint64*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int64_return_max"
+              c:identifier="g_i_marshalling_tests_int64_return_max">
+      <return-value transfer-ownership="none">
+        <type name="int64" c:type="gint64"/>
+      </return-value>
+    </function>
+    <function name="int64_return_min"
+              c:identifier="g_i_marshalling_tests_int64_return_min">
+      <return-value transfer-ownership="none">
+        <type name="int64" c:type="gint64"/>
+      </return-value>
+    </function>
+    <function name="int8_in_max"
+              c:identifier="g_i_marshalling_tests_int8_in_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int8" transfer-ownership="none">
+          <type name="int8" c:type="gint8"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int8_in_min"
+              c:identifier="g_i_marshalling_tests_int8_in_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int8" transfer-ownership="none">
+          <type name="int8" c:type="gint8"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int8_inout_max_min"
+              c:identifier="g_i_marshalling_tests_int8_inout_max_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int8" direction="inout" transfer-ownership="full">
+          <type name="int8" c:type="gint8*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int8_inout_min_max"
+              c:identifier="g_i_marshalling_tests_int8_inout_min_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int8" direction="inout" transfer-ownership="full">
+          <type name="int8" c:type="gint8*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int8_out_max"
+              c:identifier="g_i_marshalling_tests_int8_out_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int8" direction="out" transfer-ownership="full">
+          <type name="int8" c:type="gint8*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int8_out_min"
+              c:identifier="g_i_marshalling_tests_int8_out_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int8" direction="out" transfer-ownership="full">
+          <type name="int8" c:type="gint8*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int8_return_max"
+              c:identifier="g_i_marshalling_tests_int8_return_max">
+      <return-value transfer-ownership="none">
+        <type name="int8" c:type="gint8"/>
+      </return-value>
+    </function>
+    <function name="int8_return_min"
+              c:identifier="g_i_marshalling_tests_int8_return_min">
+      <return-value transfer-ownership="none">
+        <type name="int8" c:type="gint8"/>
+      </return-value>
+    </function>
+    <function name="int_in_max"
+              c:identifier="g_i_marshalling_tests_int_in_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int_" transfer-ownership="none">
+          <type name="int" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int_in_min"
+              c:identifier="g_i_marshalling_tests_int_in_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int_" transfer-ownership="none">
+          <type name="int" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int_inout_max_min"
+              c:identifier="g_i_marshalling_tests_int_inout_max_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int_" direction="inout" transfer-ownership="full">
+          <type name="int" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int_inout_min_max"
+              c:identifier="g_i_marshalling_tests_int_inout_min_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int_" direction="inout" transfer-ownership="full">
+          <type name="int" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int_out_in"
+              c:identifier="g_i_marshalling_tests_int_out_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int0" direction="out" transfer-ownership="full">
+          <type name="int" c:type="gint*"/>
+        </parameter>
+        <parameter name="int1" transfer-ownership="none">
+          <type name="int" c:type="gint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int_out_max"
+              c:identifier="g_i_marshalling_tests_int_out_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int_" direction="out" transfer-ownership="full">
+          <type name="int" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int_out_min"
+              c:identifier="g_i_marshalling_tests_int_out_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int_" direction="out" transfer-ownership="full">
+          <type name="int" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int_out_out"
+              c:identifier="g_i_marshalling_tests_int_out_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="int0" direction="out" transfer-ownership="full">
+          <type name="int" c:type="gint*"/>
+        </parameter>
+        <parameter name="int1" direction="out" transfer-ownership="full">
+          <type name="int" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="int_return_max"
+              c:identifier="g_i_marshalling_tests_int_return_max">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="gint"/>
+      </return-value>
+    </function>
+    <function name="int_return_min"
+              c:identifier="g_i_marshalling_tests_int_return_min">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="gint"/>
+      </return-value>
+    </function>
+    <function name="int_return_out"
+              c:identifier="g_i_marshalling_tests_int_return_out">
+      <return-value transfer-ownership="none">
+        <type name="int" c:type="gint"/>
+      </return-value>
+      <parameters>
+        <parameter name="int_" direction="out" transfer-ownership="full">
+          <type name="int" c:type="gint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="long_in_max"
+              c:identifier="g_i_marshalling_tests_long_in_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="long_" transfer-ownership="none">
+          <type name="long" c:type="glong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="long_in_min"
+              c:identifier="g_i_marshalling_tests_long_in_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="long_" transfer-ownership="none">
+          <type name="long" c:type="glong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="long_inout_max_min"
+              c:identifier="g_i_marshalling_tests_long_inout_max_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="long_" direction="inout" transfer-ownership="full">
+          <type name="long" c:type="glong*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="long_inout_min_max"
+              c:identifier="g_i_marshalling_tests_long_inout_min_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="long_" direction="inout" transfer-ownership="full">
+          <type name="long" c:type="glong*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="long_out_max"
+              c:identifier="g_i_marshalling_tests_long_out_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="long_" direction="out" transfer-ownership="full">
+          <type name="long" c:type="glong*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="long_out_min"
+              c:identifier="g_i_marshalling_tests_long_out_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="long_" direction="out" transfer-ownership="full">
+          <type name="long" c:type="glong*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="long_return_max"
+              c:identifier="g_i_marshalling_tests_long_return_max">
+      <return-value transfer-ownership="none">
+        <type name="long" c:type="glong"/>
+      </return-value>
+    </function>
+    <function name="long_return_min"
+              c:identifier="g_i_marshalling_tests_long_return_min">
+      <return-value transfer-ownership="none">
+        <type name="long" c:type="glong"/>
+      </return-value>
+    </function>
+    <function name="object_full_in"
+              c:identifier="g_i_marshalling_tests__object_full_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object" transfer-ownership="full">
+          <type name="Object" c:type="GIMarshallingTestsObject*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_full_inout"
+              c:identifier="g_i_marshalling_tests__object_full_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object" direction="inout" transfer-ownership="full">
+          <type name="Object" c:type="GIMarshallingTestsObject**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_full_out"
+              c:identifier="g_i_marshalling_tests__object_full_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object" direction="out" transfer-ownership="full">
+          <type name="Object" c:type="GIMarshallingTestsObject**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_full_return"
+              c:identifier="g_i_marshalling_tests__object_full_return">
+      <return-value transfer-ownership="full">
+        <type name="Object" c:type="GIMarshallingTestsObject*"/>
+      </return-value>
+    </function>
+    <function name="object_inout_same"
+              c:identifier="g_i_marshalling_tests__object_inout_same">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object" direction="inout" transfer-ownership="full">
+          <type name="Object" c:type="GIMarshallingTestsObject**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_int8_in"
+              c:identifier="g_i_marshalling_tests__object_int8_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object" transfer-ownership="none">
+          <type name="Object" c:type="GIMarshallingTestsObject*"/>
+        </parameter>
+        <parameter name="in" transfer-ownership="none">
+          <type name="int8" c:type="gint8"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_int8_out"
+              c:identifier="g_i_marshalling_tests__object_int8_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object" transfer-ownership="none">
+          <type name="Object" c:type="GIMarshallingTestsObject*"/>
+        </parameter>
+        <parameter name="out" direction="out" transfer-ownership="full">
+          <type name="int8" c:type="gint8*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_none_in"
+              c:identifier="g_i_marshalling_tests__object_none_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object" transfer-ownership="none">
+          <type name="Object" c:type="GIMarshallingTestsObject*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_none_inout"
+              c:identifier="g_i_marshalling_tests__object_none_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object" direction="inout" transfer-ownership="none">
+          <type name="Object" c:type="GIMarshallingTestsObject**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_none_out"
+              c:identifier="g_i_marshalling_tests__object_none_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="object" direction="out" transfer-ownership="none">
+          <type name="Object" c:type="GIMarshallingTestsObject**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="object_none_return"
+              c:identifier="g_i_marshalling_tests__object_none_return">
+      <return-value transfer-ownership="none">
+        <type name="Object" c:type="GIMarshallingTestsObject*"/>
+      </return-value>
+    </function>
+    <function name="overrides_object_return"
+              c:identifier="g_i_marshalling_tests__overrides_object_return">
+      <return-value transfer-ownership="full">
+        <type name="OverridesObject"
+              c:type="GIMarshallingTestsOverridesObject*"/>
+      </return-value>
+    </function>
+    <function name="overrides_struct_return"
+              c:identifier="g_i_marshalling_tests__overrides_struct_return">
+      <return-value transfer-ownership="full">
+        <type name="OverridesStruct"
+              c:type="GIMarshallingTestsOverridesStruct*"/>
+      </return-value>
+    </function>
+    <function name="pointer_in_return"
+              c:identifier="g_i_marshalling_tests_pointer_in_return">
+      <return-value transfer-ownership="none">
+        <type name="any" c:type="gpointer"/>
+      </return-value>
+      <parameters>
+        <parameter name="pointer" transfer-ownership="none">
+          <type name="any" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="pointer_struct_in"
+              c:identifier="g_i_marshalling_tests__pointer_struct_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="struct_" transfer-ownership="none">
+          <type name="PointerStruct"
+                c:type="GIMarshallingTestsPointerStruct*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="pointer_struct_inout"
+              c:identifier="g_i_marshalling_tests__pointer_struct_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="struct_" direction="inout" transfer-ownership="none">
+          <type name="PointerStruct"
+                c:type="GIMarshallingTestsPointerStruct**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="pointer_struct_out"
+              c:identifier="g_i_marshalling_tests__pointer_struct_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="struct_" direction="out" transfer-ownership="none">
+          <type name="PointerStruct"
+                c:type="GIMarshallingTestsPointerStruct**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="pointer_struct_return"
+              c:identifier="g_i_marshalling_tests__pointer_struct_return">
+      <return-value transfer-ownership="none">
+        <type name="PointerStruct" c:type="GIMarshallingTestsPointerStruct*"/>
+      </return-value>
+    </function>
+    <function name="short_in_max"
+              c:identifier="g_i_marshalling_tests_short_in_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="short_" transfer-ownership="none">
+          <type name="short" c:type="gshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="short_in_min"
+              c:identifier="g_i_marshalling_tests_short_in_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="short_" transfer-ownership="none">
+          <type name="short" c:type="gshort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="short_inout_max_min"
+              c:identifier="g_i_marshalling_tests_short_inout_max_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="short_" direction="inout" transfer-ownership="full">
+          <type name="short" c:type="gshort*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="short_inout_min_max"
+              c:identifier="g_i_marshalling_tests_short_inout_min_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="short_" direction="inout" transfer-ownership="full">
+          <type name="short" c:type="gshort*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="short_out_max"
+              c:identifier="g_i_marshalling_tests_short_out_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="short_" direction="out" transfer-ownership="full">
+          <type name="short" c:type="gshort*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="short_out_min"
+              c:identifier="g_i_marshalling_tests_short_out_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="short_" direction="out" transfer-ownership="full">
+          <type name="short" c:type="gshort*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="short_return_max"
+              c:identifier="g_i_marshalling_tests_short_return_max">
+      <return-value transfer-ownership="none">
+        <type name="short" c:type="gshort"/>
+      </return-value>
+    </function>
+    <function name="short_return_min"
+              c:identifier="g_i_marshalling_tests_short_return_min">
+      <return-value transfer-ownership="none">
+        <type name="short" c:type="gshort"/>
+      </return-value>
+    </function>
+    <function name="simple_struct_in"
+              c:identifier="g_i_marshalling_tests__simple_struct_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="struct_" transfer-ownership="none">
+          <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="simple_struct_inout"
+              c:identifier="g_i_marshalling_tests__simple_struct_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="struct_" direction="inout" transfer-ownership="none">
+          <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="simple_struct_out"
+              c:identifier="g_i_marshalling_tests__simple_struct_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="struct_" direction="out" transfer-ownership="none">
+          <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="simple_struct_return"
+              c:identifier="g_i_marshalling_tests__simple_struct_return">
+      <return-value transfer-ownership="none">
+        <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct*"/>
+      </return-value>
+    </function>
+    <function name="size_in" c:identifier="g_i_marshalling_tests_size_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="size" transfer-ownership="none">
+          <type name="size_t" c:type="gsize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="size_inout"
+              c:identifier="g_i_marshalling_tests_size_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="size" direction="inout" transfer-ownership="full">
+          <type name="size_t" c:type="gsize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="size_out" c:identifier="g_i_marshalling_tests_size_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="size" direction="out" transfer-ownership="full">
+          <type name="size_t" c:type="gsize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="size_return"
+              c:identifier="g_i_marshalling_tests_size_return">
+      <return-value transfer-ownership="none">
+        <type name="size_t" c:type="gsize"/>
+      </return-value>
+    </function>
+    <function name="ssize_in_max"
+              c:identifier="g_i_marshalling_tests_ssize_in_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ssize" transfer-ownership="none">
+          <type name="ssize_t" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ssize_in_min"
+              c:identifier="g_i_marshalling_tests_ssize_in_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ssize" transfer-ownership="none">
+          <type name="ssize_t" c:type="gssize"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ssize_inout_max_min"
+              c:identifier="g_i_marshalling_tests_ssize_inout_max_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ssize" direction="inout" transfer-ownership="full">
+          <type name="ssize_t" c:type="gssize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ssize_inout_min_max"
+              c:identifier="g_i_marshalling_tests_ssize_inout_min_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ssize" direction="inout" transfer-ownership="full">
+          <type name="ssize_t" c:type="gssize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ssize_out_max"
+              c:identifier="g_i_marshalling_tests_ssize_out_max">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ssize" direction="out" transfer-ownership="full">
+          <type name="ssize_t" c:type="gssize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ssize_out_min"
+              c:identifier="g_i_marshalling_tests_ssize_out_min">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ssize" direction="out" transfer-ownership="full">
+          <type name="ssize_t" c:type="gssize*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ssize_return_max"
+              c:identifier="g_i_marshalling_tests_ssize_return_max">
+      <return-value transfer-ownership="none">
+        <type name="ssize_t" c:type="gssize"/>
+      </return-value>
+    </function>
+    <function name="ssize_return_min"
+              c:identifier="g_i_marshalling_tests_ssize_return_min">
+      <return-value transfer-ownership="none">
+        <type name="ssize_t" c:type="gssize"/>
+      </return-value>
+    </function>
+    <function name="test_interface_test_int8_in"
+              c:identifier="g_i_marshalling_tests_test_interface_test_int8_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="test_iface" transfer-ownership="none">
+          <type name="Interface" c:type="GIMarshallingTestsInterface*"/>
+        </parameter>
+        <parameter name="in" transfer-ownership="none">
+          <type name="int8" c:type="gint8"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="time_t_in" c:identifier="g_i_marshalling_tests_time_t_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="time_t_" transfer-ownership="none">
+          <type name="time_t" c:type="time_t"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="time_t_inout"
+              c:identifier="g_i_marshalling_tests_time_t_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="time_t_" direction="inout" transfer-ownership="full">
+          <type name="time_t" c:type="time_t*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="time_t_out"
+              c:identifier="g_i_marshalling_tests_time_t_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="time_t_" direction="out" transfer-ownership="full">
+          <type name="time_t" c:type="time_t*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="time_t_return"
+              c:identifier="g_i_marshalling_tests_time_t_return">
+      <return-value transfer-ownership="none">
+        <type name="time_t" c:type="time_t"/>
+      </return-value>
+    </function>
+    <function name="uint16_in" c:identifier="g_i_marshalling_tests_uint16_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint16" transfer-ownership="none">
+          <type name="uint16" c:type="guint16"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint16_inout"
+              c:identifier="g_i_marshalling_tests_uint16_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint16" direction="inout" transfer-ownership="full">
+          <type name="uint16" c:type="guint16*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint16_out"
+              c:identifier="g_i_marshalling_tests_uint16_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint16" direction="out" transfer-ownership="full">
+          <type name="uint16" c:type="guint16*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint16_return"
+              c:identifier="g_i_marshalling_tests_uint16_return">
+      <return-value transfer-ownership="none">
+        <type name="uint16" c:type="guint16"/>
+      </return-value>
+    </function>
+    <function name="uint32_in" c:identifier="g_i_marshalling_tests_uint32_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint32" transfer-ownership="none">
+          <type name="uint32" c:type="guint32"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint32_inout"
+              c:identifier="g_i_marshalling_tests_uint32_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint32" direction="inout" transfer-ownership="full">
+          <type name="uint32" c:type="guint32*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint32_out"
+              c:identifier="g_i_marshalling_tests_uint32_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint32" direction="out" transfer-ownership="full">
+          <type name="uint32" c:type="guint32*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint32_return"
+              c:identifier="g_i_marshalling_tests_uint32_return">
+      <return-value transfer-ownership="none">
+        <type name="uint32" c:type="guint32"/>
+      </return-value>
+    </function>
+    <function name="uint64_in" c:identifier="g_i_marshalling_tests_uint64_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint64" transfer-ownership="none">
+          <type name="uint64" c:type="guint64"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint64_inout"
+              c:identifier="g_i_marshalling_tests_uint64_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint64" direction="inout" transfer-ownership="full">
+          <type name="uint64" c:type="guint64*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint64_out"
+              c:identifier="g_i_marshalling_tests_uint64_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint64" direction="out" transfer-ownership="full">
+          <type name="uint64" c:type="guint64*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint64_return"
+              c:identifier="g_i_marshalling_tests_uint64_return">
+      <return-value transfer-ownership="none">
+        <type name="uint64" c:type="guint64"/>
+      </return-value>
+    </function>
+    <function name="uint8_in" c:identifier="g_i_marshalling_tests_uint8_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint8" transfer-ownership="none">
+          <type name="uint8" c:type="guint8"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint8_inout"
+              c:identifier="g_i_marshalling_tests_uint8_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint8" direction="inout" transfer-ownership="full">
+          <type name="uint8" c:type="guint8*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint8_out" c:identifier="g_i_marshalling_tests_uint8_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint8" direction="out" transfer-ownership="full">
+          <type name="uint8" c:type="guint8*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint8_return"
+              c:identifier="g_i_marshalling_tests_uint8_return">
+      <return-value transfer-ownership="none">
+        <type name="uint8" c:type="guint8"/>
+      </return-value>
+    </function>
+    <function name="uint_in" c:identifier="g_i_marshalling_tests_uint_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint" transfer-ownership="none">
+          <type name="uint" c:type="guint"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint_inout"
+              c:identifier="g_i_marshalling_tests_uint_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint" direction="inout" transfer-ownership="full">
+          <type name="uint" c:type="guint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint_out" c:identifier="g_i_marshalling_tests_uint_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="uint" direction="out" transfer-ownership="full">
+          <type name="uint" c:type="guint*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="uint_return"
+              c:identifier="g_i_marshalling_tests_uint_return">
+      <return-value transfer-ownership="none">
+        <type name="uint" c:type="guint"/>
+      </return-value>
+    </function>
+    <function name="ulong_in" c:identifier="g_i_marshalling_tests_ulong_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ulong" transfer-ownership="none">
+          <type name="ulong" c:type="gulong"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ulong_inout"
+              c:identifier="g_i_marshalling_tests_ulong_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ulong" direction="inout" transfer-ownership="full">
+          <type name="ulong" c:type="gulong*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ulong_out" c:identifier="g_i_marshalling_tests_ulong_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ulong" direction="out" transfer-ownership="full">
+          <type name="ulong" c:type="gulong*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ulong_return"
+              c:identifier="g_i_marshalling_tests_ulong_return">
+      <return-value transfer-ownership="none">
+        <type name="ulong" c:type="gulong"/>
+      </return-value>
+    </function>
+    <function name="union_in" c:identifier="g_i_marshalling_tests__union_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="union_" transfer-ownership="none">
+          <type name="Union" c:type="GIMarshallingTestsUnion*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="union_inout"
+              c:identifier="g_i_marshalling_tests__union_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="union_" direction="inout" transfer-ownership="none">
+          <type name="Union" c:type="GIMarshallingTestsUnion**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="union_out" c:identifier="g_i_marshalling_tests__union_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="union_" direction="out" transfer-ownership="none">
+          <type name="Union" c:type="GIMarshallingTestsUnion**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="union_return"
+              c:identifier="g_i_marshalling_tests__union_return">
+      <return-value transfer-ownership="none">
+        <type name="Union" c:type="GIMarshallingTestsUnion*"/>
+      </return-value>
+    </function>
+    <function name="ushort_in" c:identifier="g_i_marshalling_tests_ushort_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ushort" transfer-ownership="none">
+          <type name="ushort" c:type="gushort"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ushort_inout"
+              c:identifier="g_i_marshalling_tests_ushort_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ushort" direction="inout" transfer-ownership="full">
+          <type name="ushort" c:type="gushort*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ushort_out"
+              c:identifier="g_i_marshalling_tests_ushort_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="ushort" direction="out" transfer-ownership="full">
+          <type name="ushort" c:type="gushort*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="ushort_return"
+              c:identifier="g_i_marshalling_tests_ushort_return">
+      <return-value transfer-ownership="none">
+        <type name="ushort" c:type="gushort"/>
+      </return-value>
+    </function>
+    <function name="utf8_dangling_out"
+              c:identifier="g_i_marshalling_tests_utf8_dangling_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="utf8" direction="out" transfer-ownership="full">
+          <type name="utf8" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_full_in"
+              c:identifier="g_i_marshalling_tests_utf8_full_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="utf8" transfer-ownership="full">
+          <type name="utf8" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_full_inout"
+              c:identifier="g_i_marshalling_tests_utf8_full_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="utf8" direction="inout" transfer-ownership="full">
+          <type name="utf8" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_full_out"
+              c:identifier="g_i_marshalling_tests_utf8_full_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="utf8" direction="out" transfer-ownership="full">
+          <type name="utf8" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_full_out_out"
+              c:identifier="g_i_marshalling_tests_utf8_full_out_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="utf80" transfer-ownership="none">
+          <array c:type="gchar**">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+        <parameter name="utf82" transfer-ownership="none">
+          <array c:type="gchar**">
+            <type name="utf8"/>
+          </array>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_full_return"
+              c:identifier="g_i_marshalling_tests_utf8_full_return">
+      <return-value transfer-ownership="full">
+        <type name="utf8" c:type="gchar*"/>
+      </return-value>
+    </function>
+    <function name="utf8_none_in"
+              c:identifier="g_i_marshalling_tests_utf8_none_in">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="utf8" transfer-ownership="none">
+          <type name="utf8" c:type="gchar*"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_none_inout"
+              c:identifier="g_i_marshalling_tests_utf8_none_inout">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="utf8" direction="inout" transfer-ownership="none">
+          <type name="utf8" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_none_out"
+              c:identifier="g_i_marshalling_tests_utf8_none_out">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="utf8" direction="out" transfer-ownership="none">
+          <type name="utf8" c:type="gchar**"/>
+        </parameter>
+      </parameters>
+    </function>
+    <function name="utf8_none_return"
+              c:identifier="g_i_marshalling_tests_utf8_none_return">
+      <return-value transfer-ownership="none">
+        <type name="utf8" c:type="gchar*"/>
+      </return-value>
+    </function>
+  </namespace>
+</repository>
diff --git a/gir/Makefile.am b/gir/Makefile.am
index e22ea1c..f1ec020 100644
--- a/gir/Makefile.am
+++ b/gir/Makefile.am
@@ -203,6 +203,7 @@ GIMarshallingTests_1_0_gir_INCLUDES = GObject-2.0
 GIMarshallingTests_1_0_gir_FILES = $(srcdir)/gimarshallingtests.h $(srcdir)/gimarshallingtests.c
 
 INTROSPECTION_GIRS += GIMarshallingTests-$(TYPELIB_VERSION).gir
+EXPECTEDGIRS += GIMarshallingTests-$(TYPELIB_VERSION)-expected.gir
 
 endif
 



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