sync
[gir-1.1] / GIMarshallingTests-1.0.gir
1 <?xml version="1.0"?>
2 <!-- This file was automatically generated from C sources - DO NOT EDIT!
3 To affect the contents of this file, edit the original C definitions,
4 and/or use gtk-doc annotations.  -->
5 <repository version="1.1"
6             xmlns="http://www.gtk.org/introspection/core/1.0"
7             xmlns:c="http://www.gtk.org/introspection/c/1.0"
8             xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9   <include name="GLib" version="2.0"/>
10   <include name="GObject" version="2.0"/>
11   <package name="gobject-2.0"/>
12   <namespace name="GIMarshallingTests"
13              version="1.0"
14              shared-library="libgirepository-gimarshallingtests-1.0.so.1"
15              c:prefix="GIMarshallingTests">
16     <record name="BoxedStruct"
17             c:type="GIMarshallingTestsBoxedStruct"
18             glib:type-name="GIMarshallingTestsBoxedStruct"
19             glib:get-type="g_i_marshalling_tests_boxed_struct_get_type">
20       <field name="long_" writable="1">
21         <type name="long" c:type="glong"/>
22       </field>
23       <field name="g_strv" writable="1">
24         <array c:type="GStrv">
25           <type name="utf8"/>
26         </array>
27       </field>
28       <constructor name="new"
29                    c:identifier="g_i_marshalling_tests_boxed_struct_new">
30         <return-value transfer-ownership="full">
31           <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct*"/>
32         </return-value>
33       </constructor>
34     </record>
35     <constant name="CONSTANT_NUMBER" value="42">
36       <type name="int"/>
37     </constant>
38     <constant name="CONSTANT_UTF8" value="const xe2x99xa5 utf8">
39       <type name="utf8"/>
40     </constant>
41     <enumeration name="Enum" c:type="GIMarshallingTestsEnum">
42       <member name="value1"
43               value="0"
44               c:identifier="G_I_MARSHALLING_TESTS_ENUM_VALUE1"/>
45       <member name="value2"
46               value="1"
47               c:identifier="G_I_MARSHALLING_TESTS_ENUM_VALUE2"/>
48       <member name="value3"
49               value="42"
50               c:identifier="G_I_MARSHALLING_TESTS_ENUM_VALUE3"/>
51     </enumeration>
52     <bitfield name="Flags"
53               glib:type-name="GIMarshallingTestsFlags"
54               glib:get-type="g_i_marshalling_tests_flags_get_type"
55               c:type="GIMarshallingTestsFlags">
56       <member name="value1"
57               value="1"
58               c:identifier="G_I_MARSHALLING_TESTS_FLAGS_VALUE1"
59               glib:nick="value1"/>
60       <member name="value2"
61               value="2"
62               c:identifier="G_I_MARSHALLING_TESTS_FLAGS_VALUE2"
63               glib:nick="value2"/>
64       <member name="value3"
65               value="4"
66               c:identifier="G_I_MARSHALLING_TESTS_FLAGS_VALUE3"
67               glib:nick="value3"/>
68     </bitfield>
69     <enumeration name="GEnum"
70                  glib:type-name="GIMarshallingTestsGEnum"
71                  glib:get-type="g_i_marshalling_tests_genum_get_type"
72                  c:type="GIMarshallingTestsGEnum">
73       <member name="value1"
74               value="0"
75               c:identifier="G_I_MARSHALLING_TESTS_GENUM_VALUE1"
76               glib:nick="value1"/>
77       <member name="value2"
78               value="1"
79               c:identifier="G_I_MARSHALLING_TESTS_GENUM_VALUE2"
80               glib:nick="value2"/>
81       <member name="value3"
82               value="42"
83               c:identifier="G_I_MARSHALLING_TESTS_GENUM_VALUE3"
84               glib:nick="value3"/>
85     </enumeration>
86     <interface name="Interface"
87                c:type="GIMarshallingTestsInterface"
88                glib:type-name="GIMarshallingTestsInterface"
89                glib:get-type="g_i_marshalling_tests_interface_get_type"
90                glib:type-struct="InterfaceIface">
91       <virtual-method name="test_int8_in" invoker="test_int8_in">
92         <return-value transfer-ownership="none">
93           <type name="none" c:type="void"/>
94         </return-value>
95         <parameters>
96           <parameter name="in" transfer-ownership="none">
97             <type name="int8" c:type="gint8"/>
98           </parameter>
99         </parameters>
100       </virtual-method>
101       <method name="test_int8_in"
102               c:identifier="g_i_marshalling_tests_interface_test_int8_in">
103         <return-value transfer-ownership="none">
104           <type name="none" c:type="void"/>
105         </return-value>
106         <parameters>
107           <parameter name="in" transfer-ownership="none">
108             <type name="int8" c:type="gint8"/>
109           </parameter>
110         </parameters>
111       </method>
112     </interface>
113     <record name="InterfaceIface"
114             c:type="GIMarshallingTestsInterfaceIface"
115             glib:is-gtype-struct-for="Interface">
116       <field name="base_iface">
117         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
118       </field>
119       <field name="test_int8_in">
120         <callback name="test_int8_in" c:type="test_int8_in">
121           <return-value transfer-ownership="none">
122             <type name="none" c:type="void"/>
123           </return-value>
124           <parameters>
125             <parameter name="self" transfer-ownership="none">
126               <type name="Interface" c:type="GIMarshallingTestsInterface*"/>
127             </parameter>
128             <parameter name="in" transfer-ownership="none">
129               <type name="int8" c:type="gint8"/>
130             </parameter>
131           </parameters>
132         </callback>
133       </field>
134     </record>
135     <record name="NestedStruct" c:type="GIMarshallingTestsNestedStruct">
136       <field name="simple_struct" writable="1">
137         <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct"/>
138       </field>
139     </record>
140     <record name="NotSimpleStruct" c:type="GIMarshallingTestsNotSimpleStruct">
141       <field name="pointer" writable="1">
142         <type name="NestedStruct" c:type="GIMarshallingTestsNestedStruct*"/>
143       </field>
144     </record>
145     <constant name="OVERRIDES_CONSTANT" value="42">
146       <type name="int"/>
147     </constant>
148     <class name="Object"
149            c:type="GIMarshallingTestsObject"
150            parent="GObject.Object"
151            glib:type-name="GIMarshallingTestsObject"
152            glib:get-type="g_i_marshalling_tests_object_get_type"
153            glib:type-struct="ObjectClass">
154       <constructor name="new" c:identifier="g_i_marshalling_tests_object_new">
155         <return-value transfer-ownership="full">
156           <type name="Object" c:type="GIMarshallingTestsObject*"/>
157         </return-value>
158         <parameters>
159           <parameter name="int_" transfer-ownership="none">
160             <type name="int" c:type="gint"/>
161           </parameter>
162         </parameters>
163       </constructor>
164       <function name="static_method"
165                 c:identifier="g_i_marshalling_tests_object_static_method">
166         <return-value transfer-ownership="none">
167           <type name="none" c:type="void"/>
168         </return-value>
169       </function>
170       <virtual-method name="method_int8_in" invoker="method_int8_in">
171         <return-value transfer-ownership="none">
172           <type name="none" c:type="void"/>
173         </return-value>
174         <parameters>
175           <parameter name="in" transfer-ownership="none">
176             <type name="int8" c:type="gint8"/>
177           </parameter>
178         </parameters>
179       </virtual-method>
180       <virtual-method name="method_int8_out" invoker="method_int8_out">
181         <return-value transfer-ownership="none">
182           <type name="none" c:type="void"/>
183         </return-value>
184         <parameters>
185           <parameter name="out"
186                      direction="out"
187                      caller-allocates="0"
188                      transfer-ownership="full">
189             <type name="int8" c:type="gint8*"/>
190           </parameter>
191         </parameters>
192       </virtual-method>
193       <virtual-method name="method_with_default_implementation"
194                       invoker="method_with_default_implementation">
195         <return-value transfer-ownership="none">
196           <type name="none" c:type="void"/>
197         </return-value>
198         <parameters>
199           <parameter name="in" transfer-ownership="none">
200             <type name="int8" c:type="gint8"/>
201           </parameter>
202         </parameters>
203       </virtual-method>
204       <method name="method" c:identifier="g_i_marshalling_tests_object_method">
205         <return-value transfer-ownership="none">
206           <type name="none" c:type="void"/>
207         </return-value>
208       </method>
209       <method name="overridden_method"
210               c:identifier="g_i_marshalling_tests_object_overridden_method">
211         <return-value transfer-ownership="none">
212           <type name="none" c:type="void"/>
213         </return-value>
214       </method>
215       <method name="method_array_in"
216               c:identifier="g_i_marshalling_tests_object_method_array_in">
217         <return-value transfer-ownership="none">
218           <type name="none" c:type="void"/>
219         </return-value>
220         <parameters>
221           <parameter name="ints" transfer-ownership="none">
222             <array length="2" c:type="gint*">
223               <type name="int"/>
224             </array>
225           </parameter>
226           <parameter name="length" transfer-ownership="none">
227             <type name="int" c:type="gint"/>
228           </parameter>
229         </parameters>
230       </method>
231       <method name="method_array_out"
232               c:identifier="g_i_marshalling_tests_object_method_array_out">
233         <return-value transfer-ownership="none">
234           <type name="none" c:type="void"/>
235         </return-value>
236         <parameters>
237           <parameter name="ints"
238                      direction="out"
239                      caller-allocates="0"
240                      transfer-ownership="none">
241             <array length="2" c:type="gint**">
242               <type name="int"/>
243             </array>
244           </parameter>
245           <parameter name="length"
246                      direction="out"
247                      caller-allocates="0"
248                      transfer-ownership="full">
249             <type name="int" c:type="gint*"/>
250           </parameter>
251         </parameters>
252       </method>
253       <method name="method_array_inout"
254               c:identifier="g_i_marshalling_tests_object_method_array_inout">
255         <return-value transfer-ownership="none">
256           <type name="none" c:type="void"/>
257         </return-value>
258         <parameters>
259           <parameter name="ints"
260                      direction="inout"
261                      caller-allocates="0"
262                      transfer-ownership="none">
263             <array length="2" c:type="gint**">
264               <type name="int"/>
265             </array>
266           </parameter>
267           <parameter name="length"
268                      direction="inout"
269                      caller-allocates="0"
270                      transfer-ownership="full">
271             <type name="int" c:type="gint*"/>
272           </parameter>
273         </parameters>
274       </method>
275       <method name="method_array_return"
276               c:identifier="g_i_marshalling_tests_object_method_array_return">
277         <return-value transfer-ownership="none">
278           <array length="1" c:type="gint*">
279             <type name="int"/>
280           </array>
281         </return-value>
282         <parameters>
283           <parameter name="length"
284                      direction="out"
285                      caller-allocates="0"
286                      transfer-ownership="full">
287             <type name="int" c:type="gint*"/>
288           </parameter>
289         </parameters>
290       </method>
291       <method name="method_int8_in"
292               c:identifier="g_i_marshalling_tests_object_method_int8_in">
293         <return-value transfer-ownership="none">
294           <type name="none" c:type="void"/>
295         </return-value>
296         <parameters>
297           <parameter name="in" transfer-ownership="none">
298             <type name="int8" c:type="gint8"/>
299           </parameter>
300         </parameters>
301       </method>
302       <method name="method_int8_out"
303               c:identifier="g_i_marshalling_tests_object_method_int8_out">
304         <return-value transfer-ownership="none">
305           <type name="none" c:type="void"/>
306         </return-value>
307         <parameters>
308           <parameter name="out"
309                      direction="out"
310                      caller-allocates="0"
311                      transfer-ownership="full">
312             <type name="int8" c:type="gint8*"/>
313           </parameter>
314         </parameters>
315       </method>
316       <method name="method_with_default_implementation"
317               c:identifier="g_i_marshalling_tests_object_method_with_default_implementation">
318         <return-value transfer-ownership="none">
319           <type name="none" c:type="void"/>
320         </return-value>
321         <parameters>
322           <parameter name="in" transfer-ownership="none">
323             <type name="int8" c:type="gint8"/>
324           </parameter>
325         </parameters>
326       </method>
327       <property name="int"
328                 writable="1"
329                 construct="1"
330                 transfer-ownership="none">
331         <type name="int" c:type="gint"/>
332       </property>
333       <field name="parent_instance">
334         <type name="GObject.Object" c:type="GObject"/>
335       </field>
336       <field name="int_">
337         <type name="int" c:type="gint"/>
338       </field>
339     </class>
340     <record name="ObjectClass"
341             c:type="GIMarshallingTestsObjectClass"
342             glib:is-gtype-struct-for="Object">
343       <field name="parent_class">
344         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
345       </field>
346       <field name="method_int8_in">
347         <callback name="method_int8_in" c:type="method_int8_in">
348           <return-value transfer-ownership="none">
349             <type name="none" c:type="void"/>
350           </return-value>
351           <parameters>
352             <parameter name="self" transfer-ownership="none">
353               <type name="Object" c:type="GIMarshallingTestsObject*"/>
354             </parameter>
355             <parameter name="in" transfer-ownership="none">
356               <type name="int8" c:type="gint8"/>
357             </parameter>
358           </parameters>
359         </callback>
360       </field>
361       <field name="method_int8_out">
362         <callback name="method_int8_out" c:type="method_int8_out">
363           <return-value transfer-ownership="none">
364             <type name="none" c:type="void"/>
365           </return-value>
366           <parameters>
367             <parameter name="self" transfer-ownership="none">
368               <type name="Object" c:type="GIMarshallingTestsObject*"/>
369             </parameter>
370             <parameter name="out"
371                        direction="out"
372                        caller-allocates="0"
373                        transfer-ownership="full">
374               <type name="int8" c:type="gint8*"/>
375             </parameter>
376           </parameters>
377         </callback>
378       </field>
379       <field name="method_with_default_implementation">
380         <callback name="method_with_default_implementation"
381                   c:type="method_with_default_implementation">
382           <return-value transfer-ownership="none">
383             <type name="none" c:type="void"/>
384           </return-value>
385           <parameters>
386             <parameter name="self" transfer-ownership="none">
387               <type name="Object" c:type="GIMarshallingTestsObject*"/>
388             </parameter>
389             <parameter name="in" transfer-ownership="none">
390               <type name="int8" c:type="gint8"/>
391             </parameter>
392           </parameters>
393         </callback>
394       </field>
395     </record>
396     <class name="OverridesObject"
397            c:type="GIMarshallingTestsOverridesObject"
398            parent="GObject.Object"
399            glib:type-name="GIMarshallingTestsOverridesObject"
400            glib:get-type="g_i_marshalling_tests_overrides_object_get_type"
401            glib:type-struct="OverridesObjectClass">
402       <constructor name="new"
403                    c:identifier="g_i_marshalling_tests_overrides_object_new">
404         <return-value transfer-ownership="full">
405           <type name="OverridesObject"
406                 c:type="GIMarshallingTestsOverridesObject*"/>
407         </return-value>
408       </constructor>
409       <method name="method"
410               c:identifier="g_i_marshalling_tests_overrides_object_method">
411         <return-value transfer-ownership="none">
412           <type name="long" c:type="glong"/>
413         </return-value>
414       </method>
415       <field name="parent_instance">
416         <type name="GObject.Object" c:type="GObject"/>
417       </field>
418       <field name="long_">
419         <type name="long" c:type="glong"/>
420       </field>
421     </class>
422     <record name="OverridesObjectClass"
423             c:type="GIMarshallingTestsOverridesObjectClass"
424             glib:is-gtype-struct-for="OverridesObject">
425       <field name="parent_class">
426         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
427       </field>
428     </record>
429     <record name="OverridesStruct"
430             c:type="GIMarshallingTestsOverridesStruct"
431             glib:type-name="GIMarshallingTestsOverridesStruct"
432             glib:get-type="g_i_marshalling_tests_overrides_struct_get_type">
433       <field name="long_" writable="1">
434         <type name="long" c:type="glong"/>
435       </field>
436       <constructor name="new"
437                    c:identifier="g_i_marshalling_tests_overrides_struct_new">
438         <return-value transfer-ownership="full">
439           <type name="OverridesStruct"
440                 c:type="GIMarshallingTestsOverridesStruct*"/>
441         </return-value>
442       </constructor>
443       <method name="method"
444               c:identifier="g_i_marshalling_tests_overrides_struct_method">
445         <return-value transfer-ownership="none">
446           <type name="long" c:type="glong"/>
447         </return-value>
448       </method>
449     </record>
450     <record name="PointerStruct" c:type="GIMarshallingTestsPointerStruct">
451       <field name="long_" writable="1">
452         <type name="long" c:type="glong"/>
453       </field>
454     </record>
455     <record name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct">
456       <field name="long_" writable="1">
457         <type name="long" c:type="glong"/>
458       </field>
459       <field name="int8" writable="1">
460         <type name="int8" c:type="gint8"/>
461       </field>
462       <method name="method"
463               c:identifier="g_i_marshalling_tests_simple_struct_method">
464         <return-value transfer-ownership="none">
465           <type name="none" c:type="void"/>
466         </return-value>
467       </method>
468     </record>
469     <class name="SubObject"
470            c:type="GIMarshallingTestsSubObject"
471            parent="Object"
472            glib:type-name="GIMarshallingTestsSubObject"
473            glib:get-type="g_i_marshalling_tests_sub_object_get_type"
474            glib:type-struct="SubObjectClass">
475       <method name="sub_method"
476               c:identifier="g_i_marshalling_tests_sub_object_sub_method">
477         <return-value transfer-ownership="none">
478           <type name="none" c:type="void"/>
479         </return-value>
480       </method>
481       <method name="overwritten_method"
482               c:identifier="g_i_marshalling_tests_sub_object_overwritten_method">
483         <return-value transfer-ownership="none">
484           <type name="none" c:type="void"/>
485         </return-value>
486       </method>
487       <field name="parent_instance">
488         <type name="Object" c:type="GIMarshallingTestsObject"/>
489       </field>
490     </class>
491     <record name="SubObjectClass"
492             c:type="GIMarshallingTestsSubObjectClass"
493             glib:is-gtype-struct-for="SubObject">
494       <field name="parent_class">
495         <type name="ObjectClass" c:type="GIMarshallingTestsObjectClass"/>
496       </field>
497     </record>
498     <union name="Union"
499            c:type="GIMarshallingTestsUnion"
500            glib:type-name="GIMarshallingTestsUnion"
501            glib:get-type="g_i_marshalling_tests_union_get_type">
502       <field name="long_" writable="1">
503         <type name="long" c:type="glong"/>
504       </field>
505       <method name="method" c:identifier="g_i_marshalling_tests_union_method">
506         <return-value transfer-ownership="none">
507           <type name="none" c:type="void"/>
508         </return-value>
509       </method>
510     </union>
511     <function name="array_fixed_inout"
512               c:identifier="g_i_marshalling_tests_array_fixed_inout">
513       <return-value transfer-ownership="none">
514         <type name="none" c:type="void"/>
515       </return-value>
516       <parameters>
517         <parameter name="ints"
518                    direction="inout"
519                    caller-allocates="0"
520                    transfer-ownership="none">
521           <array c:type="gint**" fixed-size="4">
522             <type name="int"/>
523           </array>
524         </parameter>
525       </parameters>
526     </function>
527     <function name="array_fixed_int_in"
528               c:identifier="g_i_marshalling_tests_array_fixed_int_in">
529       <return-value transfer-ownership="none">
530         <type name="none" c:type="void"/>
531       </return-value>
532       <parameters>
533         <parameter name="ints" transfer-ownership="none">
534           <array c:type="gint*" fixed-size="4">
535             <type name="int"/>
536           </array>
537         </parameter>
538       </parameters>
539     </function>
540     <function name="array_fixed_int_return"
541               c:identifier="g_i_marshalling_tests_array_fixed_int_return">
542       <return-value transfer-ownership="none">
543         <array c:type="gint*" fixed-size="4">
544           <type name="int"/>
545         </array>
546       </return-value>
547     </function>
548     <function name="array_fixed_out"
549               c:identifier="g_i_marshalling_tests_array_fixed_out">
550       <return-value transfer-ownership="none">
551         <type name="none" c:type="void"/>
552       </return-value>
553       <parameters>
554         <parameter name="ints"
555                    direction="out"
556                    caller-allocates="0"
557                    transfer-ownership="none">
558           <array c:type="gint**" fixed-size="4">
559             <type name="int"/>
560           </array>
561         </parameter>
562       </parameters>
563     </function>
564     <function name="array_fixed_out_struct"
565               c:identifier="g_i_marshalling_tests_array_fixed_out_struct">
566       <return-value transfer-ownership="none">
567         <type name="none" c:type="void"/>
568       </return-value>
569       <parameters>
570         <parameter name="structs"
571                    direction="out"
572                    caller-allocates="0"
573                    transfer-ownership="none">
574           <array c:type="GIMarshallingTestsSimpleStruct**" fixed-size="2">
575             <type name="SimpleStruct"/>
576           </array>
577         </parameter>
578       </parameters>
579     </function>
580     <function name="array_fixed_short_in"
581               c:identifier="g_i_marshalling_tests_array_fixed_short_in">
582       <return-value transfer-ownership="none">
583         <type name="none" c:type="void"/>
584       </return-value>
585       <parameters>
586         <parameter name="shorts" transfer-ownership="none">
587           <array c:type="gshort*" fixed-size="4">
588             <type name="short"/>
589           </array>
590         </parameter>
591       </parameters>
592     </function>
593     <function name="array_fixed_short_return"
594               c:identifier="g_i_marshalling_tests_array_fixed_short_return">
595       <return-value transfer-ownership="none">
596         <array c:type="gshort*" fixed-size="4">
597           <type name="short"/>
598         </array>
599       </return-value>
600     </function>
601     <function name="array_in" c:identifier="g_i_marshalling_tests_array_in">
602       <return-value transfer-ownership="none">
603         <type name="none" c:type="void"/>
604       </return-value>
605       <parameters>
606         <parameter name="ints" transfer-ownership="none">
607           <array length="1" c:type="gint*">
608             <type name="int"/>
609           </array>
610         </parameter>
611         <parameter name="length" transfer-ownership="none">
612           <type name="int" c:type="gint"/>
613         </parameter>
614       </parameters>
615     </function>
616     <function name="array_inout"
617               c:identifier="g_i_marshalling_tests_array_inout">
618       <return-value transfer-ownership="none">
619         <type name="none" c:type="void"/>
620       </return-value>
621       <parameters>
622         <parameter name="ints"
623                    direction="inout"
624                    caller-allocates="0"
625                    transfer-ownership="none">
626           <array length="1" c:type="gint**">
627             <type name="int"/>
628           </array>
629         </parameter>
630         <parameter name="length"
631                    direction="inout"
632                    caller-allocates="0"
633                    transfer-ownership="full">
634           <type name="int" c:type="gint*"/>
635         </parameter>
636       </parameters>
637     </function>
638     <function name="array_out" c:identifier="g_i_marshalling_tests_array_out">
639       <return-value transfer-ownership="none">
640         <type name="none" c:type="void"/>
641       </return-value>
642       <parameters>
643         <parameter name="ints"
644                    direction="out"
645                    caller-allocates="0"
646                    transfer-ownership="none">
647           <array length="1" c:type="gint**">
648             <type name="int"/>
649           </array>
650         </parameter>
651         <parameter name="length"
652                    direction="out"
653                    caller-allocates="0"
654                    transfer-ownership="full">
655           <type name="int" c:type="gint*"/>
656         </parameter>
657       </parameters>
658     </function>
659     <function name="array_return"
660               c:identifier="g_i_marshalling_tests_array_return">
661       <return-value transfer-ownership="none">
662         <array length="0" c:type="gint*">
663           <type name="int"/>
664         </array>
665       </return-value>
666       <parameters>
667         <parameter name="length"
668                    direction="out"
669                    caller-allocates="0"
670                    transfer-ownership="full">
671           <type name="int" c:type="gint*"/>
672         </parameter>
673       </parameters>
674     </function>
675     <function name="array_zero_terminated_in"
676               c:identifier="g_i_marshalling_tests_array_zero_terminated_in">
677       <return-value transfer-ownership="none">
678         <type name="none" c:type="void"/>
679       </return-value>
680       <parameters>
681         <parameter name="utf8s" transfer-ownership="none">
682           <array c:type="gchar**">
683             <type name="utf8"/>
684           </array>
685         </parameter>
686       </parameters>
687     </function>
688     <function name="array_zero_terminated_inout"
689               c:identifier="g_i_marshalling_tests_array_zero_terminated_inout">
690       <return-value transfer-ownership="none">
691         <type name="none" c:type="void"/>
692       </return-value>
693       <parameters>
694         <parameter name="utf8s"
695                    direction="inout"
696                    caller-allocates="0"
697                    transfer-ownership="none">
698           <array c:type="gchar***">
699             <type name="utf8"/>
700           </array>
701         </parameter>
702       </parameters>
703     </function>
704     <function name="array_zero_terminated_out"
705               c:identifier="g_i_marshalling_tests_array_zero_terminated_out">
706       <return-value transfer-ownership="none">
707         <type name="none" c:type="void"/>
708       </return-value>
709       <parameters>
710         <parameter name="utf8s"
711                    direction="out"
712                    caller-allocates="0"
713                    transfer-ownership="none">
714           <array c:type="gchar***">
715             <type name="utf8"/>
716           </array>
717         </parameter>
718       </parameters>
719     </function>
720     <function name="array_zero_terminated_return"
721               c:identifier="g_i_marshalling_tests_array_zero_terminated_return">
722       <return-value transfer-ownership="none">
723         <array c:type="gchar**">
724           <type name="utf8"/>
725         </array>
726       </return-value>
727     </function>
728     <function name="boolean_in_false"
729               c:identifier="g_i_marshalling_tests_boolean_in_false">
730       <return-value transfer-ownership="none">
731         <type name="none" c:type="void"/>
732       </return-value>
733       <parameters>
734         <parameter name="bool_" transfer-ownership="none">
735           <type name="boolean" c:type="gboolean"/>
736         </parameter>
737       </parameters>
738     </function>
739     <function name="boolean_in_true"
740               c:identifier="g_i_marshalling_tests_boolean_in_true">
741       <return-value transfer-ownership="none">
742         <type name="none" c:type="void"/>
743       </return-value>
744       <parameters>
745         <parameter name="bool_" transfer-ownership="none">
746           <type name="boolean" c:type="gboolean"/>
747         </parameter>
748       </parameters>
749     </function>
750     <function name="boolean_inout_false_true"
751               c:identifier="g_i_marshalling_tests_boolean_inout_false_true">
752       <return-value transfer-ownership="none">
753         <type name="none" c:type="void"/>
754       </return-value>
755       <parameters>
756         <parameter name="bool_"
757                    direction="inout"
758                    caller-allocates="0"
759                    transfer-ownership="full">
760           <type name="boolean" c:type="gboolean*"/>
761         </parameter>
762       </parameters>
763     </function>
764     <function name="boolean_inout_true_false"
765               c:identifier="g_i_marshalling_tests_boolean_inout_true_false">
766       <return-value transfer-ownership="none">
767         <type name="none" c:type="void"/>
768       </return-value>
769       <parameters>
770         <parameter name="bool_"
771                    direction="inout"
772                    caller-allocates="0"
773                    transfer-ownership="full">
774           <type name="boolean" c:type="gboolean*"/>
775         </parameter>
776       </parameters>
777     </function>
778     <function name="boolean_out_false"
779               c:identifier="g_i_marshalling_tests_boolean_out_false">
780       <return-value transfer-ownership="none">
781         <type name="none" c:type="void"/>
782       </return-value>
783       <parameters>
784         <parameter name="bool_"
785                    direction="out"
786                    caller-allocates="0"
787                    transfer-ownership="full">
788           <type name="boolean" c:type="gboolean*"/>
789         </parameter>
790       </parameters>
791     </function>
792     <function name="boolean_out_true"
793               c:identifier="g_i_marshalling_tests_boolean_out_true">
794       <return-value transfer-ownership="none">
795         <type name="none" c:type="void"/>
796       </return-value>
797       <parameters>
798         <parameter name="bool_"
799                    direction="out"
800                    caller-allocates="0"
801                    transfer-ownership="full">
802           <type name="boolean" c:type="gboolean*"/>
803         </parameter>
804       </parameters>
805     </function>
806     <function name="boolean_return_false"
807               c:identifier="g_i_marshalling_tests_boolean_return_false">
808       <return-value transfer-ownership="none">
809         <type name="boolean" c:type="gboolean"/>
810       </return-value>
811     </function>
812     <function name="boolean_return_true"
813               c:identifier="g_i_marshalling_tests_boolean_return_true">
814       <return-value transfer-ownership="none">
815         <type name="boolean" c:type="gboolean"/>
816       </return-value>
817     </function>
818     <function name="boxed_struct_in"
819               c:identifier="g_i_marshalling_tests__boxed_struct_in">
820       <return-value transfer-ownership="none">
821         <type name="none" c:type="void"/>
822       </return-value>
823       <parameters>
824         <parameter name="struct_" transfer-ownership="none">
825           <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct*"/>
826         </parameter>
827       </parameters>
828     </function>
829     <function name="boxed_struct_inout"
830               c:identifier="g_i_marshalling_tests__boxed_struct_inout">
831       <return-value transfer-ownership="none">
832         <type name="none" c:type="void"/>
833       </return-value>
834       <parameters>
835         <parameter name="struct_"
836                    direction="inout"
837                    caller-allocates="0"
838                    transfer-ownership="none">
839           <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct**"/>
840         </parameter>
841       </parameters>
842     </function>
843     <function name="boxed_struct_out"
844               c:identifier="g_i_marshalling_tests__boxed_struct_out">
845       <return-value transfer-ownership="none">
846         <type name="none" c:type="void"/>
847       </return-value>
848       <parameters>
849         <parameter name="struct_"
850                    direction="out"
851                    caller-allocates="0"
852                    transfer-ownership="none">
853           <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct**"/>
854         </parameter>
855       </parameters>
856     </function>
857     <function name="boxed_struct_return"
858               c:identifier="g_i_marshalling_tests__boxed_struct_return">
859       <return-value transfer-ownership="none">
860         <type name="BoxedStruct" c:type="GIMarshallingTestsBoxedStruct*"/>
861       </return-value>
862     </function>
863     <function name="bytearray_full_return"
864               c:identifier="g_i_marshalling_tests_bytearray_full_return">
865       <return-value transfer-ownership="full">
866         <array name="GLib.ByteArray" c:type="GByteArray*">
867           <type name="any" c:type="gpointer"/>
868         </array>
869       </return-value>
870     </function>
871     <function name="bytearray_none_in"
872               c:identifier="g_i_marshalling_tests_bytearray_none_in">
873       <return-value transfer-ownership="none">
874         <type name="none" c:type="void"/>
875       </return-value>
876       <parameters>
877         <parameter name="array_" transfer-ownership="none">
878           <array name="GLib.ByteArray" c:type="GByteArray*">
879             <type name="int"/>
880           </array>
881         </parameter>
882       </parameters>
883     </function>
884     <function name="double_in" c:identifier="g_i_marshalling_tests_double_in">
885       <return-value transfer-ownership="none">
886         <type name="none" c:type="void"/>
887       </return-value>
888       <parameters>
889         <parameter name="double_" transfer-ownership="none">
890           <type name="double" c:type="gdouble"/>
891         </parameter>
892       </parameters>
893     </function>
894     <function name="double_inout"
895               c:identifier="g_i_marshalling_tests_double_inout">
896       <return-value transfer-ownership="none">
897         <type name="none" c:type="void"/>
898       </return-value>
899       <parameters>
900         <parameter name="double_"
901                    direction="inout"
902                    caller-allocates="0"
903                    transfer-ownership="full">
904           <type name="double" c:type="gdouble*"/>
905         </parameter>
906       </parameters>
907     </function>
908     <function name="double_out"
909               c:identifier="g_i_marshalling_tests_double_out">
910       <return-value transfer-ownership="none">
911         <type name="none" c:type="void"/>
912       </return-value>
913       <parameters>
914         <parameter name="double_"
915                    direction="out"
916                    caller-allocates="0"
917                    transfer-ownership="full">
918           <type name="double" c:type="gdouble*"/>
919         </parameter>
920       </parameters>
921     </function>
922     <function name="double_return"
923               c:identifier="g_i_marshalling_tests_double_return">
924       <return-value transfer-ownership="none">
925         <type name="double" c:type="gdouble"/>
926       </return-value>
927     </function>
928     <function name="enum_in" c:identifier="g_i_marshalling_tests_enum_in">
929       <return-value transfer-ownership="none">
930         <type name="none" c:type="void"/>
931       </return-value>
932       <parameters>
933         <parameter name="enum_" transfer-ownership="none">
934           <type name="Enum" c:type="GIMarshallingTestsEnum"/>
935         </parameter>
936       </parameters>
937     </function>
938     <function name="enum_inout"
939               c:identifier="g_i_marshalling_tests_enum_inout">
940       <return-value transfer-ownership="none">
941         <type name="none" c:type="void"/>
942       </return-value>
943       <parameters>
944         <parameter name="enum_"
945                    direction="inout"
946                    caller-allocates="0"
947                    transfer-ownership="full">
948           <type name="Enum" c:type="GIMarshallingTestsEnum*"/>
949         </parameter>
950       </parameters>
951     </function>
952     <function name="enum_out" c:identifier="g_i_marshalling_tests_enum_out">
953       <return-value transfer-ownership="none">
954         <type name="none" c:type="void"/>
955       </return-value>
956       <parameters>
957         <parameter name="enum_"
958                    direction="out"
959                    caller-allocates="1"
960                    transfer-ownership="none">
961           <type name="Enum" c:type="GIMarshallingTestsEnum*"/>
962         </parameter>
963       </parameters>
964     </function>
965     <function name="enum_return"
966               c:identifier="g_i_marshalling_tests_enum_return">
967       <return-value transfer-ownership="full">
968         <type name="Enum" c:type="GIMarshallingTestsEnum"/>
969       </return-value>
970     </function>
971     <function name="filename_list_return"
972               c:identifier="g_i_marshalling_tests_filename_list_return"
973               introspectable="0">
974       <return-value transfer-ownership="full">
975         <type name="GLib.SList" c:type="GSList*">
976           <type name="any" c:type="gpointer"/>
977         </type>
978       </return-value>
979     </function>
980     <function name="flags_in" c:identifier="g_i_marshalling_tests_flags_in">
981       <return-value transfer-ownership="none">
982         <type name="none" c:type="void"/>
983       </return-value>
984       <parameters>
985         <parameter name="flags_" transfer-ownership="none">
986           <type name="Flags" c:type="GIMarshallingTestsFlags"/>
987         </parameter>
988       </parameters>
989     </function>
990     <function name="flags_in_zero"
991               c:identifier="g_i_marshalling_tests_flags_in_zero">
992       <return-value transfer-ownership="none">
993         <type name="none" c:type="void"/>
994       </return-value>
995       <parameters>
996         <parameter name="flags" transfer-ownership="none">
997           <type name="Flags" c:type="GIMarshallingTestsFlags"/>
998         </parameter>
999       </parameters>
1000     </function>
1001     <function name="flags_inout"
1002               c:identifier="g_i_marshalling_tests_flags_inout">
1003       <return-value transfer-ownership="none">
1004         <type name="none" c:type="void"/>
1005       </return-value>
1006       <parameters>
1007         <parameter name="flags_"
1008                    direction="inout"
1009                    caller-allocates="0"
1010                    transfer-ownership="full">
1011           <type name="Flags" c:type="GIMarshallingTestsFlags*"/>
1012         </parameter>
1013       </parameters>
1014     </function>
1015     <function name="flags_out" c:identifier="g_i_marshalling_tests_flags_out">
1016       <return-value transfer-ownership="none">
1017         <type name="none" c:type="void"/>
1018       </return-value>
1019       <parameters>
1020         <parameter name="flags_"
1021                    direction="out"
1022                    caller-allocates="1"
1023                    transfer-ownership="none">
1024           <type name="Flags" c:type="GIMarshallingTestsFlags*"/>
1025         </parameter>
1026       </parameters>
1027     </function>
1028     <function name="flags_return"
1029               c:identifier="g_i_marshalling_tests_flags_return">
1030       <return-value transfer-ownership="full">
1031         <type name="Flags" c:type="GIMarshallingTestsFlags"/>
1032       </return-value>
1033     </function>
1034     <function name="float_in" c:identifier="g_i_marshalling_tests_float_in">
1035       <return-value transfer-ownership="none">
1036         <type name="none" c:type="void"/>
1037       </return-value>
1038       <parameters>
1039         <parameter name="float_" transfer-ownership="none">
1040           <type name="float" c:type="gfloat"/>
1041         </parameter>
1042       </parameters>
1043     </function>
1044     <function name="float_inout"
1045               c:identifier="g_i_marshalling_tests_float_inout">
1046       <return-value transfer-ownership="none">
1047         <type name="none" c:type="void"/>
1048       </return-value>
1049       <parameters>
1050         <parameter name="float_"
1051                    direction="inout"
1052                    caller-allocates="0"
1053                    transfer-ownership="full">
1054           <type name="float" c:type="gfloat*"/>
1055         </parameter>
1056       </parameters>
1057     </function>
1058     <function name="float_out" c:identifier="g_i_marshalling_tests_float_out">
1059       <return-value transfer-ownership="none">
1060         <type name="none" c:type="void"/>
1061       </return-value>
1062       <parameters>
1063         <parameter name="float_"
1064                    direction="out"
1065                    caller-allocates="0"
1066                    transfer-ownership="full">
1067           <type name="float" c:type="gfloat*"/>
1068         </parameter>
1069       </parameters>
1070     </function>
1071     <function name="float_return"
1072               c:identifier="g_i_marshalling_tests_float_return">
1073       <return-value transfer-ownership="none">
1074         <type name="float" c:type="gfloat"/>
1075       </return-value>
1076     </function>
1077     <function name="garray_int_none_in"
1078               c:identifier="g_i_marshalling_tests_garray_int_none_in">
1079       <return-value transfer-ownership="none">
1080         <type name="none" c:type="void"/>
1081       </return-value>
1082       <parameters>
1083         <parameter name="array_" transfer-ownership="none">
1084           <array name="GLib.Array" c:type="GArray*">
1085             <type name="int"/>
1086           </array>
1087         </parameter>
1088       </parameters>
1089     </function>
1090     <function name="garray_int_none_return"
1091               c:identifier="g_i_marshalling_tests_garray_int_none_return">
1092       <return-value transfer-ownership="none">
1093         <array name="GLib.Array" c:type="GArray*">
1094           <type name="int"/>
1095         </array>
1096       </return-value>
1097     </function>
1098     <function name="garray_utf8_container_in"
1099               c:identifier="g_i_marshalling_tests_garray_utf8_container_in">
1100       <return-value transfer-ownership="none">
1101         <type name="none" c:type="void"/>
1102       </return-value>
1103       <parameters>
1104         <parameter name="array_" transfer-ownership="container">
1105           <array name="GLib.Array" c:type="GArray*">
1106             <type name="utf8"/>
1107           </array>
1108         </parameter>
1109       </parameters>
1110     </function>
1111     <function name="garray_utf8_container_inout"
1112               c:identifier="g_i_marshalling_tests_garray_utf8_container_inout">
1113       <return-value transfer-ownership="none">
1114         <type name="none" c:type="void"/>
1115       </return-value>
1116       <parameters>
1117         <parameter name="array_"
1118                    direction="inout"
1119                    caller-allocates="0"
1120                    transfer-ownership="container">
1121           <array name="GLib.Array" c:type="GArray**">
1122             <type name="utf8"/>
1123           </array>
1124         </parameter>
1125       </parameters>
1126     </function>
1127     <function name="garray_utf8_container_out"
1128               c:identifier="g_i_marshalling_tests_garray_utf8_container_out">
1129       <return-value transfer-ownership="none">
1130         <type name="none" c:type="void"/>
1131       </return-value>
1132       <parameters>
1133         <parameter name="array_"
1134                    direction="out"
1135                    caller-allocates="0"
1136                    transfer-ownership="container">
1137           <array name="GLib.Array" c:type="GArray**">
1138             <type name="utf8"/>
1139           </array>
1140         </parameter>
1141       </parameters>
1142     </function>
1143     <function name="garray_utf8_container_return"
1144               c:identifier="g_i_marshalling_tests_garray_utf8_container_return">
1145       <return-value transfer-ownership="container">
1146         <array name="GLib.Array" c:type="GArray*">
1147           <type name="utf8"/>
1148         </array>
1149       </return-value>
1150     </function>
1151     <function name="garray_utf8_full_in"
1152               c:identifier="g_i_marshalling_tests_garray_utf8_full_in">
1153       <return-value transfer-ownership="none">
1154         <type name="none" c:type="void"/>
1155       </return-value>
1156       <parameters>
1157         <parameter name="array_" transfer-ownership="full">
1158           <array name="GLib.Array" c:type="GArray*">
1159             <type name="utf8"/>
1160           </array>
1161         </parameter>
1162       </parameters>
1163     </function>
1164     <function name="garray_utf8_full_inout"
1165               c:identifier="g_i_marshalling_tests_garray_utf8_full_inout">
1166       <return-value transfer-ownership="none">
1167         <type name="none" c:type="void"/>
1168       </return-value>
1169       <parameters>
1170         <parameter name="array_"
1171                    direction="inout"
1172                    caller-allocates="0"
1173                    transfer-ownership="full">
1174           <array name="GLib.Array" c:type="GArray**">
1175             <type name="utf8"/>
1176           </array>
1177         </parameter>
1178       </parameters>
1179     </function>
1180     <function name="garray_utf8_full_out"
1181               c:identifier="g_i_marshalling_tests_garray_utf8_full_out">
1182       <return-value transfer-ownership="none">
1183         <type name="none" c:type="void"/>
1184       </return-value>
1185       <parameters>
1186         <parameter name="array_"
1187                    direction="out"
1188                    caller-allocates="0"
1189                    transfer-ownership="full">
1190           <array name="GLib.Array" c:type="GArray**">
1191             <type name="utf8"/>
1192           </array>
1193         </parameter>
1194       </parameters>
1195     </function>
1196     <function name="garray_utf8_full_return"
1197               c:identifier="g_i_marshalling_tests_garray_utf8_full_return">
1198       <return-value transfer-ownership="full">
1199         <array name="GLib.Array" c:type="GArray*">
1200           <type name="utf8"/>
1201         </array>
1202       </return-value>
1203     </function>
1204     <function name="garray_utf8_none_in"
1205               c:identifier="g_i_marshalling_tests_garray_utf8_none_in">
1206       <return-value transfer-ownership="none">
1207         <type name="none" c:type="void"/>
1208       </return-value>
1209       <parameters>
1210         <parameter name="array_" transfer-ownership="none">
1211           <array name="GLib.Array" c:type="GArray*">
1212             <type name="utf8"/>
1213           </array>
1214         </parameter>
1215       </parameters>
1216     </function>
1217     <function name="garray_utf8_none_inout"
1218               c:identifier="g_i_marshalling_tests_garray_utf8_none_inout">
1219       <return-value transfer-ownership="none">
1220         <type name="none" c:type="void"/>
1221       </return-value>
1222       <parameters>
1223         <parameter name="array_"
1224                    direction="inout"
1225                    caller-allocates="0"
1226                    transfer-ownership="none">
1227           <array name="GLib.Array" c:type="GArray**">
1228             <type name="utf8"/>
1229           </array>
1230         </parameter>
1231       </parameters>
1232     </function>
1233     <function name="garray_utf8_none_out"
1234               c:identifier="g_i_marshalling_tests_garray_utf8_none_out">
1235       <return-value transfer-ownership="none">
1236         <type name="none" c:type="void"/>
1237       </return-value>
1238       <parameters>
1239         <parameter name="array_"
1240                    direction="out"
1241                    caller-allocates="0"
1242                    transfer-ownership="none">
1243           <array name="GLib.Array" c:type="GArray**">
1244             <type name="utf8"/>
1245           </array>
1246         </parameter>
1247       </parameters>
1248     </function>
1249     <function name="garray_utf8_none_return"
1250               c:identifier="g_i_marshalling_tests_garray_utf8_none_return">
1251       <return-value transfer-ownership="none">
1252         <array name="GLib.Array" c:type="GArray*">
1253           <type name="utf8"/>
1254         </array>
1255       </return-value>
1256     </function>
1257     <function name="gclosure_in"
1258               c:identifier="g_i_marshalling_tests_gclosure_in">
1259       <return-value transfer-ownership="none">
1260         <type name="none" c:type="void"/>
1261       </return-value>
1262       <parameters>
1263         <parameter name="closure" transfer-ownership="none">
1264           <type name="GObject.Closure" c:type="GClosure*"/>
1265         </parameter>
1266       </parameters>
1267     </function>
1268     <function name="genum_in" c:identifier="g_i_marshalling_tests_genum_in">
1269       <return-value transfer-ownership="none">
1270         <type name="none" c:type="void"/>
1271       </return-value>
1272       <parameters>
1273         <parameter name="enum_" transfer-ownership="none">
1274           <type name="GEnum" c:type="GIMarshallingTestsGEnum"/>
1275         </parameter>
1276       </parameters>
1277     </function>
1278     <function name="genum_inout"
1279               c:identifier="g_i_marshalling_tests_genum_inout">
1280       <return-value transfer-ownership="none">
1281         <type name="none" c:type="void"/>
1282       </return-value>
1283       <parameters>
1284         <parameter name="enum_"
1285                    direction="inout"
1286                    caller-allocates="0"
1287                    transfer-ownership="full">
1288           <type name="GEnum" c:type="GIMarshallingTestsGEnum*"/>
1289         </parameter>
1290       </parameters>
1291     </function>
1292     <function name="genum_out" c:identifier="g_i_marshalling_tests_genum_out">
1293       <return-value transfer-ownership="none">
1294         <type name="none" c:type="void"/>
1295       </return-value>
1296       <parameters>
1297         <parameter name="enum_"
1298                    direction="out"
1299                    caller-allocates="1"
1300                    transfer-ownership="none">
1301           <type name="GEnum" c:type="GIMarshallingTestsGEnum*"/>
1302         </parameter>
1303       </parameters>
1304     </function>
1305     <function name="genum_return"
1306               c:identifier="g_i_marshalling_tests_genum_return">
1307       <return-value transfer-ownership="full">
1308         <type name="Enum" c:type="GIMarshallingTestsEnum"/>
1309       </return-value>
1310     </function>
1311     <function name="ghashtable_int_none_in"
1312               c:identifier="g_i_marshalling_tests_ghashtable_int_none_in">
1313       <return-value transfer-ownership="none">
1314         <type name="none" c:type="void"/>
1315       </return-value>
1316       <parameters>
1317         <parameter name="hash_table" transfer-ownership="none">
1318           <type name="GLib.HashTable" c:type="GHashTable*">
1319             <type name="int"/>
1320             <type name="int"/>
1321           </type>
1322         </parameter>
1323       </parameters>
1324     </function>
1325     <function name="ghashtable_int_none_return"
1326               c:identifier="g_i_marshalling_tests_ghashtable_int_none_return">
1327       <return-value transfer-ownership="none">
1328         <type name="GLib.HashTable" c:type="GHashTable*">
1329           <type name="int"/>
1330           <type name="int"/>
1331         </type>
1332       </return-value>
1333     </function>
1334     <function name="ghashtable_utf8_container_in"
1335               c:identifier="g_i_marshalling_tests_ghashtable_utf8_container_in">
1336       <return-value transfer-ownership="none">
1337         <type name="none" c:type="void"/>
1338       </return-value>
1339       <parameters>
1340         <parameter name="hash_table" transfer-ownership="container">
1341           <type name="GLib.HashTable" c:type="GHashTable*">
1342             <type name="utf8"/>
1343             <type name="utf8"/>
1344           </type>
1345         </parameter>
1346       </parameters>
1347     </function>
1348     <function name="ghashtable_utf8_container_inout"
1349               c:identifier="g_i_marshalling_tests_ghashtable_utf8_container_inout">
1350       <return-value transfer-ownership="none">
1351         <type name="none" c:type="void"/>
1352       </return-value>
1353       <parameters>
1354         <parameter name="hash_table"
1355                    direction="inout"
1356                    caller-allocates="0"
1357                    transfer-ownership="container">
1358           <type name="GLib.HashTable" c:type="GHashTable**">
1359             <type name="utf8"/>
1360             <type name="utf8"/>
1361           </type>
1362         </parameter>
1363       </parameters>
1364     </function>
1365     <function name="ghashtable_utf8_container_out"
1366               c:identifier="g_i_marshalling_tests_ghashtable_utf8_container_out">
1367       <return-value transfer-ownership="none">
1368         <type name="none" c:type="void"/>
1369       </return-value>
1370       <parameters>
1371         <parameter name="hash_table"
1372                    direction="out"
1373                    caller-allocates="0"
1374                    transfer-ownership="container">
1375           <type name="GLib.HashTable" c:type="GHashTable**">
1376             <type name="utf8"/>
1377             <type name="utf8"/>
1378           </type>
1379         </parameter>
1380       </parameters>
1381     </function>
1382     <function name="ghashtable_utf8_container_return"
1383               c:identifier="g_i_marshalling_tests_ghashtable_utf8_container_return">
1384       <return-value transfer-ownership="container">
1385         <type name="GLib.HashTable" c:type="GHashTable*">
1386           <type name="utf8"/>
1387           <type name="utf8"/>
1388         </type>
1389       </return-value>
1390     </function>
1391     <function name="ghashtable_utf8_full_in"
1392               c:identifier="g_i_marshalling_tests_ghashtable_utf8_full_in">
1393       <return-value transfer-ownership="none">
1394         <type name="none" c:type="void"/>
1395       </return-value>
1396       <parameters>
1397         <parameter name="hash_table" transfer-ownership="full">
1398           <type name="GLib.HashTable" c:type="GHashTable*">
1399             <type name="utf8"/>
1400             <type name="utf8"/>
1401           </type>
1402         </parameter>
1403       </parameters>
1404     </function>
1405     <function name="ghashtable_utf8_full_inout"
1406               c:identifier="g_i_marshalling_tests_ghashtable_utf8_full_inout">
1407       <return-value transfer-ownership="none">
1408         <type name="none" c:type="void"/>
1409       </return-value>
1410       <parameters>
1411         <parameter name="hash_table"
1412                    direction="inout"
1413                    caller-allocates="0"
1414                    transfer-ownership="full">
1415           <type name="GLib.HashTable" c:type="GHashTable**">
1416             <type name="utf8"/>
1417             <type name="utf8"/>
1418           </type>
1419         </parameter>
1420       </parameters>
1421     </function>
1422     <function name="ghashtable_utf8_full_out"
1423               c:identifier="g_i_marshalling_tests_ghashtable_utf8_full_out">
1424       <return-value transfer-ownership="none">
1425         <type name="none" c:type="void"/>
1426       </return-value>
1427       <parameters>
1428         <parameter name="hash_table"
1429                    direction="out"
1430                    caller-allocates="0"
1431                    transfer-ownership="full">
1432           <type name="GLib.HashTable" c:type="GHashTable**">
1433             <type name="utf8"/>
1434             <type name="utf8"/>
1435           </type>
1436         </parameter>
1437       </parameters>
1438     </function>
1439     <function name="ghashtable_utf8_full_return"
1440               c:identifier="g_i_marshalling_tests_ghashtable_utf8_full_return">
1441       <return-value transfer-ownership="full">
1442         <type name="GLib.HashTable" c:type="GHashTable*">
1443           <type name="utf8"/>
1444           <type name="utf8"/>
1445         </type>
1446       </return-value>
1447     </function>
1448     <function name="ghashtable_utf8_none_in"
1449               c:identifier="g_i_marshalling_tests_ghashtable_utf8_none_in">
1450       <return-value transfer-ownership="none">
1451         <type name="none" c:type="void"/>
1452       </return-value>
1453       <parameters>
1454         <parameter name="hash_table" transfer-ownership="none">
1455           <type name="GLib.HashTable" c:type="GHashTable*">
1456             <type name="utf8"/>
1457             <type name="utf8"/>
1458           </type>
1459         </parameter>
1460       </parameters>
1461     </function>
1462     <function name="ghashtable_utf8_none_inout"
1463               c:identifier="g_i_marshalling_tests_ghashtable_utf8_none_inout">
1464       <return-value transfer-ownership="none">
1465         <type name="none" c:type="void"/>
1466       </return-value>
1467       <parameters>
1468         <parameter name="hash_table"
1469                    direction="inout"
1470                    caller-allocates="0"
1471                    transfer-ownership="none">
1472           <type name="GLib.HashTable" c:type="GHashTable**">
1473             <type name="utf8"/>
1474             <type name="utf8"/>
1475           </type>
1476         </parameter>
1477       </parameters>
1478     </function>
1479     <function name="ghashtable_utf8_none_out"
1480               c:identifier="g_i_marshalling_tests_ghashtable_utf8_none_out">
1481       <return-value transfer-ownership="none">
1482         <type name="none" c:type="void"/>
1483       </return-value>
1484       <parameters>
1485         <parameter name="hash_table"
1486                    direction="out"
1487                    caller-allocates="0"
1488                    transfer-ownership="none">
1489           <type name="GLib.HashTable" c:type="GHashTable**">
1490             <type name="utf8"/>
1491             <type name="utf8"/>
1492           </type>
1493         </parameter>
1494       </parameters>
1495     </function>
1496     <function name="ghashtable_utf8_none_return"
1497               c:identifier="g_i_marshalling_tests_ghashtable_utf8_none_return">
1498       <return-value transfer-ownership="none">
1499         <type name="GLib.HashTable" c:type="GHashTable*">
1500           <type name="utf8"/>
1501           <type name="utf8"/>
1502         </type>
1503       </return-value>
1504     </function>
1505     <function name="glist_int_none_in"
1506               c:identifier="g_i_marshalling_tests_glist_int_none_in">
1507       <return-value transfer-ownership="none">
1508         <type name="none" c:type="void"/>
1509       </return-value>
1510       <parameters>
1511         <parameter name="list" transfer-ownership="none">
1512           <type name="GLib.List" c:type="GList*">
1513             <type name="int"/>
1514           </type>
1515         </parameter>
1516       </parameters>
1517     </function>
1518     <function name="glist_int_none_return"
1519               c:identifier="g_i_marshalling_tests_glist_int_none_return">
1520       <return-value transfer-ownership="none">
1521         <type name="GLib.List" c:type="GList*">
1522           <type name="int"/>
1523         </type>
1524       </return-value>
1525     </function>
1526     <function name="glist_utf8_container_in"
1527               c:identifier="g_i_marshalling_tests_glist_utf8_container_in">
1528       <return-value transfer-ownership="none">
1529         <type name="none" c:type="void"/>
1530       </return-value>
1531       <parameters>
1532         <parameter name="list" transfer-ownership="container">
1533           <type name="GLib.List" c:type="GList*">
1534             <type name="utf8"/>
1535           </type>
1536         </parameter>
1537       </parameters>
1538     </function>
1539     <function name="glist_utf8_container_inout"
1540               c:identifier="g_i_marshalling_tests_glist_utf8_container_inout">
1541       <return-value transfer-ownership="none">
1542         <type name="none" c:type="void"/>
1543       </return-value>
1544       <parameters>
1545         <parameter name="list"
1546                    direction="inout"
1547                    caller-allocates="0"
1548                    transfer-ownership="container">
1549           <type name="GLib.List" c:type="GList**">
1550             <type name="utf8"/>
1551           </type>
1552         </parameter>
1553       </parameters>
1554     </function>
1555     <function name="glist_utf8_container_out"
1556               c:identifier="g_i_marshalling_tests_glist_utf8_container_out">
1557       <return-value transfer-ownership="none">
1558         <type name="none" c:type="void"/>
1559       </return-value>
1560       <parameters>
1561         <parameter name="list"
1562                    direction="out"
1563                    caller-allocates="0"
1564                    transfer-ownership="container">
1565           <type name="GLib.List" c:type="GList**">
1566             <type name="utf8"/>
1567           </type>
1568         </parameter>
1569       </parameters>
1570     </function>
1571     <function name="glist_utf8_container_return"
1572               c:identifier="g_i_marshalling_tests_glist_utf8_container_return">
1573       <return-value transfer-ownership="container">
1574         <type name="GLib.List" c:type="GList*">
1575           <type name="utf8"/>
1576         </type>
1577       </return-value>
1578     </function>
1579     <function name="glist_utf8_full_in"
1580               c:identifier="g_i_marshalling_tests_glist_utf8_full_in">
1581       <return-value transfer-ownership="none">
1582         <type name="none" c:type="void"/>
1583       </return-value>
1584       <parameters>
1585         <parameter name="list" transfer-ownership="full">
1586           <type name="GLib.List" c:type="GList*">
1587             <type name="utf8"/>
1588           </type>
1589         </parameter>
1590       </parameters>
1591     </function>
1592     <function name="glist_utf8_full_inout"
1593               c:identifier="g_i_marshalling_tests_glist_utf8_full_inout">
1594       <return-value transfer-ownership="none">
1595         <type name="none" c:type="void"/>
1596       </return-value>
1597       <parameters>
1598         <parameter name="list"
1599                    direction="inout"
1600                    caller-allocates="0"
1601                    transfer-ownership="full">
1602           <type name="GLib.List" c:type="GList**">
1603             <type name="utf8"/>
1604           </type>
1605         </parameter>
1606       </parameters>
1607     </function>
1608     <function name="glist_utf8_full_out"
1609               c:identifier="g_i_marshalling_tests_glist_utf8_full_out">
1610       <return-value transfer-ownership="none">
1611         <type name="none" c:type="void"/>
1612       </return-value>
1613       <parameters>
1614         <parameter name="list"
1615                    direction="out"
1616                    caller-allocates="0"
1617                    transfer-ownership="full">
1618           <type name="GLib.List" c:type="GList**">
1619             <type name="utf8"/>
1620           </type>
1621         </parameter>
1622       </parameters>
1623     </function>
1624     <function name="glist_utf8_full_return"
1625               c:identifier="g_i_marshalling_tests_glist_utf8_full_return">
1626       <return-value transfer-ownership="full">
1627         <type name="GLib.List" c:type="GList*">
1628           <type name="utf8"/>
1629         </type>
1630       </return-value>
1631     </function>
1632     <function name="glist_utf8_none_in"
1633               c:identifier="g_i_marshalling_tests_glist_utf8_none_in">
1634       <return-value transfer-ownership="none">
1635         <type name="none" c:type="void"/>
1636       </return-value>
1637       <parameters>
1638         <parameter name="list" transfer-ownership="none">
1639           <type name="GLib.List" c:type="GList*">
1640             <type name="utf8"/>
1641           </type>
1642         </parameter>
1643       </parameters>
1644     </function>
1645     <function name="glist_utf8_none_inout"
1646               c:identifier="g_i_marshalling_tests_glist_utf8_none_inout">
1647       <return-value transfer-ownership="none">
1648         <type name="none" c:type="void"/>
1649       </return-value>
1650       <parameters>
1651         <parameter name="list"
1652                    direction="inout"
1653                    caller-allocates="0"
1654                    transfer-ownership="none">
1655           <type name="GLib.List" c:type="GList**">
1656             <type name="utf8"/>
1657           </type>
1658         </parameter>
1659       </parameters>
1660     </function>
1661     <function name="glist_utf8_none_out"
1662               c:identifier="g_i_marshalling_tests_glist_utf8_none_out">
1663       <return-value transfer-ownership="none">
1664         <type name="none" c:type="void"/>
1665       </return-value>
1666       <parameters>
1667         <parameter name="list"
1668                    direction="out"
1669                    caller-allocates="0"
1670                    transfer-ownership="none">
1671           <type name="GLib.List" c:type="GList**">
1672             <type name="utf8"/>
1673           </type>
1674         </parameter>
1675       </parameters>
1676     </function>
1677     <function name="glist_utf8_none_return"
1678               c:identifier="g_i_marshalling_tests_glist_utf8_none_return">
1679       <return-value transfer-ownership="none">
1680         <type name="GLib.List" c:type="GList*">
1681           <type name="utf8"/>
1682         </type>
1683       </return-value>
1684     </function>
1685     <function name="gslist_int_none_in"
1686               c:identifier="g_i_marshalling_tests_gslist_int_none_in">
1687       <return-value transfer-ownership="none">
1688         <type name="none" c:type="void"/>
1689       </return-value>
1690       <parameters>
1691         <parameter name="list" transfer-ownership="none">
1692           <type name="GLib.SList" c:type="GSList*">
1693             <type name="int"/>
1694           </type>
1695         </parameter>
1696       </parameters>
1697     </function>
1698     <function name="gslist_int_none_return"
1699               c:identifier="g_i_marshalling_tests_gslist_int_none_return">
1700       <return-value transfer-ownership="none">
1701         <type name="GLib.SList" c:type="GSList*">
1702           <type name="int"/>
1703         </type>
1704       </return-value>
1705     </function>
1706     <function name="gslist_utf8_container_in"
1707               c:identifier="g_i_marshalling_tests_gslist_utf8_container_in">
1708       <return-value transfer-ownership="none">
1709         <type name="none" c:type="void"/>
1710       </return-value>
1711       <parameters>
1712         <parameter name="list" transfer-ownership="container">
1713           <type name="GLib.SList" c:type="GSList*">
1714             <type name="utf8"/>
1715           </type>
1716         </parameter>
1717       </parameters>
1718     </function>
1719     <function name="gslist_utf8_container_inout"
1720               c:identifier="g_i_marshalling_tests_gslist_utf8_container_inout">
1721       <return-value transfer-ownership="none">
1722         <type name="none" c:type="void"/>
1723       </return-value>
1724       <parameters>
1725         <parameter name="list"
1726                    direction="inout"
1727                    caller-allocates="0"
1728                    transfer-ownership="container">
1729           <type name="GLib.SList" c:type="GSList**">
1730             <type name="utf8"/>
1731           </type>
1732         </parameter>
1733       </parameters>
1734     </function>
1735     <function name="gslist_utf8_container_out"
1736               c:identifier="g_i_marshalling_tests_gslist_utf8_container_out">
1737       <return-value transfer-ownership="none">
1738         <type name="none" c:type="void"/>
1739       </return-value>
1740       <parameters>
1741         <parameter name="list"
1742                    direction="out"
1743                    caller-allocates="0"
1744                    transfer-ownership="container">
1745           <type name="GLib.SList" c:type="GSList**">
1746             <type name="utf8"/>
1747           </type>
1748         </parameter>
1749       </parameters>
1750     </function>
1751     <function name="gslist_utf8_container_return"
1752               c:identifier="g_i_marshalling_tests_gslist_utf8_container_return">
1753       <return-value transfer-ownership="container">
1754         <type name="GLib.SList" c:type="GSList*">
1755           <type name="utf8"/>
1756         </type>
1757       </return-value>
1758     </function>
1759     <function name="gslist_utf8_full_in"
1760               c:identifier="g_i_marshalling_tests_gslist_utf8_full_in">
1761       <return-value transfer-ownership="none">
1762         <type name="none" c:type="void"/>
1763       </return-value>
1764       <parameters>
1765         <parameter name="list" transfer-ownership="full">
1766           <type name="GLib.SList" c:type="GSList*">
1767             <type name="utf8"/>
1768           </type>
1769         </parameter>
1770       </parameters>
1771     </function>
1772     <function name="gslist_utf8_full_inout"
1773               c:identifier="g_i_marshalling_tests_gslist_utf8_full_inout">
1774       <return-value transfer-ownership="none">
1775         <type name="none" c:type="void"/>
1776       </return-value>
1777       <parameters>
1778         <parameter name="list"
1779                    direction="inout"
1780                    caller-allocates="0"
1781                    transfer-ownership="full">
1782           <type name="GLib.SList" c:type="GSList**">
1783             <type name="utf8"/>
1784           </type>
1785         </parameter>
1786       </parameters>
1787     </function>
1788     <function name="gslist_utf8_full_out"
1789               c:identifier="g_i_marshalling_tests_gslist_utf8_full_out">
1790       <return-value transfer-ownership="none">
1791         <type name="none" c:type="void"/>
1792       </return-value>
1793       <parameters>
1794         <parameter name="list"
1795                    direction="out"
1796                    caller-allocates="0"
1797                    transfer-ownership="full">
1798           <type name="GLib.SList" c:type="GSList**">
1799             <type name="utf8"/>
1800           </type>
1801         </parameter>
1802       </parameters>
1803     </function>
1804     <function name="gslist_utf8_full_return"
1805               c:identifier="g_i_marshalling_tests_gslist_utf8_full_return">
1806       <return-value transfer-ownership="full">
1807         <type name="GLib.SList" c:type="GSList*">
1808           <type name="utf8"/>
1809         </type>
1810       </return-value>
1811     </function>
1812     <function name="gslist_utf8_none_in"
1813               c:identifier="g_i_marshalling_tests_gslist_utf8_none_in">
1814       <return-value transfer-ownership="none">
1815         <type name="none" c:type="void"/>
1816       </return-value>
1817       <parameters>
1818         <parameter name="list" transfer-ownership="none">
1819           <type name="GLib.SList" c:type="GSList*">
1820             <type name="utf8"/>
1821           </type>
1822         </parameter>
1823       </parameters>
1824     </function>
1825     <function name="gslist_utf8_none_inout"
1826               c:identifier="g_i_marshalling_tests_gslist_utf8_none_inout">
1827       <return-value transfer-ownership="none">
1828         <type name="none" c:type="void"/>
1829       </return-value>
1830       <parameters>
1831         <parameter name="list"
1832                    direction="inout"
1833                    caller-allocates="0"
1834                    transfer-ownership="none">
1835           <type name="GLib.SList" c:type="GSList**">
1836             <type name="utf8"/>
1837           </type>
1838         </parameter>
1839       </parameters>
1840     </function>
1841     <function name="gslist_utf8_none_out"
1842               c:identifier="g_i_marshalling_tests_gslist_utf8_none_out">
1843       <return-value transfer-ownership="none">
1844         <type name="none" c:type="void"/>
1845       </return-value>
1846       <parameters>
1847         <parameter name="list"
1848                    direction="out"
1849                    caller-allocates="0"
1850                    transfer-ownership="none">
1851           <type name="GLib.SList" c:type="GSList**">
1852             <type name="utf8"/>
1853           </type>
1854         </parameter>
1855       </parameters>
1856     </function>
1857     <function name="gslist_utf8_none_return"
1858               c:identifier="g_i_marshalling_tests_gslist_utf8_none_return">
1859       <return-value transfer-ownership="none">
1860         <type name="GLib.SList" c:type="GSList*">
1861           <type name="utf8"/>
1862         </type>
1863       </return-value>
1864     </function>
1865     <function name="gstrv_in" c:identifier="g_i_marshalling_tests_gstrv_in">
1866       <return-value transfer-ownership="none">
1867         <type name="none" c:type="void"/>
1868       </return-value>
1869       <parameters>
1870         <parameter name="g_strv" transfer-ownership="none">
1871           <array c:type="GStrv">
1872             <type name="utf8"/>
1873           </array>
1874         </parameter>
1875       </parameters>
1876     </function>
1877     <function name="gstrv_inout"
1878               c:identifier="g_i_marshalling_tests_gstrv_inout">
1879       <return-value transfer-ownership="none">
1880         <type name="none" c:type="void"/>
1881       </return-value>
1882       <parameters>
1883         <parameter name="g_strv"
1884                    direction="inout"
1885                    caller-allocates="0"
1886                    transfer-ownership="none">
1887           <array c:type="GStrv*">
1888             <type name="utf8"/>
1889           </array>
1890         </parameter>
1891       </parameters>
1892     </function>
1893     <function name="gstrv_out" c:identifier="g_i_marshalling_tests_gstrv_out">
1894       <return-value transfer-ownership="none">
1895         <type name="none" c:type="void"/>
1896       </return-value>
1897       <parameters>
1898         <parameter name="g_strv"
1899                    direction="out"
1900                    caller-allocates="1"
1901                    transfer-ownership="none">
1902           <array c:type="GStrv*">
1903             <type name="utf8"/>
1904           </array>
1905         </parameter>
1906       </parameters>
1907     </function>
1908     <function name="gstrv_return"
1909               c:identifier="g_i_marshalling_tests_gstrv_return">
1910       <return-value transfer-ownership="full">
1911         <doc xml:whitespace="preserve">an array of strings</doc>
1912         <array c:type="GStrv">
1913           <type name="utf8"/>
1914         </array>
1915       </return-value>
1916     </function>
1917     <function name="gtype_in" c:identifier="g_i_marshalling_tests_gtype_in">
1918       <return-value transfer-ownership="none">
1919         <type name="none" c:type="void"/>
1920       </return-value>
1921       <parameters>
1922         <parameter name="gtype" transfer-ownership="none">
1923           <type name="GType" c:type="GType"/>
1924         </parameter>
1925       </parameters>
1926     </function>
1927     <function name="gtype_inout"
1928               c:identifier="g_i_marshalling_tests_gtype_inout">
1929       <return-value transfer-ownership="none">
1930         <type name="none" c:type="void"/>
1931       </return-value>
1932       <parameters>
1933         <parameter name="gtype"
1934                    direction="inout"
1935                    caller-allocates="0"
1936                    transfer-ownership="full">
1937           <type name="GType" c:type="GType*"/>
1938         </parameter>
1939       </parameters>
1940     </function>
1941     <function name="gtype_out" c:identifier="g_i_marshalling_tests_gtype_out">
1942       <return-value transfer-ownership="none">
1943         <type name="none" c:type="void"/>
1944       </return-value>
1945       <parameters>
1946         <parameter name="gtype"
1947                    direction="out"
1948                    caller-allocates="0"
1949                    transfer-ownership="full">
1950           <type name="GType" c:type="GType*"/>
1951         </parameter>
1952       </parameters>
1953     </function>
1954     <function name="gtype_return"
1955               c:identifier="g_i_marshalling_tests_gtype_return">
1956       <return-value transfer-ownership="none">
1957         <type name="GType" c:type="GType"/>
1958       </return-value>
1959     </function>
1960     <function name="gvalue_in" c:identifier="g_i_marshalling_tests_gvalue_in">
1961       <return-value transfer-ownership="none">
1962         <type name="none" c:type="void"/>
1963       </return-value>
1964       <parameters>
1965         <parameter name="value" transfer-ownership="none">
1966           <type name="GObject.Value" c:type="GValue*"/>
1967         </parameter>
1968       </parameters>
1969     </function>
1970     <function name="gvalue_in_enum"
1971               c:identifier="g_i_marshalling_tests_gvalue_in_enum">
1972       <return-value transfer-ownership="none">
1973         <type name="none" c:type="void"/>
1974       </return-value>
1975       <parameters>
1976         <parameter name="value" transfer-ownership="none">
1977           <type name="GObject.Value" c:type="GValue*"/>
1978         </parameter>
1979       </parameters>
1980     </function>
1981     <function name="gvalue_inout"
1982               c:identifier="g_i_marshalling_tests_gvalue_inout">
1983       <return-value transfer-ownership="none">
1984         <type name="none" c:type="void"/>
1985       </return-value>
1986       <parameters>
1987         <parameter name="value"
1988                    direction="inout"
1989                    caller-allocates="0"
1990                    transfer-ownership="none">
1991           <type name="GObject.Value" c:type="GValue**"/>
1992         </parameter>
1993       </parameters>
1994     </function>
1995     <function name="gvalue_out"
1996               c:identifier="g_i_marshalling_tests_gvalue_out">
1997       <return-value transfer-ownership="none">
1998         <type name="none" c:type="void"/>
1999       </return-value>
2000       <parameters>
2001         <parameter name="value"
2002                    direction="out"
2003                    caller-allocates="0"
2004                    transfer-ownership="none">
2005           <type name="GObject.Value" c:type="GValue**"/>
2006         </parameter>
2007       </parameters>
2008     </function>
2009     <function name="gvalue_return"
2010               c:identifier="g_i_marshalling_tests_gvalue_return">
2011       <return-value transfer-ownership="none">
2012         <type name="GObject.Value" c:type="GValue*"/>
2013       </return-value>
2014     </function>
2015     <function name="int16_in_max"
2016               c:identifier="g_i_marshalling_tests_int16_in_max">
2017       <return-value transfer-ownership="none">
2018         <type name="none" c:type="void"/>
2019       </return-value>
2020       <parameters>
2021         <parameter name="int16" transfer-ownership="none">
2022           <type name="int16" c:type="gint16"/>
2023         </parameter>
2024       </parameters>
2025     </function>
2026     <function name="int16_in_min"
2027               c:identifier="g_i_marshalling_tests_int16_in_min">
2028       <return-value transfer-ownership="none">
2029         <type name="none" c:type="void"/>
2030       </return-value>
2031       <parameters>
2032         <parameter name="int16" transfer-ownership="none">
2033           <type name="int16" c:type="gint16"/>
2034         </parameter>
2035       </parameters>
2036     </function>
2037     <function name="int16_inout_max_min"
2038               c:identifier="g_i_marshalling_tests_int16_inout_max_min">
2039       <return-value transfer-ownership="none">
2040         <type name="none" c:type="void"/>
2041       </return-value>
2042       <parameters>
2043         <parameter name="int16"
2044                    direction="inout"
2045                    caller-allocates="0"
2046                    transfer-ownership="full">
2047           <type name="int16" c:type="gint16*"/>
2048         </parameter>
2049       </parameters>
2050     </function>
2051     <function name="int16_inout_min_max"
2052               c:identifier="g_i_marshalling_tests_int16_inout_min_max">
2053       <return-value transfer-ownership="none">
2054         <type name="none" c:type="void"/>
2055       </return-value>
2056       <parameters>
2057         <parameter name="int16"
2058                    direction="inout"
2059                    caller-allocates="0"
2060                    transfer-ownership="full">
2061           <type name="int16" c:type="gint16*"/>
2062         </parameter>
2063       </parameters>
2064     </function>
2065     <function name="int16_out_max"
2066               c:identifier="g_i_marshalling_tests_int16_out_max">
2067       <return-value transfer-ownership="none">
2068         <type name="none" c:type="void"/>
2069       </return-value>
2070       <parameters>
2071         <parameter name="int16"
2072                    direction="out"
2073                    caller-allocates="0"
2074                    transfer-ownership="full">
2075           <type name="int16" c:type="gint16*"/>
2076         </parameter>
2077       </parameters>
2078     </function>
2079     <function name="int16_out_min"
2080               c:identifier="g_i_marshalling_tests_int16_out_min">
2081       <return-value transfer-ownership="none">
2082         <type name="none" c:type="void"/>
2083       </return-value>
2084       <parameters>
2085         <parameter name="int16"
2086                    direction="out"
2087                    caller-allocates="0"
2088                    transfer-ownership="full">
2089           <type name="int16" c:type="gint16*"/>
2090         </parameter>
2091       </parameters>
2092     </function>
2093     <function name="int16_return_max"
2094               c:identifier="g_i_marshalling_tests_int16_return_max">
2095       <return-value transfer-ownership="none">
2096         <type name="int16" c:type="gint16"/>
2097       </return-value>
2098     </function>
2099     <function name="int16_return_min"
2100               c:identifier="g_i_marshalling_tests_int16_return_min">
2101       <return-value transfer-ownership="none">
2102         <type name="int16" c:type="gint16"/>
2103       </return-value>
2104     </function>
2105     <function name="int32_in_max"
2106               c:identifier="g_i_marshalling_tests_int32_in_max">
2107       <return-value transfer-ownership="none">
2108         <type name="none" c:type="void"/>
2109       </return-value>
2110       <parameters>
2111         <parameter name="int32" transfer-ownership="none">
2112           <type name="int32" c:type="gint32"/>
2113         </parameter>
2114       </parameters>
2115     </function>
2116     <function name="int32_in_min"
2117               c:identifier="g_i_marshalling_tests_int32_in_min">
2118       <return-value transfer-ownership="none">
2119         <type name="none" c:type="void"/>
2120       </return-value>
2121       <parameters>
2122         <parameter name="int32" transfer-ownership="none">
2123           <type name="int32" c:type="gint32"/>
2124         </parameter>
2125       </parameters>
2126     </function>
2127     <function name="int32_inout_max_min"
2128               c:identifier="g_i_marshalling_tests_int32_inout_max_min">
2129       <return-value transfer-ownership="none">
2130         <type name="none" c:type="void"/>
2131       </return-value>
2132       <parameters>
2133         <parameter name="int32"
2134                    direction="inout"
2135                    caller-allocates="0"
2136                    transfer-ownership="full">
2137           <type name="int32" c:type="gint32*"/>
2138         </parameter>
2139       </parameters>
2140     </function>
2141     <function name="int32_inout_min_max"
2142               c:identifier="g_i_marshalling_tests_int32_inout_min_max">
2143       <return-value transfer-ownership="none">
2144         <type name="none" c:type="void"/>
2145       </return-value>
2146       <parameters>
2147         <parameter name="int32"
2148                    direction="inout"
2149                    caller-allocates="0"
2150                    transfer-ownership="full">
2151           <type name="int32" c:type="gint32*"/>
2152         </parameter>
2153       </parameters>
2154     </function>
2155     <function name="int32_out_max"
2156               c:identifier="g_i_marshalling_tests_int32_out_max">
2157       <return-value transfer-ownership="none">
2158         <type name="none" c:type="void"/>
2159       </return-value>
2160       <parameters>
2161         <parameter name="int32"
2162                    direction="out"
2163                    caller-allocates="0"
2164                    transfer-ownership="full">
2165           <type name="int32" c:type="gint32*"/>
2166         </parameter>
2167       </parameters>
2168     </function>
2169     <function name="int32_out_min"
2170               c:identifier="g_i_marshalling_tests_int32_out_min">
2171       <return-value transfer-ownership="none">
2172         <type name="none" c:type="void"/>
2173       </return-value>
2174       <parameters>
2175         <parameter name="int32"
2176                    direction="out"
2177                    caller-allocates="0"
2178                    transfer-ownership="full">
2179           <type name="int32" c:type="gint32*"/>
2180         </parameter>
2181       </parameters>
2182     </function>
2183     <function name="int32_return_max"
2184               c:identifier="g_i_marshalling_tests_int32_return_max">
2185       <return-value transfer-ownership="none">
2186         <type name="int32" c:type="gint32"/>
2187       </return-value>
2188     </function>
2189     <function name="int32_return_min"
2190               c:identifier="g_i_marshalling_tests_int32_return_min">
2191       <return-value transfer-ownership="none">
2192         <type name="int32" c:type="gint32"/>
2193       </return-value>
2194     </function>
2195     <function name="int64_in_max"
2196               c:identifier="g_i_marshalling_tests_int64_in_max">
2197       <return-value transfer-ownership="none">
2198         <type name="none" c:type="void"/>
2199       </return-value>
2200       <parameters>
2201         <parameter name="int64" transfer-ownership="none">
2202           <type name="int64" c:type="gint64"/>
2203         </parameter>
2204       </parameters>
2205     </function>
2206     <function name="int64_in_min"
2207               c:identifier="g_i_marshalling_tests_int64_in_min">
2208       <return-value transfer-ownership="none">
2209         <type name="none" c:type="void"/>
2210       </return-value>
2211       <parameters>
2212         <parameter name="int64" transfer-ownership="none">
2213           <type name="int64" c:type="gint64"/>
2214         </parameter>
2215       </parameters>
2216     </function>
2217     <function name="int64_inout_max_min"
2218               c:identifier="g_i_marshalling_tests_int64_inout_max_min">
2219       <return-value transfer-ownership="none">
2220         <type name="none" c:type="void"/>
2221       </return-value>
2222       <parameters>
2223         <parameter name="int64"
2224                    direction="inout"
2225                    caller-allocates="0"
2226                    transfer-ownership="full">
2227           <type name="int64" c:type="gint64*"/>
2228         </parameter>
2229       </parameters>
2230     </function>
2231     <function name="int64_inout_min_max"
2232               c:identifier="g_i_marshalling_tests_int64_inout_min_max">
2233       <return-value transfer-ownership="none">
2234         <type name="none" c:type="void"/>
2235       </return-value>
2236       <parameters>
2237         <parameter name="int64"
2238                    direction="inout"
2239                    caller-allocates="0"
2240                    transfer-ownership="full">
2241           <type name="int64" c:type="gint64*"/>
2242         </parameter>
2243       </parameters>
2244     </function>
2245     <function name="int64_out_max"
2246               c:identifier="g_i_marshalling_tests_int64_out_max">
2247       <return-value transfer-ownership="none">
2248         <type name="none" c:type="void"/>
2249       </return-value>
2250       <parameters>
2251         <parameter name="int64"
2252                    direction="out"
2253                    caller-allocates="0"
2254                    transfer-ownership="full">
2255           <type name="int64" c:type="gint64*"/>
2256         </parameter>
2257       </parameters>
2258     </function>
2259     <function name="int64_out_min"
2260               c:identifier="g_i_marshalling_tests_int64_out_min">
2261       <return-value transfer-ownership="none">
2262         <type name="none" c:type="void"/>
2263       </return-value>
2264       <parameters>
2265         <parameter name="int64"
2266                    direction="out"
2267                    caller-allocates="0"
2268                    transfer-ownership="full">
2269           <type name="int64" c:type="gint64*"/>
2270         </parameter>
2271       </parameters>
2272     </function>
2273     <function name="int64_return_max"
2274               c:identifier="g_i_marshalling_tests_int64_return_max">
2275       <return-value transfer-ownership="none">
2276         <type name="int64" c:type="gint64"/>
2277       </return-value>
2278     </function>
2279     <function name="int64_return_min"
2280               c:identifier="g_i_marshalling_tests_int64_return_min">
2281       <return-value transfer-ownership="none">
2282         <type name="int64" c:type="gint64"/>
2283       </return-value>
2284     </function>
2285     <function name="int8_in_max"
2286               c:identifier="g_i_marshalling_tests_int8_in_max">
2287       <return-value transfer-ownership="none">
2288         <type name="none" c:type="void"/>
2289       </return-value>
2290       <parameters>
2291         <parameter name="int8" transfer-ownership="none">
2292           <type name="int8" c:type="gint8"/>
2293         </parameter>
2294       </parameters>
2295     </function>
2296     <function name="int8_in_min"
2297               c:identifier="g_i_marshalling_tests_int8_in_min">
2298       <return-value transfer-ownership="none">
2299         <type name="none" c:type="void"/>
2300       </return-value>
2301       <parameters>
2302         <parameter name="int8" transfer-ownership="none">
2303           <type name="int8" c:type="gint8"/>
2304         </parameter>
2305       </parameters>
2306     </function>
2307     <function name="int8_inout_max_min"
2308               c:identifier="g_i_marshalling_tests_int8_inout_max_min">
2309       <return-value transfer-ownership="none">
2310         <type name="none" c:type="void"/>
2311       </return-value>
2312       <parameters>
2313         <parameter name="int8"
2314                    direction="inout"
2315                    caller-allocates="0"
2316                    transfer-ownership="full">
2317           <type name="int8" c:type="gint8*"/>
2318         </parameter>
2319       </parameters>
2320     </function>
2321     <function name="int8_inout_min_max"
2322               c:identifier="g_i_marshalling_tests_int8_inout_min_max">
2323       <return-value transfer-ownership="none">
2324         <type name="none" c:type="void"/>
2325       </return-value>
2326       <parameters>
2327         <parameter name="int8"
2328                    direction="inout"
2329                    caller-allocates="0"
2330                    transfer-ownership="full">
2331           <type name="int8" c:type="gint8*"/>
2332         </parameter>
2333       </parameters>
2334     </function>
2335     <function name="int8_out_max"
2336               c:identifier="g_i_marshalling_tests_int8_out_max">
2337       <return-value transfer-ownership="none">
2338         <type name="none" c:type="void"/>
2339       </return-value>
2340       <parameters>
2341         <parameter name="int8"
2342                    direction="out"
2343                    caller-allocates="0"
2344                    transfer-ownership="full">
2345           <type name="int8" c:type="gint8*"/>
2346         </parameter>
2347       </parameters>
2348     </function>
2349     <function name="int8_out_min"
2350               c:identifier="g_i_marshalling_tests_int8_out_min">
2351       <return-value transfer-ownership="none">
2352         <type name="none" c:type="void"/>
2353       </return-value>
2354       <parameters>
2355         <parameter name="int8"
2356                    direction="out"
2357                    caller-allocates="0"
2358                    transfer-ownership="full">
2359           <type name="int8" c:type="gint8*"/>
2360         </parameter>
2361       </parameters>
2362     </function>
2363     <function name="int8_return_max"
2364               c:identifier="g_i_marshalling_tests_int8_return_max">
2365       <return-value transfer-ownership="none">
2366         <type name="int8" c:type="gint8"/>
2367       </return-value>
2368     </function>
2369     <function name="int8_return_min"
2370               c:identifier="g_i_marshalling_tests_int8_return_min">
2371       <return-value transfer-ownership="none">
2372         <type name="int8" c:type="gint8"/>
2373       </return-value>
2374     </function>
2375     <function name="int_in_max"
2376               c:identifier="g_i_marshalling_tests_int_in_max">
2377       <return-value transfer-ownership="none">
2378         <type name="none" c:type="void"/>
2379       </return-value>
2380       <parameters>
2381         <parameter name="int_" transfer-ownership="none">
2382           <type name="int" c:type="gint"/>
2383         </parameter>
2384       </parameters>
2385     </function>
2386     <function name="int_in_min"
2387               c:identifier="g_i_marshalling_tests_int_in_min">
2388       <return-value transfer-ownership="none">
2389         <type name="none" c:type="void"/>
2390       </return-value>
2391       <parameters>
2392         <parameter name="int_" transfer-ownership="none">
2393           <type name="int" c:type="gint"/>
2394         </parameter>
2395       </parameters>
2396     </function>
2397     <function name="int_inout_max_min"
2398               c:identifier="g_i_marshalling_tests_int_inout_max_min">
2399       <return-value transfer-ownership="none">
2400         <type name="none" c:type="void"/>
2401       </return-value>
2402       <parameters>
2403         <parameter name="int_"
2404                    direction="inout"
2405                    caller-allocates="0"
2406                    transfer-ownership="full">
2407           <type name="int" c:type="gint*"/>
2408         </parameter>
2409       </parameters>
2410     </function>
2411     <function name="int_inout_min_max"
2412               c:identifier="g_i_marshalling_tests_int_inout_min_max">
2413       <return-value transfer-ownership="none">
2414         <type name="none" c:type="void"/>
2415       </return-value>
2416       <parameters>
2417         <parameter name="int_"
2418                    direction="inout"
2419                    caller-allocates="0"
2420                    transfer-ownership="full">
2421           <type name="int" c:type="gint*"/>
2422         </parameter>
2423       </parameters>
2424     </function>
2425     <function name="int_out_in"
2426               c:identifier="g_i_marshalling_tests_int_out_in">
2427       <return-value transfer-ownership="none">
2428         <type name="none" c:type="void"/>
2429       </return-value>
2430       <parameters>
2431         <parameter name="int0"
2432                    direction="out"
2433                    caller-allocates="0"
2434                    transfer-ownership="full">
2435           <type name="int" c:type="gint*"/>
2436         </parameter>
2437         <parameter name="int1" transfer-ownership="none">
2438           <type name="int" c:type="gint"/>
2439         </parameter>
2440       </parameters>
2441     </function>
2442     <function name="int_out_max"
2443               c:identifier="g_i_marshalling_tests_int_out_max">
2444       <return-value transfer-ownership="none">
2445         <type name="none" c:type="void"/>
2446       </return-value>
2447       <parameters>
2448         <parameter name="int_"
2449                    direction="out"
2450                    caller-allocates="0"
2451                    transfer-ownership="full">
2452           <type name="int" c:type="gint*"/>
2453         </parameter>
2454       </parameters>
2455     </function>
2456     <function name="int_out_min"
2457               c:identifier="g_i_marshalling_tests_int_out_min">
2458       <return-value transfer-ownership="none">
2459         <type name="none" c:type="void"/>
2460       </return-value>
2461       <parameters>
2462         <parameter name="int_"
2463                    direction="out"
2464                    caller-allocates="0"
2465                    transfer-ownership="full">
2466           <type name="int" c:type="gint*"/>
2467         </parameter>
2468       </parameters>
2469     </function>
2470     <function name="int_out_out"
2471               c:identifier="g_i_marshalling_tests_int_out_out">
2472       <return-value transfer-ownership="none">
2473         <type name="none" c:type="void"/>
2474       </return-value>
2475       <parameters>
2476         <parameter name="int0"
2477                    direction="out"
2478                    caller-allocates="0"
2479                    transfer-ownership="full">
2480           <type name="int" c:type="gint*"/>
2481         </parameter>
2482         <parameter name="int1"
2483                    direction="out"
2484                    caller-allocates="0"
2485                    transfer-ownership="full">
2486           <type name="int" c:type="gint*"/>
2487         </parameter>
2488       </parameters>
2489     </function>
2490     <function name="int_return_max"
2491               c:identifier="g_i_marshalling_tests_int_return_max">
2492       <return-value transfer-ownership="none">
2493         <type name="int" c:type="gint"/>
2494       </return-value>
2495     </function>
2496     <function name="int_return_min"
2497               c:identifier="g_i_marshalling_tests_int_return_min">
2498       <return-value transfer-ownership="none">
2499         <type name="int" c:type="gint"/>
2500       </return-value>
2501     </function>
2502     <function name="int_return_out"
2503               c:identifier="g_i_marshalling_tests_int_return_out">
2504       <return-value transfer-ownership="none">
2505         <type name="int" c:type="gint"/>
2506       </return-value>
2507       <parameters>
2508         <parameter name="int_"
2509                    direction="out"
2510                    caller-allocates="0"
2511                    transfer-ownership="full">
2512           <type name="int" c:type="gint*"/>
2513         </parameter>
2514       </parameters>
2515     </function>
2516     <function name="long_in_max"
2517               c:identifier="g_i_marshalling_tests_long_in_max">
2518       <return-value transfer-ownership="none">
2519         <type name="none" c:type="void"/>
2520       </return-value>
2521       <parameters>
2522         <parameter name="long_" transfer-ownership="none">
2523           <type name="long" c:type="glong"/>
2524         </parameter>
2525       </parameters>
2526     </function>
2527     <function name="long_in_min"
2528               c:identifier="g_i_marshalling_tests_long_in_min">
2529       <return-value transfer-ownership="none">
2530         <type name="none" c:type="void"/>
2531       </return-value>
2532       <parameters>
2533         <parameter name="long_" transfer-ownership="none">
2534           <type name="long" c:type="glong"/>
2535         </parameter>
2536       </parameters>
2537     </function>
2538     <function name="long_inout_max_min"
2539               c:identifier="g_i_marshalling_tests_long_inout_max_min">
2540       <return-value transfer-ownership="none">
2541         <type name="none" c:type="void"/>
2542       </return-value>
2543       <parameters>
2544         <parameter name="long_"
2545                    direction="inout"
2546                    caller-allocates="0"
2547                    transfer-ownership="full">
2548           <type name="long" c:type="glong*"/>
2549         </parameter>
2550       </parameters>
2551     </function>
2552     <function name="long_inout_min_max"
2553               c:identifier="g_i_marshalling_tests_long_inout_min_max">
2554       <return-value transfer-ownership="none">
2555         <type name="none" c:type="void"/>
2556       </return-value>
2557       <parameters>
2558         <parameter name="long_"
2559                    direction="inout"
2560                    caller-allocates="0"
2561                    transfer-ownership="full">
2562           <type name="long" c:type="glong*"/>
2563         </parameter>
2564       </parameters>
2565     </function>
2566     <function name="long_out_max"
2567               c:identifier="g_i_marshalling_tests_long_out_max">
2568       <return-value transfer-ownership="none">
2569         <type name="none" c:type="void"/>
2570       </return-value>
2571       <parameters>
2572         <parameter name="long_"
2573                    direction="out"
2574                    caller-allocates="0"
2575                    transfer-ownership="full">
2576           <type name="long" c:type="glong*"/>
2577         </parameter>
2578       </parameters>
2579     </function>
2580     <function name="long_out_min"
2581               c:identifier="g_i_marshalling_tests_long_out_min">
2582       <return-value transfer-ownership="none">
2583         <type name="none" c:type="void"/>
2584       </return-value>
2585       <parameters>
2586         <parameter name="long_"
2587                    direction="out"
2588                    caller-allocates="0"
2589                    transfer-ownership="full">
2590           <type name="long" c:type="glong*"/>
2591         </parameter>
2592       </parameters>
2593     </function>
2594     <function name="long_return_max"
2595               c:identifier="g_i_marshalling_tests_long_return_max">
2596       <return-value transfer-ownership="none">
2597         <type name="long" c:type="glong"/>
2598       </return-value>
2599     </function>
2600     <function name="long_return_min"
2601               c:identifier="g_i_marshalling_tests_long_return_min">
2602       <return-value transfer-ownership="none">
2603         <type name="long" c:type="glong"/>
2604       </return-value>
2605     </function>
2606     <function name="object_full_in"
2607               c:identifier="g_i_marshalling_tests__object_full_in">
2608       <return-value transfer-ownership="none">
2609         <type name="none" c:type="void"/>
2610       </return-value>
2611       <parameters>
2612         <parameter name="object" transfer-ownership="full">
2613           <type name="Object" c:type="GIMarshallingTestsObject*"/>
2614         </parameter>
2615       </parameters>
2616     </function>
2617     <function name="object_full_inout"
2618               c:identifier="g_i_marshalling_tests__object_full_inout">
2619       <return-value transfer-ownership="none">
2620         <type name="none" c:type="void"/>
2621       </return-value>
2622       <parameters>
2623         <parameter name="object"
2624                    direction="inout"
2625                    caller-allocates="0"
2626                    transfer-ownership="full">
2627           <type name="Object" c:type="GIMarshallingTestsObject**"/>
2628         </parameter>
2629       </parameters>
2630     </function>
2631     <function name="object_full_out"
2632               c:identifier="g_i_marshalling_tests__object_full_out">
2633       <return-value transfer-ownership="none">
2634         <type name="none" c:type="void"/>
2635       </return-value>
2636       <parameters>
2637         <parameter name="object"
2638                    direction="out"
2639                    caller-allocates="0"
2640                    transfer-ownership="full">
2641           <type name="Object" c:type="GIMarshallingTestsObject**"/>
2642         </parameter>
2643       </parameters>
2644     </function>
2645     <function name="object_full_return"
2646               c:identifier="g_i_marshalling_tests__object_full_return">
2647       <return-value transfer-ownership="full">
2648         <type name="Object" c:type="GIMarshallingTestsObject*"/>
2649       </return-value>
2650     </function>
2651     <function name="object_inout_same"
2652               c:identifier="g_i_marshalling_tests__object_inout_same">
2653       <return-value transfer-ownership="none">
2654         <type name="none" c:type="void"/>
2655       </return-value>
2656       <parameters>
2657         <parameter name="object"
2658                    direction="inout"
2659                    caller-allocates="0"
2660                    transfer-ownership="full">
2661           <type name="Object" c:type="GIMarshallingTestsObject**"/>
2662         </parameter>
2663       </parameters>
2664     </function>
2665     <function name="object_int8_in"
2666               c:identifier="g_i_marshalling_tests__object_int8_in">
2667       <return-value transfer-ownership="none">
2668         <type name="none" c:type="void"/>
2669       </return-value>
2670       <parameters>
2671         <parameter name="object" transfer-ownership="none">
2672           <type name="Object" c:type="GIMarshallingTestsObject*"/>
2673         </parameter>
2674         <parameter name="in" transfer-ownership="none">
2675           <type name="int8" c:type="gint8"/>
2676         </parameter>
2677       </parameters>
2678     </function>
2679     <function name="object_int8_out"
2680               c:identifier="g_i_marshalling_tests__object_int8_out">
2681       <return-value transfer-ownership="none">
2682         <type name="none" c:type="void"/>
2683       </return-value>
2684       <parameters>
2685         <parameter name="object" transfer-ownership="none">
2686           <type name="Object" c:type="GIMarshallingTestsObject*"/>
2687         </parameter>
2688         <parameter name="out"
2689                    direction="out"
2690                    caller-allocates="0"
2691                    transfer-ownership="full">
2692           <type name="int8" c:type="gint8*"/>
2693         </parameter>
2694       </parameters>
2695     </function>
2696     <function name="object_none_in"
2697               c:identifier="g_i_marshalling_tests__object_none_in">
2698       <return-value transfer-ownership="none">
2699         <type name="none" c:type="void"/>
2700       </return-value>
2701       <parameters>
2702         <parameter name="object" transfer-ownership="none">
2703           <type name="Object" c:type="GIMarshallingTestsObject*"/>
2704         </parameter>
2705       </parameters>
2706     </function>
2707     <function name="object_none_inout"
2708               c:identifier="g_i_marshalling_tests__object_none_inout">
2709       <return-value transfer-ownership="none">
2710         <type name="none" c:type="void"/>
2711       </return-value>
2712       <parameters>
2713         <parameter name="object"
2714                    direction="inout"
2715                    caller-allocates="0"
2716                    transfer-ownership="none">
2717           <type name="Object" c:type="GIMarshallingTestsObject**"/>
2718         </parameter>
2719       </parameters>
2720     </function>
2721     <function name="object_none_out"
2722               c:identifier="g_i_marshalling_tests__object_none_out">
2723       <return-value transfer-ownership="none">
2724         <type name="none" c:type="void"/>
2725       </return-value>
2726       <parameters>
2727         <parameter name="object"
2728                    direction="out"
2729                    caller-allocates="0"
2730                    transfer-ownership="none">
2731           <type name="Object" c:type="GIMarshallingTestsObject**"/>
2732         </parameter>
2733       </parameters>
2734     </function>
2735     <function name="object_none_return"
2736               c:identifier="g_i_marshalling_tests__object_none_return">
2737       <return-value transfer-ownership="none">
2738         <type name="Object" c:type="GIMarshallingTestsObject*"/>
2739       </return-value>
2740     </function>
2741     <function name="overrides_object_return"
2742               c:identifier="g_i_marshalling_tests__overrides_object_return">
2743       <return-value transfer-ownership="full">
2744         <type name="OverridesObject"
2745               c:type="GIMarshallingTestsOverridesObject*"/>
2746       </return-value>
2747     </function>
2748     <function name="overrides_struct_return"
2749               c:identifier="g_i_marshalling_tests__overrides_struct_return">
2750       <return-value transfer-ownership="full">
2751         <type name="OverridesStruct"
2752               c:type="GIMarshallingTestsOverridesStruct*"/>
2753       </return-value>
2754     </function>
2755     <function name="pointer_in_return"
2756               c:identifier="g_i_marshalling_tests_pointer_in_return">
2757       <return-value transfer-ownership="none">
2758         <type name="any" c:type="gpointer"/>
2759       </return-value>
2760       <parameters>
2761         <parameter name="pointer" transfer-ownership="none">
2762           <type name="any" c:type="gpointer"/>
2763         </parameter>
2764       </parameters>
2765     </function>
2766     <function name="pointer_struct_in"
2767               c:identifier="g_i_marshalling_tests__pointer_struct_in">
2768       <return-value transfer-ownership="none">
2769         <type name="none" c:type="void"/>
2770       </return-value>
2771       <parameters>
2772         <parameter name="struct_" transfer-ownership="none">
2773           <type name="PointerStruct"
2774                 c:type="GIMarshallingTestsPointerStruct*"/>
2775         </parameter>
2776       </parameters>
2777     </function>
2778     <function name="pointer_struct_inout"
2779               c:identifier="g_i_marshalling_tests__pointer_struct_inout">
2780       <return-value transfer-ownership="none">
2781         <type name="none" c:type="void"/>
2782       </return-value>
2783       <parameters>
2784         <parameter name="struct_"
2785                    direction="inout"
2786                    caller-allocates="0"
2787                    transfer-ownership="none">
2788           <type name="PointerStruct"
2789                 c:type="GIMarshallingTestsPointerStruct**"/>
2790         </parameter>
2791       </parameters>
2792     </function>
2793     <function name="pointer_struct_out"
2794               c:identifier="g_i_marshalling_tests__pointer_struct_out">
2795       <return-value transfer-ownership="none">
2796         <type name="none" c:type="void"/>
2797       </return-value>
2798       <parameters>
2799         <parameter name="struct_"
2800                    direction="out"
2801                    caller-allocates="0"
2802                    transfer-ownership="none">
2803           <type name="PointerStruct"
2804                 c:type="GIMarshallingTestsPointerStruct**"/>
2805         </parameter>
2806       </parameters>
2807     </function>
2808     <function name="pointer_struct_return"
2809               c:identifier="g_i_marshalling_tests__pointer_struct_return">
2810       <return-value transfer-ownership="none">
2811         <type name="PointerStruct" c:type="GIMarshallingTestsPointerStruct*"/>
2812       </return-value>
2813     </function>
2814     <function name="short_in_max"
2815               c:identifier="g_i_marshalling_tests_short_in_max">
2816       <return-value transfer-ownership="none">
2817         <type name="none" c:type="void"/>
2818       </return-value>
2819       <parameters>
2820         <parameter name="short_" transfer-ownership="none">
2821           <type name="short" c:type="gshort"/>
2822         </parameter>
2823       </parameters>
2824     </function>
2825     <function name="short_in_min"
2826               c:identifier="g_i_marshalling_tests_short_in_min">
2827       <return-value transfer-ownership="none">
2828         <type name="none" c:type="void"/>
2829       </return-value>
2830       <parameters>
2831         <parameter name="short_" transfer-ownership="none">
2832           <type name="short" c:type="gshort"/>
2833         </parameter>
2834       </parameters>
2835     </function>
2836     <function name="short_inout_max_min"
2837               c:identifier="g_i_marshalling_tests_short_inout_max_min">
2838       <return-value transfer-ownership="none">
2839         <type name="none" c:type="void"/>
2840       </return-value>
2841       <parameters>
2842         <parameter name="short_"
2843                    direction="inout"
2844                    caller-allocates="0"
2845                    transfer-ownership="full">
2846           <type name="short" c:type="gshort*"/>
2847         </parameter>
2848       </parameters>
2849     </function>
2850     <function name="short_inout_min_max"
2851               c:identifier="g_i_marshalling_tests_short_inout_min_max">
2852       <return-value transfer-ownership="none">
2853         <type name="none" c:type="void"/>
2854       </return-value>
2855       <parameters>
2856         <parameter name="short_"
2857                    direction="inout"
2858                    caller-allocates="0"
2859                    transfer-ownership="full">
2860           <type name="short" c:type="gshort*"/>
2861         </parameter>
2862       </parameters>
2863     </function>
2864     <function name="short_out_max"
2865               c:identifier="g_i_marshalling_tests_short_out_max">
2866       <return-value transfer-ownership="none">
2867         <type name="none" c:type="void"/>
2868       </return-value>
2869       <parameters>
2870         <parameter name="short_"
2871                    direction="out"
2872                    caller-allocates="0"
2873                    transfer-ownership="full">
2874           <type name="short" c:type="gshort*"/>
2875         </parameter>
2876       </parameters>
2877     </function>
2878     <function name="short_out_min"
2879               c:identifier="g_i_marshalling_tests_short_out_min">
2880       <return-value transfer-ownership="none">
2881         <type name="none" c:type="void"/>
2882       </return-value>
2883       <parameters>
2884         <parameter name="short_"
2885                    direction="out"
2886                    caller-allocates="0"
2887                    transfer-ownership="full">
2888           <type name="short" c:type="gshort*"/>
2889         </parameter>
2890       </parameters>
2891     </function>
2892     <function name="short_return_max"
2893               c:identifier="g_i_marshalling_tests_short_return_max">
2894       <return-value transfer-ownership="none">
2895         <type name="short" c:type="gshort"/>
2896       </return-value>
2897     </function>
2898     <function name="short_return_min"
2899               c:identifier="g_i_marshalling_tests_short_return_min">
2900       <return-value transfer-ownership="none">
2901         <type name="short" c:type="gshort"/>
2902       </return-value>
2903     </function>
2904     <function name="simple_struct_in"
2905               c:identifier="g_i_marshalling_tests__simple_struct_in">
2906       <return-value transfer-ownership="none">
2907         <type name="none" c:type="void"/>
2908       </return-value>
2909       <parameters>
2910         <parameter name="struct_" transfer-ownership="none">
2911           <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct*"/>
2912         </parameter>
2913       </parameters>
2914     </function>
2915     <function name="simple_struct_inout"
2916               c:identifier="g_i_marshalling_tests__simple_struct_inout">
2917       <return-value transfer-ownership="none">
2918         <type name="none" c:type="void"/>
2919       </return-value>
2920       <parameters>
2921         <parameter name="struct_"
2922                    direction="inout"
2923                    caller-allocates="0"
2924                    transfer-ownership="none">
2925           <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct**"/>
2926         </parameter>
2927       </parameters>
2928     </function>
2929     <function name="simple_struct_out"
2930               c:identifier="g_i_marshalling_tests__simple_struct_out">
2931       <return-value transfer-ownership="none">
2932         <type name="none" c:type="void"/>
2933       </return-value>
2934       <parameters>
2935         <parameter name="struct_"
2936                    direction="out"
2937                    caller-allocates="0"
2938                    transfer-ownership="none">
2939           <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct**"/>
2940         </parameter>
2941       </parameters>
2942     </function>
2943     <function name="simple_struct_return"
2944               c:identifier="g_i_marshalling_tests__simple_struct_return">
2945       <return-value transfer-ownership="none">
2946         <type name="SimpleStruct" c:type="GIMarshallingTestsSimpleStruct*"/>
2947       </return-value>
2948     </function>
2949     <function name="size_in" c:identifier="g_i_marshalling_tests_size_in">
2950       <return-value transfer-ownership="none">
2951         <type name="none" c:type="void"/>
2952       </return-value>
2953       <parameters>
2954         <parameter name="size" transfer-ownership="none">
2955           <type name="gsize" c:type="gsize"/>
2956         </parameter>
2957       </parameters>
2958     </function>
2959     <function name="size_inout"
2960               c:identifier="g_i_marshalling_tests_size_inout">
2961       <return-value transfer-ownership="none">
2962         <type name="none" c:type="void"/>
2963       </return-value>
2964       <parameters>
2965         <parameter name="size"
2966                    direction="inout"
2967                    caller-allocates="0"
2968                    transfer-ownership="full">
2969           <type name="gsize" c:type="gsize*"/>
2970         </parameter>
2971       </parameters>
2972     </function>
2973     <function name="size_out" c:identifier="g_i_marshalling_tests_size_out">
2974       <return-value transfer-ownership="none">
2975         <type name="none" c:type="void"/>
2976       </return-value>
2977       <parameters>
2978         <parameter name="size"
2979                    direction="out"
2980                    caller-allocates="0"
2981                    transfer-ownership="full">
2982           <type name="gsize" c:type="gsize*"/>
2983         </parameter>
2984       </parameters>
2985     </function>
2986     <function name="size_return"
2987               c:identifier="g_i_marshalling_tests_size_return">
2988       <return-value transfer-ownership="none">
2989         <type name="gsize" c:type="gsize"/>
2990       </return-value>
2991     </function>
2992     <function name="ssize_in_max"
2993               c:identifier="g_i_marshalling_tests_ssize_in_max">
2994       <return-value transfer-ownership="none">
2995         <type name="none" c:type="void"/>
2996       </return-value>
2997       <parameters>
2998         <parameter name="ssize" transfer-ownership="none">
2999           <type name="gssize" c:type="gssize"/>
3000         </parameter>
3001       </parameters>
3002     </function>
3003     <function name="ssize_in_min"
3004               c:identifier="g_i_marshalling_tests_ssize_in_min">
3005       <return-value transfer-ownership="none">
3006         <type name="none" c:type="void"/>
3007       </return-value>
3008       <parameters>
3009         <parameter name="ssize" transfer-ownership="none">
3010           <type name="gssize" c:type="gssize"/>
3011         </parameter>
3012       </parameters>
3013     </function>
3014     <function name="ssize_inout_max_min"
3015               c:identifier="g_i_marshalling_tests_ssize_inout_max_min">
3016       <return-value transfer-ownership="none">
3017         <type name="none" c:type="void"/>
3018       </return-value>
3019       <parameters>
3020         <parameter name="ssize"
3021                    direction="inout"
3022                    caller-allocates="0"
3023                    transfer-ownership="full">
3024           <type name="gssize" c:type="gssize*"/>
3025         </parameter>
3026       </parameters>
3027     </function>
3028     <function name="ssize_inout_min_max"
3029               c:identifier="g_i_marshalling_tests_ssize_inout_min_max">
3030       <return-value transfer-ownership="none">
3031         <type name="none" c:type="void"/>
3032       </return-value>
3033       <parameters>
3034         <parameter name="ssize"
3035                    direction="inout"
3036                    caller-allocates="0"
3037                    transfer-ownership="full">
3038           <type name="gssize" c:type="gssize*"/>
3039         </parameter>
3040       </parameters>
3041     </function>
3042     <function name="ssize_out_max"
3043               c:identifier="g_i_marshalling_tests_ssize_out_max">
3044       <return-value transfer-ownership="none">
3045         <type name="none" c:type="void"/>
3046       </return-value>
3047       <parameters>
3048         <parameter name="ssize"
3049                    direction="out"
3050                    caller-allocates="0"
3051                    transfer-ownership="full">
3052           <type name="gssize" c:type="gssize*"/>
3053         </parameter>
3054       </parameters>
3055     </function>
3056     <function name="ssize_out_min"
3057               c:identifier="g_i_marshalling_tests_ssize_out_min">
3058       <return-value transfer-ownership="none">
3059         <type name="none" c:type="void"/>
3060       </return-value>
3061       <parameters>
3062         <parameter name="ssize"
3063                    direction="out"
3064                    caller-allocates="0"
3065                    transfer-ownership="full">
3066           <type name="gssize" c:type="gssize*"/>
3067         </parameter>
3068       </parameters>
3069     </function>
3070     <function name="ssize_return_max"
3071               c:identifier="g_i_marshalling_tests_ssize_return_max">
3072       <return-value transfer-ownership="none">
3073         <type name="gssize" c:type="gssize"/>
3074       </return-value>
3075     </function>
3076     <function name="ssize_return_min"
3077               c:identifier="g_i_marshalling_tests_ssize_return_min">
3078       <return-value transfer-ownership="none">
3079         <type name="gssize" c:type="gssize"/>
3080       </return-value>
3081     </function>
3082     <function name="test_interface_test_int8_in"
3083               c:identifier="g_i_marshalling_tests_test_interface_test_int8_in">
3084       <return-value transfer-ownership="none">
3085         <type name="none" c:type="void"/>
3086       </return-value>
3087       <parameters>
3088         <parameter name="test_iface" transfer-ownership="none">
3089           <type name="Interface" c:type="GIMarshallingTestsInterface*"/>
3090         </parameter>
3091         <parameter name="in" transfer-ownership="none">
3092           <type name="int8" c:type="gint8"/>
3093         </parameter>
3094       </parameters>
3095     </function>
3096     <function name="time_t_in" c:identifier="g_i_marshalling_tests_time_t_in">
3097       <return-value transfer-ownership="none">
3098         <type name="none" c:type="void"/>
3099       </return-value>
3100       <parameters>
3101         <parameter name="time_t_" transfer-ownership="none">
3102           <type name="long" c:type="time_t"/>
3103         </parameter>
3104       </parameters>
3105     </function>
3106     <function name="time_t_inout"
3107               c:identifier="g_i_marshalling_tests_time_t_inout">
3108       <return-value transfer-ownership="none">
3109         <type name="none" c:type="void"/>
3110       </return-value>
3111       <parameters>
3112         <parameter name="time_t_"
3113                    direction="inout"
3114                    caller-allocates="0"
3115                    transfer-ownership="full">
3116           <type name="long" c:type="time_t*"/>
3117         </parameter>
3118       </parameters>
3119     </function>
3120     <function name="time_t_out"
3121               c:identifier="g_i_marshalling_tests_time_t_out">
3122       <return-value transfer-ownership="none">
3123         <type name="none" c:type="void"/>
3124       </return-value>
3125       <parameters>
3126         <parameter name="time_t_"
3127                    direction="out"
3128                    caller-allocates="0"
3129                    transfer-ownership="full">
3130           <type name="long" c:type="time_t*"/>
3131         </parameter>
3132       </parameters>
3133     </function>
3134     <function name="time_t_return"
3135               c:identifier="g_i_marshalling_tests_time_t_return">
3136       <return-value transfer-ownership="none">
3137         <type name="long" c:type="time_t"/>
3138       </return-value>
3139     </function>
3140     <function name="uint16_in" c:identifier="g_i_marshalling_tests_uint16_in">
3141       <return-value transfer-ownership="none">
3142         <type name="none" c:type="void"/>
3143       </return-value>
3144       <parameters>
3145         <parameter name="uint16" transfer-ownership="none">
3146           <type name="uint16" c:type="guint16"/>
3147         </parameter>
3148       </parameters>
3149     </function>
3150     <function name="uint16_inout"
3151               c:identifier="g_i_marshalling_tests_uint16_inout">
3152       <return-value transfer-ownership="none">
3153         <type name="none" c:type="void"/>
3154       </return-value>
3155       <parameters>
3156         <parameter name="uint16"
3157                    direction="inout"
3158                    caller-allocates="0"
3159                    transfer-ownership="full">
3160           <type name="uint16" c:type="guint16*"/>
3161         </parameter>
3162       </parameters>
3163     </function>
3164     <function name="uint16_out"
3165               c:identifier="g_i_marshalling_tests_uint16_out">
3166       <return-value transfer-ownership="none">
3167         <type name="none" c:type="void"/>
3168       </return-value>
3169       <parameters>
3170         <parameter name="uint16"
3171                    direction="out"
3172                    caller-allocates="0"
3173                    transfer-ownership="full">
3174           <type name="uint16" c:type="guint16*"/>
3175         </parameter>
3176       </parameters>
3177     </function>
3178     <function name="uint16_return"
3179               c:identifier="g_i_marshalling_tests_uint16_return">
3180       <return-value transfer-ownership="none">
3181         <type name="uint16" c:type="guint16"/>
3182       </return-value>
3183     </function>
3184     <function name="uint32_in" c:identifier="g_i_marshalling_tests_uint32_in">
3185       <return-value transfer-ownership="none">
3186         <type name="none" c:type="void"/>
3187       </return-value>
3188       <parameters>
3189         <parameter name="uint32" transfer-ownership="none">
3190           <type name="uint32" c:type="guint32"/>
3191         </parameter>
3192       </parameters>
3193     </function>
3194     <function name="uint32_inout"
3195               c:identifier="g_i_marshalling_tests_uint32_inout">
3196       <return-value transfer-ownership="none">
3197         <type name="none" c:type="void"/>
3198       </return-value>
3199       <parameters>
3200         <parameter name="uint32"
3201                    direction="inout"
3202                    caller-allocates="0"
3203                    transfer-ownership="full">
3204           <type name="uint32" c:type="guint32*"/>
3205         </parameter>
3206       </parameters>
3207     </function>
3208     <function name="uint32_out"
3209               c:identifier="g_i_marshalling_tests_uint32_out">
3210       <return-value transfer-ownership="none">
3211         <type name="none" c:type="void"/>
3212       </return-value>
3213       <parameters>
3214         <parameter name="uint32"
3215                    direction="out"
3216                    caller-allocates="0"
3217                    transfer-ownership="full">
3218           <type name="uint32" c:type="guint32*"/>
3219         </parameter>
3220       </parameters>
3221     </function>
3222     <function name="uint32_return"
3223               c:identifier="g_i_marshalling_tests_uint32_return">
3224       <return-value transfer-ownership="none">
3225         <type name="uint32" c:type="guint32"/>
3226       </return-value>
3227     </function>
3228     <function name="uint64_in" c:identifier="g_i_marshalling_tests_uint64_in">
3229       <return-value transfer-ownership="none">
3230         <type name="none" c:type="void"/>
3231       </return-value>
3232       <parameters>
3233         <parameter name="uint64" transfer-ownership="none">
3234           <type name="uint64" c:type="guint64"/>
3235         </parameter>
3236       </parameters>
3237     </function>
3238     <function name="uint64_inout"
3239               c:identifier="g_i_marshalling_tests_uint64_inout">
3240       <return-value transfer-ownership="none">
3241         <type name="none" c:type="void"/>
3242       </return-value>
3243       <parameters>
3244         <parameter name="uint64"
3245                    direction="inout"
3246                    caller-allocates="0"
3247                    transfer-ownership="full">
3248           <type name="uint64" c:type="guint64*"/>
3249         </parameter>
3250       </parameters>
3251     </function>
3252     <function name="uint64_out"
3253               c:identifier="g_i_marshalling_tests_uint64_out">
3254       <return-value transfer-ownership="none">
3255         <type name="none" c:type="void"/>
3256       </return-value>
3257       <parameters>
3258         <parameter name="uint64"
3259                    direction="out"
3260                    caller-allocates="0"
3261                    transfer-ownership="full">
3262           <type name="uint64" c:type="guint64*"/>
3263         </parameter>
3264       </parameters>
3265     </function>
3266     <function name="uint64_return"
3267               c:identifier="g_i_marshalling_tests_uint64_return">
3268       <return-value transfer-ownership="none">
3269         <type name="uint64" c:type="guint64"/>
3270       </return-value>
3271     </function>
3272     <function name="uint8_in" c:identifier="g_i_marshalling_tests_uint8_in">
3273       <return-value transfer-ownership="none">
3274         <type name="none" c:type="void"/>
3275       </return-value>
3276       <parameters>
3277         <parameter name="uint8" transfer-ownership="none">
3278           <type name="uint8" c:type="guint8"/>
3279         </parameter>
3280       </parameters>
3281     </function>
3282     <function name="uint8_inout"
3283               c:identifier="g_i_marshalling_tests_uint8_inout">
3284       <return-value transfer-ownership="none">
3285         <type name="none" c:type="void"/>
3286       </return-value>
3287       <parameters>
3288         <parameter name="uint8"
3289                    direction="inout"
3290                    caller-allocates="0"
3291                    transfer-ownership="full">
3292           <type name="uint8" c:type="guint8*"/>
3293         </parameter>
3294       </parameters>
3295     </function>
3296     <function name="uint8_out" c:identifier="g_i_marshalling_tests_uint8_out">
3297       <return-value transfer-ownership="none">
3298         <type name="none" c:type="void"/>
3299       </return-value>
3300       <parameters>
3301         <parameter name="uint8"
3302                    direction="out"
3303                    caller-allocates="0"
3304                    transfer-ownership="full">
3305           <type name="uint8" c:type="guint8*"/>
3306         </parameter>
3307       </parameters>
3308     </function>
3309     <function name="uint8_return"
3310               c:identifier="g_i_marshalling_tests_uint8_return">
3311       <return-value transfer-ownership="none">
3312         <type name="uint8" c:type="guint8"/>
3313       </return-value>
3314     </function>
3315     <function name="uint_in" c:identifier="g_i_marshalling_tests_uint_in">
3316       <return-value transfer-ownership="none">
3317         <type name="none" c:type="void"/>
3318       </return-value>
3319       <parameters>
3320         <parameter name="uint_" transfer-ownership="none">
3321           <type name="uint" c:type="guint"/>
3322         </parameter>
3323       </parameters>
3324     </function>
3325     <function name="uint_inout"
3326               c:identifier="g_i_marshalling_tests_uint_inout">
3327       <return-value transfer-ownership="none">
3328         <type name="none" c:type="void"/>
3329       </return-value>
3330       <parameters>
3331         <parameter name="uint_"
3332                    direction="inout"
3333                    caller-allocates="0"
3334                    transfer-ownership="full">
3335           <type name="uint" c:type="guint*"/>
3336         </parameter>
3337       </parameters>
3338     </function>
3339     <function name="uint_out" c:identifier="g_i_marshalling_tests_uint_out">
3340       <return-value transfer-ownership="none">
3341         <type name="none" c:type="void"/>
3342       </return-value>
3343       <parameters>
3344         <parameter name="uint_"
3345                    direction="out"
3346                    caller-allocates="0"
3347                    transfer-ownership="full">
3348           <type name="uint" c:type="guint*"/>
3349         </parameter>
3350       </parameters>
3351     </function>
3352     <function name="uint_return"
3353               c:identifier="g_i_marshalling_tests_uint_return">
3354       <return-value transfer-ownership="none">
3355         <type name="uint" c:type="guint"/>
3356       </return-value>
3357     </function>
3358     <function name="ulong_in" c:identifier="g_i_marshalling_tests_ulong_in">
3359       <return-value transfer-ownership="none">
3360         <type name="none" c:type="void"/>
3361       </return-value>
3362       <parameters>
3363         <parameter name="ulong_" transfer-ownership="none">
3364           <type name="ulong" c:type="gulong"/>
3365         </parameter>
3366       </parameters>
3367     </function>
3368     <function name="ulong_inout"
3369               c:identifier="g_i_marshalling_tests_ulong_inout">
3370       <return-value transfer-ownership="none">
3371         <type name="none" c:type="void"/>
3372       </return-value>
3373       <parameters>
3374         <parameter name="ulong_"
3375                    direction="inout"
3376                    caller-allocates="0"
3377                    transfer-ownership="full">
3378           <type name="ulong" c:type="gulong*"/>
3379         </parameter>
3380       </parameters>
3381     </function>
3382     <function name="ulong_out" c:identifier="g_i_marshalling_tests_ulong_out">
3383       <return-value transfer-ownership="none">
3384         <type name="none" c:type="void"/>
3385       </return-value>
3386       <parameters>
3387         <parameter name="ulong_"
3388                    direction="out"
3389                    caller-allocates="0"
3390                    transfer-ownership="full">
3391           <type name="ulong" c:type="gulong*"/>
3392         </parameter>
3393       </parameters>
3394     </function>
3395     <function name="ulong_return"
3396               c:identifier="g_i_marshalling_tests_ulong_return">
3397       <return-value transfer-ownership="none">
3398         <type name="ulong" c:type="gulong"/>
3399       </return-value>
3400     </function>
3401     <function name="union_in" c:identifier="g_i_marshalling_tests__union_in">
3402       <return-value transfer-ownership="none">
3403         <type name="none" c:type="void"/>
3404       </return-value>
3405       <parameters>
3406         <parameter name="union_" transfer-ownership="none">
3407           <type name="Union" c:type="GIMarshallingTestsUnion*"/>
3408         </parameter>
3409       </parameters>
3410     </function>
3411     <function name="union_inout"
3412               c:identifier="g_i_marshalling_tests__union_inout">
3413       <return-value transfer-ownership="none">
3414         <type name="none" c:type="void"/>
3415       </return-value>
3416       <parameters>
3417         <parameter name="union_"
3418                    direction="inout"
3419                    caller-allocates="0"
3420                    transfer-ownership="none">
3421           <type name="Union" c:type="GIMarshallingTestsUnion**"/>
3422         </parameter>
3423       </parameters>
3424     </function>
3425     <function name="union_out" c:identifier="g_i_marshalling_tests__union_out">
3426       <return-value transfer-ownership="none">
3427         <type name="none" c:type="void"/>
3428       </return-value>
3429       <parameters>
3430         <parameter name="union_"
3431                    direction="out"
3432                    caller-allocates="0"
3433                    transfer-ownership="none">
3434           <type name="Union" c:type="GIMarshallingTestsUnion**"/>
3435         </parameter>
3436       </parameters>
3437     </function>
3438     <function name="union_return"
3439               c:identifier="g_i_marshalling_tests__union_return">
3440       <return-value transfer-ownership="none">
3441         <type name="Union" c:type="GIMarshallingTestsUnion*"/>
3442       </return-value>
3443     </function>
3444     <function name="ushort_in" c:identifier="g_i_marshalling_tests_ushort_in">
3445       <return-value transfer-ownership="none">
3446         <type name="none" c:type="void"/>
3447       </return-value>
3448       <parameters>
3449         <parameter name="ushort_" transfer-ownership="none">
3450           <type name="ushort" c:type="gushort"/>
3451         </parameter>
3452       </parameters>
3453     </function>
3454     <function name="ushort_inout"
3455               c:identifier="g_i_marshalling_tests_ushort_inout">
3456       <return-value transfer-ownership="none">
3457         <type name="none" c:type="void"/>
3458       </return-value>
3459       <parameters>
3460         <parameter name="ushort_"
3461                    direction="inout"
3462                    caller-allocates="0"
3463                    transfer-ownership="full">
3464           <type name="ushort" c:type="gushort*"/>
3465         </parameter>
3466       </parameters>
3467     </function>
3468     <function name="ushort_out"
3469               c:identifier="g_i_marshalling_tests_ushort_out">
3470       <return-value transfer-ownership="none">
3471         <type name="none" c:type="void"/>
3472       </return-value>
3473       <parameters>
3474         <parameter name="ushort_"
3475                    direction="out"
3476                    caller-allocates="0"
3477                    transfer-ownership="full">
3478           <type name="ushort" c:type="gushort*"/>
3479         </parameter>
3480       </parameters>
3481     </function>
3482     <function name="ushort_return"
3483               c:identifier="g_i_marshalling_tests_ushort_return">
3484       <return-value transfer-ownership="none">
3485         <type name="ushort" c:type="gushort"/>
3486       </return-value>
3487     </function>
3488     <function name="utf8_dangling_out"
3489               c:identifier="g_i_marshalling_tests_utf8_dangling_out">
3490       <return-value transfer-ownership="none">
3491         <type name="none" c:type="void"/>
3492       </return-value>
3493       <parameters>
3494         <parameter name="utf8"
3495                    direction="out"
3496                    caller-allocates="0"
3497                    transfer-ownership="full">
3498           <type name="utf8" c:type="gchar**"/>
3499         </parameter>
3500       </parameters>
3501     </function>
3502     <function name="utf8_full_in"
3503               c:identifier="g_i_marshalling_tests_utf8_full_in">
3504       <return-value transfer-ownership="none">
3505         <type name="none" c:type="void"/>
3506       </return-value>
3507       <parameters>
3508         <parameter name="utf8" transfer-ownership="full">
3509           <type name="utf8" c:type="gchar*"/>
3510         </parameter>
3511       </parameters>
3512     </function>
3513     <function name="utf8_full_inout"
3514               c:identifier="g_i_marshalling_tests_utf8_full_inout">
3515       <return-value transfer-ownership="none">
3516         <type name="none" c:type="void"/>
3517       </return-value>
3518       <parameters>
3519         <parameter name="utf8"
3520                    direction="inout"
3521                    caller-allocates="0"
3522                    transfer-ownership="full">
3523           <type name="utf8" c:type="gchar**"/>
3524         </parameter>
3525       </parameters>
3526     </function>
3527     <function name="utf8_full_out"
3528               c:identifier="g_i_marshalling_tests_utf8_full_out">
3529       <return-value transfer-ownership="none">
3530         <type name="none" c:type="void"/>
3531       </return-value>
3532       <parameters>
3533         <parameter name="utf8"
3534                    direction="out"
3535                    caller-allocates="0"
3536                    transfer-ownership="full">
3537           <type name="utf8" c:type="gchar**"/>
3538         </parameter>
3539       </parameters>
3540     </function>
3541     <function name="utf8_full_out_out"
3542               c:identifier="g_i_marshalling_tests_utf8_full_out_out">
3543       <return-value transfer-ownership="none">
3544         <type name="none" c:type="void"/>
3545       </return-value>
3546       <parameters>
3547         <parameter name="utf80" transfer-ownership="none">
3548           <array c:type="gchar**">
3549             <type name="utf8"/>
3550           </array>
3551         </parameter>
3552         <parameter name="utf82" transfer-ownership="none">
3553           <array c:type="gchar**">
3554             <type name="utf8"/>
3555           </array>
3556         </parameter>
3557       </parameters>
3558     </function>
3559     <function name="utf8_full_return"
3560               c:identifier="g_i_marshalling_tests_utf8_full_return">
3561       <return-value transfer-ownership="full">
3562         <type name="utf8" c:type="gchar*"/>
3563       </return-value>
3564     </function>
3565     <function name="utf8_none_in"
3566               c:identifier="g_i_marshalling_tests_utf8_none_in">
3567       <return-value transfer-ownership="none">
3568         <type name="none" c:type="void"/>
3569       </return-value>
3570       <parameters>
3571         <parameter name="utf8" transfer-ownership="none">
3572           <type name="utf8" c:type="gchar*"/>
3573         </parameter>
3574       </parameters>
3575     </function>
3576     <function name="utf8_none_inout"
3577               c:identifier="g_i_marshalling_tests_utf8_none_inout">
3578       <return-value transfer-ownership="none">
3579         <type name="none" c:type="void"/>
3580       </return-value>
3581       <parameters>
3582         <parameter name="utf8"
3583                    direction="inout"
3584                    caller-allocates="0"
3585                    transfer-ownership="none">
3586           <type name="utf8" c:type="gchar**"/>
3587         </parameter>
3588       </parameters>
3589     </function>
3590     <function name="utf8_none_out"
3591               c:identifier="g_i_marshalling_tests_utf8_none_out">
3592       <return-value transfer-ownership="none">
3593         <type name="none" c:type="void"/>
3594       </return-value>
3595       <parameters>
3596         <parameter name="utf8"
3597                    direction="out"
3598                    caller-allocates="0"
3599                    transfer-ownership="none">
3600           <type name="utf8" c:type="gchar**"/>
3601         </parameter>
3602       </parameters>
3603     </function>
3604     <function name="utf8_none_return"
3605               c:identifier="g_i_marshalling_tests_utf8_none_return">
3606       <return-value transfer-ownership="none">
3607         <type name="utf8" c:type="gchar*"/>
3608       </return-value>
3609     </function>
3610   </namespace>
3611 </repository>