<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <package name="glib-2.0"/>
  <c:include name="glib.h"/>
  <namespace name="GLib"
             version="2.0"
             shared-library="libglib-2.0.so.2600.0"
             c:identifier-prefixes="G"
             c:symbol-prefixes="g,glib">
    <alias name="DateDay" c:type="GDateDay">
      <type name="guint8" c:type="guint8"/>
    </alias>
    <alias name="DateYear" c:type="GDateYear">
      <type name="guint16" c:type="guint16"/>
    </alias>
    <alias name="Pid" c:type="GPid">
      <doc xml:whitespace="preserve">A type which is used to hold a process identification.
On UNIX, processes are identified by a process id (an integer),
while Windows uses process handles (which are pointers).</doc>
      <type name="gint" c:type="int"/>
    </alias>
    <alias name="Quark" c:type="GQuark">
      <type name="guint32" c:type="guint32"/>
    </alias>
    <alias name="Time" c:type="GTime">
      <type name="gint32" c:type="gint32"/>
    </alias>
    <alias name="TimeSpan" c:type="GTimeSpan">
      <doc xml:whitespace="preserve">A value representing an interval of time, in microseconds.</doc>
      <type name="gint64" c:type="gint64"/>
    </alias>
    <constant name="ALLOCATOR_LIST" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="ALLOCATOR_NODE" value="3">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="ALLOCATOR_SLIST" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="ALLOC_AND_FREE" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="ALLOC_ONLY" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="ASCII_DTOSTR_BUF_SIZE" value="39">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="ATOMIC_OP_MEMORY_BARRIER_NEEDED" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="Allocator" c:type="GAllocator" disguised="1">
      <method name="free" c:identifier="g_allocator_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <record name="Array" c:type="GArray">
      <field name="data" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="len" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
    </record>
    <bitfield name="AsciiType" c:type="GAsciiType">
      <member name="alnum" value="1" c:identifier="G_ASCII_ALNUM"/>
      <member name="alpha" value="2" c:identifier="G_ASCII_ALPHA"/>
      <member name="cntrl" value="4" c:identifier="G_ASCII_CNTRL"/>
      <member name="digit" value="8" c:identifier="G_ASCII_DIGIT"/>
      <member name="graph" value="16" c:identifier="G_ASCII_GRAPH"/>
      <member name="lower" value="32" c:identifier="G_ASCII_LOWER"/>
      <member name="print" value="64" c:identifier="G_ASCII_PRINT"/>
      <member name="punct" value="128" c:identifier="G_ASCII_PUNCT"/>
      <member name="space" value="256" c:identifier="G_ASCII_SPACE"/>
      <member name="upper" value="512" c:identifier="G_ASCII_UPPER"/>
      <member name="xdigit" value="1024" c:identifier="G_ASCII_XDIGIT"/>
    </bitfield>
    <record name="AsyncQueue" c:type="GAsyncQueue" disguised="1">
      <method name="length" c:identifier="g_async_queue_length">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="length_unlocked"
              c:identifier="g_async_queue_length_unlocked">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="lock" c:identifier="g_async_queue_lock">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="pop" c:identifier="g_async_queue_pop" introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="pop_unlocked"
              c:identifier="g_async_queue_pop_unlocked"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="push" c:identifier="g_async_queue_push">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_sorted"
              c:identifier="g_async_queue_push_sorted"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="func" transfer-ownership="none" closure="2">
            <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_sorted_unlocked"
              c:identifier="g_async_queue_push_sorted_unlocked"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="func" transfer-ownership="none" closure="2">
            <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_unlocked" c:identifier="g_async_queue_push_unlocked">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="g_async_queue_ref" introspectable="0">
        <return-value>
          <type name="AsyncQueue" c:type="GAsyncQueue*"/>
        </return-value>
      </method>
      <method name="ref_unlocked" c:identifier="g_async_queue_ref_unlocked">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="sort" c:identifier="g_async_queue_sort" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none" closure="1">
            <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="sort_unlocked"
              c:identifier="g_async_queue_sort_unlocked"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none" closure="1">
            <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="timed_pop"
              c:identifier="g_async_queue_timed_pop"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="end_time" transfer-ownership="none">
            <type name="TimeVal" c:type="GTimeVal*"/>
          </parameter>
        </parameters>
      </method>
      <method name="timed_pop_unlocked"
              c:identifier="g_async_queue_timed_pop_unlocked"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="end_time" transfer-ownership="none">
            <type name="TimeVal" c:type="GTimeVal*"/>
          </parameter>
        </parameters>
      </method>
      <method name="try_pop"
              c:identifier="g_async_queue_try_pop"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="try_pop_unlocked"
              c:identifier="g_async_queue_try_pop_unlocked"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="unlock" c:identifier="g_async_queue_unlock">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unref" c:identifier="g_async_queue_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unref_and_unlock"
              c:identifier="g_async_queue_unref_and_unlock">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <constant name="BIG_ENDIAN" value="4321">
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="BookmarkFile" c:type="GBookmarkFile" disguised="1">
      <doc xml:whitespace="preserve">The &lt;structname&gt;GBookmarkFile&lt;/structname&gt; struct contains only
private data and should not be directly accessed.</doc>
      <method name="add_application"
              c:identifier="g_bookmark_file_add_application">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="exec" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_group" c:identifier="g_bookmark_file_add_group">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="g_bookmark_file_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_added"
              c:identifier="g_bookmark_file_get_added"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="glong" c:type="time_t"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_app_info"
              c:identifier="g_bookmark_file_get_app_info"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="exec" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="count" transfer-ownership="none">
            <type name="guint" c:type="guint*"/>
          </parameter>
          <parameter name="stamp" transfer-ownership="none">
            <type name="glong" c:type="time_t*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_applications"
              c:identifier="g_bookmark_file_get_applications"
              introspectable="0"
              throws="1">
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="g_bookmark_file_get_description"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_groups"
              c:identifier="g_bookmark_file_get_groups"
              introspectable="0"
              throws="1">
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_icon"
              c:identifier="g_bookmark_file_get_icon"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="href" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="mime_type" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_is_private"
              c:identifier="g_bookmark_file_get_is_private"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mime_type"
              c:identifier="g_bookmark_file_get_mime_type"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_modified"
              c:identifier="g_bookmark_file_get_modified"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="glong" c:type="time_t"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_size" c:identifier="g_bookmark_file_get_size">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_title"
              c:identifier="g_bookmark_file_get_title"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_uris"
              c:identifier="g_bookmark_file_get_uris"
              introspectable="0">
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_visited"
              c:identifier="g_bookmark_file_get_visited"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="glong" c:type="time_t"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_application"
              c:identifier="g_bookmark_file_has_application"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_group"
              c:identifier="g_bookmark_file_has_group"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_item" c:identifier="g_bookmark_file_has_item">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_from_data"
              c:identifier="g_bookmark_file_load_from_data"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_from_data_dirs"
              c:identifier="g_bookmark_file_load_from_data_dirs"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="full_path" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_from_file"
              c:identifier="g_bookmark_file_load_from_file"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="move_item"
              c:identifier="g_bookmark_file_move_item"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="old_uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="new_uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_application"
              c:identifier="g_bookmark_file_remove_application"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_group"
              c:identifier="g_bookmark_file_remove_group"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_item"
              c:identifier="g_bookmark_file_remove_item"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_added" c:identifier="g_bookmark_file_set_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="added" transfer-ownership="none">
            <type name="glong" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_app_info"
              c:identifier="g_bookmark_file_set_app_info"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="exec" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="count" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="stamp" transfer-ownership="none">
            <type name="glong" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="g_bookmark_file_set_description">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_groups" c:identifier="g_bookmark_file_set_groups">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="groups" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon" c:identifier="g_bookmark_file_set_icon">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="href" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="mime_type" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_is_private"
              c:identifier="g_bookmark_file_set_is_private">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="is_private" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mime_type"
              c:identifier="g_bookmark_file_set_mime_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="mime_type" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_modified" c:identifier="g_bookmark_file_set_modified">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="modified" transfer-ownership="none">
            <type name="glong" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_title" c:identifier="g_bookmark_file_set_title">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visited" c:identifier="g_bookmark_file_set_visited">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="visited" transfer-ownership="none">
            <type name="glong" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_data" c:identifier="g_bookmark_file_to_data" throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_file" c:identifier="g_bookmark_file_to_file" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="BookmarkFileError"
                 c:type="GBookmarkFileError"
                 glib:error-quark="g_bookmark_file_error_quark">
      <doc xml:whitespace="preserve">Error codes returned by bookmark file parsing.</doc>
      <member name="invalid_uri"
              value="0"
              c:identifier="G_BOOKMARK_FILE_ERROR_INVALID_URI"/>
      <member name="invalid_value"
              value="1"
              c:identifier="G_BOOKMARK_FILE_ERROR_INVALID_VALUE"/>
      <member name="app_not_registered"
              value="2"
              c:identifier="G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED"/>
      <member name="uri_not_found"
              value="3"
              c:identifier="G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND"/>
      <member name="read" value="4" c:identifier="G_BOOKMARK_FILE_ERROR_READ"/>
      <member name="unknown_encoding"
              value="5"
              c:identifier="G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING"/>
      <member name="write"
              value="6"
              c:identifier="G_BOOKMARK_FILE_ERROR_WRITE"/>
      <member name="file_not_found"
              value="7"
              c:identifier="G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND"/>
    </enumeration>
    <record name="ByteArray" c:type="GByteArray">
      <field name="data" writable="1">
        <type name="guint8" c:type="guint8*"/>
      </field>
      <field name="len" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
    </record>
    <constant name="CAN_INLINE" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="CSET_A_2_Z" value="ABCDEFGHIJKLMNOPQRSTUVWXYZ">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CSET_DIGITS" value="0123456789">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="CSET_a_2_z" value="abcdefghijklmnopqrstuvwxyz">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <record name="Cache" c:type="GCache" disguised="1">
      <method name="destroy" c:identifier="g_cache_destroy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="insert" c:identifier="g_cache_insert" introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="key_foreach"
              c:identifier="g_cache_key_foreach"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none" closure="1">
            <type name="HFunc" c:type="GHFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="g_cache_remove">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="value_foreach"
              c:identifier="g_cache_value_foreach"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none" closure="1">
            <type name="HFunc" c:type="GHFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <callback name="CacheDestroyFunc" c:type="GCacheDestroyFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="CacheDupFunc" c:type="GCacheDupFunc" introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="CacheNewFunc" c:type="GCacheNewFunc" introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="key" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="Checksum" c:type="GChecksum" disguised="1" version="2.16">
      <doc xml:whitespace="preserve">An opaque structure representing a checksumming operation.
To create a new GChecksum, use g_checksum_new(). To free
a GChecksum, use g_checksum_free().</doc>
      <method name="copy" c:identifier="g_checksum_copy" introspectable="0">
        <return-value>
          <type name="Checksum" c:type="GChecksum*"/>
        </return-value>
      </method>
      <method name="free" c:identifier="g_checksum_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_digest" c:identifier="g_checksum_get_digest">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <type name="guint8" c:type="guint8*"/>
          </parameter>
          <parameter name="digest_len" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_string" c:identifier="g_checksum_get_string">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="reset" c:identifier="g_checksum_reset">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="update" c:identifier="g_checksum_update">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="guint8" c:type="guchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="ChecksumType" version="2.16" c:type="GChecksumType">
      <doc xml:whitespace="preserve">The hashing algorithm to be used by #GChecksum when performing the
digest of some data.
Note that the #GChecksumType enumeration may be extended at a later
date to include new hashing algorithm types.</doc>
      <member name="md5" value="0" c:identifier="G_CHECKSUM_MD5"/>
      <member name="sha1" value="1" c:identifier="G_CHECKSUM_SHA1"/>
      <member name="sha256" value="2" c:identifier="G_CHECKSUM_SHA256"/>
    </enumeration>
    <callback name="ChildWatchFunc" c:type="GChildWatchFunc">
      <doc xml:whitespace="preserve">The type of functions to be called when a child exists.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="pid" transfer-ownership="none">
          <doc xml:whitespace="preserve">the process id of the child process</doc>
          <type name="Pid" c:type="GPid"/>
        </parameter>
        <parameter name="status" transfer-ownership="none">
          <doc xml:whitespace="preserve">Status information about the child process, see waitpid(2) for more information about this field</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">user data passed to g_child_watch_add()</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="CompareDataFunc" c:type="GCompareDataFunc">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="a" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="CompareFunc" c:type="GCompareFunc">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="a" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="Completion" c:type="GCompletion">
      <field name="items" writable="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="func" writable="1">
        <type name="CompletionFunc" c:type="GCompletionFunc"/>
      </field>
      <field name="prefix" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="cache" writable="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="strncmp_func" writable="1">
        <type name="CompletionStrncmpFunc" c:type="GCompletionStrncmpFunc"/>
      </field>
      <method name="add_items" c:identifier="g_completion_add_items">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="items" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="clear_items" c:identifier="g_completion_clear_items">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="complete"
              c:identifier="g_completion_complete"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="prefix" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="new_prefix" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="complete_utf8" c:identifier="g_completion_complete_utf8">
        <return-value transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="prefix" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="new_prefix" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="g_completion_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_items" c:identifier="g_completion_remove_items">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="items" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="set_compare"
              c:identifier="g_completion_set_compare"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="strncmp_func" transfer-ownership="none">
            <type name="CompletionStrncmpFunc"
                  c:type="GCompletionStrncmpFunc"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <callback name="CompletionFunc" c:type="GCompletionFunc">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="CompletionStrncmpFunc" c:type="GCompletionStrncmpFunc">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="s1" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="s2" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </callback>
    <record name="Cond" c:type="GCond" disguised="1">
    </record>
    <enumeration name="ConvertError"
                 c:type="GConvertError"
                 glib:error-quark="g_convert_error_quark">
      <doc xml:whitespace="preserve">Error codes returned by character set conversion routines.</doc>
      <member name="no_conversion"
              value="0"
              c:identifier="G_CONVERT_ERROR_NO_CONVERSION"/>
      <member name="illegal_sequence"
              value="1"
              c:identifier="G_CONVERT_ERROR_ILLEGAL_SEQUENCE"/>
      <member name="failed" value="2" c:identifier="G_CONVERT_ERROR_FAILED"/>
      <member name="partial_input"
              value="3"
              c:identifier="G_CONVERT_ERROR_PARTIAL_INPUT"/>
      <member name="bad_uri" value="4" c:identifier="G_CONVERT_ERROR_BAD_URI"/>
      <member name="not_absolute_path"
              value="5"
              c:identifier="G_CONVERT_ERROR_NOT_ABSOLUTE_PATH"/>
    </enumeration>
    <callback name="CopyFunc"
              c:type="GCopyFunc"
              version="2.4"
              introspectable="0">
      <doc xml:whitespace="preserve">A function of this signature is used to copy the node data 
when doing a deep-copy of a tree.</doc>
      <return-value>
        <doc xml:whitespace="preserve">A pointer to the copy</doc>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="src" transfer-ownership="none">
          <doc xml:whitespace="preserve">A pointer to the data which should be copied</doc>
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">Additional data</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <constant name="DATALIST_FLAGS_MASK" value="3">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="DATE_BAD_DAY" value="0">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="DATE_BAD_JULIAN" value="0">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="DATE_BAD_YEAR" value="0">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="DIR_SEPARATOR_S" value="\">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <record name="Data" c:type="GData" disguised="1">
    </record>
    <callback name="DataForeachFunc" c:type="GDataForeachFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="key_id" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="Date" c:type="GDate">
      <field name="julian_days" writable="1" bits="32">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="julian" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="dmy" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="day" writable="1" bits="6">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="month" writable="1" bits="4">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="year" writable="1" bits="16">
        <type name="guint" c:type="guint"/>
      </field>
      <method name="add_days" c:identifier="g_date_add_days">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="n_days" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_months" c:identifier="g_date_add_months">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="n_months" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_years" c:identifier="g_date_add_years">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="n_years" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="clamp" c:identifier="g_date_clamp">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="min_date" transfer-ownership="none">
            <type name="Date" c:type="GDate*"/>
          </parameter>
          <parameter name="max_date" transfer-ownership="none">
            <type name="Date" c:type="GDate*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear" c:identifier="g_date_clear">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="n_dates" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="compare" c:identifier="g_date_compare">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="rhs" transfer-ownership="none">
            <type name="Date" c:type="GDate*"/>
          </parameter>
        </parameters>
      </method>
      <method name="days_between" c:identifier="g_date_days_between">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="date2" transfer-ownership="none">
            <type name="Date" c:type="GDate*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="g_date_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_day" c:identifier="g_date_get_day">
        <return-value transfer-ownership="none">
          <type name="DateDay" c:type="GDateDay"/>
        </return-value>
      </method>
      <method name="get_day_of_year" c:identifier="g_date_get_day_of_year">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_iso8601_week_of_year"
              c:identifier="g_date_get_iso8601_week_of_year">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_julian" c:identifier="g_date_get_julian">
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </return-value>
      </method>
      <method name="get_monday_week_of_year"
              c:identifier="g_date_get_monday_week_of_year">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_month" c:identifier="g_date_get_month">
        <return-value transfer-ownership="none">
          <type name="DateMonth" c:type="GDateMonth"/>
        </return-value>
      </method>
      <method name="get_sunday_week_of_year"
              c:identifier="g_date_get_sunday_week_of_year">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_weekday" c:identifier="g_date_get_weekday">
        <return-value transfer-ownership="none">
          <type name="DateWeekday" c:type="GDateWeekday"/>
        </return-value>
      </method>
      <method name="get_year" c:identifier="g_date_get_year">
        <return-value transfer-ownership="none">
          <type name="DateYear" c:type="GDateYear"/>
        </return-value>
      </method>
      <method name="is_first_of_month" c:identifier="g_date_is_first_of_month">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_last_of_month" c:identifier="g_date_is_last_of_month">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="order" c:identifier="g_date_order">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="date2" transfer-ownership="none">
            <type name="Date" c:type="GDate*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_day" c:identifier="g_date_set_day">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="day" transfer-ownership="none">
            <type name="DateDay" c:type="GDateDay"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_dmy" c:identifier="g_date_set_dmy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="day" transfer-ownership="none">
            <type name="DateDay" c:type="GDateDay"/>
          </parameter>
          <parameter name="month" transfer-ownership="none">
            <type name="DateMonth" c:type="GDateMonth"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <type name="DateYear" c:type="GDateYear"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_julian" c:identifier="g_date_set_julian">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="julian_date" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_month" c:identifier="g_date_set_month">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="month" transfer-ownership="none">
            <type name="DateMonth" c:type="GDateMonth"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_parse" c:identifier="g_date_set_parse">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="str" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_time" c:identifier="g_date_set_time">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="time_" transfer-ownership="none">
            <type name="Time" c:type="GTime"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_time_t" c:identifier="g_date_set_time_t">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="timet" transfer-ownership="none">
            <type name="glong" c:type="time_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_time_val" c:identifier="g_date_set_time_val">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="timeval" transfer-ownership="none">
            <type name="TimeVal" c:type="GTimeVal*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_year" c:identifier="g_date_set_year">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="year" transfer-ownership="none">
            <type name="DateYear" c:type="GDateYear"/>
          </parameter>
        </parameters>
      </method>
      <method name="subtract_days" c:identifier="g_date_subtract_days">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="n_days" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="subtract_months" c:identifier="g_date_subtract_months">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="n_months" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="subtract_years" c:identifier="g_date_subtract_years">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="n_years" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_struct_tm" c:identifier="g_date_to_struct_tm">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tm" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="valid" c:identifier="g_date_valid">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
    </record>
    <enumeration name="DateDMY" c:type="GDateDMY">
      <member name="day" value="0" c:identifier="G_DATE_DAY"/>
      <member name="month" value="1" c:identifier="G_DATE_MONTH"/>
      <member name="year" value="2" c:identifier="G_DATE_YEAR"/>
    </enumeration>
    <enumeration name="DateMonth" c:type="GDateMonth">
      <member name="bad_month" value="0" c:identifier="G_DATE_BAD_MONTH"/>
      <member name="january" value="1" c:identifier="G_DATE_JANUARY"/>
      <member name="february" value="2" c:identifier="G_DATE_FEBRUARY"/>
      <member name="march" value="3" c:identifier="G_DATE_MARCH"/>
      <member name="april" value="4" c:identifier="G_DATE_APRIL"/>
      <member name="may" value="5" c:identifier="G_DATE_MAY"/>
      <member name="june" value="6" c:identifier="G_DATE_JUNE"/>
      <member name="july" value="7" c:identifier="G_DATE_JULY"/>
      <member name="august" value="8" c:identifier="G_DATE_AUGUST"/>
      <member name="september" value="9" c:identifier="G_DATE_SEPTEMBER"/>
      <member name="october" value="10" c:identifier="G_DATE_OCTOBER"/>
      <member name="november" value="11" c:identifier="G_DATE_NOVEMBER"/>
      <member name="december" value="12" c:identifier="G_DATE_DECEMBER"/>
    </enumeration>
    <record name="DateTime" c:type="GDateTime" disguised="1" version="2.26">
      <doc xml:whitespace="preserve">&lt;structname&gt;GDateTime&lt;/structname&gt; is an opaque structure whose members
cannot be accessed directly.</doc>
      <method name="add" c:identifier="g_date_time_add" introspectable="0">
        <return-value>
          <type name="DateTime" c:type="GDateTime*"/>
        </return-value>
        <parameters>
          <parameter name="timespan" transfer-ownership="none">
            <type name="TimeSpan" c:type="GTimeSpan"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_days"
              c:identifier="g_date_time_add_days"
              introspectable="0">
        <return-value>
          <type name="DateTime" c:type="GDateTime*"/>
        </return-value>
        <parameters>
          <parameter name="days" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_full"
              c:identifier="g_date_time_add_full"
              introspectable="0">
        <return-value>
          <type name="DateTime" c:type="GDateTime*"/>
        </return-value>
        <parameters>
          <parameter name="years" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="months" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="days" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="hours" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="minutes" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="seconds" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_hours"
              c:identifier="g_date_time_add_hours"
              introspectable="0">
        <return-value>
          <type name="DateTime" c:type="GDateTime*"/>
        </return-value>
        <parameters>
          <parameter name="hours" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_minutes"
              c:identifier="g_date_time_add_minutes"
              introspectable="0">
        <return-value>
          <type name="DateTime" c:type="GDateTime*"/>
        </return-value>
        <parameters>
          <parameter name="minutes" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_months"
              c:identifier="g_date_time_add_months"
              introspectable="0">
        <return-value>
          <type name="DateTime" c:type="GDateTime*"/>
        </return-value>
        <parameters>
          <parameter name="months" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_seconds"
              c:identifier="g_date_time_add_seconds"
              introspectable="0">
        <return-value>
          <type name="DateTime" c:type="GDateTime*"/>
        </return-value>
        <parameters>
          <parameter name="seconds" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_weeks"
              c:identifier="g_date_time_add_weeks"
              introspectable="0">
        <return-value>
          <type name="DateTime" c:type="GDateTime*"/>
        </return-value>
        <parameters>
          <parameter name="weeks" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_years"
              c:identifier="g_date_time_add_years"
              introspectable="0">
        <return-value>
          <type name="DateTime" c:type="GDateTime*"/>
        </return-value>
        <parameters>
          <parameter name="years" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="difference" c:identifier="g_date_time_difference">
        <return-value transfer-ownership="none">
          <type name="TimeSpan" c:type="GTimeSpan"/>
        </return-value>
        <parameters>
          <parameter name="begin" transfer-ownership="none">
            <type name="DateTime" c:type="GDateTime*"/>
          </parameter>
        </parameters>
      </method>
      <method name="format" c:identifier="g_date_time_format">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_day_of_month"
              c:identifier="g_date_time_get_day_of_month">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_day_of_week"
              c:identifier="g_date_time_get_day_of_week">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_day_of_year"
              c:identifier="g_date_time_get_day_of_year">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_hour" c:identifier="g_date_time_get_hour">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_microsecond"
              c:identifier="g_date_time_get_microsecond">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_minute" c:identifier="g_date_time_get_minute">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_month" c:identifier="g_date_time_get_month">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_second" c:identifier="g_date_time_get_second">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_seconds" c:identifier="g_date_time_get_seconds">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_timezone_abbreviation"
              c:identifier="g_date_time_get_timezone_abbreviation">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_utc_offset" c:identifier="g_date_time_get_utc_offset">
        <return-value transfer-ownership="none">
          <type name="TimeSpan" c:type="GTimeSpan"/>
        </return-value>
      </method>
      <method name="get_week_numbering_year"
              c:identifier="g_date_time_get_week_numbering_year">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_week_of_year"
              c:identifier="g_date_time_get_week_of_year">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_year" c:identifier="g_date_time_get_year">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_ymd" c:identifier="g_date_time_get_ymd">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="year" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="month" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="day" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_daylight_savings"
              c:identifier="g_date_time_is_daylight_savings">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="ref" c:identifier="g_date_time_ref" introspectable="0">
        <return-value>
          <type name="DateTime" c:type="GDateTime*"/>
        </return-value>
      </method>
      <method name="to_local"
              c:identifier="g_date_time_to_local"
              introspectable="0">
        <return-value>
          <type name="DateTime" c:type="GDateTime*"/>
        </return-value>
      </method>
      <method name="to_timeval" c:identifier="g_date_time_to_timeval">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="tv" transfer-ownership="none">
            <type name="TimeVal" c:type="GTimeVal*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_timezone"
              c:identifier="g_date_time_to_timezone"
              introspectable="0">
        <return-value>
          <type name="DateTime" c:type="GDateTime*"/>
        </return-value>
        <parameters>
          <parameter name="tz" transfer-ownership="none">
            <type name="TimeZone" c:type="GTimeZone*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_unix" c:identifier="g_date_time_to_unix">
        <return-value transfer-ownership="none">
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="to_utc"
              c:identifier="g_date_time_to_utc"
              introspectable="0">
        <return-value>
          <type name="DateTime" c:type="GDateTime*"/>
        </return-value>
      </method>
      <method name="unref" c:identifier="g_date_time_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <enumeration name="DateWeekday" c:type="GDateWeekday">
      <member name="bad_weekday" value="0" c:identifier="G_DATE_BAD_WEEKDAY"/>
      <member name="monday" value="1" c:identifier="G_DATE_MONDAY"/>
      <member name="tuesday" value="2" c:identifier="G_DATE_TUESDAY"/>
      <member name="wednesday" value="3" c:identifier="G_DATE_WEDNESDAY"/>
      <member name="thursday" value="4" c:identifier="G_DATE_THURSDAY"/>
      <member name="friday" value="5" c:identifier="G_DATE_FRIDAY"/>
      <member name="saturday" value="6" c:identifier="G_DATE_SATURDAY"/>
      <member name="sunday" value="7" c:identifier="G_DATE_SUNDAY"/>
    </enumeration>
    <record name="DebugKey" c:type="GDebugKey">
      <field name="key" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="value" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
    </record>
    <callback name="DestroyNotify" c:type="GDestroyNotify">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="Dir" c:type="GDir" disguised="1">
      <method name="close" c:identifier="g_dir_close">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="read_name" c:identifier="g_dir_read_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="rewind" c:identifier="g_dir_rewind">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <union name="DoubleIEEE754" c:type="GDoubleIEEE754">
      <field name="v_double" writable="1">
        <type name="gdouble" c:type="gdouble"/>
      </field>
      <record name="mpn" c:type="mpn">
        <field name="sign" writable="1" bits="1">
          <type name="guint" c:type="guint"/>
        </field>
        <field name="biased_exponent" writable="1" bits="11">
          <type name="guint" c:type="guint"/>
        </field>
        <field name="mantissa_high" writable="1" bits="20">
          <type name="guint" c:type="guint"/>
        </field>
        <field name="mantissa_low" writable="1" bits="32">
          <type name="guint" c:type="guint"/>
        </field>
      </record>
    </union>
    <constant name="E" value="2.718282">
      <type name="gdouble" c:type="gdouble"/>
    </constant>
    <callback name="EqualFunc" c:type="GEqualFunc">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="a" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="Error" c:type="GError">
      <field name="domain" writable="1">
        <type name="Quark" c:type="GQuark"/>
      </field>
      <field name="code" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="message" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <method name="copy" c:identifier="g_error_copy" introspectable="0">
        <return-value>
          <type name="Error" c:type="GError*"/>
        </return-value>
      </method>
      <method name="free" c:identifier="g_error_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="matches" c:identifier="g_error_matches">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="domain" transfer-ownership="none">
            <type name="Quark" c:type="GQuark"/>
          </parameter>
          <parameter name="code" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="ErrorType" c:type="GErrorType">
      <member name="unknown" value="0" c:identifier="G_ERR_UNKNOWN"/>
      <member name="unexp_eof" value="1" c:identifier="G_ERR_UNEXP_EOF"/>
      <member name="unexp_eof_in_string"
              value="2"
              c:identifier="G_ERR_UNEXP_EOF_IN_STRING"/>
      <member name="unexp_eof_in_comment"
              value="3"
              c:identifier="G_ERR_UNEXP_EOF_IN_COMMENT"/>
      <member name="non_digit_in_const"
              value="4"
              c:identifier="G_ERR_NON_DIGIT_IN_CONST"/>
      <member name="digit_radix" value="5" c:identifier="G_ERR_DIGIT_RADIX"/>
      <member name="float_radix" value="6" c:identifier="G_ERR_FLOAT_RADIX"/>
      <member name="float_malformed"
              value="7"
              c:identifier="G_ERR_FLOAT_MALFORMED"/>
    </enumeration>
    <enumeration name="FileError"
                 c:type="GFileError"
                 glib:error-quark="g_file_error_quark">
      <member name="exist" value="0" c:identifier="G_FILE_ERROR_EXIST"/>
      <member name="isdir" value="1" c:identifier="G_FILE_ERROR_ISDIR"/>
      <member name="acces" value="2" c:identifier="G_FILE_ERROR_ACCES"/>
      <member name="nametoolong"
              value="3"
              c:identifier="G_FILE_ERROR_NAMETOOLONG"/>
      <member name="noent" value="4" c:identifier="G_FILE_ERROR_NOENT"/>
      <member name="notdir" value="5" c:identifier="G_FILE_ERROR_NOTDIR"/>
      <member name="nxio" value="6" c:identifier="G_FILE_ERROR_NXIO"/>
      <member name="nodev" value="7" c:identifier="G_FILE_ERROR_NODEV"/>
      <member name="rofs" value="8" c:identifier="G_FILE_ERROR_ROFS"/>
      <member name="txtbsy" value="9" c:identifier="G_FILE_ERROR_TXTBSY"/>
      <member name="fault" value="10" c:identifier="G_FILE_ERROR_FAULT"/>
      <member name="loop" value="11" c:identifier="G_FILE_ERROR_LOOP"/>
      <member name="nospc" value="12" c:identifier="G_FILE_ERROR_NOSPC"/>
      <member name="nomem" value="13" c:identifier="G_FILE_ERROR_NOMEM"/>
      <member name="mfile" value="14" c:identifier="G_FILE_ERROR_MFILE"/>
      <member name="nfile" value="15" c:identifier="G_FILE_ERROR_NFILE"/>
      <member name="badf" value="16" c:identifier="G_FILE_ERROR_BADF"/>
      <member name="inval" value="17" c:identifier="G_FILE_ERROR_INVAL"/>
      <member name="pipe" value="18" c:identifier="G_FILE_ERROR_PIPE"/>
      <member name="again" value="19" c:identifier="G_FILE_ERROR_AGAIN"/>
      <member name="intr" value="20" c:identifier="G_FILE_ERROR_INTR"/>
      <member name="io" value="21" c:identifier="G_FILE_ERROR_IO"/>
      <member name="perm" value="22" c:identifier="G_FILE_ERROR_PERM"/>
      <member name="nosys" value="23" c:identifier="G_FILE_ERROR_NOSYS"/>
      <member name="failed" value="24" c:identifier="G_FILE_ERROR_FAILED"/>
    </enumeration>
    <bitfield name="FileTest" c:type="GFileTest">
      <member name="is_regular"
              value="1"
              c:identifier="G_FILE_TEST_IS_REGULAR"/>
      <member name="is_symlink"
              value="2"
              c:identifier="G_FILE_TEST_IS_SYMLINK"/>
      <member name="is_dir" value="4" c:identifier="G_FILE_TEST_IS_DIR"/>
      <member name="is_executable"
              value="8"
              c:identifier="G_FILE_TEST_IS_EXECUTABLE"/>
      <member name="exists" value="16" c:identifier="G_FILE_TEST_EXISTS"/>
    </bitfield>
    <union name="FloatIEEE754" c:type="GFloatIEEE754">
      <field name="v_float" writable="1">
        <type name="gfloat" c:type="gfloat"/>
      </field>
      <record name="mpn" c:type="mpn">
        <field name="sign" writable="1" bits="1">
          <type name="guint" c:type="guint"/>
        </field>
        <field name="biased_exponent" writable="1" bits="8">
          <type name="guint" c:type="guint"/>
        </field>
        <field name="mantissa" writable="1" bits="23">
          <type name="guint" c:type="guint"/>
        </field>
      </record>
    </union>
    <callback name="FreeFunc" c:type="GFreeFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="Func" c:type="GFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <constant name="GINT16_FORMAT" value="hi">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GINT16_MODIFIER" value="h">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GINT32_FORMAT" value="i">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GINT32_MODIFIER" value="">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GINT64_FORMAT" value="lli">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GINT64_MODIFIER" value="ll">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GINTPTR_FORMAT" value="i">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GINTPTR_MODIFIER" value="">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GNUC_FUNCTION" value="">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GNUC_PRETTY_FUNCTION" value="">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GSIZE_FORMAT" value="lu">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GSIZE_MODIFIER" value="l">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GSSIZE_FORMAT" value="li">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GUINT16_FORMAT" value="hu">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GUINT32_FORMAT" value="u">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GUINT64_FORMAT" value="llu">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="GUINTPTR_FORMAT" value="u">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="HAVE_GINT64" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="HAVE_GNUC_VARARGS" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="HAVE_GNUC_VISIBILITY" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="HAVE_GROWING_STACK" value="0">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="HAVE_INLINE" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="HAVE_ISO_VARARGS" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="HAVE___INLINE" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="HAVE___INLINE__" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <callback name="HFunc" c:type="GHFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="key" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <constant name="HOOK_FLAG_USER_SHIFT" value="4">
      <type name="gint" c:type="gint"/>
    </constant>
    <callback name="HRFunc" c:type="GHRFunc">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="key" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="HashFunc" c:type="GHashFunc">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="key" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="HashTable" c:type="GHashTable" disguised="1">
    </record>
    <record name="HashTableIter" c:type="GHashTableIter">
      <field name="dummy1" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="dummy2" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="dummy3" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="dummy4" readable="0" private="1">
        <type name="gint" c:type="int"/>
      </field>
      <field name="dummy5" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="dummy6" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <method name="get_hash_table"
              c:identifier="g_hash_table_iter_get_hash_table"
              introspectable="0">
        <return-value>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="init" c:identifier="g_hash_table_iter_init">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="hash_table" transfer-ownership="none">
            <type name="GLib.HashTable" c:type="GHashTable*">
              <type name="gpointer" c:type="gpointer"/>
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="next" c:identifier="g_hash_table_iter_next">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="g_hash_table_iter_remove">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="steal" c:identifier="g_hash_table_iter_steal">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <record name="Hook" c:type="GHook">
      <field name="data" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="next" writable="1">
        <type name="Hook" c:type="GHook*"/>
      </field>
      <field name="prev" writable="1">
        <type name="Hook" c:type="GHook*"/>
      </field>
      <field name="ref_count" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="hook_id" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="flags" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="func" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="destroy" writable="1">
        <type name="DestroyNotify" c:type="GDestroyNotify"/>
      </field>
      <method name="compare_ids" c:identifier="g_hook_compare_ids">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="sibling" transfer-ownership="none">
            <type name="Hook" c:type="GHook*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <callback name="HookCheckFunc" c:type="GHookCheckFunc">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="HookCheckMarshaller" c:type="GHookCheckMarshaller">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="hook" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="HookCompareFunc" c:type="GHookCompareFunc">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="new_hook" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
        <parameter name="sibling" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="HookFinalizeFunc" c:type="GHookFinalizeFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="hook" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="HookFindFunc" c:type="GHookFindFunc">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="hook" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <bitfield name="HookFlagMask" c:type="GHookFlagMask">
      <member name="active" value="1" c:identifier="G_HOOK_FLAG_ACTIVE"/>
      <member name="in_call" value="2" c:identifier="G_HOOK_FLAG_IN_CALL"/>
      <member name="mask" value="15" c:identifier="G_HOOK_FLAG_MASK"/>
    </bitfield>
    <callback name="HookFunc" c:type="GHookFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="HookList" c:type="GHookList">
      <field name="seq_id" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="hook_size" writable="1" bits="16">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="is_setup" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="hooks" writable="1">
        <type name="Hook" c:type="GHook*"/>
      </field>
      <field name="dummy3" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="finalize_hook" writable="1">
        <type name="HookFinalizeFunc" c:type="GHookFinalizeFunc"/>
      </field>
      <field name="dummy" writable="1">
        <array zero-terminated="0" c:type="gpointer" fixed-size="2">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
      <method name="clear" c:identifier="g_hook_list_clear">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="init" c:identifier="g_hook_list_init">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="hook_size" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="invoke" c:identifier="g_hook_list_invoke">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="may_recurse" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="invoke_check" c:identifier="g_hook_list_invoke_check">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="may_recurse" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="marshal"
              c:identifier="g_hook_list_marshal"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="may_recurse" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="marshaller" transfer-ownership="none" closure="2">
            <type name="HookMarshaller" c:type="GHookMarshaller"/>
          </parameter>
          <parameter name="marshal_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="marshal_check"
              c:identifier="g_hook_list_marshal_check"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="may_recurse" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="marshaller" transfer-ownership="none" closure="2">
            <type name="HookCheckMarshaller" c:type="GHookCheckMarshaller"/>
          </parameter>
          <parameter name="marshal_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <callback name="HookMarshaller" c:type="GHookMarshaller">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hook" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="IConv" c:type="GIConv" disguised="1">
    </record>
    <constant name="IEEE754_DOUBLE_BIAS" value="1023">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="IEEE754_FLOAT_BIAS" value="127">
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="IOChannel" c:type="GIOChannel">
      <field name="ref_count" readable="0" private="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="funcs" readable="0" private="1">
        <type name="IOFuncs" c:type="GIOFuncs*"/>
      </field>
      <field name="encoding" readable="0" private="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="read_cd" readable="0" private="1">
        <type name="IConv" c:type="GIConv"/>
      </field>
      <field name="write_cd" readable="0" private="1">
        <type name="IConv" c:type="GIConv"/>
      </field>
      <field name="line_term" readable="0" private="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="line_term_len" readable="0" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="buf_size" readable="0" private="1">
        <type name="gulong" c:type="gsize"/>
      </field>
      <field name="read_buf" readable="0" private="1">
        <type name="String" c:type="GString*"/>
      </field>
      <field name="encoded_read_buf" readable="0" private="1">
        <type name="String" c:type="GString*"/>
      </field>
      <field name="write_buf" readable="0" private="1">
        <type name="String" c:type="GString*"/>
      </field>
      <field name="partial_write_buf" readable="0" private="1">
        <array zero-terminated="0" c:type="gchar" fixed-size="6">
          <type name="gchar" c:type="gchar"/>
        </array>
      </field>
      <field name="use_buffer" readable="0" bits="1" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="do_encode" readable="0" bits="1" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="close_on_unref" readable="0" bits="1" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="is_readable" readable="0" bits="1" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="is_writeable" readable="0" bits="1" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="is_seekable" readable="0" bits="1" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="reserved1" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="reserved2" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <method name="close" c:identifier="g_io_channel_close">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="flush" c:identifier="g_io_channel_flush" throws="1">
        <return-value transfer-ownership="none">
          <type name="IOStatus" c:type="GIOStatus"/>
        </return-value>
      </method>
      <method name="get_buffer_condition"
              c:identifier="g_io_channel_get_buffer_condition">
        <return-value transfer-ownership="none">
          <type name="IOCondition" c:type="GIOCondition"/>
        </return-value>
      </method>
      <method name="get_buffer_size"
              c:identifier="g_io_channel_get_buffer_size">
        <return-value transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </return-value>
      </method>
      <method name="get_buffered" c:identifier="g_io_channel_get_buffered">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_close_on_unref"
              c:identifier="g_io_channel_get_close_on_unref">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_encoding" c:identifier="g_io_channel_get_encoding">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_flags" c:identifier="g_io_channel_get_flags">
        <return-value transfer-ownership="none">
          <type name="IOFlags" c:type="GIOFlags"/>
        </return-value>
      </method>
      <method name="get_line_term" c:identifier="g_io_channel_get_line_term">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="length" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="init" c:identifier="g_io_channel_init">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="read" c:identifier="g_io_channel_read">
        <return-value transfer-ownership="none">
          <type name="IOError" c:type="GIOError"/>
        </return-value>
        <parameters>
          <parameter name="buf" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="count" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
          <parameter name="bytes_read" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="read_chars"
              c:identifier="g_io_channel_read_chars"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="IOStatus" c:type="GIOStatus"/>
        </return-value>
        <parameters>
          <parameter name="buf" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="count" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
          <parameter name="bytes_read" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="read_line"
              c:identifier="g_io_channel_read_line"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="IOStatus" c:type="GIOStatus"/>
        </return-value>
        <parameters>
          <parameter name="str_return" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
          <parameter name="terminator_pos" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="read_line_string"
              c:identifier="g_io_channel_read_line_string"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="IOStatus" c:type="GIOStatus"/>
        </return-value>
        <parameters>
          <parameter name="buffer" transfer-ownership="none">
            <type name="String" c:type="GString*"/>
          </parameter>
          <parameter name="terminator_pos" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="read_to_end"
              c:identifier="g_io_channel_read_to_end"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="IOStatus" c:type="GIOStatus"/>
        </return-value>
        <parameters>
          <parameter name="str_return" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="read_unichar"
              c:identifier="g_io_channel_read_unichar"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="IOStatus" c:type="GIOStatus"/>
        </return-value>
        <parameters>
          <parameter name="thechar" transfer-ownership="none">
            <type name="gunichar" c:type="gunichar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="g_io_channel_ref" introspectable="0">
        <return-value>
          <type name="IOChannel" c:type="GIOChannel*"/>
        </return-value>
      </method>
      <method name="seek" c:identifier="g_io_channel_seek">
        <return-value transfer-ownership="none">
          <type name="IOError" c:type="GIOError"/>
        </return-value>
        <parameters>
          <parameter name="offset" transfer-ownership="none">
            <type name="gint64" c:type="gint64"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="SeekType" c:type="GSeekType"/>
          </parameter>
        </parameters>
      </method>
      <method name="seek_position"
              c:identifier="g_io_channel_seek_position"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="IOStatus" c:type="GIOStatus"/>
        </return-value>
        <parameters>
          <parameter name="offset" transfer-ownership="none">
            <type name="gint64" c:type="gint64"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <type name="SeekType" c:type="GSeekType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_buffer_size"
              c:identifier="g_io_channel_set_buffer_size">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="size" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_buffered" c:identifier="g_io_channel_set_buffered">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="buffered" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_close_on_unref"
              c:identifier="g_io_channel_set_close_on_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="do_close" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_encoding"
              c:identifier="g_io_channel_set_encoding"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="IOStatus" c:type="GIOStatus"/>
        </return-value>
        <parameters>
          <parameter name="encoding" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_flags"
              c:identifier="g_io_channel_set_flags"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="IOStatus" c:type="GIOStatus"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <type name="IOFlags" c:type="GIOFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_line_term" c:identifier="g_io_channel_set_line_term">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="line_term" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="shutdown" c:identifier="g_io_channel_shutdown" throws="1">
        <return-value transfer-ownership="none">
          <type name="IOStatus" c:type="GIOStatus"/>
        </return-value>
        <parameters>
          <parameter name="flush" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="unix_get_fd" c:identifier="g_io_channel_unix_get_fd">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="unref" c:identifier="g_io_channel_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="write" c:identifier="g_io_channel_write">
        <return-value transfer-ownership="none">
          <type name="IOError" c:type="GIOError"/>
        </return-value>
        <parameters>
          <parameter name="buf" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="count" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
          <parameter name="bytes_written" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="write_chars"
              c:identifier="g_io_channel_write_chars"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="IOStatus" c:type="GIOStatus"/>
        </return-value>
        <parameters>
          <parameter name="buf" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="count" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
          <parameter name="bytes_written" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="write_unichar"
              c:identifier="g_io_channel_write_unichar"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="IOStatus" c:type="GIOStatus"/>
        </return-value>
        <parameters>
          <parameter name="thechar" transfer-ownership="none">
            <type name="gunichar" c:type="gunichar"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="IOChannelError"
                 c:type="GIOChannelError"
                 glib:error-quark="g_io_channel_error_quark">
      <member name="fbig" value="0" c:identifier="G_IO_CHANNEL_ERROR_FBIG"/>
      <member name="inval" value="1" c:identifier="G_IO_CHANNEL_ERROR_INVAL"/>
      <member name="io" value="2" c:identifier="G_IO_CHANNEL_ERROR_IO"/>
      <member name="isdir" value="3" c:identifier="G_IO_CHANNEL_ERROR_ISDIR"/>
      <member name="nospc" value="4" c:identifier="G_IO_CHANNEL_ERROR_NOSPC"/>
      <member name="nxio" value="5" c:identifier="G_IO_CHANNEL_ERROR_NXIO"/>
      <member name="overflow"
              value="6"
              c:identifier="G_IO_CHANNEL_ERROR_OVERFLOW"/>
      <member name="pipe" value="7" c:identifier="G_IO_CHANNEL_ERROR_PIPE"/>
      <member name="failed"
              value="8"
              c:identifier="G_IO_CHANNEL_ERROR_FAILED"/>
    </enumeration>
    <enumeration name="IOCondition" c:type="GIOCondition">
      <member name="in" value="1" c:identifier="G_IO_IN"/>
      <member name="out" value="4" c:identifier="G_IO_OUT"/>
      <member name="pri" value="2" c:identifier="G_IO_PRI"/>
      <member name="err" value="8" c:identifier="G_IO_ERR"/>
      <member name="hup" value="16" c:identifier="G_IO_HUP"/>
      <member name="nval" value="32" c:identifier="G_IO_NVAL"/>
    </enumeration>
    <enumeration name="IOError" c:type="GIOError">
      <member name="none" value="0" c:identifier="G_IO_ERROR_NONE"/>
      <member name="again" value="1" c:identifier="G_IO_ERROR_AGAIN"/>
      <member name="inval" value="2" c:identifier="G_IO_ERROR_INVAL"/>
      <member name="unknown" value="3" c:identifier="G_IO_ERROR_UNKNOWN"/>
    </enumeration>
    <bitfield name="IOFlags" c:type="GIOFlags">
      <member name="append" value="1" c:identifier="G_IO_FLAG_APPEND"/>
      <member name="nonblock" value="2" c:identifier="G_IO_FLAG_NONBLOCK"/>
      <member name="is_readable"
              value="4"
              c:identifier="G_IO_FLAG_IS_READABLE"/>
      <member name="is_writeable"
              value="8"
              c:identifier="G_IO_FLAG_IS_WRITEABLE"/>
      <member name="is_seekable"
              value="16"
              c:identifier="G_IO_FLAG_IS_SEEKABLE"/>
      <member name="mask" value="31" c:identifier="G_IO_FLAG_MASK"/>
      <member name="get_mask" value="31" c:identifier="G_IO_FLAG_GET_MASK"/>
      <member name="set_mask" value="3" c:identifier="G_IO_FLAG_SET_MASK"/>
    </bitfield>
    <callback name="IOFunc" c:type="GIOFunc">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="source" transfer-ownership="none">
          <type name="IOChannel" c:type="GIOChannel*"/>
        </parameter>
        <parameter name="condition" transfer-ownership="none">
          <type name="IOCondition" c:type="GIOCondition"/>
        </parameter>
        <parameter name="data" transfer-ownership="none" closure="2">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="IOFuncs" c:type="GIOFuncs">
      <field name="io_read">
        <callback name="io_read" throws="1">
          <return-value transfer-ownership="none">
            <type name="IOStatus" c:type="GIOStatus"/>
          </return-value>
          <parameters>
            <parameter name="channel" transfer-ownership="none">
              <type name="IOChannel" c:type="GIOChannel*"/>
            </parameter>
            <parameter name="buf" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="count" transfer-ownership="none">
              <type name="gulong" c:type="gsize"/>
            </parameter>
            <parameter name="bytes_read" transfer-ownership="none">
              <type name="gulong" c:type="gsize*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="io_write">
        <callback name="io_write" throws="1">
          <return-value transfer-ownership="none">
            <type name="IOStatus" c:type="GIOStatus"/>
          </return-value>
          <parameters>
            <parameter name="channel" transfer-ownership="none">
              <type name="IOChannel" c:type="GIOChannel*"/>
            </parameter>
            <parameter name="buf" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="count" transfer-ownership="none">
              <type name="gulong" c:type="gsize"/>
            </parameter>
            <parameter name="bytes_written" transfer-ownership="none">
              <type name="gulong" c:type="gsize*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="io_seek">
        <callback name="io_seek" throws="1">
          <return-value transfer-ownership="none">
            <type name="IOStatus" c:type="GIOStatus"/>
          </return-value>
          <parameters>
            <parameter name="channel" transfer-ownership="none">
              <type name="IOChannel" c:type="GIOChannel*"/>
            </parameter>
            <parameter name="offset" transfer-ownership="none">
              <type name="gint64" c:type="gint64"/>
            </parameter>
            <parameter name="type" transfer-ownership="none">
              <type name="SeekType" c:type="GSeekType"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="io_close">
        <callback name="io_close" throws="1">
          <return-value transfer-ownership="none">
            <type name="IOStatus" c:type="GIOStatus"/>
          </return-value>
          <parameters>
            <parameter name="channel" transfer-ownership="none">
              <type name="IOChannel" c:type="GIOChannel*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="io_create_watch" introspectable="0">
        <callback name="io_create_watch" introspectable="0">
          <return-value>
            <type name="Source" c:type="GSource*"/>
          </return-value>
          <parameters>
            <parameter name="channel" transfer-ownership="none">
              <type name="IOChannel" c:type="GIOChannel*"/>
            </parameter>
            <parameter name="condition" transfer-ownership="none">
              <type name="IOCondition" c:type="GIOCondition"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="io_free">
        <callback name="io_free">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="channel" transfer-ownership="none">
              <type name="IOChannel" c:type="GIOChannel*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="io_set_flags">
        <callback name="io_set_flags" throws="1">
          <return-value transfer-ownership="none">
            <type name="IOStatus" c:type="GIOStatus"/>
          </return-value>
          <parameters>
            <parameter name="channel" transfer-ownership="none">
              <type name="IOChannel" c:type="GIOChannel*"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <type name="IOFlags" c:type="GIOFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="io_get_flags">
        <callback name="io_get_flags">
          <return-value transfer-ownership="none">
            <type name="IOFlags" c:type="GIOFlags"/>
          </return-value>
          <parameters>
            <parameter name="channel" transfer-ownership="none">
              <type name="IOChannel" c:type="GIOChannel*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="IOStatus" c:type="GIOStatus">
      <member name="error" value="0" c:identifier="G_IO_STATUS_ERROR"/>
      <member name="normal" value="1" c:identifier="G_IO_STATUS_NORMAL"/>
      <member name="eof" value="2" c:identifier="G_IO_STATUS_EOF"/>
      <member name="again" value="3" c:identifier="G_IO_STATUS_AGAIN"/>
    </enumeration>
    <constant name="KEY_FILE_DESKTOP_GROUP" value="Desktop Entry">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_CATEGORIES" value="Categories">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_COMMENT" value="Comment">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_EXEC" value="Exec">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_GENERIC_NAME" value="GenericName">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_HIDDEN" value="Hidden">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_ICON" value="Icon">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_MIME_TYPE" value="MimeType">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_NAME" value="Name">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN" value="NotShowIn">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_NO_DISPLAY" value="NoDisplay">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN" value="OnlyShowIn">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_PATH" value="Path">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY" value="StartupNotify">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS"
              value="StartupWMClass">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_TERMINAL" value="Terminal">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_TRY_EXEC" value="TryExec">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_TYPE" value="Type">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_URL" value="URL">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_KEY_VERSION" value="Version">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_TYPE_APPLICATION" value="Application">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_TYPE_DIRECTORY" value="Directory">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="KEY_FILE_DESKTOP_TYPE_LINK" value="Link">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <record name="KeyFile" c:type="GKeyFile" disguised="1">
      <method name="free" c:identifier="g_key_file_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_boolean"
              c:identifier="g_key_file_get_boolean"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_boolean_list"
              c:identifier="g_key_file_get_boolean_list"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean*"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_comment"
              c:identifier="g_key_file_get_comment"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_double"
              c:identifier="g_key_file_get_double"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_double_list"
              c:identifier="g_key_file_get_double_list"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble*"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_groups"
              c:identifier="g_key_file_get_groups"
              introspectable="0">
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_int64" c:identifier="g_key_file_get_int64" throws="1">
        <return-value transfer-ownership="none">
          <type name="gint64" c:type="gint64"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_integer"
              c:identifier="g_key_file_get_integer"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_integer_list"
              c:identifier="g_key_file_get_integer_list"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_keys"
              c:identifier="g_key_file_get_keys"
              introspectable="0"
              throws="1">
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_locale_string"
              c:identifier="g_key_file_get_locale_string"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="locale" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_locale_string_list"
              c:identifier="g_key_file_get_locale_string_list"
              throws="1">
        <return-value transfer-ownership="full">
          <array length="3" c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="locale" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_start_group" c:identifier="g_key_file_get_start_group">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_string"
              c:identifier="g_key_file_get_string"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_string_list"
              c:identifier="g_key_file_get_string_list"
              throws="1">
        <return-value transfer-ownership="full">
          <array length="2" c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_uint64"
              c:identifier="g_key_file_get_uint64"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="guint64" c:type="guint64"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_value" c:identifier="g_key_file_get_value" throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_group" c:identifier="g_key_file_has_group">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_key" c:identifier="g_key_file_has_key" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_from_data"
              c:identifier="g_key_file_load_from_data"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="KeyFileFlags" c:type="GKeyFileFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_from_data_dirs"
              c:identifier="g_key_file_load_from_data_dirs"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="full_path" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="KeyFileFlags" c:type="GKeyFileFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_from_dirs"
              c:identifier="g_key_file_load_from_dirs"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="search_dirs" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="full_path" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="KeyFileFlags" c:type="GKeyFileFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_from_file"
              c:identifier="g_key_file_load_from_file"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="file" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="KeyFileFlags" c:type="GKeyFileFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_comment"
              c:identifier="g_key_file_remove_comment"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_group"
              c:identifier="g_key_file_remove_group"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_key"
              c:identifier="g_key_file_remove_key"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_boolean" c:identifier="g_key_file_set_boolean">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_boolean_list"
              c:identifier="g_key_file_set_boolean_list">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="list" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_comment"
              c:identifier="g_key_file_set_comment"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="comment" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_double" c:identifier="g_key_file_set_double">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_double_list" c:identifier="g_key_file_set_double_list">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="list" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_int64" c:identifier="g_key_file_set_int64">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_integer" c:identifier="g_key_file_set_integer">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_integer_list"
              c:identifier="g_key_file_set_integer_list">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="list" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_list_separator"
              c:identifier="g_key_file_set_list_separator">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="separator" transfer-ownership="none">
            <type name="gchar" c:type="gchar"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_locale_string"
              c:identifier="g_key_file_set_locale_string">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="locale" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_locale_string_list"
              c:identifier="g_key_file_set_locale_string_list">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="locale" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="list" transfer-ownership="none">
            <array length="4" c:type="gchar*">
              <type name="utf8"/>
            </array>
          </parameter>
          <parameter name="length"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <type name="gulong" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_string" c:identifier="g_key_file_set_string">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_string_list" c:identifier="g_key_file_set_string_list">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="list" transfer-ownership="none">
            <array length="3" c:type="gchar*">
              <type name="utf8"/>
            </array>
          </parameter>
          <parameter name="length"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <type name="gulong" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uint64" c:identifier="g_key_file_set_uint64">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value" c:identifier="g_key_file_set_value">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="key" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_data" c:identifier="g_key_file_to_data" throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="KeyFileError"
                 c:type="GKeyFileError"
                 glib:error-quark="g_key_file_error_quark">
      <member name="unknown_encoding"
              value="0"
              c:identifier="G_KEY_FILE_ERROR_UNKNOWN_ENCODING"/>
      <member name="parse" value="1" c:identifier="G_KEY_FILE_ERROR_PARSE"/>
      <member name="not_found"
              value="2"
              c:identifier="G_KEY_FILE_ERROR_NOT_FOUND"/>
      <member name="key_not_found"
              value="3"
              c:identifier="G_KEY_FILE_ERROR_KEY_NOT_FOUND"/>
      <member name="group_not_found"
              value="4"
              c:identifier="G_KEY_FILE_ERROR_GROUP_NOT_FOUND"/>
      <member name="invalid_value"
              value="5"
              c:identifier="G_KEY_FILE_ERROR_INVALID_VALUE"/>
    </enumeration>
    <bitfield name="KeyFileFlags" c:type="GKeyFileFlags">
      <member name="none" value="0" c:identifier="G_KEY_FILE_NONE"/>
      <member name="keep_comments"
              value="1"
              c:identifier="G_KEY_FILE_KEEP_COMMENTS"/>
      <member name="keep_translations"
              value="2"
              c:identifier="G_KEY_FILE_KEEP_TRANSLATIONS"/>
    </bitfield>
    <constant name="LITTLE_ENDIAN" value="1234">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="LN10" value="2.302585">
      <type name="gdouble" c:type="gdouble"/>
    </constant>
    <constant name="LN2" value="0.693147">
      <type name="gdouble" c:type="gdouble"/>
    </constant>
    <constant name="LOG_2_BASE_10" value="0.301030">
      <type name="gdouble" c:type="gdouble"/>
    </constant>
    <constant name="LOG_FATAL_MASK" value="0">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="LOG_LEVEL_USER_SHIFT" value="8">
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="List" c:type="GList">
      <field name="data" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="next" writable="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="prev" writable="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
    </record>
    <callback name="LogFunc" c:type="GLogFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="log_domain" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="log_level" transfer-ownership="none">
          <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="3">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <bitfield name="LogLevelFlags" c:type="GLogLevelFlags">
      <member name="flag_recursion"
              value="1"
              c:identifier="G_LOG_FLAG_RECURSION"/>
      <member name="flag_fatal" value="2" c:identifier="G_LOG_FLAG_FATAL"/>
      <member name="level_error" value="4" c:identifier="G_LOG_LEVEL_ERROR"/>
      <member name="level_critical"
              value="8"
              c:identifier="G_LOG_LEVEL_CRITICAL"/>
      <member name="level_warning"
              value="16"
              c:identifier="G_LOG_LEVEL_WARNING"/>
      <member name="level_message"
              value="32"
              c:identifier="G_LOG_LEVEL_MESSAGE"/>
      <member name="level_info" value="64" c:identifier="G_LOG_LEVEL_INFO"/>
      <member name="level_debug" value="128" c:identifier="G_LOG_LEVEL_DEBUG"/>
      <member name="level_mask" value="-4" c:identifier="G_LOG_LEVEL_MASK"/>
    </bitfield>
    <constant name="MAJOR_VERSION" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MICRO_VERSION" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MINOR_VERSION" value="26">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="MODULE_SUFFIX" value="so">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="MUTEX_DEBUG_MAGIC" value="4175530711">
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="MainContext" c:type="GMainContext" disguised="1">
      <doc xml:whitespace="preserve">The &lt;structname&gt;GMainContext&lt;/structname&gt; struct is an opaque data
type representing a set of sources to be handled in a main loop.</doc>
      <method name="acquire" c:identifier="g_main_context_acquire">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="add_poll" c:identifier="g_main_context_add_poll">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="fd" transfer-ownership="none">
            <type name="PollFD" c:type="GPollFD*"/>
          </parameter>
          <parameter name="priority" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="check" c:identifier="g_main_context_check">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="max_priority" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="fds" transfer-ownership="none">
            <type name="PollFD" c:type="GPollFD*"/>
          </parameter>
          <parameter name="n_fds" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="dispatch" c:identifier="g_main_context_dispatch">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="find_source_by_funcs_user_data"
              c:identifier="g_main_context_find_source_by_funcs_user_data"
              introspectable="0">
        <return-value>
          <type name="Source" c:type="GSource*"/>
        </return-value>
        <parameters>
          <parameter name="funcs" transfer-ownership="none">
            <type name="SourceFuncs" c:type="GSourceFuncs*"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_source_by_id"
              c:identifier="g_main_context_find_source_by_id"
              introspectable="0">
        <return-value>
          <type name="Source" c:type="GSource*"/>
        </return-value>
        <parameters>
          <parameter name="source_id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_source_by_user_data"
              c:identifier="g_main_context_find_source_by_user_data"
              introspectable="0">
        <return-value>
          <type name="Source" c:type="GSource*"/>
        </return-value>
        <parameters>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_poll_func"
              c:identifier="g_main_context_get_poll_func"
              introspectable="0">
        <return-value>
          <type name="PollFunc" c:type="GPollFunc"/>
        </return-value>
      </method>
      <method name="is_owner" c:identifier="g_main_context_is_owner">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="iteration" c:identifier="g_main_context_iteration">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="may_block" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="pending" c:identifier="g_main_context_pending">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="pop_thread_default"
              c:identifier="g_main_context_pop_thread_default">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="prepare" c:identifier="g_main_context_prepare">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="priority" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_thread_default"
              c:identifier="g_main_context_push_thread_default">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="query" c:identifier="g_main_context_query">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="max_priority" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="timeout_" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="fds" transfer-ownership="none">
            <type name="PollFD" c:type="GPollFD*"/>
          </parameter>
          <parameter name="n_fds" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="g_main_context_ref" introspectable="0">
        <return-value>
          <type name="MainContext" c:type="GMainContext*"/>
        </return-value>
      </method>
      <method name="release" c:identifier="g_main_context_release">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="remove_poll" c:identifier="g_main_context_remove_poll">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="fd" transfer-ownership="none">
            <type name="PollFD" c:type="GPollFD*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_poll_func"
              c:identifier="g_main_context_set_poll_func"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none">
            <type name="PollFunc" c:type="GPollFunc"/>
          </parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="g_main_context_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="wait" c:identifier="g_main_context_wait">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="cond" transfer-ownership="none">
            <type name="Cond" c:type="GCond*"/>
          </parameter>
          <parameter name="mutex" transfer-ownership="none">
            <type name="Mutex" c:type="GMutex*"/>
          </parameter>
        </parameters>
      </method>
      <method name="wakeup" c:identifier="g_main_context_wakeup">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <record name="MainLoop" c:type="GMainLoop" disguised="1">
      <doc xml:whitespace="preserve">The &lt;structname&gt;GMainLoop&lt;/structname&gt; struct is an opaque data type
representing the main event loop of a GLib or GTK+ application.</doc>
      <method name="get_context"
              c:identifier="g_main_loop_get_context"
              introspectable="0">
        <return-value>
          <type name="MainContext" c:type="GMainContext*"/>
        </return-value>
      </method>
      <method name="is_running" c:identifier="g_main_loop_is_running">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="quit" c:identifier="g_main_loop_quit">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="ref" c:identifier="g_main_loop_ref" introspectable="0">
        <return-value>
          <type name="MainLoop" c:type="GMainLoop*"/>
        </return-value>
      </method>
      <method name="run" c:identifier="g_main_loop_run">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unref" c:identifier="g_main_loop_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <record name="MappedFile" c:type="GMappedFile" disguised="1">
      <method name="free" c:identifier="g_mapped_file_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_contents" c:identifier="g_mapped_file_get_contents">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_length" c:identifier="g_mapped_file_get_length">
        <return-value transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </return-value>
      </method>
      <method name="ref" c:identifier="g_mapped_file_ref" introspectable="0">
        <return-value>
          <type name="MappedFile" c:type="GMappedFile*"/>
        </return-value>
      </method>
      <method name="unref" c:identifier="g_mapped_file_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <bitfield name="MarkupCollectType" c:type="GMarkupCollectType">
      <member name="invalid"
              value="0"
              c:identifier="G_MARKUP_COLLECT_INVALID"/>
      <member name="string" value="1" c:identifier="G_MARKUP_COLLECT_STRING"/>
      <member name="strdup" value="2" c:identifier="G_MARKUP_COLLECT_STRDUP"/>
      <member name="boolean"
              value="3"
              c:identifier="G_MARKUP_COLLECT_BOOLEAN"/>
      <member name="tristate"
              value="4"
              c:identifier="G_MARKUP_COLLECT_TRISTATE"/>
      <member name="optional"
              value="65536"
              c:identifier="G_MARKUP_COLLECT_OPTIONAL"/>
    </bitfield>
    <enumeration name="MarkupError"
                 c:type="GMarkupError"
                 glib:error-quark="g_markup_error_quark">
      <member name="bad_utf8"
              value="0"
              c:identifier="G_MARKUP_ERROR_BAD_UTF8"/>
      <member name="empty" value="1" c:identifier="G_MARKUP_ERROR_EMPTY"/>
      <member name="parse" value="2" c:identifier="G_MARKUP_ERROR_PARSE"/>
      <member name="unknown_element"
              value="3"
              c:identifier="G_MARKUP_ERROR_UNKNOWN_ELEMENT"/>
      <member name="unknown_attribute"
              value="4"
              c:identifier="G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE"/>
      <member name="invalid_content"
              value="5"
              c:identifier="G_MARKUP_ERROR_INVALID_CONTENT"/>
      <member name="missing_attribute"
              value="6"
              c:identifier="G_MARKUP_ERROR_MISSING_ATTRIBUTE"/>
    </enumeration>
    <record name="MarkupParseContext"
            c:type="GMarkupParseContext"
            disguised="1">
      <method name="end_parse"
              c:identifier="g_markup_parse_context_end_parse"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="free" c:identifier="g_markup_parse_context_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_element"
              c:identifier="g_markup_parse_context_get_element">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_element_stack"
              c:identifier="g_markup_parse_context_get_element_stack">
        <return-value transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_position"
              c:identifier="g_markup_parse_context_get_position">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="line_number" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="char_number" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_user_data"
              c:identifier="g_markup_parse_context_get_user_data"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="parse"
              c:identifier="g_markup_parse_context_parse"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="text_len" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="pop"
              c:identifier="g_markup_parse_context_pop"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="push" c:identifier="g_markup_parse_context_push">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="parser" transfer-ownership="none">
            <type name="MarkupParser" c:type="GMarkupParser*"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <bitfield name="MarkupParseFlags" c:type="GMarkupParseFlags">
      <member name="do_not_use_this_unsupported_flag"
              value="1"
              c:identifier="G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG"/>
      <member name="treat_cdata_as_text"
              value="2"
              c:identifier="G_MARKUP_TREAT_CDATA_AS_TEXT"/>
      <member name="prefix_error_position"
              value="4"
              c:identifier="G_MARKUP_PREFIX_ERROR_POSITION"/>
    </bitfield>
    <record name="MarkupParser" c:type="GMarkupParser">
      <field name="start_element">
        <callback name="start_element" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="MarkupParseContext" c:type="GMarkupParseContext*"/>
            </parameter>
            <parameter name="element_name" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="attribute_names" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="attribute_values" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="4">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="end_element">
        <callback name="end_element" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="MarkupParseContext" c:type="GMarkupParseContext*"/>
            </parameter>
            <parameter name="element_name" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="text">
        <callback name="text" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="MarkupParseContext" c:type="GMarkupParseContext*"/>
            </parameter>
            <parameter name="text" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="text_len" transfer-ownership="none">
              <type name="gulong" c:type="gsize"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="passthrough">
        <callback name="passthrough" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="MarkupParseContext" c:type="GMarkupParseContext*"/>
            </parameter>
            <parameter name="passthrough_text" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
            <parameter name="text_len" transfer-ownership="none">
              <type name="gulong" c:type="gsize"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="3">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="error">
        <callback name="error">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="MarkupParseContext" c:type="GMarkupParseContext*"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="Error" c:type="GError*"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="MatchInfo" c:type="GMatchInfo" disguised="1">
      <method name="expand_references"
              c:identifier="g_match_info_expand_references"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="string_to_expand" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="fetch" c:identifier="g_match_info_fetch">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="match_num" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="fetch_all"
              c:identifier="g_match_info_fetch_all"
              introspectable="0">
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
      </method>
      <method name="fetch_named" c:identifier="g_match_info_fetch_named">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="fetch_named_pos"
              c:identifier="g_match_info_fetch_named_pos">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="start_pos" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="end_pos" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="fetch_pos" c:identifier="g_match_info_fetch_pos">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="match_num" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="start_pos" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="end_pos" transfer-ownership="none">
            <type name="gint" c:type="gint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="g_match_info_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_match_count"
              c:identifier="g_match_info_get_match_count">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_regex"
              c:identifier="g_match_info_get_regex"
              introspectable="0">
        <return-value>
          <type name="Regex" c:type="GRegex*"/>
        </return-value>
      </method>
      <method name="get_string" c:identifier="g_match_info_get_string">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="is_partial_match"
              c:identifier="g_match_info_is_partial_match">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="matches" c:identifier="g_match_info_matches">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="next" c:identifier="g_match_info_next" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
    </record>
    <record name="MemChunk" c:type="GMemChunk" disguised="1">
      <method name="alloc" c:identifier="g_mem_chunk_alloc" introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="alloc0"
              c:identifier="g_mem_chunk_alloc0"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="clean" c:identifier="g_mem_chunk_clean">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="destroy" c:identifier="g_mem_chunk_destroy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="free" c:identifier="g_mem_chunk_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="mem" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="print" c:identifier="g_mem_chunk_print">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="reset" c:identifier="g_mem_chunk_reset">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <record name="MemVTable" c:type="GMemVTable">
      <doc xml:whitespace="preserve">A set of functions used to perform memory allocation. The same #GMemVTable must
be used for all allocations in the same program; a call to g_mem_set_vtable(),
if it exists, should be prior to any use of GLib.</doc>
      <field name="malloc" introspectable="0">
        <callback name="malloc" introspectable="0">
          <return-value>
            <type name="gpointer" c:type="gpointer"/>
          </return-value>
          <parameters>
            <parameter name="n_bytes" transfer-ownership="none">
              <type name="gulong" c:type="gsize"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="realloc" introspectable="0">
        <callback name="realloc" introspectable="0">
          <return-value>
            <type name="gpointer" c:type="gpointer"/>
          </return-value>
          <parameters>
            <parameter name="mem" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
            <parameter name="n_bytes" transfer-ownership="none">
              <type name="gulong" c:type="gsize"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="free">
        <callback name="free">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="mem" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="calloc" introspectable="0">
        <callback name="calloc" introspectable="0">
          <return-value>
            <type name="gpointer" c:type="gpointer"/>
          </return-value>
          <parameters>
            <parameter name="n_blocks" transfer-ownership="none">
              <type name="gulong" c:type="gsize"/>
            </parameter>
            <parameter name="n_block_bytes" transfer-ownership="none">
              <type name="gulong" c:type="gsize"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="try_malloc" introspectable="0">
        <callback name="try_malloc" introspectable="0">
          <return-value>
            <type name="gpointer" c:type="gpointer"/>
          </return-value>
          <parameters>
            <parameter name="n_bytes" transfer-ownership="none">
              <type name="gulong" c:type="gsize"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="try_realloc" introspectable="0">
        <callback name="try_realloc" introspectable="0">
          <return-value>
            <type name="gpointer" c:type="gpointer"/>
          </return-value>
          <parameters>
            <parameter name="mem" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
            <parameter name="n_bytes" transfer-ownership="none">
              <type name="gulong" c:type="gsize"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="Mutex" c:type="GMutex" disguised="1">
    </record>
    <record name="Node" c:type="GNode">
      <field name="data" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="next" writable="1">
        <type name="Node" c:type="GNode*"/>
      </field>
      <field name="prev" writable="1">
        <type name="Node" c:type="GNode*"/>
      </field>
      <field name="parent" writable="1">
        <type name="Node" c:type="GNode*"/>
      </field>
      <field name="children" writable="1">
        <type name="Node" c:type="GNode*"/>
      </field>
      <method name="child_index" c:identifier="g_node_child_index">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_position" c:identifier="g_node_child_position">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <type name="Node" c:type="GNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="children_foreach"
              c:identifier="g_node_children_foreach"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <type name="TraverseFlags" c:type="GTraverseFlags"/>
          </parameter>
          <parameter name="func" transfer-ownership="none" closure="2">
            <type name="NodeForeachFunc" c:type="GNodeForeachFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="copy" c:identifier="g_node_copy" introspectable="0">
        <return-value>
          <type name="Node" c:type="GNode*"/>
        </return-value>
      </method>
      <method name="copy_deep"
              c:identifier="g_node_copy_deep"
              introspectable="0">
        <return-value>
          <type name="Node" c:type="GNode*"/>
        </return-value>
        <parameters>
          <parameter name="copy_func" transfer-ownership="none" closure="1">
            <type name="CopyFunc" c:type="GCopyFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="depth" c:identifier="g_node_depth">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="destroy" c:identifier="g_node_destroy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="find" c:identifier="g_node_find" introspectable="0">
        <return-value>
          <type name="Node" c:type="GNode*"/>
        </return-value>
        <parameters>
          <parameter name="order" transfer-ownership="none">
            <type name="TraverseType" c:type="GTraverseType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="TraverseFlags" c:type="GTraverseFlags"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_child"
              c:identifier="g_node_find_child"
              introspectable="0">
        <return-value>
          <type name="Node" c:type="GNode*"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <type name="TraverseFlags" c:type="GTraverseFlags"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="first_sibling"
              c:identifier="g_node_first_sibling"
              introspectable="0">
        <return-value>
          <type name="Node" c:type="GNode*"/>
        </return-value>
      </method>
      <method name="get_root"
              c:identifier="g_node_get_root"
              introspectable="0">
        <return-value>
          <type name="Node" c:type="GNode*"/>
        </return-value>
      </method>
      <method name="insert" c:identifier="g_node_insert" introspectable="0">
        <return-value>
          <type name="Node" c:type="GNode*"/>
        </return-value>
        <parameters>
          <parameter name="position" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="node" transfer-ownership="none">
            <type name="Node" c:type="GNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_after"
              c:identifier="g_node_insert_after"
              introspectable="0">
        <return-value>
          <type name="Node" c:type="GNode*"/>
        </return-value>
        <parameters>
          <parameter name="sibling" transfer-ownership="none">
            <type name="Node" c:type="GNode*"/>
          </parameter>
          <parameter name="node" transfer-ownership="none">
            <type name="Node" c:type="GNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_before"
              c:identifier="g_node_insert_before"
              introspectable="0">
        <return-value>
          <type name="Node" c:type="GNode*"/>
        </return-value>
        <parameters>
          <parameter name="sibling" transfer-ownership="none">
            <type name="Node" c:type="GNode*"/>
          </parameter>
          <parameter name="node" transfer-ownership="none">
            <type name="Node" c:type="GNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_ancestor" c:identifier="g_node_is_ancestor">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="descendant" transfer-ownership="none">
            <type name="Node" c:type="GNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="last_child"
              c:identifier="g_node_last_child"
              introspectable="0">
        <return-value>
          <type name="Node" c:type="GNode*"/>
        </return-value>
      </method>
      <method name="last_sibling"
              c:identifier="g_node_last_sibling"
              introspectable="0">
        <return-value>
          <type name="Node" c:type="GNode*"/>
        </return-value>
      </method>
      <method name="max_height" c:identifier="g_node_max_height">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="n_children" c:identifier="g_node_n_children">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="n_nodes" c:identifier="g_node_n_nodes">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <type name="TraverseFlags" c:type="GTraverseFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="nth_child"
              c:identifier="g_node_nth_child"
              introspectable="0">
        <return-value>
          <type name="Node" c:type="GNode*"/>
        </return-value>
        <parameters>
          <parameter name="n" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend" c:identifier="g_node_prepend" introspectable="0">
        <return-value>
          <type name="Node" c:type="GNode*"/>
        </return-value>
        <parameters>
          <parameter name="node" transfer-ownership="none">
            <type name="Node" c:type="GNode*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reverse_children" c:identifier="g_node_reverse_children">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="traverse"
              c:identifier="g_node_traverse"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="order" transfer-ownership="none">
            <type name="TraverseType" c:type="GTraverseType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="TraverseFlags" c:type="GTraverseFlags"/>
          </parameter>
          <parameter name="max_depth" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="func" transfer-ownership="none" closure="4">
            <type name="NodeTraverseFunc" c:type="GNodeTraverseFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="unlink" c:identifier="g_node_unlink">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <callback name="NodeForeachFunc" c:type="GNodeForeachFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <type name="Node" c:type="GNode*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="NodeTraverseFunc" c:type="GNodeTraverseFunc">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="node" transfer-ownership="none">
          <type name="Node" c:type="GNode*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="NormalizeMode" c:type="GNormalizeMode">
      <member name="default" value="0" c:identifier="G_NORMALIZE_DEFAULT"/>
      <member name="nfd" value="0" c:identifier="G_NORMALIZE_NFD"/>
      <member name="default_compose"
              value="1"
              c:identifier="G_NORMALIZE_DEFAULT_COMPOSE"/>
      <member name="nfc" value="1" c:identifier="G_NORMALIZE_NFC"/>
      <member name="all" value="2" c:identifier="G_NORMALIZE_ALL"/>
      <member name="nfkd" value="2" c:identifier="G_NORMALIZE_NFKD"/>
      <member name="all_compose"
              value="3"
              c:identifier="G_NORMALIZE_ALL_COMPOSE"/>
      <member name="nfkc" value="3" c:identifier="G_NORMALIZE_NFKC"/>
    </enumeration>
    <constant name="OPTION_REMAINING" value="">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <record name="Once" c:type="GOnce">
      <field name="status" writable="1">
        <type name="OnceStatus" c:type="GOnceStatus"/>
      </field>
      <field name="retval" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <method name="impl" c:identifier="g_once_impl" introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none">
            <type name="ThreadFunc" c:type="GThreadFunc"/>
          </parameter>
          <parameter name="arg" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="OnceStatus" c:type="GOnceStatus">
      <member name="notcalled"
              value="0"
              c:identifier="G_ONCE_STATUS_NOTCALLED"/>
      <member name="progress" value="1" c:identifier="G_ONCE_STATUS_PROGRESS"/>
      <member name="ready" value="2" c:identifier="G_ONCE_STATUS_READY"/>
    </enumeration>
    <enumeration name="OptionArg" c:type="GOptionArg">
      <doc xml:whitespace="preserve">The #GOptionArg enum values determine which type of extra argument the
options expect to find. If an option expects an extra argument, it
can be specified in several ways; with a short option:
&lt;option&gt;-x arg&lt;/option&gt;, with a long option: &lt;option&gt;--name arg&lt;/option&gt;</doc>
      <member name="none" value="0" c:identifier="G_OPTION_ARG_NONE"/>
      <member name="string" value="1" c:identifier="G_OPTION_ARG_STRING"/>
      <member name="int" value="2" c:identifier="G_OPTION_ARG_INT"/>
      <member name="callback" value="3" c:identifier="G_OPTION_ARG_CALLBACK"/>
      <member name="filename" value="4" c:identifier="G_OPTION_ARG_FILENAME"/>
      <member name="string_array"
              value="5"
              c:identifier="G_OPTION_ARG_STRING_ARRAY"/>
      <member name="filename_array"
              value="6"
              c:identifier="G_OPTION_ARG_FILENAME_ARRAY"/>
      <member name="double" value="7" c:identifier="G_OPTION_ARG_DOUBLE"/>
      <member name="int64" value="8" c:identifier="G_OPTION_ARG_INT64"/>
    </enumeration>
    <callback name="OptionArgFunc" c:type="GOptionArgFunc" throws="1">
      <doc xml:whitespace="preserve">The type of function to be passed as callback for %G_OPTION_ARG_CALLBACK
options.
occurred, in which case @error should be set with g_set_error()</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">%TRUE if the option was successfully parsed, %FALSE if an error</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="option_name" transfer-ownership="none">
          <doc xml:whitespace="preserve">The name of the option being parsed. This will be either a single dash followed by a single letter (for a short name) or two dashes followed by a long option name.</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <doc xml:whitespace="preserve">The value to be parsed.</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">User data added to the #GOptionGroup containing the option when it was created with g_option_group_new()</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="OptionContext" c:type="GOptionContext" disguised="1">
      <doc xml:whitespace="preserve">A &lt;structname&gt;GOptionContext&lt;/structname&gt; struct defines which options
are accepted by the commandline option parser. The struct has only private 
fields and should not be directly accessed.</doc>
      <method name="add_group" c:identifier="g_option_context_add_group">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group" transfer-ownership="none">
            <type name="OptionGroup" c:type="GOptionGroup*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_main_entries"
              c:identifier="g_option_context_add_main_entries">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="entries" transfer-ownership="none">
            <type name="OptionEntry" c:type="GOptionEntry*"/>
          </parameter>
          <parameter name="translation_domain" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="g_option_context_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_description"
              c:identifier="g_option_context_get_description">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_help" c:identifier="g_option_context_get_help">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="main_help" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="group" transfer-ownership="none">
            <type name="OptionGroup" c:type="GOptionGroup*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_help_enabled"
              c:identifier="g_option_context_get_help_enabled">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_ignore_unknown_options"
              c:identifier="g_option_context_get_ignore_unknown_options">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_main_group"
              c:identifier="g_option_context_get_main_group"
              introspectable="0">
        <return-value>
          <type name="OptionGroup" c:type="GOptionGroup*"/>
        </return-value>
      </method>
      <method name="get_summary" c:identifier="g_option_context_get_summary">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="parse" c:identifier="g_option_context_parse" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="argc"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full">
            <type name="gint" c:type="gint*"/>
          </parameter>
          <parameter name="argv"
                     direction="inout"
                     caller-allocates="0"
                     transfer-ownership="full"
                     allow-none="1">
            <array length="0" c:type="gchar***">
              <type name="utf8"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="g_option_context_set_description">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="description" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_help_enabled"
              c:identifier="g_option_context_set_help_enabled">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="help_enabled" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_ignore_unknown_options"
              c:identifier="g_option_context_set_ignore_unknown_options">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="ignore_unknown" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_main_group"
              c:identifier="g_option_context_set_main_group">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="group" transfer-ownership="none">
            <type name="OptionGroup" c:type="GOptionGroup*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_summary" c:identifier="g_option_context_set_summary">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="summary" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_translate_func"
              c:identifier="g_option_context_set_translate_func">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="notified"
                     closure="1"
                     destroy="2">
            <type name="TranslateFunc" c:type="GTranslateFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     scope="async">
            <type name="DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_translation_domain"
              c:identifier="g_option_context_set_translation_domain">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="domain" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="OptionEntry" c:type="GOptionEntry">
      <doc xml:whitespace="preserve">A &lt;structname&gt;GOptionEntry&lt;/structname&gt; defines a single option.
To have an effect, they must be added to a #GOptionGroup with
g_option_context_add_main_entries() or g_option_group_add_entries().</doc>
      <field name="long_name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="short_name" writable="1">
        <type name="gchar" c:type="gchar"/>
      </field>
      <field name="flags" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="arg" writable="1">
        <type name="OptionArg" c:type="GOptionArg"/>
      </field>
      <field name="arg_data" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="description" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="arg_description" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
    </record>
    <enumeration name="OptionError"
                 c:type="GOptionError"
                 glib:error-quark="g_option_error_quark">
      <doc xml:whitespace="preserve">Error codes returned by option parsing.</doc>
      <member name="unknown_option"
              value="0"
              c:identifier="G_OPTION_ERROR_UNKNOWN_OPTION"/>
      <member name="bad_value"
              value="1"
              c:identifier="G_OPTION_ERROR_BAD_VALUE"/>
      <member name="failed" value="2" c:identifier="G_OPTION_ERROR_FAILED"/>
    </enumeration>
    <callback name="OptionErrorFunc" c:type="GOptionErrorFunc" throws="1">
      <doc xml:whitespace="preserve">The type of function to be used as callback when a parse error occurs.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="context" transfer-ownership="none">
          <doc xml:whitespace="preserve">The active #GOptionContext</doc>
          <type name="OptionContext" c:type="GOptionContext*"/>
        </parameter>
        <parameter name="group" transfer-ownership="none">
          <doc xml:whitespace="preserve">The group to which the function belongs</doc>
          <type name="OptionGroup" c:type="GOptionGroup*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">User data added to the #GOptionGroup containing the option when it was created with g_option_group_new()</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <bitfield name="OptionFlags" c:type="GOptionFlags">
      <doc xml:whitespace="preserve">Flags which modify individual options.</doc>
      <member name="hidden" value="1" c:identifier="G_OPTION_FLAG_HIDDEN"/>
      <member name="in_main" value="2" c:identifier="G_OPTION_FLAG_IN_MAIN"/>
      <member name="reverse" value="4" c:identifier="G_OPTION_FLAG_REVERSE"/>
      <member name="no_arg" value="8" c:identifier="G_OPTION_FLAG_NO_ARG"/>
      <member name="filename"
              value="16"
              c:identifier="G_OPTION_FLAG_FILENAME"/>
      <member name="optional_arg"
              value="32"
              c:identifier="G_OPTION_FLAG_OPTIONAL_ARG"/>
      <member name="noalias" value="64" c:identifier="G_OPTION_FLAG_NOALIAS"/>
    </bitfield>
    <record name="OptionGroup" c:type="GOptionGroup" disguised="1">
      <doc xml:whitespace="preserve">A &lt;structname&gt;GOptionGroup&lt;/structname&gt; struct defines the options in a single
group. The struct has only private fields and should not be directly accessed.
All options in a group share the same translation function. Libraries which
need to parse commandline options are expected to provide a function for
getting a &lt;structname&gt;GOptionGroup&lt;/structname&gt; holding their options, which
the application can then add to its #GOptionContext.</doc>
      <method name="add_entries" c:identifier="g_option_group_add_entries">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="entries" transfer-ownership="none">
            <type name="OptionEntry" c:type="GOptionEntry*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="g_option_group_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_error_hook"
              c:identifier="g_option_group_set_error_hook"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error_func" transfer-ownership="none">
            <type name="OptionErrorFunc" c:type="GOptionErrorFunc"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_parse_hooks"
              c:identifier="g_option_group_set_parse_hooks"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="pre_parse_func" transfer-ownership="none">
            <type name="OptionParseFunc" c:type="GOptionParseFunc"/>
          </parameter>
          <parameter name="post_parse_func" transfer-ownership="none">
            <type name="OptionParseFunc" c:type="GOptionParseFunc"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_translate_func"
              c:identifier="g_option_group_set_translate_func">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="notified"
                     closure="1"
                     destroy="2">
            <type name="TranslateFunc" c:type="GTranslateFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_notify"
                     transfer-ownership="none"
                     scope="async">
            <type name="DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_translation_domain"
              c:identifier="g_option_group_set_translation_domain">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="domain" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <callback name="OptionParseFunc" c:type="GOptionParseFunc" throws="1">
      <doc xml:whitespace="preserve">The type of function that can be called before and after parsing. 
occurred, in which case @error should be set with g_set_error()</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">%TRUE if the function completed successfully, %FALSE if an error</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="context" transfer-ownership="none">
          <doc xml:whitespace="preserve">The active #GOptionContext</doc>
          <type name="OptionContext" c:type="GOptionContext*"/>
        </parameter>
        <parameter name="group" transfer-ownership="none">
          <doc xml:whitespace="preserve">The group to which the function belongs</doc>
          <type name="OptionGroup" c:type="GOptionGroup*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">User data added to the #GOptionGroup containing the option when it was created with g_option_group_new()</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <constant name="PDP_ENDIAN" value="3412">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="PI" value="3.141593">
      <type name="gdouble" c:type="gdouble"/>
    </constant>
    <constant name="PI_2" value="1.570796">
      <type name="gdouble" c:type="gdouble"/>
    </constant>
    <constant name="PI_4" value="0.785398">
      <type name="gdouble" c:type="gdouble"/>
    </constant>
    <constant name="POLLFD_FORMAT" value="%#I64x">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PRIORITY_DEFAULT" value="0">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="PRIORITY_DEFAULT_IDLE" value="200">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="PRIORITY_HIGH" value="-100">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="PRIORITY_HIGH_IDLE" value="100">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="PRIORITY_LOW" value="300">
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="PatternSpec" c:type="GPatternSpec" disguised="1">
      <method name="equal" c:identifier="g_pattern_spec_equal">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="pspec2" transfer-ownership="none">
            <type name="PatternSpec" c:type="GPatternSpec*"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="g_pattern_spec_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <record name="PollFD" c:type="GPollFD">
      <field name="fd" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="events" writable="1">
        <type name="gushort" c:type="gushort"/>
      </field>
      <field name="revents" writable="1">
        <type name="gushort" c:type="gushort"/>
      </field>
    </record>
    <callback name="PollFunc" c:type="GPollFunc">
      <doc xml:whitespace="preserve">Specifies the type of function passed to g_main_context_set_poll_func().
The semantics of the function should match those of the poll() system call.
reported, or -1 if an error occurred.</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">the number of #GPollFD elements which have events or errors</doc>
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="ufds" transfer-ownership="none">
          <doc xml:whitespace="preserve">an array of #GPollFD elements</doc>
          <type name="PollFD" c:type="GPollFD*"/>
        </parameter>
        <parameter name="nfsd" transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of elements in @ufds</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="timeout_" transfer-ownership="none">
          <doc xml:whitespace="preserve">the maximum time to wait for an event of the file descriptors. A negative value indicates an infinite timeout.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="PrintFunc" c:type="GPrintFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </callback>
    <record name="Private" c:type="GPrivate" disguised="1">
    </record>
    <record name="PtrArray" c:type="GPtrArray">
      <field name="pdata" writable="1">
        <type name="gpointer" c:type="gpointer*"/>
      </field>
      <field name="len" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
    </record>
    <record name="Queue" c:type="GQueue">
      <field name="head" writable="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="tail" writable="1">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="length" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <method name="clear" c:identifier="g_queue_clear">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="copy" c:identifier="g_queue_copy" introspectable="0">
        <return-value>
          <type name="Queue" c:type="GQueue*"/>
        </return-value>
      </method>
      <method name="delete_link" c:identifier="g_queue_delete_link">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="link_" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="find" c:identifier="g_queue_find" introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_custom"
              c:identifier="g_queue_find_custom"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
          <parameter name="func" transfer-ownership="none">
            <type name="CompareFunc" c:type="GCompareFunc"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach" c:identifier="g_queue_foreach" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none" closure="1">
            <type name="Func" c:type="GFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="g_queue_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_length" c:identifier="g_queue_get_length">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="index" c:identifier="g_queue_index">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="init" c:identifier="g_queue_init">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="insert_after" c:identifier="g_queue_insert_after">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sibling" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_before" c:identifier="g_queue_insert_before">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="sibling" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_sorted"
              c:identifier="g_queue_insert_sorted"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="func" transfer-ownership="none" closure="2">
            <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_empty" c:identifier="g_queue_is_empty">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="link_index" c:identifier="g_queue_link_index">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="link_" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="peek_head"
              c:identifier="g_queue_peek_head"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="peek_head_link"
              c:identifier="g_queue_peek_head_link"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="peek_nth"
              c:identifier="g_queue_peek_nth"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="n" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="peek_nth_link"
              c:identifier="g_queue_peek_nth_link"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="n" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="peek_tail"
              c:identifier="g_queue_peek_tail"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="peek_tail_link"
              c:identifier="g_queue_peek_tail_link"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="pop_head"
              c:identifier="g_queue_pop_head"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="pop_head_link"
              c:identifier="g_queue_pop_head_link"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="pop_nth" c:identifier="g_queue_pop_nth" introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="n" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="pop_nth_link"
              c:identifier="g_queue_pop_nth_link"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="n" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="pop_tail"
              c:identifier="g_queue_pop_tail"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="pop_tail_link"
              c:identifier="g_queue_pop_tail_link"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="push_head" c:identifier="g_queue_push_head">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_head_link" c:identifier="g_queue_push_head_link">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="link_" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="push_nth" c:identifier="g_queue_push_nth">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="n" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_nth_link" c:identifier="g_queue_push_nth_link">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="n" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="link_" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="push_tail" c:identifier="g_queue_push_tail">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="push_tail_link" c:identifier="g_queue_push_tail_link">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="link_" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="g_queue_remove">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_all" c:identifier="g_queue_remove_all">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="reverse" c:identifier="g_queue_reverse">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="sort" c:identifier="g_queue_sort" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="compare_func" transfer-ownership="none" closure="1">
            <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="unlink" c:identifier="g_queue_unlink">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="link_" transfer-ownership="none">
            <type name="GLib.List" c:type="GList*">
              <type name="gpointer" c:type="gpointer"/>
            </type>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="Rand" c:type="GRand" disguised="1">
      <method name="copy" c:identifier="g_rand_copy" introspectable="0">
        <return-value>
          <type name="Rand" c:type="GRand*"/>
        </return-value>
      </method>
      <method name="double" c:identifier="g_rand_double">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="double_range" c:identifier="g_rand_double_range">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <parameter name="begin" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="g_rand_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="int" c:identifier="g_rand_int">
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </return-value>
      </method>
      <method name="int_range" c:identifier="g_rand_int_range">
        <return-value transfer-ownership="none">
          <type name="gint32" c:type="gint32"/>
        </return-value>
        <parameters>
          <parameter name="begin" transfer-ownership="none">
            <type name="gint32" c:type="gint32"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <type name="gint32" c:type="gint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_seed" c:identifier="g_rand_set_seed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="seed" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_seed_array" c:identifier="g_rand_set_seed_array">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="seed" transfer-ownership="none">
            <type name="guint32" c:type="guint32*"/>
          </parameter>
          <parameter name="seed_length" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="Regex" c:type="GRegex" disguised="1" version="2.14">
      <doc xml:whitespace="preserve">A GRegex is the "compiled" form of a regular expression pattern. This
structure is opaque and its fields cannot be accessed directly.</doc>
      <method name="get_capture_count"
              c:identifier="g_regex_get_capture_count">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_compile_flags"
              c:identifier="g_regex_get_compile_flags">
        <return-value transfer-ownership="none">
          <type name="RegexCompileFlags" c:type="GRegexCompileFlags"/>
        </return-value>
      </method>
      <method name="get_match_flags" c:identifier="g_regex_get_match_flags">
        <return-value transfer-ownership="none">
          <type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
        </return-value>
      </method>
      <method name="get_max_backref" c:identifier="g_regex_get_max_backref">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_pattern" c:identifier="g_regex_get_pattern">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_string_number"
              c:identifier="g_regex_get_string_number">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="match" c:identifier="g_regex_match">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="match_options" transfer-ownership="none">
            <type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
          </parameter>
          <parameter name="match_info" transfer-ownership="none">
            <type name="MatchInfo" c:type="GMatchInfo**"/>
          </parameter>
        </parameters>
      </method>
      <method name="match_all" c:identifier="g_regex_match_all">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="match_options" transfer-ownership="none">
            <type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
          </parameter>
          <parameter name="match_info" transfer-ownership="none">
            <type name="MatchInfo" c:type="GMatchInfo**"/>
          </parameter>
        </parameters>
      </method>
      <method name="match_all_full"
              c:identifier="g_regex_match_all_full"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="string_len" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
          <parameter name="start_position" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="match_options" transfer-ownership="none">
            <type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
          </parameter>
          <parameter name="match_info" transfer-ownership="none">
            <type name="MatchInfo" c:type="GMatchInfo**"/>
          </parameter>
        </parameters>
      </method>
      <method name="match_full" c:identifier="g_regex_match_full" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="string_len" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
          <parameter name="start_position" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="match_options" transfer-ownership="none">
            <type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
          </parameter>
          <parameter name="match_info" transfer-ownership="none">
            <type name="MatchInfo" c:type="GMatchInfo**"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="g_regex_ref" introspectable="0">
        <return-value>
          <type name="Regex" c:type="GRegex*"/>
        </return-value>
      </method>
      <method name="replace" c:identifier="g_regex_replace" throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="string_len" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
          <parameter name="start_position" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="replacement" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="match_options" transfer-ownership="none">
            <type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="replace_eval"
              c:identifier="g_regex_replace_eval"
              introspectable="0"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="string_len" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
          <parameter name="start_position" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="match_options" transfer-ownership="none">
            <type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
          </parameter>
          <parameter name="eval" transfer-ownership="none" closure="5">
            <type name="RegexEvalCallback" c:type="GRegexEvalCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="replace_literal"
              c:identifier="g_regex_replace_literal"
              throws="1">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="string_len" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
          <parameter name="start_position" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="replacement" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="match_options" transfer-ownership="none">
            <type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="split" c:identifier="g_regex_split" introspectable="0">
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="match_options" transfer-ownership="none">
            <type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="split_full"
              c:identifier="g_regex_split_full"
              introspectable="0"
              throws="1">
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="string_len" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
          <parameter name="start_position" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="match_options" transfer-ownership="none">
            <type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
          </parameter>
          <parameter name="max_tokens" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="g_regex_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <bitfield name="RegexCompileFlags"
              version="2.14"
              c:type="GRegexCompileFlags">
      <doc xml:whitespace="preserve">Flags specifying compile-time options.</doc>
      <member name="caseless" value="1" c:identifier="G_REGEX_CASELESS"/>
      <member name="multiline" value="2" c:identifier="G_REGEX_MULTILINE"/>
      <member name="dotall" value="4" c:identifier="G_REGEX_DOTALL"/>
      <member name="extended" value="8" c:identifier="G_REGEX_EXTENDED"/>
      <member name="anchored" value="16" c:identifier="G_REGEX_ANCHORED"/>
      <member name="dollar_endonly"
              value="32"
              c:identifier="G_REGEX_DOLLAR_ENDONLY"/>
      <member name="ungreedy" value="512" c:identifier="G_REGEX_UNGREEDY"/>
      <member name="raw" value="2048" c:identifier="G_REGEX_RAW"/>
      <member name="no_auto_capture"
              value="4096"
              c:identifier="G_REGEX_NO_AUTO_CAPTURE"/>
      <member name="optimize" value="8192" c:identifier="G_REGEX_OPTIMIZE"/>
      <member name="dupnames" value="524288" c:identifier="G_REGEX_DUPNAMES"/>
      <member name="newline_cr"
              value="1048576"
              c:identifier="G_REGEX_NEWLINE_CR"/>
      <member name="newline_lf"
              value="2097152"
              c:identifier="G_REGEX_NEWLINE_LF"/>
      <member name="newline_crlf"
              value="3145728"
              c:identifier="G_REGEX_NEWLINE_CRLF"/>
    </bitfield>
    <enumeration name="RegexError"
                 version="2.14"
                 c:type="GRegexError"
                 glib:error-quark="g_regex_error_quark">
      <doc xml:whitespace="preserve">Error codes returned by regular expressions functions.</doc>
      <member name="compile" value="0" c:identifier="G_REGEX_ERROR_COMPILE"/>
      <member name="optimize" value="1" c:identifier="G_REGEX_ERROR_OPTIMIZE"/>
      <member name="replace" value="2" c:identifier="G_REGEX_ERROR_REPLACE"/>
      <member name="match" value="3" c:identifier="G_REGEX_ERROR_MATCH"/>
      <member name="internal" value="4" c:identifier="G_REGEX_ERROR_INTERNAL"/>
      <member name="stray_backslash"
              value="101"
              c:identifier="G_REGEX_ERROR_STRAY_BACKSLASH"/>
      <member name="missing_control_char"
              value="102"
              c:identifier="G_REGEX_ERROR_MISSING_CONTROL_CHAR"/>
      <member name="unrecognized_escape"
              value="103"
              c:identifier="G_REGEX_ERROR_UNRECOGNIZED_ESCAPE"/>
      <member name="quantifiers_out_of_order"
              value="104"
              c:identifier="G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER"/>
      <member name="quantifier_too_big"
              value="105"
              c:identifier="G_REGEX_ERROR_QUANTIFIER_TOO_BIG"/>
      <member name="unterminated_character_class"
              value="106"
              c:identifier="G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS"/>
      <member name="invalid_escape_in_character_class"
              value="107"
              c:identifier="G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS"/>
      <member name="range_out_of_order"
              value="108"
              c:identifier="G_REGEX_ERROR_RANGE_OUT_OF_ORDER"/>
      <member name="nothing_to_repeat"
              value="109"
              c:identifier="G_REGEX_ERROR_NOTHING_TO_REPEAT"/>
      <member name="unrecognized_character"
              value="112"
              c:identifier="G_REGEX_ERROR_UNRECOGNIZED_CHARACTER"/>
      <member name="posix_named_class_outside_class"
              value="113"
              c:identifier="G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS"/>
      <member name="unmatched_parenthesis"
              value="114"
              c:identifier="G_REGEX_ERROR_UNMATCHED_PARENTHESIS"/>
      <member name="inexistent_subpattern_reference"
              value="115"
              c:identifier="G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE"/>
      <member name="unterminated_comment"
              value="118"
              c:identifier="G_REGEX_ERROR_UNTERMINATED_COMMENT"/>
      <member name="expression_too_large"
              value="120"
              c:identifier="G_REGEX_ERROR_EXPRESSION_TOO_LARGE"/>
      <member name="memory_error"
              value="121"
              c:identifier="G_REGEX_ERROR_MEMORY_ERROR"/>
      <member name="variable_length_lookbehind"
              value="125"
              c:identifier="G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND"/>
      <member name="malformed_condition"
              value="126"
              c:identifier="G_REGEX_ERROR_MALFORMED_CONDITION"/>
      <member name="too_many_conditional_branches"
              value="127"
              c:identifier="G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES"/>
      <member name="assertion_expected"
              value="128"
              c:identifier="G_REGEX_ERROR_ASSERTION_EXPECTED"/>
      <member name="unknown_posix_class_name"
              value="130"
              c:identifier="G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME"/>
      <member name="posix_collating_elements_not_supported"
              value="131"
              c:identifier="G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED"/>
      <member name="hex_code_too_large"
              value="134"
              c:identifier="G_REGEX_ERROR_HEX_CODE_TOO_LARGE"/>
      <member name="invalid_condition"
              value="135"
              c:identifier="G_REGEX_ERROR_INVALID_CONDITION"/>
      <member name="single_byte_match_in_lookbehind"
              value="136"
              c:identifier="G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND"/>
      <member name="infinite_loop"
              value="140"
              c:identifier="G_REGEX_ERROR_INFINITE_LOOP"/>
      <member name="missing_subpattern_name_terminator"
              value="142"
              c:identifier="G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR"/>
      <member name="duplicate_subpattern_name"
              value="143"
              c:identifier="G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME"/>
      <member name="malformed_property"
              value="146"
              c:identifier="G_REGEX_ERROR_MALFORMED_PROPERTY"/>
      <member name="unknown_property"
              value="147"
              c:identifier="G_REGEX_ERROR_UNKNOWN_PROPERTY"/>
      <member name="subpattern_name_too_long"
              value="148"
              c:identifier="G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG"/>
      <member name="too_many_subpatterns"
              value="149"
              c:identifier="G_REGEX_ERROR_TOO_MANY_SUBPATTERNS"/>
      <member name="invalid_octal_value"
              value="151"
              c:identifier="G_REGEX_ERROR_INVALID_OCTAL_VALUE"/>
      <member name="too_many_branches_in_define"
              value="154"
              c:identifier="G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE"/>
      <member name="define_repetion"
              value="155"
              c:identifier="G_REGEX_ERROR_DEFINE_REPETION"/>
      <member name="inconsistent_newline_options"
              value="156"
              c:identifier="G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS"/>
      <member name="missing_back_reference"
              value="157"
              c:identifier="G_REGEX_ERROR_MISSING_BACK_REFERENCE"/>
    </enumeration>
    <callback name="RegexEvalCallback"
              c:type="GRegexEvalCallback"
              version="2.14">
      <doc xml:whitespace="preserve">Specifies the type of the function passed to g_regex_replace_eval().
It is called for each occurance of the pattern in the string passed
to g_regex_replace_eval(), and it should append the replacement to</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">%FALSE to continue the replacement process, %TRUE to stop it</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="match_info" transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GMatchInfo generated by the match. Use g_match_info_get_regex() and g_match_info_get_string() if you need the #GRegex or the matched string.</doc>
          <type name="MatchInfo" c:type="GMatchInfo*"/>
        </parameter>
        <parameter name="result" transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GString containing the new string</doc>
          <type name="String" c:type="GString*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <doc xml:whitespace="preserve">user data passed to g_regex_replace_eval()</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <bitfield name="RegexMatchFlags" version="2.14" c:type="GRegexMatchFlags">
      <doc xml:whitespace="preserve">Flags specifying match-time options.</doc>
      <member name="anchored"
              value="16"
              c:identifier="G_REGEX_MATCH_ANCHORED"/>
      <member name="notbol" value="128" c:identifier="G_REGEX_MATCH_NOTBOL"/>
      <member name="noteol" value="256" c:identifier="G_REGEX_MATCH_NOTEOL"/>
      <member name="notempty"
              value="1024"
              c:identifier="G_REGEX_MATCH_NOTEMPTY"/>
      <member name="partial"
              value="32768"
              c:identifier="G_REGEX_MATCH_PARTIAL"/>
      <member name="newline_cr"
              value="1048576"
              c:identifier="G_REGEX_MATCH_NEWLINE_CR"/>
      <member name="newline_lf"
              value="2097152"
              c:identifier="G_REGEX_MATCH_NEWLINE_LF"/>
      <member name="newline_crlf"
              value="3145728"
              c:identifier="G_REGEX_MATCH_NEWLINE_CRLF"/>
      <member name="newline_any"
              value="4194304"
              c:identifier="G_REGEX_MATCH_NEWLINE_ANY"/>
    </bitfield>
    <record name="Relation" c:type="GRelation" disguised="1">
      <method name="count" c:identifier="g_relation_count">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
          <parameter name="field" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete" c:identifier="g_relation_delete">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
          <parameter name="field" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="destroy" c:identifier="g_relation_destroy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="exists"
              c:identifier="g_relation_exists"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="index" c:identifier="g_relation_index" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="field" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="hash_func" transfer-ownership="none">
            <type name="HashFunc" c:type="GHashFunc"/>
          </parameter>
          <parameter name="key_equal_func" transfer-ownership="none">
            <type name="EqualFunc" c:type="GEqualFunc"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert"
              c:identifier="g_relation_insert"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="print" c:identifier="g_relation_print">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="select"
              c:identifier="g_relation_select"
              introspectable="0">
        <return-value>
          <type name="Tuples" c:type="GTuples*"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
          <parameter name="field" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <constant name="SEARCHPATH_SEPARATOR_S" value=";">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="SIZEOF_LONG" value="4">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="SIZEOF_SIZE_T" value="4">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="SIZEOF_VOID_P" value="4">
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="SList" c:type="GSList">
      <field name="data" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="next" writable="1">
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
    </record>
    <constant name="SQRT2" value="1.414214">
      <type name="gdouble" c:type="gdouble"/>
    </constant>
    <constant name="STR_DELIMITERS" value="_-|&gt; &lt;.">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="SYSDEF_AF_INET" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="SYSDEF_AF_INET6" value="24">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="SYSDEF_AF_UNIX" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="SYSDEF_MSG_DONTROUTE" value="4">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="SYSDEF_MSG_OOB" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="SYSDEF_MSG_PEEK" value="2">
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="Scanner" c:type="GScanner">
      <field name="user_data" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="max_parse_errors" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="parse_errors" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="input_name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="qdata" writable="1">
        <type name="Data" c:type="GData*"/>
      </field>
      <field name="config" writable="1">
        <type name="ScannerConfig" c:type="GScannerConfig*"/>
      </field>
      <field name="token" writable="1">
        <type name="TokenType" c:type="GTokenType"/>
      </field>
      <field name="value" writable="1">
        <type name="TokenValue" c:type="GTokenValue"/>
      </field>
      <field name="line" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="position" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="next_token" writable="1">
        <type name="TokenType" c:type="GTokenType"/>
      </field>
      <field name="next_value" writable="1">
        <type name="TokenValue" c:type="GTokenValue"/>
      </field>
      <field name="next_line" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="next_position" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="symbol_table" writable="1">
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="input_fd" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="text" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="text_end" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="buffer" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="scope_id" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="msg_handler" writable="1">
        <type name="ScannerMsgFunc" c:type="GScannerMsgFunc"/>
      </field>
      <method name="cur_line" c:identifier="g_scanner_cur_line">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="cur_position" c:identifier="g_scanner_cur_position">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="cur_token" c:identifier="g_scanner_cur_token">
        <return-value transfer-ownership="none">
          <type name="TokenType" c:type="GTokenType"/>
        </return-value>
      </method>
      <method name="cur_value"
              c:identifier="g_scanner_cur_value"
              introspectable="0">
        <return-value>
          <type name="TokenValue" c:type="GTokenValue"/>
        </return-value>
      </method>
      <method name="destroy" c:identifier="g_scanner_destroy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="eof" c:identifier="g_scanner_eof">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="error" c:identifier="g_scanner_error" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="get_next_token" c:identifier="g_scanner_get_next_token">
        <return-value transfer-ownership="none">
          <type name="TokenType" c:type="GTokenType"/>
        </return-value>
      </method>
      <method name="input_file" c:identifier="g_scanner_input_file">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="input_fd" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="input_text" c:identifier="g_scanner_input_text">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="text_len" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_symbol"
              c:identifier="g_scanner_lookup_symbol"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="symbol" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="peek_next_token" c:identifier="g_scanner_peek_next_token">
        <return-value transfer-ownership="none">
          <type name="TokenType" c:type="GTokenType"/>
        </return-value>
      </method>
      <method name="scope_add_symbol"
              c:identifier="g_scanner_scope_add_symbol">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="scope_id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="symbol" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="scope_foreach_symbol"
              c:identifier="g_scanner_scope_foreach_symbol"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="scope_id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="func" transfer-ownership="none" closure="2">
            <type name="HFunc" c:type="GHFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="scope_lookup_symbol"
              c:identifier="g_scanner_scope_lookup_symbol"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="scope_id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="symbol" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="scope_remove_symbol"
              c:identifier="g_scanner_scope_remove_symbol">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="scope_id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="symbol" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_scope" c:identifier="g_scanner_set_scope">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="scope_id" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="sync_file_offset"
              c:identifier="g_scanner_sync_file_offset">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unexp_token" c:identifier="g_scanner_unexp_token">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="expected_token" transfer-ownership="none">
            <type name="TokenType" c:type="GTokenType"/>
          </parameter>
          <parameter name="identifier_spec" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="symbol_spec" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="symbol_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="message" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="is_error" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="warn" c:identifier="g_scanner_warn" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="ScannerConfig" c:type="GScannerConfig">
      <field name="cset_skip_characters" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="cset_identifier_first" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="cset_identifier_nth" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="cpair_comment_single" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="case_sensitive" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="skip_comment_multi" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="skip_comment_single" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="scan_comment_multi" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="scan_identifier" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="scan_identifier_1char" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="scan_identifier_NULL" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="scan_symbols" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="scan_binary" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="scan_octal" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="scan_float" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="scan_hex" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="scan_hex_dollar" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="scan_string_sq" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="scan_string_dq" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="numbers_2_int" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="int_2_float" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="identifier_2_string" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="char_2_token" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="symbol_2_token" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="scope_0_fallback" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="store_int64" writable="1" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="padding_dummy" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
    </record>
    <callback name="ScannerMsgFunc" c:type="GScannerMsgFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="scanner" transfer-ownership="none">
          <type name="Scanner" c:type="GScanner*"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="error" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="SeekType" c:type="GSeekType">
      <member name="cur" value="0" c:identifier="G_SEEK_CUR"/>
      <member name="set" value="1" c:identifier="G_SEEK_SET"/>
      <member name="end" value="2" c:identifier="G_SEEK_END"/>
    </enumeration>
    <record name="Sequence" c:type="GSequence" disguised="1">
      <method name="append"
              c:identifier="g_sequence_append"
              introspectable="0">
        <return-value>
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach"
              c:identifier="g_sequence_foreach"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none" closure="1">
            <type name="Func" c:type="GFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="g_sequence_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_begin_iter"
              c:identifier="g_sequence_get_begin_iter"
              introspectable="0">
        <return-value>
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </return-value>
      </method>
      <method name="get_end_iter"
              c:identifier="g_sequence_get_end_iter"
              introspectable="0">
        <return-value>
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </return-value>
      </method>
      <method name="get_iter_at_pos"
              c:identifier="g_sequence_get_iter_at_pos"
              introspectable="0">
        <return-value>
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </return-value>
        <parameters>
          <parameter name="pos" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_length" c:identifier="g_sequence_get_length">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="insert_sorted"
              c:identifier="g_sequence_insert_sorted"
              introspectable="0">
        <return-value>
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cmp_func" transfer-ownership="none" closure="2">
            <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
          </parameter>
          <parameter name="cmp_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_sorted_iter"
              c:identifier="g_sequence_insert_sorted_iter"
              introspectable="0">
        <return-value>
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="iter_cmp" transfer-ownership="none" closure="2">
            <type name="SequenceIterCompareFunc"
                  c:type="GSequenceIterCompareFunc"/>
          </parameter>
          <parameter name="cmp_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend"
              c:identifier="g_sequence_prepend"
              introspectable="0">
        <return-value>
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="search"
              c:identifier="g_sequence_search"
              introspectable="0">
        <return-value>
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="cmp_func" transfer-ownership="none" closure="2">
            <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
          </parameter>
          <parameter name="cmp_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_iter"
              c:identifier="g_sequence_search_iter"
              introspectable="0">
        <return-value>
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="iter_cmp" transfer-ownership="none" closure="2">
            <type name="SequenceIterCompareFunc"
                  c:type="GSequenceIterCompareFunc"/>
          </parameter>
          <parameter name="cmp_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="sort" c:identifier="g_sequence_sort" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="cmp_func" transfer-ownership="none" closure="1">
            <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
          </parameter>
          <parameter name="cmp_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="sort_iter"
              c:identifier="g_sequence_sort_iter"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="cmp_func" transfer-ownership="none" closure="1">
            <type name="SequenceIterCompareFunc"
                  c:type="GSequenceIterCompareFunc"/>
          </parameter>
          <parameter name="cmp_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="SequenceIter" c:type="GSequenceIter" disguised="1">
      <method name="compare" c:identifier="g_sequence_iter_compare">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="b" transfer-ownership="none">
            <type name="SequenceIter" c:type="GSequenceIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_position" c:identifier="g_sequence_iter_get_position">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_sequence"
              c:identifier="g_sequence_iter_get_sequence"
              introspectable="0">
        <return-value>
          <type name="Sequence" c:type="GSequence*"/>
        </return-value>
      </method>
      <method name="is_begin" c:identifier="g_sequence_iter_is_begin">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_end" c:identifier="g_sequence_iter_is_end">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="move"
              c:identifier="g_sequence_iter_move"
              introspectable="0">
        <return-value>
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </return-value>
        <parameters>
          <parameter name="delta" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="next"
              c:identifier="g_sequence_iter_next"
              introspectable="0">
        <return-value>
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </return-value>
      </method>
      <method name="prev"
              c:identifier="g_sequence_iter_prev"
              introspectable="0">
        <return-value>
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </return-value>
      </method>
    </record>
    <callback name="SequenceIterCompareFunc" c:type="GSequenceIterCompareFunc">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="a" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="ShellError"
                 c:type="GShellError"
                 glib:error-quark="g_shell_error_quark">
      <member name="bad_quoting"
              value="0"
              c:identifier="G_SHELL_ERROR_BAD_QUOTING"/>
      <member name="empty_string"
              value="1"
              c:identifier="G_SHELL_ERROR_EMPTY_STRING"/>
      <member name="failed" value="2" c:identifier="G_SHELL_ERROR_FAILED"/>
    </enumeration>
    <enumeration name="SliceConfig" c:type="GSliceConfig">
      <member name="always_malloc"
              value="1"
              c:identifier="G_SLICE_CONFIG_ALWAYS_MALLOC"/>
      <member name="bypass_magazines"
              value="2"
              c:identifier="G_SLICE_CONFIG_BYPASS_MAGAZINES"/>
      <member name="working_set_msecs"
              value="3"
              c:identifier="G_SLICE_CONFIG_WORKING_SET_MSECS"/>
      <member name="color_increment"
              value="4"
              c:identifier="G_SLICE_CONFIG_COLOR_INCREMENT"/>
      <member name="chunk_sizes"
              value="5"
              c:identifier="G_SLICE_CONFIG_CHUNK_SIZES"/>
      <member name="contention_counter"
              value="6"
              c:identifier="G_SLICE_CONFIG_CONTENTION_COUNTER"/>
    </enumeration>
    <record name="Source" c:type="GSource">
      <doc xml:whitespace="preserve">The &lt;structname&gt;GSource&lt;/structname&gt; struct is an opaque data type
representing an event source.</doc>
      <field name="callback_data" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="callback_funcs" readable="0" private="1">
        <type name="SourceCallbackFuncs" c:type="GSourceCallbackFuncs*"/>
      </field>
      <field name="source_funcs" readable="0" private="1">
        <type name="SourceFuncs" c:type="GSourceFuncs*"/>
      </field>
      <field name="ref_count" readable="0" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="context" readable="0" private="1">
        <type name="MainContext" c:type="GMainContext*"/>
      </field>
      <field name="priority" readable="0" private="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="flags" readable="0" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="source_id" readable="0" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="poll_fds" readable="0" private="1">
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="prev" readable="0" private="1">
        <type name="Source" c:type="GSource*"/>
      </field>
      <field name="next" readable="0" private="1">
        <type name="Source" c:type="GSource*"/>
      </field>
      <field name="name" readable="0" private="1">
        <type name="utf8" c:type="char*"/>
      </field>
      <field name="reserved2" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <method name="add_poll" c:identifier="g_source_add_poll">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="fd" transfer-ownership="none">
            <type name="PollFD" c:type="GPollFD*"/>
          </parameter>
        </parameters>
      </method>
      <method name="attach" c:identifier="g_source_attach">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <type name="MainContext" c:type="GMainContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="destroy" c:identifier="g_source_destroy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_can_recurse" c:identifier="g_source_get_can_recurse">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_context"
              c:identifier="g_source_get_context"
              introspectable="0">
        <return-value>
          <type name="MainContext" c:type="GMainContext*"/>
        </return-value>
      </method>
      <method name="get_current_time" c:identifier="g_source_get_current_time">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="timeval" transfer-ownership="none">
            <type name="TimeVal" c:type="GTimeVal*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="g_source_get_id">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="get_name" c:identifier="g_source_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </return-value>
      </method>
      <method name="get_priority" c:identifier="g_source_get_priority">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="is_destroyed" c:identifier="g_source_is_destroyed">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="ref" c:identifier="g_source_ref" introspectable="0">
        <return-value>
          <type name="Source" c:type="GSource*"/>
        </return-value>
      </method>
      <method name="remove_poll" c:identifier="g_source_remove_poll">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="fd" transfer-ownership="none">
            <type name="PollFD" c:type="GPollFD*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_callback" c:identifier="g_source_set_callback">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="notified"
                     closure="1"
                     destroy="2">
            <type name="SourceFunc" c:type="GSourceFunc"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none" scope="async">
            <type name="DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_callback_indirect"
              c:identifier="g_source_set_callback_indirect">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="callback_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="callback_funcs" transfer-ownership="none">
            <type name="SourceCallbackFuncs" c:type="GSourceCallbackFuncs*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_can_recurse" c:identifier="g_source_set_can_recurse">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="can_recurse" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_funcs" c:identifier="g_source_set_funcs">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="funcs" transfer-ownership="none">
            <type name="SourceFuncs" c:type="GSourceFuncs*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name" c:identifier="g_source_set_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_priority" c:identifier="g_source_set_priority">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="priority" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="g_source_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <record name="SourceCallbackFuncs" c:type="GSourceCallbackFuncs">
      <doc xml:whitespace="preserve">The &lt;structname&gt;GSourceCallbackFuncs&lt;/structname&gt; struct contains
functions for managing callback objects.</doc>
      <field name="ref">
        <callback name="ref">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cb_data" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unref">
        <callback name="unref">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cb_data" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get" introspectable="0">
        <callback name="get" introspectable="0">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cb_data" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
            <parameter name="source" transfer-ownership="none">
              <type name="Source" c:type="GSource*"/>
            </parameter>
            <parameter name="func" transfer-ownership="none" closure="3">
              <type name="SourceFunc" c:type="GSourceFunc*"/>
            </parameter>
            <parameter name="data" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <callback name="SourceDummyMarshal" c:type="GSourceDummyMarshal">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </callback>
    <callback name="SourceFunc" c:type="GSourceFunc">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none" closure="0">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="SourceFuncs" c:type="GSourceFuncs">
      <doc xml:whitespace="preserve">The &lt;structname&gt;GSourceFuncs&lt;/structname&gt; struct contains a table of
functions used to handle event sources in a generic manner.
For idle sources, the prepare and check functions always return %TRUE
to indicate that the source is always ready to be processed. The prepare
function also returns a timeout value of 0 to ensure that the poll() call
doesn't block (since that would be time wasted which could have been spent
running the idle function).
For timeout sources, the prepare and check functions both return %TRUE
if the timeout interval has expired. The prepare function also returns
a timeout value to ensure that the poll() call doesn't block too long
and miss the next timeout.
For file descriptor sources, the prepare function typically returns %FALSE,
since it must wait until poll() has been called before it knows whether
any events need to be processed. It sets the returned timeout to -1 to
indicate that it doesn't mind how long the poll() call blocks. In the
check function, it tests the results of the poll() call to see if the
required condition has been met, and returns %TRUE if so.</doc>
      <field name="prepare">
        <callback name="prepare">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="source" transfer-ownership="none">
              <type name="Source" c:type="GSource*"/>
            </parameter>
            <parameter name="timeout_" transfer-ownership="none">
              <type name="gint" c:type="gint*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="check">
        <callback name="check">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="source" transfer-ownership="none">
              <type name="Source" c:type="GSource*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="dispatch" introspectable="0">
        <callback name="dispatch" introspectable="0">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="source" transfer-ownership="none">
              <type name="Source" c:type="GSource*"/>
            </parameter>
            <parameter name="callback" transfer-ownership="none" closure="2">
              <type name="SourceFunc" c:type="GSourceFunc"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="2">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="finalize">
        <callback name="finalize">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="source" transfer-ownership="none">
              <type name="Source" c:type="GSource*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="closure_callback" writable="1">
        <type name="SourceFunc" c:type="GSourceFunc"/>
      </field>
      <field name="closure_marshal" writable="1">
        <type name="SourceDummyMarshal" c:type="GSourceDummyMarshal"/>
      </field>
    </record>
    <callback name="SpawnChildSetupFunc" c:type="GSpawnChildSetupFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="user_data" transfer-ownership="none" closure="0">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="SpawnError"
                 c:type="GSpawnError"
                 glib:error-quark="g_spawn_error_quark">
      <member name="fork" value="0" c:identifier="G_SPAWN_ERROR_FORK"/>
      <member name="read" value="1" c:identifier="G_SPAWN_ERROR_READ"/>
      <member name="chdir" value="2" c:identifier="G_SPAWN_ERROR_CHDIR"/>
      <member name="acces" value="3" c:identifier="G_SPAWN_ERROR_ACCES"/>
      <member name="perm" value="4" c:identifier="G_SPAWN_ERROR_PERM"/>
      <member name="2big" value="5" c:identifier="G_SPAWN_ERROR_2BIG"/>
      <member name="noexec" value="6" c:identifier="G_SPAWN_ERROR_NOEXEC"/>
      <member name="nametoolong"
              value="7"
              c:identifier="G_SPAWN_ERROR_NAMETOOLONG"/>
      <member name="noent" value="8" c:identifier="G_SPAWN_ERROR_NOENT"/>
      <member name="nomem" value="9" c:identifier="G_SPAWN_ERROR_NOMEM"/>
      <member name="notdir" value="10" c:identifier="G_SPAWN_ERROR_NOTDIR"/>
      <member name="loop" value="11" c:identifier="G_SPAWN_ERROR_LOOP"/>
      <member name="txtbusy" value="12" c:identifier="G_SPAWN_ERROR_TXTBUSY"/>
      <member name="io" value="13" c:identifier="G_SPAWN_ERROR_IO"/>
      <member name="nfile" value="14" c:identifier="G_SPAWN_ERROR_NFILE"/>
      <member name="mfile" value="15" c:identifier="G_SPAWN_ERROR_MFILE"/>
      <member name="inval" value="16" c:identifier="G_SPAWN_ERROR_INVAL"/>
      <member name="isdir" value="17" c:identifier="G_SPAWN_ERROR_ISDIR"/>
      <member name="libbad" value="18" c:identifier="G_SPAWN_ERROR_LIBBAD"/>
      <member name="failed" value="19" c:identifier="G_SPAWN_ERROR_FAILED"/>
    </enumeration>
    <bitfield name="SpawnFlags" c:type="GSpawnFlags">
      <member name="leave_descriptors_open"
              value="1"
              c:identifier="G_SPAWN_LEAVE_DESCRIPTORS_OPEN"/>
      <member name="do_not_reap_child"
              value="2"
              c:identifier="G_SPAWN_DO_NOT_REAP_CHILD"/>
      <member name="search_path" value="4" c:identifier="G_SPAWN_SEARCH_PATH"/>
      <member name="stdout_to_dev_null"
              value="8"
              c:identifier="G_SPAWN_STDOUT_TO_DEV_NULL"/>
      <member name="stderr_to_dev_null"
              value="16"
              c:identifier="G_SPAWN_STDERR_TO_DEV_NULL"/>
      <member name="child_inherits_stdin"
              value="32"
              c:identifier="G_SPAWN_CHILD_INHERITS_STDIN"/>
      <member name="file_and_argv_zero"
              value="64"
              c:identifier="G_SPAWN_FILE_AND_ARGV_ZERO"/>
    </bitfield>
    <record name="StatBuf" c:type="GStatBuf" disguised="1">
    </record>
    <record name="StaticMutex" c:type="GStaticMutex">
      <field name="runtime_mutex" writable="1">
        <type name="gpointer" c:type="gpointer*"/>
      </field>
      <union name="static_mutex" c:type="static_mutex">
        <field name="pad" writable="1">
          <array zero-terminated="0" c:type="gchar" fixed-size="4">
            <type name="gchar" c:type="char"/>
          </array>
        </field>
        <field name="dummy_double" writable="1">
          <type name="gdouble" c:type="double"/>
        </field>
        <field name="dummy_pointer" writable="1">
          <type name="gpointer" c:type="void*"/>
        </field>
        <field name="dummy_long" writable="1">
          <type name="glong" c:type="long"/>
        </field>
      </union>
      <method name="free" c:identifier="g_static_mutex_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="init" c:identifier="g_static_mutex_init">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <record name="StaticPrivate" c:type="GStaticPrivate">
      <field name="index" readable="0" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <method name="free" c:identifier="g_static_private_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get"
              c:identifier="g_static_private_get"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="init" c:identifier="g_static_private_init">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set" c:identifier="g_static_private_set">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none" scope="async">
            <type name="DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="StaticRWLock" c:type="GStaticRWLock">
      <field name="mutex" readable="0" private="1">
        <type name="StaticMutex" c:type="GStaticMutex"/>
      </field>
      <field name="read_cond" readable="0" private="1">
        <type name="Cond" c:type="GCond*"/>
      </field>
      <field name="write_cond" readable="0" private="1">
        <type name="Cond" c:type="GCond*"/>
      </field>
      <field name="read_counter" readable="0" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="have_writer" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="want_to_read" readable="0" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="want_to_write" readable="0" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <method name="free" c:identifier="g_static_rw_lock_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="init" c:identifier="g_static_rw_lock_init">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="reader_lock" c:identifier="g_static_rw_lock_reader_lock">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="reader_trylock"
              c:identifier="g_static_rw_lock_reader_trylock">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="reader_unlock"
              c:identifier="g_static_rw_lock_reader_unlock">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="writer_lock" c:identifier="g_static_rw_lock_writer_lock">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="writer_trylock"
              c:identifier="g_static_rw_lock_writer_trylock">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="writer_unlock"
              c:identifier="g_static_rw_lock_writer_unlock">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <record name="StaticRecMutex" c:type="GStaticRecMutex">
      <field name="mutex" readable="0" private="1">
        <type name="StaticMutex" c:type="GStaticMutex"/>
      </field>
      <field name="depth" readable="0" private="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="owner" readable="0" private="1">
        <type name="SystemThread" c:type="GSystemThread"/>
      </field>
      <method name="free" c:identifier="g_static_rec_mutex_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="init" c:identifier="g_static_rec_mutex_init">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="lock" c:identifier="g_static_rec_mutex_lock">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="lock_full" c:identifier="g_static_rec_mutex_lock_full">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="depth" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="trylock" c:identifier="g_static_rec_mutex_trylock">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="unlock" c:identifier="g_static_rec_mutex_unlock">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unlock_full" c:identifier="g_static_rec_mutex_unlock_full">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
    </record>
    <record name="String" c:type="GString">
      <field name="str" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="len" writable="1">
        <type name="gulong" c:type="gsize"/>
      </field>
      <field name="allocated_len" writable="1">
        <type name="gulong" c:type="gsize"/>
      </field>
      <method name="append" c:identifier="g_string_append" introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="val" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="append_c"
              c:identifier="g_string_append_c"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="c" transfer-ownership="none">
            <type name="gchar" c:type="gchar"/>
          </parameter>
        </parameters>
      </method>
      <method name="append_len"
              c:identifier="g_string_append_len"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="val" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="append_printf"
              c:identifier="g_string_append_printf"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="append_unichar"
              c:identifier="g_string_append_unichar"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="wc" transfer-ownership="none">
            <type name="gunichar" c:type="gunichar"/>
          </parameter>
        </parameters>
      </method>
      <method name="append_uri_escaped"
              c:identifier="g_string_append_uri_escaped"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="unescaped" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="reserved_chars_allowed" transfer-ownership="none">
            <type name="utf8" c:type="char*"/>
          </parameter>
          <parameter name="allow_utf8" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="append_vprintf"
              c:identifier="g_string_append_vprintf"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="args" transfer-ownership="none">
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="ascii_down"
              c:identifier="g_string_ascii_down"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
      </method>
      <method name="ascii_up"
              c:identifier="g_string_ascii_up"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
      </method>
      <method name="assign" c:identifier="g_string_assign" introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="rval" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="down" c:identifier="g_string_down" introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
      </method>
      <method name="equal" c:identifier="g_string_equal">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="v2" transfer-ownership="none">
            <type name="String" c:type="GString*"/>
          </parameter>
        </parameters>
      </method>
      <method name="erase" c:identifier="g_string_erase" introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="pos" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="g_string_free">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="free_segment" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="hash" c:identifier="g_string_hash">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="insert" c:identifier="g_string_insert" introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="pos" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_c"
              c:identifier="g_string_insert_c"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="pos" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
          <parameter name="c" transfer-ownership="none">
            <type name="gchar" c:type="gchar"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_len"
              c:identifier="g_string_insert_len"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="pos" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_unichar"
              c:identifier="g_string_insert_unichar"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="pos" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
          <parameter name="wc" transfer-ownership="none">
            <type name="gunichar" c:type="gunichar"/>
          </parameter>
        </parameters>
      </method>
      <method name="overwrite"
              c:identifier="g_string_overwrite"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="pos" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="overwrite_len"
              c:identifier="g_string_overwrite_len"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="pos" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
          <parameter name="val" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend"
              c:identifier="g_string_prepend"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="val" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend_c"
              c:identifier="g_string_prepend_c"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="c" transfer-ownership="none">
            <type name="gchar" c:type="gchar"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend_len"
              c:identifier="g_string_prepend_len"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="val" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend_unichar"
              c:identifier="g_string_prepend_unichar"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="wc" transfer-ownership="none">
            <type name="gunichar" c:type="gunichar"/>
          </parameter>
        </parameters>
      </method>
      <method name="printf" c:identifier="g_string_printf" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="set_size"
              c:identifier="g_string_set_size"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="len" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="truncate"
              c:identifier="g_string_truncate"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="len" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="up" c:identifier="g_string_up" introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
      </method>
      <method name="vprintf"
              c:identifier="g_string_vprintf"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="args" transfer-ownership="none">
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <record name="StringChunk" c:type="GStringChunk" disguised="1">
      <method name="clear" c:identifier="g_string_chunk_clear">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="free" c:identifier="g_string_chunk_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="insert" c:identifier="g_string_chunk_insert">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_const" c:identifier="g_string_chunk_insert_const">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_len" c:identifier="g_string_chunk_insert_len">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <union name="SystemThread" c:type="GSystemThread">
      <field name="data" writable="1">
        <array zero-terminated="0" c:type="gchar" fixed-size="4">
          <type name="gchar" c:type="char"/>
        </array>
      </field>
      <field name="dummy_double" writable="1">
        <type name="gdouble" c:type="double"/>
      </field>
      <field name="dummy_pointer" writable="1">
        <type name="gpointer" c:type="void*"/>
      </field>
      <field name="dummy_long" writable="1">
        <type name="glong" c:type="long"/>
      </field>
    </union>
    <record name="TestCase" c:type="GTestCase" disguised="1">
    </record>
    <record name="TestConfig" c:type="GTestConfig">
      <field name="test_initialized" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="test_quick" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="test_perf" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="test_verbose" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="test_quiet" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
    </record>
    <callback name="TestDataFunc" c:type="GTestDataFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="user_data" transfer-ownership="none" closure="0">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="TestFixtureFunc" c:type="GTestFixtureFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="fixture" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="1">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="TestFunc" c:type="GTestFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </callback>
    <record name="TestLogBuffer" c:type="GTestLogBuffer">
      <field name="data" readable="0" private="1">
        <type name="String" c:type="GString*"/>
      </field>
      <field name="msgs" readable="0" private="1">
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <method name="free" c:identifier="g_test_log_buffer_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="pop"
              c:identifier="g_test_log_buffer_pop"
              introspectable="0">
        <return-value>
          <type name="TestLogMsg" c:type="GTestLogMsg*"/>
        </return-value>
      </method>
      <method name="push" c:identifier="g_test_log_buffer_push">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="n_bytes" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="bytes" transfer-ownership="none">
            <type name="guint8" c:type="guint8*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <callback name="TestLogFatalFunc"
              c:type="GTestLogFatalFunc"
              version="2.22">
      <doc xml:whitespace="preserve">Specifies the prototype of fatal log handler functions.</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">%TRUE if the program should abort, %FALSE otherwise</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="log_domain" transfer-ownership="none">
          <doc xml:whitespace="preserve">the log domain of the message</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="log_level" transfer-ownership="none">
          <doc xml:whitespace="preserve">the log level of the message (including the fatal and recursion flags)</doc>
          <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <doc xml:whitespace="preserve">the message to process</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="3">
          <doc xml:whitespace="preserve">user data, set in g_test_log_set_fatal_handler()</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="TestLogMsg" c:type="GTestLogMsg">
      <field name="log_type" writable="1">
        <type name="TestLogType" c:type="GTestLogType"/>
      </field>
      <field name="n_strings" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="strings" writable="1">
        <type name="utf8" c:type="gchar**"/>
      </field>
      <field name="n_nums" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="nums" writable="1">
        <type name="glong" c:type="long*"/>
      </field>
      <method name="free" c:identifier="g_test_log_msg_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <enumeration name="TestLogType" c:type="GTestLogType">
      <member name="none" value="0" c:identifier="G_TEST_LOG_NONE"/>
      <member name="error" value="1" c:identifier="G_TEST_LOG_ERROR"/>
      <member name="start_binary"
              value="2"
              c:identifier="G_TEST_LOG_START_BINARY"/>
      <member name="list_case" value="3" c:identifier="G_TEST_LOG_LIST_CASE"/>
      <member name="skip_case" value="4" c:identifier="G_TEST_LOG_SKIP_CASE"/>
      <member name="start_case"
              value="5"
              c:identifier="G_TEST_LOG_START_CASE"/>
      <member name="stop_case" value="6" c:identifier="G_TEST_LOG_STOP_CASE"/>
      <member name="min_result"
              value="7"
              c:identifier="G_TEST_LOG_MIN_RESULT"/>
      <member name="max_result"
              value="8"
              c:identifier="G_TEST_LOG_MAX_RESULT"/>
      <member name="message" value="9" c:identifier="G_TEST_LOG_MESSAGE"/>
    </enumeration>
    <record name="TestSuite" c:type="GTestSuite" disguised="1">
      <method name="add" c:identifier="g_test_suite_add">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="test_case" transfer-ownership="none">
            <type name="TestCase" c:type="GTestCase*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_suite" c:identifier="g_test_suite_add_suite">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="nestedsuite" transfer-ownership="none">
            <type name="TestSuite" c:type="GTestSuite*"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <bitfield name="TestTrapFlags" c:type="GTestTrapFlags">
      <member name="silence_stdout"
              value="128"
              c:identifier="G_TEST_TRAP_SILENCE_STDOUT"/>
      <member name="silence_stderr"
              value="256"
              c:identifier="G_TEST_TRAP_SILENCE_STDERR"/>
      <member name="inherit_stdin"
              value="512"
              c:identifier="G_TEST_TRAP_INHERIT_STDIN"/>
    </bitfield>
    <record name="Thread" c:type="GThread">
      <field name="func" introspectable="0" readable="0" private="1">
        <type name="ThreadFunc" c:type="GThreadFunc"/>
      </field>
      <field name="data" readable="0" private="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="joinable" readable="0" private="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="priority" readable="0" private="1">
        <type name="ThreadPriority" c:type="GThreadPriority"/>
      </field>
      <method name="join" c:identifier="g_thread_join" introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
      </method>
      <method name="set_priority" c:identifier="g_thread_set_priority">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="priority" transfer-ownership="none">
            <type name="ThreadPriority" c:type="GThreadPriority"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="ThreadError"
                 c:type="GThreadError"
                 glib:error-quark="g_thread_error_quark">
      <member name="thread_error_again"
              value="0"
              c:identifier="G_THREAD_ERROR_AGAIN"/>
    </enumeration>
    <callback name="ThreadFunc" c:type="GThreadFunc" introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="ThreadFunctions" c:type="GThreadFunctions">
      <field name="mutex_new" introspectable="0">
        <callback name="mutex_new" introspectable="0">
          <return-value>
            <type name="Mutex" c:type="GMutex*"/>
          </return-value>
        </callback>
      </field>
      <field name="mutex_lock">
        <callback name="mutex_lock">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="mutex" transfer-ownership="none">
              <type name="Mutex" c:type="GMutex*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="mutex_trylock">
        <callback name="mutex_trylock">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="mutex" transfer-ownership="none">
              <type name="Mutex" c:type="GMutex*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="mutex_unlock">
        <callback name="mutex_unlock">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="mutex" transfer-ownership="none">
              <type name="Mutex" c:type="GMutex*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="mutex_free">
        <callback name="mutex_free">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="mutex" transfer-ownership="none">
              <type name="Mutex" c:type="GMutex*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cond_new" introspectable="0">
        <callback name="cond_new" introspectable="0">
          <return-value>
            <type name="Cond" c:type="GCond*"/>
          </return-value>
        </callback>
      </field>
      <field name="cond_signal">
        <callback name="cond_signal">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cond" transfer-ownership="none">
              <type name="Cond" c:type="GCond*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cond_broadcast">
        <callback name="cond_broadcast">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cond" transfer-ownership="none">
              <type name="Cond" c:type="GCond*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cond_wait">
        <callback name="cond_wait">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cond" transfer-ownership="none">
              <type name="Cond" c:type="GCond*"/>
            </parameter>
            <parameter name="mutex" transfer-ownership="none">
              <type name="Mutex" c:type="GMutex*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cond_timed_wait">
        <callback name="cond_timed_wait">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="cond" transfer-ownership="none">
              <type name="Cond" c:type="GCond*"/>
            </parameter>
            <parameter name="mutex" transfer-ownership="none">
              <type name="Mutex" c:type="GMutex*"/>
            </parameter>
            <parameter name="end_time" transfer-ownership="none">
              <type name="TimeVal" c:type="GTimeVal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cond_free">
        <callback name="cond_free">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="cond" transfer-ownership="none">
              <type name="Cond" c:type="GCond*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="private_new" introspectable="0">
        <callback name="private_new" introspectable="0">
          <return-value>
            <type name="Private" c:type="GPrivate*"/>
          </return-value>
          <parameters>
            <parameter name="destructor"
                       transfer-ownership="none"
                       scope="async">
              <type name="DestroyNotify" c:type="GDestroyNotify"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="private_get" introspectable="0">
        <callback name="private_get" introspectable="0">
          <return-value>
            <type name="gpointer" c:type="gpointer"/>
          </return-value>
          <parameters>
            <parameter name="private_key" transfer-ownership="none">
              <type name="Private" c:type="GPrivate*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="private_set">
        <callback name="private_set">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="private_key" transfer-ownership="none">
              <type name="Private" c:type="GPrivate*"/>
            </parameter>
            <parameter name="data" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="thread_create" introspectable="0">
        <callback name="thread_create" introspectable="0" throws="1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="func" transfer-ownership="none" closure="1">
              <type name="ThreadFunc" c:type="GThreadFunc"/>
            </parameter>
            <parameter name="data" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
            <parameter name="stack_size" transfer-ownership="none">
              <type name="gulong" c:type="gulong"/>
            </parameter>
            <parameter name="joinable" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="bound" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
            <parameter name="priority" transfer-ownership="none">
              <type name="ThreadPriority" c:type="GThreadPriority"/>
            </parameter>
            <parameter name="thread" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="thread_yield">
        <callback name="thread_yield">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="thread_join">
        <callback name="thread_join">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="thread" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="thread_exit">
        <callback name="thread_exit">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="thread_set_priority">
        <callback name="thread_set_priority">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="thread" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
            <parameter name="priority" transfer-ownership="none">
              <type name="ThreadPriority" c:type="GThreadPriority"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="thread_self">
        <callback name="thread_self">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="thread" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="thread_equal">
        <callback name="thread_equal">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="thread1" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
            <parameter name="thread2" transfer-ownership="none">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ThreadPool" c:type="GThreadPool">
      <field name="func" writable="1">
        <type name="Func" c:type="GFunc"/>
      </field>
      <field name="user_data" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="exclusive" writable="1">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <method name="free" c:identifier="g_thread_pool_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="immediate" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="wait_" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_max_threads"
              c:identifier="g_thread_pool_get_max_threads">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_num_threads"
              c:identifier="g_thread_pool_get_num_threads">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
      <method name="push" c:identifier="g_thread_pool_push" throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_max_threads"
              c:identifier="g_thread_pool_set_max_threads"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="max_threads" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sort_function"
              c:identifier="g_thread_pool_set_sort_function"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none" closure="1">
            <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="unprocessed" c:identifier="g_thread_pool_unprocessed">
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
      </method>
    </record>
    <enumeration name="ThreadPriority" c:type="GThreadPriority">
      <member name="low" value="0" c:identifier="G_THREAD_PRIORITY_LOW"/>
      <member name="normal" value="1" c:identifier="G_THREAD_PRIORITY_NORMAL"/>
      <member name="high" value="2" c:identifier="G_THREAD_PRIORITY_HIGH"/>
      <member name="urgent" value="3" c:identifier="G_THREAD_PRIORITY_URGENT"/>
    </enumeration>
    <record name="TimeVal" c:type="GTimeVal">
      <field name="tv_sec" writable="1">
        <type name="glong" c:type="glong"/>
      </field>
      <field name="tv_usec" writable="1">
        <type name="glong" c:type="glong"/>
      </field>
      <method name="add" c:identifier="g_time_val_add">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="microseconds" transfer-ownership="none">
            <type name="glong" c:type="glong"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_iso8601" c:identifier="g_time_val_to_iso8601">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
    </record>
    <record name="TimeZone" c:type="GTimeZone" disguised="1">
      <method name="ref" c:identifier="g_time_zone_ref" introspectable="0">
        <return-value>
          <type name="TimeZone" c:type="GTimeZone*"/>
        </return-value>
      </method>
      <method name="unref" c:identifier="g_time_zone_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <record name="Timer" c:type="GTimer" disguised="1">
      <method name="continue" c:identifier="g_timer_continue">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="destroy" c:identifier="g_timer_destroy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="elapsed" c:identifier="g_timer_elapsed">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <parameter name="microseconds" transfer-ownership="none">
            <type name="gulong" c:type="gulong*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reset" c:identifier="g_timer_reset">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="start" c:identifier="g_timer_start">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="stop" c:identifier="g_timer_stop">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <enumeration name="TokenType" c:type="GTokenType">
      <member name="eof" value="0" c:identifier="G_TOKEN_EOF"/>
      <member name="left_paren" value="0" c:identifier="G_TOKEN_LEFT_PAREN"/>
      <member name="right_paren" value="0" c:identifier="G_TOKEN_RIGHT_PAREN"/>
      <member name="left_curly" value="0" c:identifier="G_TOKEN_LEFT_CURLY"/>
      <member name="right_curly" value="0" c:identifier="G_TOKEN_RIGHT_CURLY"/>
      <member name="left_brace" value="0" c:identifier="G_TOKEN_LEFT_BRACE"/>
      <member name="right_brace" value="0" c:identifier="G_TOKEN_RIGHT_BRACE"/>
      <member name="equal_sign" value="0" c:identifier="G_TOKEN_EQUAL_SIGN"/>
      <member name="comma" value="0" c:identifier="G_TOKEN_COMMA"/>
      <member name="none" value="256" c:identifier="G_TOKEN_NONE"/>
      <member name="error" value="257" c:identifier="G_TOKEN_ERROR"/>
      <member name="char" value="258" c:identifier="G_TOKEN_CHAR"/>
      <member name="binary" value="259" c:identifier="G_TOKEN_BINARY"/>
      <member name="octal" value="260" c:identifier="G_TOKEN_OCTAL"/>
      <member name="int" value="261" c:identifier="G_TOKEN_INT"/>
      <member name="hex" value="262" c:identifier="G_TOKEN_HEX"/>
      <member name="float" value="263" c:identifier="G_TOKEN_FLOAT"/>
      <member name="string" value="264" c:identifier="G_TOKEN_STRING"/>
      <member name="symbol" value="265" c:identifier="G_TOKEN_SYMBOL"/>
      <member name="identifier" value="266" c:identifier="G_TOKEN_IDENTIFIER"/>
      <member name="identifier_null"
              value="267"
              c:identifier="G_TOKEN_IDENTIFIER_NULL"/>
      <member name="comment_single"
              value="268"
              c:identifier="G_TOKEN_COMMENT_SINGLE"/>
      <member name="comment_multi"
              value="269"
              c:identifier="G_TOKEN_COMMENT_MULTI"/>
      <member name="last" value="270" c:identifier="G_TOKEN_LAST"/>
    </enumeration>
    <union name="TokenValue" c:type="GTokenValue">
      <field name="v_symbol" writable="1">
        <type name="gpointer" c:type="gpointer"/>
      </field>
      <field name="v_identifier" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="v_binary" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="v_octal" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="v_int" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="v_int64" writable="1">
        <type name="guint64" c:type="guint64"/>
      </field>
      <field name="v_float" writable="1">
        <type name="gdouble" c:type="gdouble"/>
      </field>
      <field name="v_hex" writable="1">
        <type name="gulong" c:type="gulong"/>
      </field>
      <field name="v_string" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="v_comment" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="v_char" writable="1">
        <type name="guint8" c:type="guchar"/>
      </field>
      <field name="v_error" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
    </union>
    <callback name="TranslateFunc" c:type="GTranslateFunc">
      <doc xml:whitespace="preserve">The type of functions which are used to translate user-visible
strings, for &lt;option&gt;--help&lt;/option&gt; output.
The returned string is owned by GLib and must not be freed.</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">a translation of the string for the current locale.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <doc xml:whitespace="preserve">the untranslated string</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <doc xml:whitespace="preserve">user data specified when installing the function, e.g. in g_option_group_set_translate_func()</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="TrashStack" c:type="GTrashStack">
      <field name="next" writable="1">
        <type name="TrashStack" c:type="GTrashStack*"/>
      </field>
    </record>
    <bitfield name="TraverseFlags" c:type="GTraverseFlags">
      <member name="leaves" value="1" c:identifier="G_TRAVERSE_LEAVES"/>
      <member name="non_leaves"
              value="2"
              c:identifier="G_TRAVERSE_NON_LEAVES"/>
      <member name="all" value="3" c:identifier="G_TRAVERSE_ALL"/>
      <member name="mask" value="3" c:identifier="G_TRAVERSE_MASK"/>
      <member name="leafs" value="1" c:identifier="G_TRAVERSE_LEAFS"/>
      <member name="non_leafs" value="2" c:identifier="G_TRAVERSE_NON_LEAFS"/>
    </bitfield>
    <callback name="TraverseFunc" c:type="GTraverseFunc">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="key" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <enumeration name="TraverseType" c:type="GTraverseType">
      <member name="in_order" value="0" c:identifier="G_IN_ORDER"/>
      <member name="pre_order" value="1" c:identifier="G_PRE_ORDER"/>
      <member name="post_order" value="2" c:identifier="G_POST_ORDER"/>
      <member name="level_order" value="3" c:identifier="G_LEVEL_ORDER"/>
    </enumeration>
    <record name="Tree" c:type="GTree" disguised="1">
      <method name="destroy" c:identifier="g_tree_destroy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="foreach" c:identifier="g_tree_foreach" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func" transfer-ownership="none" closure="1">
            <type name="TraverseFunc" c:type="GTraverseFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="height" c:identifier="g_tree_height">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="insert" c:identifier="g_tree_insert">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup" c:identifier="g_tree_lookup" introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_extended" c:identifier="g_tree_lookup_extended">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="lookup_key" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
          <parameter name="orig_key" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer*"/>
          </parameter>
        </parameters>
      </method>
      <method name="nnodes" c:identifier="g_tree_nnodes">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="ref" c:identifier="g_tree_ref" introspectable="0">
        <return-value>
          <type name="Tree" c:type="GTree*"/>
        </return-value>
      </method>
      <method name="remove" c:identifier="g_tree_remove">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="replace" c:identifier="g_tree_replace">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="search" c:identifier="g_tree_search" introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="search_func" transfer-ownership="none" closure="1">
            <type name="CompareFunc" c:type="GCompareFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="steal" c:identifier="g_tree_steal">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="traverse"
              c:identifier="g_tree_traverse"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="traverse_func"
                     transfer-ownership="none"
                     closure="2">
            <type name="TraverseFunc" c:type="GTraverseFunc"/>
          </parameter>
          <parameter name="traverse_type" transfer-ownership="none">
            <type name="TraverseType" c:type="GTraverseType"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="g_tree_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <record name="Tuples" c:type="GTuples">
      <field name="len" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <method name="destroy" c:identifier="g_tuples_destroy">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="index" c:identifier="g_tuples_index" introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gpointer"/>
        </return-value>
        <parameters>
          <parameter name="index_" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="field" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <constant name="URI_RESERVED_CHARS_GENERIC_DELIMITERS" value=":/?#[]@">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS"
              value="!$&amp;&apos;()*+,;=">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="USEC_PER_SEC" value="1000000">
      <type name="gint" c:type="gint"/>
    </constant>
    <enumeration name="UnicodeBreakType" c:type="GUnicodeBreakType">
      <member name="mandatory"
              value="0"
              c:identifier="G_UNICODE_BREAK_MANDATORY"/>
      <member name="carriage_return"
              value="1"
              c:identifier="G_UNICODE_BREAK_CARRIAGE_RETURN"/>
      <member name="line_feed"
              value="2"
              c:identifier="G_UNICODE_BREAK_LINE_FEED"/>
      <member name="combining_mark"
              value="3"
              c:identifier="G_UNICODE_BREAK_COMBINING_MARK"/>
      <member name="surrogate"
              value="4"
              c:identifier="G_UNICODE_BREAK_SURROGATE"/>
      <member name="zero_width_space"
              value="5"
              c:identifier="G_UNICODE_BREAK_ZERO_WIDTH_SPACE"/>
      <member name="inseparable"
              value="6"
              c:identifier="G_UNICODE_BREAK_INSEPARABLE"/>
      <member name="non_breaking_glue"
              value="7"
              c:identifier="G_UNICODE_BREAK_NON_BREAKING_GLUE"/>
      <member name="contingent"
              value="8"
              c:identifier="G_UNICODE_BREAK_CONTINGENT"/>
      <member name="space" value="9" c:identifier="G_UNICODE_BREAK_SPACE"/>
      <member name="after" value="10" c:identifier="G_UNICODE_BREAK_AFTER"/>
      <member name="before" value="11" c:identifier="G_UNICODE_BREAK_BEFORE"/>
      <member name="before_and_after"
              value="12"
              c:identifier="G_UNICODE_BREAK_BEFORE_AND_AFTER"/>
      <member name="hyphen" value="13" c:identifier="G_UNICODE_BREAK_HYPHEN"/>
      <member name="non_starter"
              value="14"
              c:identifier="G_UNICODE_BREAK_NON_STARTER"/>
      <member name="open_punctuation"
              value="15"
              c:identifier="G_UNICODE_BREAK_OPEN_PUNCTUATION"/>
      <member name="close_punctuation"
              value="16"
              c:identifier="G_UNICODE_BREAK_CLOSE_PUNCTUATION"/>
      <member name="quotation"
              value="17"
              c:identifier="G_UNICODE_BREAK_QUOTATION"/>
      <member name="exclamation"
              value="18"
              c:identifier="G_UNICODE_BREAK_EXCLAMATION"/>
      <member name="ideographic"
              value="19"
              c:identifier="G_UNICODE_BREAK_IDEOGRAPHIC"/>
      <member name="numeric"
              value="20"
              c:identifier="G_UNICODE_BREAK_NUMERIC"/>
      <member name="infix_separator"
              value="21"
              c:identifier="G_UNICODE_BREAK_INFIX_SEPARATOR"/>
      <member name="symbol" value="22" c:identifier="G_UNICODE_BREAK_SYMBOL"/>
      <member name="alphabetic"
              value="23"
              c:identifier="G_UNICODE_BREAK_ALPHABETIC"/>
      <member name="prefix" value="24" c:identifier="G_UNICODE_BREAK_PREFIX"/>
      <member name="postfix"
              value="25"
              c:identifier="G_UNICODE_BREAK_POSTFIX"/>
      <member name="complex_context"
              value="26"
              c:identifier="G_UNICODE_BREAK_COMPLEX_CONTEXT"/>
      <member name="ambiguous"
              value="27"
              c:identifier="G_UNICODE_BREAK_AMBIGUOUS"/>
      <member name="unknown"
              value="28"
              c:identifier="G_UNICODE_BREAK_UNKNOWN"/>
      <member name="next_line"
              value="29"
              c:identifier="G_UNICODE_BREAK_NEXT_LINE"/>
      <member name="word_joiner"
              value="30"
              c:identifier="G_UNICODE_BREAK_WORD_JOINER"/>
      <member name="hangul_l_jamo"
              value="31"
              c:identifier="G_UNICODE_BREAK_HANGUL_L_JAMO"/>
      <member name="hangul_v_jamo"
              value="32"
              c:identifier="G_UNICODE_BREAK_HANGUL_V_JAMO"/>
      <member name="hangul_t_jamo"
              value="33"
              c:identifier="G_UNICODE_BREAK_HANGUL_T_JAMO"/>
      <member name="hangul_lv_syllable"
              value="34"
              c:identifier="G_UNICODE_BREAK_HANGUL_LV_SYLLABLE"/>
      <member name="hangul_lvt_syllable"
              value="35"
              c:identifier="G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE"/>
    </enumeration>
    <enumeration name="UnicodeScript" c:type="GUnicodeScript">
      <member name="invalid_code"
              value="-1"
              c:identifier="G_UNICODE_SCRIPT_INVALID_CODE"/>
      <member name="common" value="0" c:identifier="G_UNICODE_SCRIPT_COMMON"/>
      <member name="inherited"
              value="1"
              c:identifier="G_UNICODE_SCRIPT_INHERITED"/>
      <member name="arabic" value="2" c:identifier="G_UNICODE_SCRIPT_ARABIC"/>
      <member name="armenian"
              value="3"
              c:identifier="G_UNICODE_SCRIPT_ARMENIAN"/>
      <member name="bengali"
              value="4"
              c:identifier="G_UNICODE_SCRIPT_BENGALI"/>
      <member name="bopomofo"
              value="5"
              c:identifier="G_UNICODE_SCRIPT_BOPOMOFO"/>
      <member name="cherokee"
              value="6"
              c:identifier="G_UNICODE_SCRIPT_CHEROKEE"/>
      <member name="coptic" value="7" c:identifier="G_UNICODE_SCRIPT_COPTIC"/>
      <member name="cyrillic"
              value="8"
              c:identifier="G_UNICODE_SCRIPT_CYRILLIC"/>
      <member name="deseret"
              value="9"
              c:identifier="G_UNICODE_SCRIPT_DESERET"/>
      <member name="devanagari"
              value="10"
              c:identifier="G_UNICODE_SCRIPT_DEVANAGARI"/>
      <member name="ethiopic"
              value="11"
              c:identifier="G_UNICODE_SCRIPT_ETHIOPIC"/>
      <member name="georgian"
              value="12"
              c:identifier="G_UNICODE_SCRIPT_GEORGIAN"/>
      <member name="gothic" value="13" c:identifier="G_UNICODE_SCRIPT_GOTHIC"/>
      <member name="greek" value="14" c:identifier="G_UNICODE_SCRIPT_GREEK"/>
      <member name="gujarati"
              value="15"
              c:identifier="G_UNICODE_SCRIPT_GUJARATI"/>
      <member name="gurmukhi"
              value="16"
              c:identifier="G_UNICODE_SCRIPT_GURMUKHI"/>
      <member name="han" value="17" c:identifier="G_UNICODE_SCRIPT_HAN"/>
      <member name="hangul" value="18" c:identifier="G_UNICODE_SCRIPT_HANGUL"/>
      <member name="hebrew" value="19" c:identifier="G_UNICODE_SCRIPT_HEBREW"/>
      <member name="hiragana"
              value="20"
              c:identifier="G_UNICODE_SCRIPT_HIRAGANA"/>
      <member name="kannada"
              value="21"
              c:identifier="G_UNICODE_SCRIPT_KANNADA"/>
      <member name="katakana"
              value="22"
              c:identifier="G_UNICODE_SCRIPT_KATAKANA"/>
      <member name="khmer" value="23" c:identifier="G_UNICODE_SCRIPT_KHMER"/>
      <member name="lao" value="24" c:identifier="G_UNICODE_SCRIPT_LAO"/>
      <member name="latin" value="25" c:identifier="G_UNICODE_SCRIPT_LATIN"/>
      <member name="malayalam"
              value="26"
              c:identifier="G_UNICODE_SCRIPT_MALAYALAM"/>
      <member name="mongolian"
              value="27"
              c:identifier="G_UNICODE_SCRIPT_MONGOLIAN"/>
      <member name="myanmar"
              value="28"
              c:identifier="G_UNICODE_SCRIPT_MYANMAR"/>
      <member name="ogham" value="29" c:identifier="G_UNICODE_SCRIPT_OGHAM"/>
      <member name="old_italic"
              value="30"
              c:identifier="G_UNICODE_SCRIPT_OLD_ITALIC"/>
      <member name="oriya" value="31" c:identifier="G_UNICODE_SCRIPT_ORIYA"/>
      <member name="runic" value="32" c:identifier="G_UNICODE_SCRIPT_RUNIC"/>
      <member name="sinhala"
              value="33"
              c:identifier="G_UNICODE_SCRIPT_SINHALA"/>
      <member name="syriac" value="34" c:identifier="G_UNICODE_SCRIPT_SYRIAC"/>
      <member name="tamil" value="35" c:identifier="G_UNICODE_SCRIPT_TAMIL"/>
      <member name="telugu" value="36" c:identifier="G_UNICODE_SCRIPT_TELUGU"/>
      <member name="thaana" value="37" c:identifier="G_UNICODE_SCRIPT_THAANA"/>
      <member name="thai" value="38" c:identifier="G_UNICODE_SCRIPT_THAI"/>
      <member name="tibetan"
              value="39"
              c:identifier="G_UNICODE_SCRIPT_TIBETAN"/>
      <member name="canadian_aboriginal"
              value="40"
              c:identifier="G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL"/>
      <member name="yi" value="41" c:identifier="G_UNICODE_SCRIPT_YI"/>
      <member name="tagalog"
              value="42"
              c:identifier="G_UNICODE_SCRIPT_TAGALOG"/>
      <member name="hanunoo"
              value="43"
              c:identifier="G_UNICODE_SCRIPT_HANUNOO"/>
      <member name="buhid" value="44" c:identifier="G_UNICODE_SCRIPT_BUHID"/>
      <member name="tagbanwa"
              value="45"
              c:identifier="G_UNICODE_SCRIPT_TAGBANWA"/>
      <member name="braille"
              value="46"
              c:identifier="G_UNICODE_SCRIPT_BRAILLE"/>
      <member name="cypriot"
              value="47"
              c:identifier="G_UNICODE_SCRIPT_CYPRIOT"/>
      <member name="limbu" value="48" c:identifier="G_UNICODE_SCRIPT_LIMBU"/>
      <member name="osmanya"
              value="49"
              c:identifier="G_UNICODE_SCRIPT_OSMANYA"/>
      <member name="shavian"
              value="50"
              c:identifier="G_UNICODE_SCRIPT_SHAVIAN"/>
      <member name="linear_b"
              value="51"
              c:identifier="G_UNICODE_SCRIPT_LINEAR_B"/>
      <member name="tai_le" value="52" c:identifier="G_UNICODE_SCRIPT_TAI_LE"/>
      <member name="ugaritic"
              value="53"
              c:identifier="G_UNICODE_SCRIPT_UGARITIC"/>
      <member name="new_tai_lue"
              value="54"
              c:identifier="G_UNICODE_SCRIPT_NEW_TAI_LUE"/>
      <member name="buginese"
              value="55"
              c:identifier="G_UNICODE_SCRIPT_BUGINESE"/>
      <member name="glagolitic"
              value="56"
              c:identifier="G_UNICODE_SCRIPT_GLAGOLITIC"/>
      <member name="tifinagh"
              value="57"
              c:identifier="G_UNICODE_SCRIPT_TIFINAGH"/>
      <member name="syloti_nagri"
              value="58"
              c:identifier="G_UNICODE_SCRIPT_SYLOTI_NAGRI"/>
      <member name="old_persian"
              value="59"
              c:identifier="G_UNICODE_SCRIPT_OLD_PERSIAN"/>
      <member name="kharoshthi"
              value="60"
              c:identifier="G_UNICODE_SCRIPT_KHAROSHTHI"/>
      <member name="unknown"
              value="61"
              c:identifier="G_UNICODE_SCRIPT_UNKNOWN"/>
      <member name="balinese"
              value="62"
              c:identifier="G_UNICODE_SCRIPT_BALINESE"/>
      <member name="cuneiform"
              value="63"
              c:identifier="G_UNICODE_SCRIPT_CUNEIFORM"/>
      <member name="phoenician"
              value="64"
              c:identifier="G_UNICODE_SCRIPT_PHOENICIAN"/>
      <member name="phags_pa"
              value="65"
              c:identifier="G_UNICODE_SCRIPT_PHAGS_PA"/>
      <member name="nko" value="66" c:identifier="G_UNICODE_SCRIPT_NKO"/>
      <member name="kayah_li"
              value="67"
              c:identifier="G_UNICODE_SCRIPT_KAYAH_LI"/>
      <member name="lepcha" value="68" c:identifier="G_UNICODE_SCRIPT_LEPCHA"/>
      <member name="rejang" value="69" c:identifier="G_UNICODE_SCRIPT_REJANG"/>
      <member name="sundanese"
              value="70"
              c:identifier="G_UNICODE_SCRIPT_SUNDANESE"/>
      <member name="saurashtra"
              value="71"
              c:identifier="G_UNICODE_SCRIPT_SAURASHTRA"/>
      <member name="cham" value="72" c:identifier="G_UNICODE_SCRIPT_CHAM"/>
      <member name="ol_chiki"
              value="73"
              c:identifier="G_UNICODE_SCRIPT_OL_CHIKI"/>
      <member name="vai" value="74" c:identifier="G_UNICODE_SCRIPT_VAI"/>
      <member name="carian" value="75" c:identifier="G_UNICODE_SCRIPT_CARIAN"/>
      <member name="lycian" value="76" c:identifier="G_UNICODE_SCRIPT_LYCIAN"/>
      <member name="lydian" value="77" c:identifier="G_UNICODE_SCRIPT_LYDIAN"/>
      <member name="avestan"
              value="78"
              c:identifier="G_UNICODE_SCRIPT_AVESTAN"/>
      <member name="bamum" value="79" c:identifier="G_UNICODE_SCRIPT_BAMUM"/>
      <member name="egyptian_hieroglyphs"
              value="80"
              c:identifier="G_UNICODE_SCRIPT_EGYPTIAN_HIEROGLYPHS"/>
      <member name="imperial_aramaic"
              value="81"
              c:identifier="G_UNICODE_SCRIPT_IMPERIAL_ARAMAIC"/>
      <member name="inscriptional_pahlavi"
              value="82"
              c:identifier="G_UNICODE_SCRIPT_INSCRIPTIONAL_PAHLAVI"/>
      <member name="inscriptional_parthian"
              value="83"
              c:identifier="G_UNICODE_SCRIPT_INSCRIPTIONAL_PARTHIAN"/>
      <member name="javanese"
              value="84"
              c:identifier="G_UNICODE_SCRIPT_JAVANESE"/>
      <member name="kaithi" value="85" c:identifier="G_UNICODE_SCRIPT_KAITHI"/>
      <member name="lisu" value="86" c:identifier="G_UNICODE_SCRIPT_LISU"/>
      <member name="meetei_mayek"
              value="87"
              c:identifier="G_UNICODE_SCRIPT_MEETEI_MAYEK"/>
      <member name="old_south_arabian"
              value="88"
              c:identifier="G_UNICODE_SCRIPT_OLD_SOUTH_ARABIAN"/>
      <member name="old_turkish"
              value="89"
              c:identifier="G_UNICODE_SCRIPT_OLD_TURKISH"/>
      <member name="samaritan"
              value="90"
              c:identifier="G_UNICODE_SCRIPT_SAMARITAN"/>
      <member name="tai_tham"
              value="91"
              c:identifier="G_UNICODE_SCRIPT_TAI_THAM"/>
      <member name="tai_viet"
              value="92"
              c:identifier="G_UNICODE_SCRIPT_TAI_VIET"/>
    </enumeration>
    <enumeration name="UnicodeType" c:type="GUnicodeType">
      <member name="control" value="0" c:identifier="G_UNICODE_CONTROL"/>
      <member name="format" value="1" c:identifier="G_UNICODE_FORMAT"/>
      <member name="unassigned" value="2" c:identifier="G_UNICODE_UNASSIGNED"/>
      <member name="private_use"
              value="3"
              c:identifier="G_UNICODE_PRIVATE_USE"/>
      <member name="surrogate" value="4" c:identifier="G_UNICODE_SURROGATE"/>
      <member name="lowercase_letter"
              value="5"
              c:identifier="G_UNICODE_LOWERCASE_LETTER"/>
      <member name="modifier_letter"
              value="6"
              c:identifier="G_UNICODE_MODIFIER_LETTER"/>
      <member name="other_letter"
              value="7"
              c:identifier="G_UNICODE_OTHER_LETTER"/>
      <member name="titlecase_letter"
              value="8"
              c:identifier="G_UNICODE_TITLECASE_LETTER"/>
      <member name="uppercase_letter"
              value="9"
              c:identifier="G_UNICODE_UPPERCASE_LETTER"/>
      <member name="combining_mark"
              value="10"
              c:identifier="G_UNICODE_COMBINING_MARK"/>
      <member name="enclosing_mark"
              value="11"
              c:identifier="G_UNICODE_ENCLOSING_MARK"/>
      <member name="non_spacing_mark"
              value="12"
              c:identifier="G_UNICODE_NON_SPACING_MARK"/>
      <member name="decimal_number"
              value="13"
              c:identifier="G_UNICODE_DECIMAL_NUMBER"/>
      <member name="letter_number"
              value="14"
              c:identifier="G_UNICODE_LETTER_NUMBER"/>
      <member name="other_number"
              value="15"
              c:identifier="G_UNICODE_OTHER_NUMBER"/>
      <member name="connect_punctuation"
              value="16"
              c:identifier="G_UNICODE_CONNECT_PUNCTUATION"/>
      <member name="dash_punctuation"
              value="17"
              c:identifier="G_UNICODE_DASH_PUNCTUATION"/>
      <member name="close_punctuation"
              value="18"
              c:identifier="G_UNICODE_CLOSE_PUNCTUATION"/>
      <member name="final_punctuation"
              value="19"
              c:identifier="G_UNICODE_FINAL_PUNCTUATION"/>
      <member name="initial_punctuation"
              value="20"
              c:identifier="G_UNICODE_INITIAL_PUNCTUATION"/>
      <member name="other_punctuation"
              value="21"
              c:identifier="G_UNICODE_OTHER_PUNCTUATION"/>
      <member name="open_punctuation"
              value="22"
              c:identifier="G_UNICODE_OPEN_PUNCTUATION"/>
      <member name="currency_symbol"
              value="23"
              c:identifier="G_UNICODE_CURRENCY_SYMBOL"/>
      <member name="modifier_symbol"
              value="24"
              c:identifier="G_UNICODE_MODIFIER_SYMBOL"/>
      <member name="math_symbol"
              value="25"
              c:identifier="G_UNICODE_MATH_SYMBOL"/>
      <member name="other_symbol"
              value="26"
              c:identifier="G_UNICODE_OTHER_SYMBOL"/>
      <member name="line_separator"
              value="27"
              c:identifier="G_UNICODE_LINE_SEPARATOR"/>
      <member name="paragraph_separator"
              value="28"
              c:identifier="G_UNICODE_PARAGRAPH_SEPARATOR"/>
      <member name="space_separator"
              value="29"
              c:identifier="G_UNICODE_SPACE_SEPARATOR"/>
    </enumeration>
    <enumeration name="UserDirectory" version="2.14" c:type="GUserDirectory">
      <doc xml:whitespace="preserve">These are logical ids for special directories which are defined
depending on the platform used. You should use g_get_user_special_dir()
to retrieve the full path associated to the logical id.
The #GUserDirectory enumeration can be extended at later date. Not
every platform has a directory for every logical id in this
enumeration.</doc>
      <member name="directory_desktop"
              value="0"
              c:identifier="G_USER_DIRECTORY_DESKTOP"/>
      <member name="directory_documents"
              value="1"
              c:identifier="G_USER_DIRECTORY_DOCUMENTS"/>
      <member name="directory_download"
              value="2"
              c:identifier="G_USER_DIRECTORY_DOWNLOAD"/>
      <member name="directory_music"
              value="3"
              c:identifier="G_USER_DIRECTORY_MUSIC"/>
      <member name="directory_pictures"
              value="4"
              c:identifier="G_USER_DIRECTORY_PICTURES"/>
      <member name="directory_public_share"
              value="5"
              c:identifier="G_USER_DIRECTORY_PUBLIC_SHARE"/>
      <member name="directory_templates"
              value="6"
              c:identifier="G_USER_DIRECTORY_TEMPLATES"/>
      <member name="directory_videos"
              value="7"
              c:identifier="G_USER_DIRECTORY_VIDEOS"/>
      <member name="n_directories"
              value="8"
              c:identifier="G_USER_N_DIRECTORIES"/>
    </enumeration>
    <constant name="VA_COPY_AS_ARRAY" value="1">
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="Variant"
            c:type="GVariant"
            foreign="1"
            glib:type-name="GVariant"
            glib:get-type="g_variant_get_gtype"
            c:symbol-prefix="variant">
      <constructor name="new" c:identifier="g_variant_new" introspectable="0">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="format_string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_array" c:identifier="g_variant_new_array">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="child_type" transfer-ownership="none">
            <type name="VariantType" c:type="GVariantType*"/>
          </parameter>
          <parameter name="children" transfer-ownership="none">
            <type name="Variant" c:type="GVariant**"/>
          </parameter>
          <parameter name="n_children" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_boolean" c:identifier="g_variant_new_boolean">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="boolean" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_byte" c:identifier="g_variant_new_byte">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="byte" transfer-ownership="none">
            <type name="guint8" c:type="guchar"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_bytestring"
                   c:identifier="g_variant_new_bytestring">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_bytestring_array"
                   c:identifier="g_variant_new_bytestring_array">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="strv" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_double" c:identifier="g_variant_new_double">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="floating" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_data" c:identifier="g_variant_new_from_data">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="VariantType" c:type="GVariantType*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gconstpointer"/>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
          <parameter name="trusted" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="notify" transfer-ownership="none" scope="async">
            <type name="DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_handle" c:identifier="g_variant_new_handle">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="handle" transfer-ownership="none">
            <type name="gint32" c:type="gint32"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_int16" c:identifier="g_variant_new_int16">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="int16" transfer-ownership="none">
            <type name="gint16" c:type="gint16"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_int32" c:identifier="g_variant_new_int32">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="int32" transfer-ownership="none">
            <type name="gint32" c:type="gint32"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_int64" c:identifier="g_variant_new_int64">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="int64" transfer-ownership="none">
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_maybe" c:identifier="g_variant_new_maybe">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="child_type" transfer-ownership="none">
            <type name="VariantType" c:type="GVariantType*"/>
          </parameter>
          <parameter name="child" transfer-ownership="none">
            <type name="Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_object_path"
                   c:identifier="g_variant_new_object_path">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_parsed"
                   c:identifier="g_variant_new_parsed"
                   introspectable="0">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_parsed_va"
                   c:identifier="g_variant_new_parsed_va"
                   introspectable="0">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="app" transfer-ownership="none">
            <type name="va_list" c:type="va_list*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_signature" c:identifier="g_variant_new_signature">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="signature" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_string" c:identifier="g_variant_new_string">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_strv" c:identifier="g_variant_new_strv">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="strv" transfer-ownership="none">
            <array length="1" c:type="gchar**">
              <type name="utf8"/>
            </array>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <type name="glong" c:type="gssize"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_uint16" c:identifier="g_variant_new_uint16">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="uint16" transfer-ownership="none">
            <type name="guint16" c:type="guint16"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_uint32" c:identifier="g_variant_new_uint32">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="uint32" transfer-ownership="none">
            <type name="guint32" c:type="guint32"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_uint64" c:identifier="g_variant_new_uint64">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="uint64" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_va"
                   c:identifier="g_variant_new_va"
                   introspectable="0">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="format_string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="endptr" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="app" transfer-ownership="none">
            <type name="va_list" c:type="va_list*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="byteswap" c:identifier="g_variant_byteswap">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
      </method>
      <method name="classify" c:identifier="g_variant_classify">
        <return-value transfer-ownership="none">
          <type name="VariantClass" c:type="GVariantClass"/>
        </return-value>
      </method>
      <method name="dup_bytestring" c:identifier="g_variant_dup_bytestring">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dup_bytestring_array"
              c:identifier="g_variant_dup_bytestring_array"
              introspectable="0">
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dup_string" c:identifier="g_variant_dup_string">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dup_strv"
              c:identifier="g_variant_dup_strv"
              introspectable="0">
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get" c:identifier="g_variant_get" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="format_string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="get_boolean" c:identifier="g_variant_get_boolean">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_byte" c:identifier="g_variant_get_byte">
        <return-value transfer-ownership="none">
          <type name="guint8" c:type="guchar"/>
        </return-value>
      </method>
      <method name="get_bytestring" c:identifier="g_variant_get_bytestring">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_bytestring_array"
              c:identifier="g_variant_get_bytestring_array"
              introspectable="0">
        <return-value>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="length" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_child"
              c:identifier="g_variant_get_child"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="index_" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
          <parameter name="format_string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="get_child_value" c:identifier="g_variant_get_child_value">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="index_" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_data"
              c:identifier="g_variant_get_data"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gconstpointer"/>
        </return-value>
      </method>
      <method name="get_double" c:identifier="g_variant_get_double">
        <return-value transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
      </method>
      <method name="get_fixed_array"
              c:identifier="g_variant_get_fixed_array"
              introspectable="0">
        <return-value>
          <type name="gpointer" c:type="gconstpointer"/>
        </return-value>
        <parameters>
          <parameter name="n_elements" transfer-ownership="none">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
          <parameter name="element_size" transfer-ownership="none">
            <type name="gulong" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_handle" c:identifier="g_variant_get_handle">
        <return-value transfer-ownership="none">
          <type name="gint32" c:type="gint32"/>
        </return-value>
      </method>
      <method name="get_int16" c:identifier="g_variant_get_int16">
        <return-value transfer-ownership="none">
          <type name="gint16" c:type="gint16"/>
        </return-value>
      </method>
      <method name="get_int32" c:identifier="g_variant_get_int32">
        <return-value transfer-ownership="none">
          <type name="gint32" c:type="gint32"/>
        </return-value>
      </method>
      <method name="get_int64" c:identifier="g_variant_get_int64">
        <return-value transfer-ownership="none">
          <type name="gint64" c:type="gint64"/>
        </return-value>
      </method>
      <method name="get_maybe" c:identifier="g_variant_get_maybe">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
      </method>
      <method name="get_normal_form" c:identifier="g_variant_get_normal_form">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
      </method>
      <method name="get_size" c:identifier="g_variant_get_size">
        <return-value transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </return-value>
      </method>
      <method name="get_string" c:identifier="g_variant_get_string">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="length"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     allow-none="1">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_strv" c:identifier="g_variant_get_strv">
        <return-value transfer-ownership="container">
          <array length="0" c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <parameter name="length"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     allow-none="1">
            <type name="gulong" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_type_string" c:identifier="g_variant_get_type_string">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_uint16" c:identifier="g_variant_get_uint16">
        <return-value transfer-ownership="none">
          <type name="guint16" c:type="guint16"/>
        </return-value>
      </method>
      <method name="get_uint32" c:identifier="g_variant_get_uint32">
        <return-value transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </return-value>
      </method>
      <method name="get_uint64" c:identifier="g_variant_get_uint64">
        <return-value transfer-ownership="none">
          <type name="guint64" c:type="guint64"/>
        </return-value>
      </method>
      <method name="get_va" c:identifier="g_variant_get_va" introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="format_string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="endptr" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="app" transfer-ownership="none">
            <type name="va_list" c:type="va_list*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_variant" c:identifier="g_variant_get_variant">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
      </method>
      <method name="is_container" c:identifier="g_variant_is_container">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_floating" c:identifier="g_variant_is_floating">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_normal_form" c:identifier="g_variant_is_normal_form">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_of_type" c:identifier="g_variant_is_of_type">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="VariantType" c:type="GVariantType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="iter_new"
              c:identifier="g_variant_iter_new"
              introspectable="0">
        <return-value>
          <type name="VariantIter" c:type="GVariantIter*"/>
        </return-value>
      </method>
      <method name="n_children" c:identifier="g_variant_n_children">
        <return-value transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </return-value>
      </method>
      <method name="new_dict_entry" c:identifier="g_variant_new_dict_entry">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="new_variant" c:identifier="g_variant_new_variant">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
      </method>
      <method name="print" c:identifier="g_variant_print">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="type_annotate" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="print_string"
              c:identifier="g_variant_print_string"
              introspectable="0">
        <return-value>
          <type name="String" c:type="GString*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <type name="String" c:type="GString*"/>
          </parameter>
          <parameter name="type_annotate" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="g_variant_ref">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
      </method>
      <method name="ref_sink" c:identifier="g_variant_ref_sink">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
      </method>
      <method name="store" c:identifier="g_variant_store">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="g_variant_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <record name="VariantBuilder" c:type="GVariantBuilder">
      <field name="x" readable="0" private="1">
        <array zero-terminated="0" c:type="gulong" fixed-size="16">
          <type name="gulong" c:type="gsize"/>
        </array>
      </field>
      <method name="add"
              c:identifier="g_variant_builder_add"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="format_string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="add_parsed"
              c:identifier="g_variant_builder_add_parsed"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="add_value" c:identifier="g_variant_builder_add_value">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear" c:identifier="g_variant_builder_clear">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="close" c:identifier="g_variant_builder_close">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="end" c:identifier="g_variant_builder_end">
        <return-value transfer-ownership="none">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
      </method>
      <method name="init" c:identifier="g_variant_builder_init">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="VariantType" c:type="GVariantType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="open" c:identifier="g_variant_builder_open">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <type name="VariantType" c:type="GVariantType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref"
              c:identifier="g_variant_builder_ref"
              introspectable="0">
        <return-value>
          <type name="VariantBuilder" c:type="GVariantBuilder*"/>
        </return-value>
      </method>
      <method name="unref" c:identifier="g_variant_builder_unref">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
    </record>
    <enumeration name="VariantClass" c:type="GVariantClass">
      <member name="boolean" value="0" c:identifier="G_VARIANT_CLASS_BOOLEAN"/>
      <member name="byte" value="0" c:identifier="G_VARIANT_CLASS_BYTE"/>
      <member name="int16" value="0" c:identifier="G_VARIANT_CLASS_INT16"/>
      <member name="uint16" value="0" c:identifier="G_VARIANT_CLASS_UINT16"/>
      <member name="int32" value="0" c:identifier="G_VARIANT_CLASS_INT32"/>
      <member name="uint32" value="0" c:identifier="G_VARIANT_CLASS_UINT32"/>
      <member name="int64" value="0" c:identifier="G_VARIANT_CLASS_INT64"/>
      <member name="uint64" value="0" c:identifier="G_VARIANT_CLASS_UINT64"/>
      <member name="handle" value="0" c:identifier="G_VARIANT_CLASS_HANDLE"/>
      <member name="double" value="0" c:identifier="G_VARIANT_CLASS_DOUBLE"/>
      <member name="string" value="0" c:identifier="G_VARIANT_CLASS_STRING"/>
      <member name="object_path"
              value="0"
              c:identifier="G_VARIANT_CLASS_OBJECT_PATH"/>
      <member name="signature"
              value="0"
              c:identifier="G_VARIANT_CLASS_SIGNATURE"/>
      <member name="variant" value="0" c:identifier="G_VARIANT_CLASS_VARIANT"/>
      <member name="maybe" value="0" c:identifier="G_VARIANT_CLASS_MAYBE"/>
      <member name="array" value="0" c:identifier="G_VARIANT_CLASS_ARRAY"/>
      <member name="tuple" value="0" c:identifier="G_VARIANT_CLASS_TUPLE"/>
      <member name="dict_entry"
              value="0"
              c:identifier="G_VARIANT_CLASS_DICT_ENTRY"/>
    </enumeration>
    <record name="VariantIter" c:type="GVariantIter">
      <field name="x" readable="0" private="1">
        <array zero-terminated="0" c:type="gulong" fixed-size="16">
          <type name="gulong" c:type="gsize"/>
        </array>
      </field>
      <method name="copy"
              c:identifier="g_variant_iter_copy"
              introspectable="0">
        <return-value>
          <type name="VariantIter" c:type="GVariantIter*"/>
        </return-value>
      </method>
      <method name="free" c:identifier="g_variant_iter_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="init" c:identifier="g_variant_iter_init">
        <return-value transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </method>
      <method name="loop"
              c:identifier="g_variant_iter_loop"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="format_string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="n_children" c:identifier="g_variant_iter_n_children">
        <return-value transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </return-value>
      </method>
      <method name="next"
              c:identifier="g_variant_iter_next"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="format_string" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="next_value" c:identifier="g_variant_iter_next_value">
        <return-value transfer-ownership="full">
          <type name="Variant" c:type="GVariant*"/>
        </return-value>
      </method>
    </record>
    <enumeration name="VariantParseError" c:type="GVariantParseError">
      <member name="variant_parse_error_failed"
              value="0"
              c:identifier="G_VARIANT_PARSE_ERROR_FAILED"/>
    </enumeration>
    <record name="VariantType" c:type="GVariantType" disguised="1">
      <doc xml:whitespace="preserve">A type in the GVariant type system.
Two types may not be compared by value; use g_variant_type_equal() or
g_variant_type_is_subtype().  May be copied using
g_variant_type_copy() and freed using g_variant_type_free().</doc>
      <method name="copy"
              c:identifier="g_variant_type_copy"
              introspectable="0">
        <return-value>
          <type name="VariantType" c:type="GVariantType*"/>
        </return-value>
      </method>
      <method name="dup_string" c:identifier="g_variant_type_dup_string">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="element" c:identifier="g_variant_type_element">
        <return-value transfer-ownership="none">
          <type name="VariantType" c:type="GVariantType*"/>
        </return-value>
      </method>
      <method name="first" c:identifier="g_variant_type_first">
        <return-value transfer-ownership="none">
          <type name="VariantType" c:type="GVariantType*"/>
        </return-value>
      </method>
      <method name="free" c:identifier="g_variant_type_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_string_length"
              c:identifier="g_variant_type_get_string_length">
        <return-value transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </return-value>
      </method>
      <method name="is_array" c:identifier="g_variant_type_is_array">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_basic" c:identifier="g_variant_type_is_basic">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_container" c:identifier="g_variant_type_is_container">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_definite" c:identifier="g_variant_type_is_definite">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_dict_entry" c:identifier="g_variant_type_is_dict_entry">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_maybe" c:identifier="g_variant_type_is_maybe">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_subtype_of" c:identifier="g_variant_type_is_subtype_of">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="supertype" transfer-ownership="none">
            <type name="VariantType" c:type="GVariantType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_tuple" c:identifier="g_variant_type_is_tuple">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_variant" c:identifier="g_variant_type_is_variant">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="key" c:identifier="g_variant_type_key">
        <return-value transfer-ownership="none">
          <type name="VariantType" c:type="GVariantType*"/>
        </return-value>
      </method>
      <method name="n_items" c:identifier="g_variant_type_n_items">
        <return-value transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </return-value>
      </method>
      <method name="new_array"
              c:identifier="g_variant_type_new_array"
              introspectable="0">
        <return-value>
          <type name="VariantType" c:type="GVariantType*"/>
        </return-value>
      </method>
      <method name="new_dict_entry"
              c:identifier="g_variant_type_new_dict_entry"
              introspectable="0">
        <return-value>
          <type name="VariantType" c:type="GVariantType*"/>
        </return-value>
        <parameters>
          <parameter name="value" transfer-ownership="none">
            <type name="VariantType" c:type="GVariantType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="new_maybe"
              c:identifier="g_variant_type_new_maybe"
              introspectable="0">
        <return-value>
          <type name="VariantType" c:type="GVariantType*"/>
        </return-value>
      </method>
      <method name="next" c:identifier="g_variant_type_next">
        <return-value transfer-ownership="none">
          <type name="VariantType" c:type="GVariantType*"/>
        </return-value>
      </method>
      <method name="peek_string" c:identifier="g_variant_type_peek_string">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="value" c:identifier="g_variant_type_value">
        <return-value transfer-ownership="none">
          <type name="VariantType" c:type="GVariantType*"/>
        </return-value>
      </method>
    </record>
    <callback name="VoidFunc" c:type="GVoidFunc">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </callback>
    <constant name="WIN32_MSG_HANDLE" value="19981206">
      <type name="gint" c:type="gint"/>
    </constant>
    <function name="access" c:identifier="g_access">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="mode" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="allocator_new"
              c:identifier="g_allocator_new"
              introspectable="0">
      <return-value>
        <type name="Allocator" c:type="GAllocator*"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="n_preallocs" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="array_append_vals"
              c:identifier="g_array_append_vals"
              introspectable="0">
      <return-value>
        <array name="GLib.Array" c:type="GArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="array_free" c:identifier="g_array_free">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="free_segment" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="array_get_element_size"
              c:identifier="g_array_get_element_size">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="array_insert_vals"
              c:identifier="g_array_insert_vals"
              introspectable="0">
      <return-value>
        <array name="GLib.Array" c:type="GArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="index_" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="array_new" c:identifier="g_array_new" introspectable="0">
      <return-value>
        <array name="GLib.Array" c:type="GArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="zero_terminated" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="clear_" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="element_size" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="array_prepend_vals"
              c:identifier="g_array_prepend_vals"
              introspectable="0">
      <return-value>
        <array name="GLib.Array" c:type="GArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="array_ref" c:identifier="g_array_ref" introspectable="0">
      <return-value>
        <array name="GLib.Array" c:type="GArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="array_remove_index"
              c:identifier="g_array_remove_index"
              introspectable="0">
      <return-value>
        <array name="GLib.Array" c:type="GArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="index_" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="array_remove_index_fast"
              c:identifier="g_array_remove_index_fast"
              introspectable="0">
      <return-value>
        <array name="GLib.Array" c:type="GArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="index_" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="array_remove_range"
              c:identifier="g_array_remove_range"
              introspectable="0">
      <return-value>
        <array name="GLib.Array" c:type="GArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="index_" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="array_set_size"
              c:identifier="g_array_set_size"
              introspectable="0">
      <return-value>
        <array name="GLib.Array" c:type="GArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="array_sized_new"
              c:identifier="g_array_sized_new"
              introspectable="0">
      <return-value>
        <array name="GLib.Array" c:type="GArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="zero_terminated" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="clear_" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="element_size" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="reserved_size" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="array_sort" c:identifier="g_array_sort" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="compare_func" transfer-ownership="none">
          <type name="CompareFunc" c:type="GCompareFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="array_sort_with_data"
              c:identifier="g_array_sort_with_data"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="compare_func" transfer-ownership="none" closure="2">
          <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="array_unref" c:identifier="g_array_unref">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.Array" c:type="GArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="ascii_digit_value" c:identifier="g_ascii_digit_value">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gchar" c:type="gchar"/>
        </parameter>
      </parameters>
    </function>
    <function name="ascii_dtostr" c:identifier="g_ascii_dtostr">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="buf_len" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="d" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
      </parameters>
    </function>
    <function name="ascii_formatd" c:identifier="g_ascii_formatd">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="buffer" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="buf_len" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="d" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
      </parameters>
    </function>
    <function name="ascii_strcasecmp" c:identifier="g_ascii_strcasecmp">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="s1" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="s2" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ascii_strdown" c:identifier="g_ascii_strdown">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="ascii_strncasecmp" c:identifier="g_ascii_strncasecmp">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="s1" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="s2" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="ascii_strtod" c:identifier="g_ascii_strtod">
      <return-value transfer-ownership="none">
        <type name="gdouble" c:type="gdouble"/>
      </return-value>
      <parameters>
        <parameter name="nptr" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="endptr" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="ascii_strtoll" c:identifier="g_ascii_strtoll">
      <return-value transfer-ownership="none">
        <type name="gint64" c:type="gint64"/>
      </return-value>
      <parameters>
        <parameter name="nptr" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="endptr" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="base" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="ascii_strtoull" c:identifier="g_ascii_strtoull">
      <return-value transfer-ownership="none">
        <type name="guint64" c:type="guint64"/>
      </return-value>
      <parameters>
        <parameter name="nptr" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="endptr" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="base" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="ascii_strup" c:identifier="g_ascii_strup">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="ascii_tolower" c:identifier="g_ascii_tolower">
      <return-value transfer-ownership="none">
        <type name="gchar" c:type="gchar"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gchar" c:type="gchar"/>
        </parameter>
      </parameters>
    </function>
    <function name="ascii_toupper" c:identifier="g_ascii_toupper">
      <return-value transfer-ownership="none">
        <type name="gchar" c:type="gchar"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gchar" c:type="gchar"/>
        </parameter>
      </parameters>
    </function>
    <function name="ascii_xdigit_value" c:identifier="g_ascii_xdigit_value">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gchar" c:type="gchar"/>
        </parameter>
      </parameters>
    </function>
    <function name="assert_warning" c:identifier="g_assert_warning">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="log_domain" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="pretty_function" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="expression" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="assertion_message" c:identifier="g_assertion_message">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="assertion_message_cmpnum"
              c:identifier="g_assertion_message_cmpnum"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="expr" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="arg1" transfer-ownership="none">
          <type name="long double" c:type="long double"/>
        </parameter>
        <parameter name="cmp" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="arg2" transfer-ownership="none">
          <type name="long double" c:type="long double"/>
        </parameter>
        <parameter name="numtype" transfer-ownership="none">
          <type name="gchar" c:type="char"/>
        </parameter>
      </parameters>
    </function>
    <function name="assertion_message_cmpstr"
              c:identifier="g_assertion_message_cmpstr">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="expr" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="arg1" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="cmp" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="arg2" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="assertion_message_error"
              c:identifier="g_assertion_message_error">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="expr" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="error" transfer-ownership="none">
          <type name="Error" c:type="GError*"/>
        </parameter>
        <parameter name="error_domain" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="error_code" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="assertion_message_expr"
              c:identifier="g_assertion_message_expr">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="expr" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="async_queue_new"
              c:identifier="g_async_queue_new"
              introspectable="0">
      <return-value>
        <type name="AsyncQueue" c:type="GAsyncQueue*"/>
      </return-value>
    </function>
    <function name="async_queue_new_full"
              c:identifier="g_async_queue_new_full"
              introspectable="0">
      <return-value>
        <type name="AsyncQueue" c:type="GAsyncQueue*"/>
      </return-value>
      <parameters>
        <parameter name="item_free_func"
                   transfer-ownership="none"
                   scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="atexit" c:identifier="g_atexit" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="func" transfer-ownership="none">
          <type name="VoidFunc" c:type="GVoidFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="atomic_int_add" c:identifier="g_atomic_int_add">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="atomic" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="val" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="atomic_int_compare_and_exchange"
              c:identifier="g_atomic_int_compare_and_exchange">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="atomic" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="oldval" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="newval" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="atomic_int_exchange_and_add"
              c:identifier="g_atomic_int_exchange_and_add">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="atomic" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="val" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="atomic_int_get" c:identifier="g_atomic_int_get">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="atomic" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="atomic_int_set" c:identifier="g_atomic_int_set">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="atomic" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="newval" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="atomic_pointer_compare_and_exchange"
              c:identifier="g_atomic_pointer_compare_and_exchange">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="atomic" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer*"/>
        </parameter>
        <parameter name="oldval" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="newval" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="atomic_pointer_get"
              c:identifier="g_atomic_pointer_get"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="atomic" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer*"/>
        </parameter>
      </parameters>
    </function>
    <function name="atomic_pointer_set" c:identifier="g_atomic_pointer_set">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="atomic" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer*"/>
        </parameter>
        <parameter name="newval" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="base64_decode" c:identifier="g_base64_decode">
      <return-value transfer-ownership="none">
        <type name="guint8" c:type="guchar*"/>
      </return-value>
      <parameters>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="out_len" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="base64_decode_inplace"
              c:identifier="g_base64_decode_inplace">
      <return-value transfer-ownership="none">
        <type name="guint8" c:type="guchar*"/>
      </return-value>
      <parameters>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="out_len" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="base64_decode_step" c:identifier="g_base64_decode_step">
      <return-value transfer-ownership="none">
        <type name="gulong" c:type="gsize"/>
      </return-value>
      <parameters>
        <parameter name="in" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="out" transfer-ownership="none">
          <type name="guint8" c:type="guchar*"/>
        </parameter>
        <parameter name="state" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="save" transfer-ownership="none">
          <type name="guint" c:type="guint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="base64_encode" c:identifier="g_base64_encode">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <type name="guint8" c:type="guchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="base64_encode_close" c:identifier="g_base64_encode_close">
      <return-value transfer-ownership="none">
        <type name="gulong" c:type="gsize"/>
      </return-value>
      <parameters>
        <parameter name="break_lines" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="out" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="state" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="save" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="base64_encode_step" c:identifier="g_base64_encode_step">
      <return-value transfer-ownership="none">
        <type name="gulong" c:type="gsize"/>
      </return-value>
      <parameters>
        <parameter name="in" transfer-ownership="none">
          <type name="guint8" c:type="guchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="break_lines" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="out" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="state" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="save" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="basename" c:identifier="g_basename">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="file_name" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="bit_lock" c:identifier="g_bit_lock">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="address" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="lock_bit" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="bit_nth_lsf" c:identifier="g_bit_nth_lsf">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="mask" transfer-ownership="none">
          <type name="gulong" c:type="gulong"/>
        </parameter>
        <parameter name="nth_bit" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="bit_nth_msf" c:identifier="g_bit_nth_msf">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="mask" transfer-ownership="none">
          <type name="gulong" c:type="gulong"/>
        </parameter>
        <parameter name="nth_bit" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="bit_storage" c:identifier="g_bit_storage">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="number" transfer-ownership="none">
          <type name="gulong" c:type="gulong"/>
        </parameter>
      </parameters>
    </function>
    <function name="bit_trylock" c:identifier="g_bit_trylock">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="address" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="lock_bit" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="bit_unlock" c:identifier="g_bit_unlock">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="address" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="lock_bit" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="blow_chunks" c:identifier="g_blow_chunks">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="bookmark_file_error_quark"
              c:identifier="g_bookmark_file_error_quark">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="bookmark_file_new"
              c:identifier="g_bookmark_file_new"
              introspectable="0">
      <return-value>
        <type name="BookmarkFile" c:type="GBookmarkFile*"/>
      </return-value>
    </function>
    <function name="build_filename"
              c:identifier="g_build_filename"
              introspectable="0">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="first_element" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="build_filenamev" c:identifier="g_build_filenamev">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="args" transfer-ownership="none">
          <doc xml:whitespace="preserve">Return value:</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="build_path" c:identifier="g_build_path" introspectable="0">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="separator" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="first_element" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="build_pathv" c:identifier="g_build_pathv">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="separator" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <doc xml:whitespace="preserve">Return value:</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="byte_array_append"
              c:identifier="g_byte_array_append"
              introspectable="0">
      <return-value>
        <array name="GLib.ByteArray" c:type="GByteArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.ByteArray" c:type="GByteArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="guint8" c:type="guint8*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="byte_array_free" c:identifier="g_byte_array_free">
      <return-value transfer-ownership="none">
        <type name="guint8" c:type="guint8*"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.ByteArray" c:type="GByteArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="free_segment" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="byte_array_new"
              c:identifier="g_byte_array_new"
              introspectable="0">
      <return-value>
        <array name="GLib.ByteArray" c:type="GByteArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
    </function>
    <function name="byte_array_prepend"
              c:identifier="g_byte_array_prepend"
              introspectable="0">
      <return-value>
        <array name="GLib.ByteArray" c:type="GByteArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.ByteArray" c:type="GByteArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="guint8" c:type="guint8*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="byte_array_ref"
              c:identifier="g_byte_array_ref"
              introspectable="0">
      <return-value>
        <array name="GLib.ByteArray" c:type="GByteArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.ByteArray" c:type="GByteArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="byte_array_remove_index"
              c:identifier="g_byte_array_remove_index"
              introspectable="0">
      <return-value>
        <array name="GLib.ByteArray" c:type="GByteArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.ByteArray" c:type="GByteArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="index_" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="byte_array_remove_index_fast"
              c:identifier="g_byte_array_remove_index_fast"
              introspectable="0">
      <return-value>
        <array name="GLib.ByteArray" c:type="GByteArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.ByteArray" c:type="GByteArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="index_" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="byte_array_remove_range"
              c:identifier="g_byte_array_remove_range"
              introspectable="0">
      <return-value>
        <array name="GLib.ByteArray" c:type="GByteArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.ByteArray" c:type="GByteArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="index_" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="byte_array_set_size"
              c:identifier="g_byte_array_set_size"
              introspectable="0">
      <return-value>
        <array name="GLib.ByteArray" c:type="GByteArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.ByteArray" c:type="GByteArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="byte_array_sized_new"
              c:identifier="g_byte_array_sized_new"
              introspectable="0">
      <return-value>
        <array name="GLib.ByteArray" c:type="GByteArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="reserved_size" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="byte_array_sort"
              c:identifier="g_byte_array_sort"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.ByteArray" c:type="GByteArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="compare_func" transfer-ownership="none">
          <type name="CompareFunc" c:type="GCompareFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="byte_array_sort_with_data"
              c:identifier="g_byte_array_sort_with_data"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.ByteArray" c:type="GByteArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="compare_func" transfer-ownership="none" closure="2">
          <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="byte_array_unref" c:identifier="g_byte_array_unref">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.ByteArray" c:type="GByteArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="cache_new" c:identifier="g_cache_new" introspectable="0">
      <return-value>
        <type name="Cache" c:type="GCache*"/>
      </return-value>
      <parameters>
        <parameter name="value_new_func" transfer-ownership="none">
          <type name="CacheNewFunc" c:type="GCacheNewFunc"/>
        </parameter>
        <parameter name="value_destroy_func" transfer-ownership="none">
          <type name="CacheDestroyFunc" c:type="GCacheDestroyFunc"/>
        </parameter>
        <parameter name="key_dup_func" transfer-ownership="none">
          <type name="CacheDupFunc" c:type="GCacheDupFunc"/>
        </parameter>
        <parameter name="key_destroy_func" transfer-ownership="none">
          <type name="CacheDestroyFunc" c:type="GCacheDestroyFunc"/>
        </parameter>
        <parameter name="hash_key_func" transfer-ownership="none">
          <type name="HashFunc" c:type="GHashFunc"/>
        </parameter>
        <parameter name="hash_value_func" transfer-ownership="none">
          <type name="HashFunc" c:type="GHashFunc"/>
        </parameter>
        <parameter name="key_equal_func" transfer-ownership="none">
          <type name="EqualFunc" c:type="GEqualFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="chdir" c:identifier="g_chdir">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="check_version" c:identifier="glib_check_version">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="required_major" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="required_minor" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="required_micro" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="checksum_new"
              c:identifier="g_checksum_new"
              introspectable="0">
      <return-value>
        <type name="Checksum" c:type="GChecksum*"/>
      </return-value>
      <parameters>
        <parameter name="checksum_type" transfer-ownership="none">
          <type name="ChecksumType" c:type="GChecksumType"/>
        </parameter>
      </parameters>
    </function>
    <function name="checksum_type_get_length"
              c:identifier="g_checksum_type_get_length">
      <return-value transfer-ownership="none">
        <type name="glong" c:type="gssize"/>
      </return-value>
      <parameters>
        <parameter name="checksum_type" transfer-ownership="none">
          <type name="ChecksumType" c:type="GChecksumType"/>
        </parameter>
      </parameters>
    </function>
    <function name="child_watch_add"
              c:identifier="g_child_watch_add"
              shadowed-by="child_watch_add_full"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="pid" transfer-ownership="none">
          <type name="Pid" c:type="GPid"/>
        </parameter>
        <parameter name="function" transfer-ownership="none" closure="2">
          <type name="ChildWatchFunc" c:type="GChildWatchFunc"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="child_watch_add_full"
              c:identifier="g_child_watch_add_full"
              shadows="child_watch_add">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="priority" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="pid" transfer-ownership="none">
          <type name="Pid" c:type="GPid"/>
        </parameter>
        <parameter name="function"
                   transfer-ownership="none"
                   scope="notified"
                   closure="3"
                   destroy="4">
          <type name="ChildWatchFunc" c:type="GChildWatchFunc"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="notify" transfer-ownership="none" scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="child_watch_source_new"
              c:identifier="g_child_watch_source_new"
              introspectable="0">
      <return-value>
        <type name="Source" c:type="GSource*"/>
      </return-value>
      <parameters>
        <parameter name="pid" transfer-ownership="none">
          <type name="Pid" c:type="GPid"/>
        </parameter>
      </parameters>
    </function>
    <function name="clear_error" c:identifier="g_clear_error" throws="1">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="completion_new"
              c:identifier="g_completion_new"
              introspectable="0">
      <return-value>
        <type name="Completion" c:type="GCompletion*"/>
      </return-value>
      <parameters>
        <parameter name="func" transfer-ownership="none">
          <type name="CompletionFunc" c:type="GCompletionFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="compute_checksum_for_data"
              c:identifier="g_compute_checksum_for_data">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="checksum_type" transfer-ownership="none">
          <type name="ChecksumType" c:type="GChecksumType"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="guint8" c:type="guchar*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="compute_checksum_for_string"
              c:identifier="g_compute_checksum_for_string">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="checksum_type" transfer-ownership="none">
          <type name="ChecksumType" c:type="GChecksumType"/>
        </parameter>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="convert" c:identifier="g_convert" throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
        <parameter name="to_codeset" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="from_codeset" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="bytes_read"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
        <parameter name="bytes_written"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="convert_error_quark" c:identifier="g_convert_error_quark">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="convert_with_fallback"
              c:identifier="g_convert_with_fallback"
              throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
        <parameter name="to_codeset" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="from_codeset" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="fallback" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="bytes_read" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
        <parameter name="bytes_written" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="convert_with_iconv"
              c:identifier="g_convert_with_iconv"
              throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
        <parameter name="converter" transfer-ownership="none">
          <type name="IConv" c:type="GIConv"/>
        </parameter>
        <parameter name="bytes_read" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
        <parameter name="bytes_written" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="datalist_clear" c:identifier="g_datalist_clear">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="datalist" transfer-ownership="none">
          <type name="Data" c:type="GData**"/>
        </parameter>
      </parameters>
    </function>
    <function name="datalist_foreach"
              c:identifier="g_datalist_foreach"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="datalist" transfer-ownership="none">
          <type name="Data" c:type="GData**"/>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="2">
          <type name="DataForeachFunc" c:type="GDataForeachFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="datalist_get_flags" c:identifier="g_datalist_get_flags">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="datalist" transfer-ownership="none">
          <type name="Data" c:type="GData**"/>
        </parameter>
      </parameters>
    </function>
    <function name="datalist_id_get_data"
              c:identifier="g_datalist_id_get_data"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="datalist" transfer-ownership="none">
          <type name="Data" c:type="GData**"/>
        </parameter>
        <parameter name="key_id" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
      </parameters>
    </function>
    <function name="datalist_id_remove_no_notify"
              c:identifier="g_datalist_id_remove_no_notify"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="datalist" transfer-ownership="none">
          <type name="Data" c:type="GData**"/>
        </parameter>
        <parameter name="key_id" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
      </parameters>
    </function>
    <function name="datalist_id_set_data_full"
              c:identifier="g_datalist_id_set_data_full">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="datalist" transfer-ownership="none">
          <type name="Data" c:type="GData**"/>
        </parameter>
        <parameter name="key_id" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="destroy_func" transfer-ownership="none" scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="datalist_init" c:identifier="g_datalist_init">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="datalist" transfer-ownership="none">
          <type name="Data" c:type="GData**"/>
        </parameter>
      </parameters>
    </function>
    <function name="datalist_set_flags" c:identifier="g_datalist_set_flags">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="datalist" transfer-ownership="none">
          <type name="Data" c:type="GData**"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="datalist_unset_flags"
              c:identifier="g_datalist_unset_flags">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="datalist" transfer-ownership="none">
          <type name="Data" c:type="GData**"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="dataset_destroy" c:identifier="g_dataset_destroy">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dataset_location" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="dataset_foreach"
              c:identifier="g_dataset_foreach"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dataset_location" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="2">
          <type name="DataForeachFunc" c:type="GDataForeachFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="dataset_id_get_data"
              c:identifier="g_dataset_id_get_data"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="dataset_location" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="key_id" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
      </parameters>
    </function>
    <function name="dataset_id_remove_no_notify"
              c:identifier="g_dataset_id_remove_no_notify"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="dataset_location" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="key_id" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
      </parameters>
    </function>
    <function name="dataset_id_set_data_full"
              c:identifier="g_dataset_id_set_data_full">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dataset_location" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="key_id" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="destroy_func" transfer-ownership="none" scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_get_days_in_month"
              c:identifier="g_date_get_days_in_month">
      <return-value transfer-ownership="none">
        <type name="guint8" c:type="guint8"/>
      </return-value>
      <parameters>
        <parameter name="month" transfer-ownership="none">
          <type name="DateMonth" c:type="GDateMonth"/>
        </parameter>
        <parameter name="year" transfer-ownership="none">
          <type name="DateYear" c:type="GDateYear"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_get_monday_weeks_in_year"
              c:identifier="g_date_get_monday_weeks_in_year">
      <return-value transfer-ownership="none">
        <type name="guint8" c:type="guint8"/>
      </return-value>
      <parameters>
        <parameter name="year" transfer-ownership="none">
          <type name="DateYear" c:type="GDateYear"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_get_sunday_weeks_in_year"
              c:identifier="g_date_get_sunday_weeks_in_year">
      <return-value transfer-ownership="none">
        <type name="guint8" c:type="guint8"/>
      </return-value>
      <parameters>
        <parameter name="year" transfer-ownership="none">
          <type name="DateYear" c:type="GDateYear"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_is_leap_year" c:identifier="g_date_is_leap_year">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="year" transfer-ownership="none">
          <type name="DateYear" c:type="GDateYear"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_new" c:identifier="g_date_new" introspectable="0">
      <return-value>
        <type name="Date" c:type="GDate*"/>
      </return-value>
    </function>
    <function name="date_new_dmy"
              c:identifier="g_date_new_dmy"
              introspectable="0">
      <return-value>
        <type name="Date" c:type="GDate*"/>
      </return-value>
      <parameters>
        <parameter name="day" transfer-ownership="none">
          <type name="DateDay" c:type="GDateDay"/>
        </parameter>
        <parameter name="month" transfer-ownership="none">
          <type name="DateMonth" c:type="GDateMonth"/>
        </parameter>
        <parameter name="year" transfer-ownership="none">
          <type name="DateYear" c:type="GDateYear"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_new_julian"
              c:identifier="g_date_new_julian"
              introspectable="0">
      <return-value>
        <type name="Date" c:type="GDate*"/>
      </return-value>
      <parameters>
        <parameter name="julian_day" transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_strftime" c:identifier="g_date_strftime">
      <return-value transfer-ownership="none">
        <type name="gulong" c:type="gsize"/>
      </return-value>
      <parameters>
        <parameter name="s" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="slen" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="date" transfer-ownership="none">
          <type name="Date" c:type="GDate*"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_time_compare" c:identifier="g_date_time_compare">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="dt1" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="dt2" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_time_equal" c:identifier="g_date_time_equal">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="dt1" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="dt2" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_time_hash" c:identifier="g_date_time_hash">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="datetime" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_time_new"
              c:identifier="g_date_time_new"
              introspectable="0">
      <return-value>
        <type name="DateTime" c:type="GDateTime*"/>
      </return-value>
      <parameters>
        <parameter name="tz" transfer-ownership="none">
          <type name="TimeZone" c:type="GTimeZone*"/>
        </parameter>
        <parameter name="year" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="month" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="day" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="hour" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="minute" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="seconds" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_time_new_from_timeval_local"
              c:identifier="g_date_time_new_from_timeval_local"
              introspectable="0">
      <return-value>
        <type name="DateTime" c:type="GDateTime*"/>
      </return-value>
      <parameters>
        <parameter name="tv" transfer-ownership="none">
          <type name="TimeVal" c:type="GTimeVal*"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_time_new_from_timeval_utc"
              c:identifier="g_date_time_new_from_timeval_utc"
              introspectable="0">
      <return-value>
        <type name="DateTime" c:type="GDateTime*"/>
      </return-value>
      <parameters>
        <parameter name="tv" transfer-ownership="none">
          <type name="TimeVal" c:type="GTimeVal*"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_time_new_from_unix_local"
              c:identifier="g_date_time_new_from_unix_local"
              introspectable="0">
      <return-value>
        <type name="DateTime" c:type="GDateTime*"/>
      </return-value>
      <parameters>
        <parameter name="t" transfer-ownership="none">
          <type name="gint64" c:type="gint64"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_time_new_from_unix_utc"
              c:identifier="g_date_time_new_from_unix_utc"
              introspectable="0">
      <return-value>
        <type name="DateTime" c:type="GDateTime*"/>
      </return-value>
      <parameters>
        <parameter name="t" transfer-ownership="none">
          <type name="gint64" c:type="gint64"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_time_new_local"
              c:identifier="g_date_time_new_local"
              introspectable="0">
      <return-value>
        <type name="DateTime" c:type="GDateTime*"/>
      </return-value>
      <parameters>
        <parameter name="year" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="month" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="day" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="hour" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="minute" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="seconds" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_time_new_now"
              c:identifier="g_date_time_new_now"
              introspectable="0">
      <return-value>
        <type name="DateTime" c:type="GDateTime*"/>
      </return-value>
      <parameters>
        <parameter name="tz" transfer-ownership="none">
          <type name="TimeZone" c:type="GTimeZone*"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_time_new_now_local"
              c:identifier="g_date_time_new_now_local"
              introspectable="0">
      <return-value>
        <type name="DateTime" c:type="GDateTime*"/>
      </return-value>
    </function>
    <function name="date_time_new_now_utc"
              c:identifier="g_date_time_new_now_utc"
              introspectable="0">
      <return-value>
        <type name="DateTime" c:type="GDateTime*"/>
      </return-value>
    </function>
    <function name="date_time_new_utc"
              c:identifier="g_date_time_new_utc"
              introspectable="0">
      <return-value>
        <type name="DateTime" c:type="GDateTime*"/>
      </return-value>
      <parameters>
        <parameter name="year" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="month" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="day" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="hour" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="minute" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="seconds" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_valid_day" c:identifier="g_date_valid_day">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="day" transfer-ownership="none">
          <type name="DateDay" c:type="GDateDay"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_valid_dmy" c:identifier="g_date_valid_dmy">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="day" transfer-ownership="none">
          <type name="DateDay" c:type="GDateDay"/>
        </parameter>
        <parameter name="month" transfer-ownership="none">
          <type name="DateMonth" c:type="GDateMonth"/>
        </parameter>
        <parameter name="year" transfer-ownership="none">
          <type name="DateYear" c:type="GDateYear"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_valid_julian" c:identifier="g_date_valid_julian">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="julian_date" transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_valid_month" c:identifier="g_date_valid_month">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="month" transfer-ownership="none">
          <type name="DateMonth" c:type="GDateMonth"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_valid_weekday" c:identifier="g_date_valid_weekday">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="weekday" transfer-ownership="none">
          <type name="DateWeekday" c:type="GDateWeekday"/>
        </parameter>
      </parameters>
    </function>
    <function name="date_valid_year" c:identifier="g_date_valid_year">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="year" transfer-ownership="none">
          <type name="DateYear" c:type="GDateYear"/>
        </parameter>
      </parameters>
    </function>
    <function name="dcgettext" c:identifier="g_dcgettext">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="msgid" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="category" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="dgettext" c:identifier="g_dgettext">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="msgid" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="dir_open"
              c:identifier="g_dir_open"
              introspectable="0"
              throws="1">
      <return-value>
        <type name="Dir" c:type="GDir*"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="direct_equal" c:identifier="g_direct_equal">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="v1" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="v2" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="direct_hash" c:identifier="g_direct_hash">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="v" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="dngettext" c:identifier="g_dngettext">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="msgid" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="msgid_plural" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="gulong" c:type="gulong"/>
        </parameter>
      </parameters>
    </function>
    <function name="double_equal" c:identifier="g_double_equal">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="v1" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="v2" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="double_hash" c:identifier="g_double_hash">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="v" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="dpgettext" c:identifier="g_dpgettext">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="msgctxtid" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="msgidoffset" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="dpgettext2" c:identifier="g_dpgettext2">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="context" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="msgid" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="dummy_decl" c:identifier="glib_dummy_decl">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="error_new" c:identifier="g_error_new" introspectable="0">
      <return-value>
        <type name="Error" c:type="GError*"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="code" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="error_new_literal"
              c:identifier="g_error_new_literal"
              introspectable="0">
      <return-value>
        <type name="Error" c:type="GError*"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="code" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="error_new_valist"
              c:identifier="g_error_new_valist"
              introspectable="0">
      <return-value>
        <type name="Error" c:type="GError*"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="code" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="file_error_from_errno"
              c:identifier="g_file_error_from_errno">
      <return-value transfer-ownership="none">
        <type name="FileError" c:type="GFileError"/>
      </return-value>
      <parameters>
        <parameter name="err_no" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="file_error_quark" c:identifier="g_file_error_quark">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="file_get_contents"
              c:identifier="g_file_get_contents"
              throws="1">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="contents"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="length"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   allow-none="1">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="file_open_tmp" c:identifier="g_file_open_tmp" throws="1">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="tmpl" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="name_used"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="file_read_link" c:identifier="g_file_read_link" throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="file_set_contents"
              c:identifier="g_file_set_contents"
              throws="1">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="contents" transfer-ownership="none">
          <array length="2" c:type="gchar*">
            <type name="guint8"/>
          </array>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="file_test" c:identifier="g_file_test">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="test" transfer-ownership="none">
          <type name="FileTest" c:type="GFileTest"/>
        </parameter>
      </parameters>
    </function>
    <function name="filename_display_basename"
              c:identifier="g_filename_display_basename">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="filename_display_name"
              c:identifier="g_filename_display_name">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="filename_from_uri"
              c:identifier="g_filename_from_uri"
              throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="hostname" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="filename_from_utf8"
              c:identifier="g_filename_from_utf8"
              throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="utf8string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
        <parameter name="bytes_read" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
        <parameter name="bytes_written" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="filename_to_uri"
              c:identifier="g_filename_to_uri"
              throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="hostname" transfer-ownership="none" allow-none="1">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="filename_to_utf8"
              c:identifier="g_filename_to_utf8"
              throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="opsysstring" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
        <parameter name="bytes_read" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
        <parameter name="bytes_written" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="find_program_in_path"
              c:identifier="g_find_program_in_path">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="program" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="format_size_for_display"
              c:identifier="g_format_size_for_display">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="size" transfer-ownership="none">
          <type name="gint64" c:type="goffset"/>
        </parameter>
      </parameters>
    </function>
    <function name="fprintf" c:identifier="g_fprintf" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="file" transfer-ownership="none">
          <type name="gpointer" c:type="FILE*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="free" c:identifier="g_free">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="mem" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_application_name"
              c:identifier="g_get_application_name">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="get_charset" c:identifier="g_get_charset">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="charset" transfer-ownership="none">
          <type name="utf8" c:type="char**"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_current_dir" c:identifier="g_get_current_dir">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="get_current_time" c:identifier="g_get_current_time">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="result" transfer-ownership="none">
          <type name="TimeVal" c:type="GTimeVal*"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_filename_charsets"
              c:identifier="g_get_filename_charsets">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="charsets" transfer-ownership="none">
          <type name="utf8" c:type="gchar***"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_home_dir" c:identifier="g_get_home_dir">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="get_host_name" c:identifier="g_get_host_name">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="get_language_names" c:identifier="g_get_language_names">
      <return-value transfer-ownership="none">
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
    </function>
    <function name="get_prgname" c:identifier="g_get_prgname">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="get_real_name" c:identifier="g_get_real_name">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="get_system_config_dirs"
              c:identifier="g_get_system_config_dirs">
      <return-value transfer-ownership="none">
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
    </function>
    <function name="get_system_data_dirs"
              c:identifier="g_get_system_data_dirs">
      <return-value transfer-ownership="none">
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
    </function>
    <function name="get_tmp_dir" c:identifier="g_get_tmp_dir">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="get_user_cache_dir" c:identifier="g_get_user_cache_dir">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="get_user_config_dir" c:identifier="g_get_user_config_dir">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="get_user_data_dir" c:identifier="g_get_user_data_dir">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="get_user_name" c:identifier="g_get_user_name">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <function name="get_user_special_dir"
              c:identifier="g_get_user_special_dir">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="directory" transfer-ownership="none">
          <type name="UserDirectory" c:type="GUserDirectory"/>
        </parameter>
      </parameters>
    </function>
    <function name="getenv" c:identifier="g_getenv">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="variable" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_destroy" c:identifier="g_hash_table_destroy">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_find"
              c:identifier="g_hash_table_find"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="predicate" transfer-ownership="none" closure="2">
          <type name="HRFunc" c:type="GHRFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_foreach"
              c:identifier="g_hash_table_foreach"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="2">
          <type name="HFunc" c:type="GHFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_foreach_remove"
              c:identifier="g_hash_table_foreach_remove"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="2">
          <type name="HRFunc" c:type="GHRFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_foreach_steal"
              c:identifier="g_hash_table_foreach_steal"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="2">
          <type name="HRFunc" c:type="GHRFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_get_keys"
              c:identifier="g_hash_table_get_keys"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_get_values"
              c:identifier="g_hash_table_get_values"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_insert" c:identifier="g_hash_table_insert">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_lookup"
              c:identifier="g_hash_table_lookup"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_lookup_extended"
              c:identifier="g_hash_table_lookup_extended">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="lookup_key" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="orig_key" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer*"/>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_new"
              c:identifier="g_hash_table_new"
              introspectable="0">
      <return-value>
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="hash_func" transfer-ownership="none">
          <type name="HashFunc" c:type="GHashFunc"/>
        </parameter>
        <parameter name="key_equal_func" transfer-ownership="none">
          <type name="EqualFunc" c:type="GEqualFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_new_full"
              c:identifier="g_hash_table_new_full"
              introspectable="0">
      <return-value>
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="hash_func" transfer-ownership="none">
          <type name="HashFunc" c:type="GHashFunc"/>
        </parameter>
        <parameter name="key_equal_func"
                   transfer-ownership="none"
                   scope="notified"
                   destroy="3">
          <type name="EqualFunc" c:type="GEqualFunc"/>
        </parameter>
        <parameter name="key_destroy_func"
                   transfer-ownership="none"
                   scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
        <parameter name="value_destroy_func"
                   transfer-ownership="none"
                   scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_ref"
              c:identifier="g_hash_table_ref"
              introspectable="0">
      <return-value>
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_remove" c:identifier="g_hash_table_remove">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_remove_all"
              c:identifier="g_hash_table_remove_all">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_replace" c:identifier="g_hash_table_replace">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_size" c:identifier="g_hash_table_size">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_steal" c:identifier="g_hash_table_steal">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="key" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_steal_all"
              c:identifier="g_hash_table_steal_all">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="hash_table_unref" c:identifier="g_hash_table_unref">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hash_table" transfer-ownership="none">
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="hook_alloc" c:identifier="g_hook_alloc" introspectable="0">
      <return-value>
        <type name="Hook" c:type="GHook*"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_destroy" c:identifier="g_hook_destroy">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="hook_id" transfer-ownership="none">
          <type name="gulong" c:type="gulong"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_destroy_link" c:identifier="g_hook_destroy_link">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="hook" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_find" c:identifier="g_hook_find" introspectable="0">
      <return-value>
        <type name="Hook" c:type="GHook*"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="need_valids" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="3">
          <type name="HookFindFunc" c:type="GHookFindFunc"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_find_data"
              c:identifier="g_hook_find_data"
              introspectable="0">
      <return-value>
        <type name="Hook" c:type="GHook*"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="need_valids" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_find_func"
              c:identifier="g_hook_find_func"
              introspectable="0">
      <return-value>
        <type name="Hook" c:type="GHook*"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="need_valids" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_find_func_data"
              c:identifier="g_hook_find_func_data"
              introspectable="0">
      <return-value>
        <type name="Hook" c:type="GHook*"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="need_valids" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_first_valid"
              c:identifier="g_hook_first_valid"
              introspectable="0">
      <return-value>
        <type name="Hook" c:type="GHook*"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="may_be_in_call" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_free" c:identifier="g_hook_free">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="hook" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_get" c:identifier="g_hook_get" introspectable="0">
      <return-value>
        <type name="Hook" c:type="GHook*"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="hook_id" transfer-ownership="none">
          <type name="gulong" c:type="gulong"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_insert_before" c:identifier="g_hook_insert_before">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="sibling" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
        <parameter name="hook" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_insert_sorted"
              c:identifier="g_hook_insert_sorted"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="hook" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="HookCompareFunc" c:type="GHookCompareFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_next_valid"
              c:identifier="g_hook_next_valid"
              introspectable="0">
      <return-value>
        <type name="Hook" c:type="GHook*"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="hook" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
        <parameter name="may_be_in_call" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_prepend" c:identifier="g_hook_prepend">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="hook" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_ref" c:identifier="g_hook_ref" introspectable="0">
      <return-value>
        <type name="Hook" c:type="GHook*"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="hook" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
      </parameters>
    </function>
    <function name="hook_unref" c:identifier="g_hook_unref">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="hook_list" transfer-ownership="none">
          <type name="HookList" c:type="GHookList*"/>
        </parameter>
        <parameter name="hook" transfer-ownership="none">
          <type name="Hook" c:type="GHook*"/>
        </parameter>
      </parameters>
    </function>
    <function name="hostname_is_ascii_encoded"
              c:identifier="g_hostname_is_ascii_encoded">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="hostname" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="hostname_is_ip_address"
              c:identifier="g_hostname_is_ip_address">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="hostname" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="hostname_is_non_ascii"
              c:identifier="g_hostname_is_non_ascii">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="hostname" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="hostname_to_ascii" c:identifier="g_hostname_to_ascii">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="hostname" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="hostname_to_unicode" c:identifier="g_hostname_to_unicode">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="hostname" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="iconv" c:identifier="g_iconv">
      <return-value transfer-ownership="none">
        <type name="gulong" c:type="gsize"/>
      </return-value>
      <parameters>
        <parameter name="converter" transfer-ownership="none">
          <type name="IConv" c:type="GIConv"/>
        </parameter>
        <parameter name="inbuf" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="inbytes_left" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
        <parameter name="outbuf" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="outbytes_left" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="iconv_close" c:identifier="g_iconv_close">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="converter" transfer-ownership="none">
          <type name="IConv" c:type="GIConv"/>
        </parameter>
      </parameters>
    </function>
    <function name="iconv_open" c:identifier="g_iconv_open" introspectable="0">
      <return-value>
        <type name="IConv" c:type="GIConv"/>
      </return-value>
      <parameters>
        <parameter name="to_codeset" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="from_codeset" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="idle_add"
              c:identifier="g_idle_add"
              shadowed-by="idle_add_full"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="function" transfer-ownership="none" closure="1">
          <type name="SourceFunc" c:type="GSourceFunc"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="idle_add_full"
              c:identifier="g_idle_add_full"
              shadows="idle_add">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="priority" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function"
                   transfer-ownership="none"
                   scope="notified"
                   closure="2"
                   destroy="3">
          <type name="SourceFunc" c:type="GSourceFunc"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="notify" transfer-ownership="none" scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="idle_remove_by_data" c:identifier="g_idle_remove_by_data">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="idle_source_new"
              c:identifier="g_idle_source_new"
              introspectable="0">
      <return-value>
        <type name="Source" c:type="GSource*"/>
      </return-value>
    </function>
    <function name="int64_equal" c:identifier="g_int64_equal">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="v1" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="v2" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="int64_hash" c:identifier="g_int64_hash">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="v" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="int_equal" c:identifier="g_int_equal">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="v1" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="v2" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="int_hash" c:identifier="g_int_hash">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="v" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="intern_static_string"
              c:identifier="g_intern_static_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="intern_string" c:identifier="g_intern_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="io_add_watch"
              c:identifier="g_io_add_watch"
              shadowed-by="io_add_watch_full"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="channel" transfer-ownership="none">
          <type name="IOChannel" c:type="GIOChannel*"/>
        </parameter>
        <parameter name="condition" transfer-ownership="none">
          <type name="IOCondition" c:type="GIOCondition"/>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="3">
          <type name="IOFunc" c:type="GIOFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="io_add_watch_full"
              c:identifier="g_io_add_watch_full"
              shadows="io_add_watch">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="channel" transfer-ownership="none">
          <type name="IOChannel" c:type="GIOChannel*"/>
        </parameter>
        <parameter name="priority" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="condition" transfer-ownership="none">
          <type name="IOCondition" c:type="GIOCondition"/>
        </parameter>
        <parameter name="func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="4"
                   destroy="5">
          <type name="IOFunc" c:type="GIOFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="notify" transfer-ownership="none" scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="io_channel_error_from_errno"
              c:identifier="g_io_channel_error_from_errno">
      <return-value transfer-ownership="none">
        <type name="IOChannelError" c:type="GIOChannelError"/>
      </return-value>
      <parameters>
        <parameter name="en" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="io_channel_error_quark"
              c:identifier="g_io_channel_error_quark">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="io_channel_new_file"
              c:identifier="g_io_channel_new_file"
              introspectable="0"
              throws="1">
      <return-value>
        <type name="IOChannel" c:type="GIOChannel*"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="mode" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="io_channel_unix_new"
              c:identifier="g_io_channel_unix_new"
              introspectable="0">
      <return-value>
        <type name="IOChannel" c:type="GIOChannel*"/>
      </return-value>
      <parameters>
        <parameter name="fd" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="io_create_watch"
              c:identifier="g_io_create_watch"
              introspectable="0">
      <return-value>
        <type name="Source" c:type="GSource*"/>
      </return-value>
      <parameters>
        <parameter name="channel" transfer-ownership="none">
          <type name="IOChannel" c:type="GIOChannel*"/>
        </parameter>
        <parameter name="condition" transfer-ownership="none">
          <type name="IOCondition" c:type="GIOCondition"/>
        </parameter>
      </parameters>
    </function>
    <function name="key_file_error_quark"
              c:identifier="g_key_file_error_quark">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="key_file_new"
              c:identifier="g_key_file_new"
              introspectable="0">
      <return-value>
        <type name="KeyFile" c:type="GKeyFile*"/>
      </return-value>
    </function>
    <function name="list_alloc" c:identifier="g_list_alloc" introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
    </function>
    <function name="list_append"
              c:identifier="g_list_append"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_concat"
              c:identifier="g_list_concat"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list1" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="list2" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="list_copy" c:identifier="g_list_copy" introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="list_delete_link"
              c:identifier="g_list_delete_link"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="link_" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="list_find" c:identifier="g_list_find" introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_find_custom"
              c:identifier="g_list_find_custom"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="CompareFunc" c:type="GCompareFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_first" c:identifier="g_list_first" introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="list_foreach"
              c:identifier="g_list_foreach"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="2">
          <type name="Func" c:type="GFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_free" c:identifier="g_list_free">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="list_free_1" c:identifier="g_list_free_1">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="list_index" c:identifier="g_list_index">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_insert"
              c:identifier="g_list_insert"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="position" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_insert_before"
              c:identifier="g_list_insert_before"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="sibling" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_insert_sorted"
              c:identifier="g_list_insert_sorted"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="CompareFunc" c:type="GCompareFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_insert_sorted_with_data"
              c:identifier="g_list_insert_sorted_with_data"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="3">
          <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_last" c:identifier="g_list_last" introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="list_length" c:identifier="g_list_length">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="list_nth" c:identifier="g_list_nth" introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_nth_data"
              c:identifier="g_list_nth_data"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_nth_prev"
              c:identifier="g_list_nth_prev"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_pop_allocator" c:identifier="g_list_pop_allocator">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="list_position" c:identifier="g_list_position">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="llink" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="list_prepend"
              c:identifier="g_list_prepend"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_push_allocator" c:identifier="g_list_push_allocator">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="allocator" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_remove"
              c:identifier="g_list_remove"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_remove_all"
              c:identifier="g_list_remove_all"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_remove_link"
              c:identifier="g_list_remove_link"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="llink" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="list_reverse"
              c:identifier="g_list_reverse"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="list_sort" c:identifier="g_list_sort" introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="compare_func" transfer-ownership="none">
          <type name="CompareFunc" c:type="GCompareFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="list_sort_with_data"
              c:identifier="g_list_sort_with_data"
              introspectable="0">
      <return-value>
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="compare_func" transfer-ownership="none" closure="2">
          <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="listenv" c:identifier="g_listenv">
      <return-value transfer-ownership="full">
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
    </function>
    <function name="locale_from_utf8"
              c:identifier="g_locale_from_utf8"
              throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="utf8string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
        <parameter name="bytes_read" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
        <parameter name="bytes_written" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="locale_to_utf8" c:identifier="g_locale_to_utf8" throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="opsysstring" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
        <parameter name="bytes_read" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
        <parameter name="bytes_written" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="log" c:identifier="g_log" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="log_domain" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="log_level" transfer-ownership="none">
          <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="log_default_handler" c:identifier="g_log_default_handler">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="log_domain" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="log_level" transfer-ownership="none">
          <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="unused_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="log_remove_handler" c:identifier="g_log_remove_handler">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="log_domain" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="handler_id" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="log_set_always_fatal"
              c:identifier="g_log_set_always_fatal">
      <return-value transfer-ownership="none">
        <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
      </return-value>
      <parameters>
        <parameter name="fatal_mask" transfer-ownership="none">
          <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
        </parameter>
      </parameters>
    </function>
    <function name="log_set_default_handler"
              c:identifier="g_log_set_default_handler"
              introspectable="0">
      <return-value>
        <type name="LogFunc" c:type="GLogFunc"/>
      </return-value>
      <parameters>
        <parameter name="log_func" transfer-ownership="none" closure="1">
          <type name="LogFunc" c:type="GLogFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="log_set_fatal_mask" c:identifier="g_log_set_fatal_mask">
      <return-value transfer-ownership="none">
        <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
      </return-value>
      <parameters>
        <parameter name="log_domain" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="fatal_mask" transfer-ownership="none">
          <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
        </parameter>
      </parameters>
    </function>
    <function name="log_set_handler"
              c:identifier="g_log_set_handler"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="log_domain" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="log_levels" transfer-ownership="none">
          <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
        </parameter>
        <parameter name="log_func" transfer-ownership="none" closure="3">
          <type name="LogFunc" c:type="GLogFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="logv" c:identifier="g_logv" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="log_domain" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="log_level" transfer-ownership="none">
          <type name="LogLevelFlags" c:type="GLogLevelFlags"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="main_context_default"
              c:identifier="g_main_context_default"
              introspectable="0">
      <return-value>
        <type name="MainContext" c:type="GMainContext*"/>
      </return-value>
    </function>
    <function name="main_context_get_thread_default"
              c:identifier="g_main_context_get_thread_default"
              introspectable="0">
      <return-value>
        <type name="MainContext" c:type="GMainContext*"/>
      </return-value>
    </function>
    <function name="main_context_new"
              c:identifier="g_main_context_new"
              introspectable="0">
      <return-value>
        <type name="MainContext" c:type="GMainContext*"/>
      </return-value>
    </function>
    <function name="main_current_source"
              c:identifier="g_main_current_source"
              introspectable="0">
      <return-value>
        <type name="Source" c:type="GSource*"/>
      </return-value>
    </function>
    <function name="main_depth" c:identifier="g_main_depth">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="main_loop_new"
              c:identifier="g_main_loop_new"
              introspectable="0">
      <return-value>
        <type name="MainLoop" c:type="GMainLoop*"/>
      </return-value>
      <parameters>
        <parameter name="context" transfer-ownership="none" allow-none="1">
          <type name="MainContext" c:type="GMainContext*"/>
        </parameter>
        <parameter name="is_running" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="malloc" c:identifier="g_malloc" introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="n_bytes" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="malloc0" c:identifier="g_malloc0" introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="n_bytes" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="malloc0_n" c:identifier="g_malloc0_n" introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="n_blocks" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="n_block_bytes" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="malloc_n" c:identifier="g_malloc_n" introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="n_blocks" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="n_block_bytes" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="mapped_file_new"
              c:identifier="g_mapped_file_new"
              introspectable="0"
              throws="1">
      <return-value>
        <type name="MappedFile" c:type="GMappedFile*"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="writable" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="markup_collect_attributes"
              c:identifier="g_markup_collect_attributes"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="element_name" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="attribute_names" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="attribute_values" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="error" transfer-ownership="none">
          <type name="Error" c:type="GError**"/>
        </parameter>
        <parameter name="first_type" transfer-ownership="none">
          <type name="MarkupCollectType" c:type="GMarkupCollectType"/>
        </parameter>
        <parameter name="first_attr" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="markup_error_quark" c:identifier="g_markup_error_quark">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="markup_escape_text" c:identifier="g_markup_escape_text">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="markup_parse_context_new"
              c:identifier="g_markup_parse_context_new"
              introspectable="0">
      <return-value>
        <type name="MarkupParseContext" c:type="GMarkupParseContext*"/>
      </return-value>
      <parameters>
        <parameter name="parser" transfer-ownership="none">
          <type name="MarkupParser" c:type="GMarkupParser*"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="MarkupParseFlags" c:type="GMarkupParseFlags"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="user_data_dnotify"
                   transfer-ownership="none"
                   scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="markup_printf_escaped"
              c:identifier="g_markup_printf_escaped"
              introspectable="0">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="markup_vprintf_escaped"
              c:identifier="g_markup_vprintf_escaped"
              introspectable="0">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="mem_chunk_info" c:identifier="g_mem_chunk_info">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="mem_chunk_new"
              c:identifier="g_mem_chunk_new"
              introspectable="0">
      <return-value>
        <type name="MemChunk" c:type="GMemChunk*"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="atom_size" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="area_size" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="type" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="mem_is_system_malloc"
              c:identifier="g_mem_is_system_malloc">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="mem_profile" c:identifier="g_mem_profile">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="mem_set_vtable" c:identifier="g_mem_set_vtable">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="vtable" transfer-ownership="none">
          <type name="MemVTable" c:type="GMemVTable*"/>
        </parameter>
      </parameters>
    </function>
    <function name="memdup" c:identifier="g_memdup" introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="mem" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="byte_size" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="mkdir_with_parents" c:identifier="g_mkdir_with_parents">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="pathname" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="mode" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="mkstemp" c:identifier="g_mkstemp">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="tmpl" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="mkstemp_full" c:identifier="g_mkstemp_full">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="tmpl" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="mode" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_new" c:identifier="g_node_new" introspectable="0">
      <return-value>
        <type name="Node" c:type="GNode*"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="node_pop_allocator" c:identifier="g_node_pop_allocator">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="node_push_allocator" c:identifier="g_node_push_allocator">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dummy" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="nullify_pointer" c:identifier="g_nullify_pointer">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="nullify_location" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer*"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_error_query" c:identifier="g_on_error_query">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="prg_name" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="on_error_stack_trace"
              c:identifier="g_on_error_stack_trace">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="prg_name" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="once_init_enter" c:identifier="g_once_init_enter">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="value_location" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="once_init_enter_impl"
              c:identifier="g_once_init_enter_impl">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="value_location" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="once_init_leave" c:identifier="g_once_init_leave">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="value_location" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
        <parameter name="initialization_value" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="option_context_new"
              c:identifier="g_option_context_new"
              introspectable="0">
      <return-value>
        <type name="OptionContext" c:type="GOptionContext*"/>
      </return-value>
      <parameters>
        <parameter name="parameter_string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="option_error_quark" c:identifier="g_option_error_quark">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="option_group_new"
              c:identifier="g_option_group_new"
              introspectable="0">
      <return-value>
        <type name="OptionGroup" c:type="GOptionGroup*"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="description" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="help_description" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="destroy" transfer-ownership="none" scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="parse_debug_string" c:identifier="g_parse_debug_string">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="keys" transfer-ownership="none">
          <type name="DebugKey" c:type="GDebugKey*"/>
        </parameter>
        <parameter name="nkeys" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="path_get_basename" c:identifier="g_path_get_basename">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="file_name" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="path_get_dirname" c:identifier="g_path_get_dirname">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="file_name" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="path_is_absolute" c:identifier="g_path_is_absolute">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="file_name" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="path_skip_root" c:identifier="g_path_skip_root">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="file_name" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="pattern_match" c:identifier="g_pattern_match">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="pspec" transfer-ownership="none">
          <type name="PatternSpec" c:type="GPatternSpec*"/>
        </parameter>
        <parameter name="string_length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="string_reversed" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="pattern_match_simple"
              c:identifier="g_pattern_match_simple">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="pattern" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="pattern_match_string"
              c:identifier="g_pattern_match_string">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="pspec" transfer-ownership="none">
          <type name="PatternSpec" c:type="GPatternSpec*"/>
        </parameter>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="pattern_spec_new"
              c:identifier="g_pattern_spec_new"
              introspectable="0">
      <return-value>
        <type name="PatternSpec" c:type="GPatternSpec*"/>
      </return-value>
      <parameters>
        <parameter name="pattern" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="poll" c:identifier="g_poll">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="fds" transfer-ownership="none">
          <type name="PollFD" c:type="GPollFD*"/>
        </parameter>
        <parameter name="nfds" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="timeout" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="prefix_error"
              c:identifier="g_prefix_error"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="err" transfer-ownership="none">
          <type name="Error" c:type="GError**"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="print" c:identifier="g_print" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="printerr" c:identifier="g_printerr" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="printf" c:identifier="g_printf" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="printf_string_upper_bound"
              c:identifier="g_printf_string_upper_bound"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gulong" c:type="gsize"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="propagate_error" c:identifier="g_propagate_error">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dest" transfer-ownership="none">
          <type name="Error" c:type="GError**"/>
        </parameter>
        <parameter name="src" transfer-ownership="none">
          <type name="Error" c:type="GError*"/>
        </parameter>
      </parameters>
    </function>
    <function name="propagate_prefixed_error"
              c:identifier="g_propagate_prefixed_error"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dest" transfer-ownership="none">
          <type name="Error" c:type="GError**"/>
        </parameter>
        <parameter name="src" transfer-ownership="none">
          <type name="Error" c:type="GError*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_add" c:identifier="g_ptr_array_add">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_foreach"
              c:identifier="g_ptr_array_foreach"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="2">
          <type name="Func" c:type="GFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_free"
              c:identifier="g_ptr_array_free"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer*"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="free_seg" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_new"
              c:identifier="g_ptr_array_new"
              introspectable="0">
      <return-value>
        <array name="GLib.PtrArray" c:type="GPtrArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
    </function>
    <function name="ptr_array_new_with_free_func"
              c:identifier="g_ptr_array_new_with_free_func"
              introspectable="0">
      <return-value>
        <array name="GLib.PtrArray" c:type="GPtrArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="element_free_func"
                   transfer-ownership="none"
                   scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_ref"
              c:identifier="g_ptr_array_ref"
              introspectable="0">
      <return-value>
        <array name="GLib.PtrArray" c:type="GPtrArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_remove" c:identifier="g_ptr_array_remove">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_remove_fast"
              c:identifier="g_ptr_array_remove_fast">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_remove_index"
              c:identifier="g_ptr_array_remove_index"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="index_" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_remove_index_fast"
              c:identifier="g_ptr_array_remove_index_fast"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="index_" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_remove_range"
              c:identifier="g_ptr_array_remove_range">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="index_" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_set_free_func"
              c:identifier="g_ptr_array_set_free_func">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="element_free_func"
                   transfer-ownership="none"
                   scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_set_size" c:identifier="g_ptr_array_set_size">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_sized_new"
              c:identifier="g_ptr_array_sized_new"
              introspectable="0">
      <return-value>
        <array name="GLib.PtrArray" c:type="GPtrArray*">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="reserved_size" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_sort"
              c:identifier="g_ptr_array_sort"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="compare_func" transfer-ownership="none">
          <type name="CompareFunc" c:type="GCompareFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_sort_with_data"
              c:identifier="g_ptr_array_sort_with_data"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
        <parameter name="compare_func" transfer-ownership="none" closure="2">
          <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="ptr_array_unref" c:identifier="g_ptr_array_unref">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="array" transfer-ownership="none">
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="gpointer" c:type="gpointer"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="qsort_with_data"
              c:identifier="g_qsort_with_data"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="pbase" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="total_elems" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="size" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="compare_func" transfer-ownership="none" closure="4">
          <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="quark_from_static_string"
              c:identifier="g_quark_from_static_string">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="quark_from_string" c:identifier="g_quark_from_string">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="quark_to_string" c:identifier="g_quark_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="quark" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
      </parameters>
    </function>
    <function name="quark_try_string" c:identifier="g_quark_try_string">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="queue_new" c:identifier="g_queue_new" introspectable="0">
      <return-value>
        <type name="Queue" c:type="GQueue*"/>
      </return-value>
    </function>
    <function name="rand_new" c:identifier="g_rand_new" introspectable="0">
      <return-value>
        <type name="Rand" c:type="GRand*"/>
      </return-value>
    </function>
    <function name="rand_new_with_seed"
              c:identifier="g_rand_new_with_seed"
              introspectable="0">
      <return-value>
        <type name="Rand" c:type="GRand*"/>
      </return-value>
      <parameters>
        <parameter name="seed" transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </parameter>
      </parameters>
    </function>
    <function name="rand_new_with_seed_array"
              c:identifier="g_rand_new_with_seed_array"
              introspectable="0">
      <return-value>
        <type name="Rand" c:type="GRand*"/>
      </return-value>
      <parameters>
        <parameter name="seed" transfer-ownership="none">
          <type name="guint32" c:type="guint32*"/>
        </parameter>
        <parameter name="seed_length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="random_double" c:identifier="g_random_double">
      <return-value transfer-ownership="none">
        <type name="gdouble" c:type="gdouble"/>
      </return-value>
    </function>
    <function name="random_double_range" c:identifier="g_random_double_range">
      <return-value transfer-ownership="none">
        <type name="gdouble" c:type="gdouble"/>
      </return-value>
      <parameters>
        <parameter name="begin" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
      </parameters>
    </function>
    <function name="random_int" c:identifier="g_random_int">
      <return-value transfer-ownership="none">
        <type name="guint32" c:type="guint32"/>
      </return-value>
    </function>
    <function name="random_int_range" c:identifier="g_random_int_range">
      <return-value transfer-ownership="none">
        <type name="gint32" c:type="gint32"/>
      </return-value>
      <parameters>
        <parameter name="begin" transfer-ownership="none">
          <type name="gint32" c:type="gint32"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="gint32" c:type="gint32"/>
        </parameter>
      </parameters>
    </function>
    <function name="random_set_seed" c:identifier="g_random_set_seed">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="seed" transfer-ownership="none">
          <type name="guint32" c:type="guint32"/>
        </parameter>
      </parameters>
    </function>
    <function name="realloc" c:identifier="g_realloc" introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="mem" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="n_bytes" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="realloc_n" c:identifier="g_realloc_n" introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="mem" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="n_blocks" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="n_block_bytes" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="regex_check_replacement"
              c:identifier="g_regex_check_replacement"
              throws="1">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="replacement" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="has_references" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean*"/>
        </parameter>
      </parameters>
    </function>
    <function name="regex_error_quark" c:identifier="g_regex_error_quark">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="regex_escape_string" c:identifier="g_regex_escape_string">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="regex_match_simple" c:identifier="g_regex_match_simple">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="pattern" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="compile_options" transfer-ownership="none">
          <type name="RegexCompileFlags" c:type="GRegexCompileFlags"/>
        </parameter>
        <parameter name="match_options" transfer-ownership="none">
          <type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
        </parameter>
      </parameters>
    </function>
    <function name="regex_new"
              c:identifier="g_regex_new"
              introspectable="0"
              throws="1">
      <return-value>
        <type name="Regex" c:type="GRegex*"/>
      </return-value>
      <parameters>
        <parameter name="pattern" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="compile_options" transfer-ownership="none">
          <type name="RegexCompileFlags" c:type="GRegexCompileFlags"/>
        </parameter>
        <parameter name="match_options" transfer-ownership="none">
          <type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
        </parameter>
      </parameters>
    </function>
    <function name="regex_split_simple"
              c:identifier="g_regex_split_simple"
              introspectable="0">
      <return-value>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="pattern" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="compile_options" transfer-ownership="none">
          <type name="RegexCompileFlags" c:type="GRegexCompileFlags"/>
        </parameter>
        <parameter name="match_options" transfer-ownership="none">
          <type name="RegexMatchFlags" c:type="GRegexMatchFlags"/>
        </parameter>
      </parameters>
    </function>
    <function name="relation_new"
              c:identifier="g_relation_new"
              introspectable="0">
      <return-value>
        <type name="Relation" c:type="GRelation*"/>
      </return-value>
      <parameters>
        <parameter name="fields" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="reload_user_special_dirs_cache"
              c:identifier="g_reload_user_special_dirs_cache">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="return_if_fail_warning"
              c:identifier="g_return_if_fail_warning">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="log_domain" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="pretty_function" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="expression" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="rmdir" c:identifier="g_rmdir">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="scanner_new"
              c:identifier="g_scanner_new"
              introspectable="0">
      <return-value>
        <type name="Scanner" c:type="GScanner*"/>
      </return-value>
      <parameters>
        <parameter name="config_templ" transfer-ownership="none">
          <type name="ScannerConfig" c:type="GScannerConfig*"/>
        </parameter>
      </parameters>
    </function>
    <function name="sequence_foreach_range"
              c:identifier="g_sequence_foreach_range"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="begin" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="3">
          <type name="Func" c:type="GFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="sequence_get"
              c:identifier="g_sequence_get"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="iter" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
      </parameters>
    </function>
    <function name="sequence_insert_before"
              c:identifier="g_sequence_insert_before"
              introspectable="0">
      <return-value>
        <type name="SequenceIter" c:type="GSequenceIter*"/>
      </return-value>
      <parameters>
        <parameter name="iter" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="sequence_move" c:identifier="g_sequence_move">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="src" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="dest" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
      </parameters>
    </function>
    <function name="sequence_move_range" c:identifier="g_sequence_move_range">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dest" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="begin" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
      </parameters>
    </function>
    <function name="sequence_new"
              c:identifier="g_sequence_new"
              introspectable="0">
      <return-value>
        <type name="Sequence" c:type="GSequence*"/>
      </return-value>
      <parameters>
        <parameter name="data_destroy" transfer-ownership="none" scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="sequence_range_get_midpoint"
              c:identifier="g_sequence_range_get_midpoint"
              introspectable="0">
      <return-value>
        <type name="SequenceIter" c:type="GSequenceIter*"/>
      </return-value>
      <parameters>
        <parameter name="begin" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
      </parameters>
    </function>
    <function name="sequence_remove" c:identifier="g_sequence_remove">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="iter" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
      </parameters>
    </function>
    <function name="sequence_remove_range"
              c:identifier="g_sequence_remove_range">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="begin" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
      </parameters>
    </function>
    <function name="sequence_set" c:identifier="g_sequence_set">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="iter" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="sequence_sort_changed"
              c:identifier="g_sequence_sort_changed"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="iter" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="cmp_func" transfer-ownership="none" closure="2">
          <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
        </parameter>
        <parameter name="cmp_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="sequence_sort_changed_iter"
              c:identifier="g_sequence_sort_changed_iter"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="iter" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="iter_cmp" transfer-ownership="none" closure="2">
          <type name="SequenceIterCompareFunc"
                c:type="GSequenceIterCompareFunc"/>
        </parameter>
        <parameter name="cmp_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="sequence_swap" c:identifier="g_sequence_swap">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="a" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
        <parameter name="b" transfer-ownership="none">
          <type name="SequenceIter" c:type="GSequenceIter*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_application_name"
              c:identifier="g_set_application_name">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="application_name" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_error" c:identifier="g_set_error" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="err" transfer-ownership="none">
          <type name="Error" c:type="GError**"/>
        </parameter>
        <parameter name="domain" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="code" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="set_error_literal" c:identifier="g_set_error_literal">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="err" transfer-ownership="none">
          <type name="Error" c:type="GError**"/>
        </parameter>
        <parameter name="domain" transfer-ownership="none">
          <type name="Quark" c:type="GQuark"/>
        </parameter>
        <parameter name="code" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_prgname" c:identifier="g_set_prgname">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="prgname" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_print_handler"
              c:identifier="g_set_print_handler"
              introspectable="0">
      <return-value>
        <type name="PrintFunc" c:type="GPrintFunc"/>
      </return-value>
      <parameters>
        <parameter name="func" transfer-ownership="none">
          <type name="PrintFunc" c:type="GPrintFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="set_printerr_handler"
              c:identifier="g_set_printerr_handler"
              introspectable="0">
      <return-value>
        <type name="PrintFunc" c:type="GPrintFunc"/>
      </return-value>
      <parameters>
        <parameter name="func" transfer-ownership="none">
          <type name="PrintFunc" c:type="GPrintFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="setenv" c:identifier="g_setenv">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="variable" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="overwrite" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="shell_error_quark" c:identifier="g_shell_error_quark">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="shell_parse_argv"
              c:identifier="g_shell_parse_argv"
              throws="1">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="command_line" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="argcp"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="argvp"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <array c:type="gchar***">
            <type name="utf8"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="shell_quote" c:identifier="g_shell_quote">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="unquoted_string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="shell_unquote" c:identifier="g_shell_unquote" throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="quoted_string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="slice_alloc"
              c:identifier="g_slice_alloc"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="block_size" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="slice_alloc0"
              c:identifier="g_slice_alloc0"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="block_size" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="slice_copy" c:identifier="g_slice_copy" introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="block_size" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="mem_block" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="slice_free1" c:identifier="g_slice_free1">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="block_size" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="mem_block" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="slice_free_chain_with_offset"
              c:identifier="g_slice_free_chain_with_offset">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="block_size" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="mem_chain" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="next_offset" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="slice_get_config" c:identifier="g_slice_get_config">
      <return-value transfer-ownership="none">
        <type name="gint64" c:type="gint64"/>
      </return-value>
      <parameters>
        <parameter name="ckey" transfer-ownership="none">
          <type name="SliceConfig" c:type="GSliceConfig"/>
        </parameter>
      </parameters>
    </function>
    <function name="slice_get_config_state"
              c:identifier="g_slice_get_config_state">
      <return-value transfer-ownership="none">
        <type name="gint64" c:type="gint64*"/>
      </return-value>
      <parameters>
        <parameter name="ckey" transfer-ownership="none">
          <type name="SliceConfig" c:type="GSliceConfig"/>
        </parameter>
        <parameter name="address" transfer-ownership="none">
          <type name="gint64" c:type="gint64"/>
        </parameter>
        <parameter name="n_values" transfer-ownership="none">
          <type name="guint" c:type="guint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="slice_set_config" c:identifier="g_slice_set_config">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="ckey" transfer-ownership="none">
          <type name="SliceConfig" c:type="GSliceConfig"/>
        </parameter>
        <parameter name="value" transfer-ownership="none">
          <type name="gint64" c:type="gint64"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_alloc"
              c:identifier="g_slist_alloc"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
    </function>
    <function name="slist_append"
              c:identifier="g_slist_append"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_concat"
              c:identifier="g_slist_concat"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list1" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="list2" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="slist_copy" c:identifier="g_slist_copy" introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="slist_delete_link"
              c:identifier="g_slist_delete_link"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="link_" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="slist_find" c:identifier="g_slist_find" introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_find_custom"
              c:identifier="g_slist_find_custom"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="CompareFunc" c:type="GCompareFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_foreach"
              c:identifier="g_slist_foreach"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="2">
          <type name="Func" c:type="GFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_free" c:identifier="g_slist_free">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="slist_free_1" c:identifier="g_slist_free_1">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="slist_index" c:identifier="g_slist_index">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_insert"
              c:identifier="g_slist_insert"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="position" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_insert_before"
              c:identifier="g_slist_insert_before"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="slist" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="sibling" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_insert_sorted"
              c:identifier="g_slist_insert_sorted"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="CompareFunc" c:type="GCompareFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_insert_sorted_with_data"
              c:identifier="g_slist_insert_sorted_with_data"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="func" transfer-ownership="none" closure="3">
          <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_last" c:identifier="g_slist_last" introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="slist_length" c:identifier="g_slist_length">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="slist_nth" c:identifier="g_slist_nth" introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_nth_data"
              c:identifier="g_slist_nth_data"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_pop_allocator" c:identifier="g_slist_pop_allocator">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="slist_position" c:identifier="g_slist_position">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="llink" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="slist_prepend"
              c:identifier="g_slist_prepend"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_push_allocator"
              c:identifier="g_slist_push_allocator">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="dummy" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_remove"
              c:identifier="g_slist_remove"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_remove_all"
              c:identifier="g_slist_remove_all"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_remove_link"
              c:identifier="g_slist_remove_link"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="link_" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="slist_reverse"
              c:identifier="g_slist_reverse"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
      </parameters>
    </function>
    <function name="slist_sort" c:identifier="g_slist_sort" introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="compare_func" transfer-ownership="none">
          <type name="CompareFunc" c:type="GCompareFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="slist_sort_with_data"
              c:identifier="g_slist_sort_with_data"
              introspectable="0">
      <return-value>
        <type name="GLib.SList" c:type="GSList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="list" transfer-ownership="none">
          <type name="GLib.SList" c:type="GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="compare_func" transfer-ownership="none" closure="2">
          <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="snprintf" c:identifier="g_snprintf" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="gulong" c:type="gulong"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="source_new" c:identifier="g_source_new" introspectable="0">
      <return-value>
        <type name="Source" c:type="GSource*"/>
      </return-value>
      <parameters>
        <parameter name="source_funcs" transfer-ownership="none">
          <type name="SourceFuncs" c:type="GSourceFuncs*"/>
        </parameter>
        <parameter name="struct_size" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="source_remove" c:identifier="g_source_remove">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="tag" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="source_remove_by_funcs_user_data"
              c:identifier="g_source_remove_by_funcs_user_data">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="funcs" transfer-ownership="none">
          <type name="SourceFuncs" c:type="GSourceFuncs*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="source_remove_by_user_data"
              c:identifier="g_source_remove_by_user_data">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="source_set_name_by_id"
              c:identifier="g_source_set_name_by_id">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="tag" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="spaced_primes_closest"
              c:identifier="g_spaced_primes_closest">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="num" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="spawn_async" c:identifier="g_spawn_async" throws="1">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="working_directory"
                   transfer-ownership="none"
                   allow-none="1">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="argv" transfer-ownership="none">
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </parameter>
        <parameter name="envp" transfer-ownership="none" allow-none="1">
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="SpawnFlags" c:type="GSpawnFlags"/>
        </parameter>
        <parameter name="child_setup"
                   transfer-ownership="none"
                   allow-none="1"
                   scope="async"
                   closure="5">
          <type name="SpawnChildSetupFunc" c:type="GSpawnChildSetupFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="child_pid"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="Pid" c:type="GPid*"/>
        </parameter>
      </parameters>
    </function>
    <function name="spawn_async_with_pipes"
              c:identifier="g_spawn_async_with_pipes"
              throws="1">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="working_directory"
                   transfer-ownership="none"
                   allow-none="1">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="argv" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="envp" transfer-ownership="none" allow-none="1">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="SpawnFlags" c:type="GSpawnFlags"/>
        </parameter>
        <parameter name="child_setup"
                   transfer-ownership="none"
                   allow-none="1"
                   scope="async"
                   closure="5">
          <type name="SpawnChildSetupFunc" c:type="GSpawnChildSetupFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="child_pid"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="Pid" c:type="GPid*"/>
        </parameter>
        <parameter name="standard_input"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="standard_output"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="standard_error"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="gint" c:type="gint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="spawn_close_pid" c:identifier="g_spawn_close_pid">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="pid" transfer-ownership="none">
          <type name="Pid" c:type="GPid"/>
        </parameter>
      </parameters>
    </function>
    <function name="spawn_command_line_async"
              c:identifier="g_spawn_command_line_async"
              throws="1">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="command_line" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="spawn_command_line_sync"
              c:identifier="g_spawn_command_line_sync"
              throws="1">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="command_line" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="standard_output"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="standard_error"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="exit_status"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="gint" c:type="gint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="spawn_error_quark" c:identifier="g_spawn_error_quark">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="spawn_sync" c:identifier="g_spawn_sync" throws="1">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="working_directory"
                   transfer-ownership="none"
                   allow-none="1">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="argv" transfer-ownership="none">
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </parameter>
        <parameter name="envp" transfer-ownership="none" allow-none="1">
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="SpawnFlags" c:type="GSpawnFlags"/>
        </parameter>
        <parameter name="child_setup"
                   transfer-ownership="none"
                   allow-none="1"
                   scope="call"
                   closure="5">
          <type name="SpawnChildSetupFunc" c:type="GSpawnChildSetupFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="standard_output"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="standard_error"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="exit_status"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <type name="gint" c:type="gint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="sprintf" c:identifier="g_sprintf" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="static_mutex_get_mutex_impl"
              c:identifier="g_static_mutex_get_mutex_impl"
              introspectable="0">
      <return-value>
        <type name="Mutex" c:type="GMutex*"/>
      </return-value>
      <parameters>
        <parameter name="mutex" transfer-ownership="none">
          <type name="Mutex" c:type="GMutex**"/>
        </parameter>
      </parameters>
    </function>
    <function name="stpcpy" c:identifier="g_stpcpy">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="dest" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="src" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="str_equal" c:identifier="g_str_equal">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="v1" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="v2" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="str_has_prefix" c:identifier="g_str_has_prefix">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="prefix" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="str_has_suffix" c:identifier="g_str_has_suffix">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="suffix" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="str_hash" c:identifier="g_str_hash">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="v" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="strcanon" c:identifier="g_strcanon">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="valid_chars" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="substitutor" transfer-ownership="none">
          <type name="gchar" c:type="gchar"/>
        </parameter>
      </parameters>
    </function>
    <function name="strcasecmp" c:identifier="g_strcasecmp">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="s1" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="s2" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strchomp" c:identifier="g_strchomp">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strchug" c:identifier="g_strchug">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strcmp0" c:identifier="g_strcmp0">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="str1" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="str2" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strcompress" c:identifier="g_strcompress">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="source" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strconcat" c:identifier="g_strconcat" introspectable="0">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string1" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="strdelimit" c:identifier="g_strdelimit">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="delimiters" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="new_delimiter" transfer-ownership="none">
          <type name="gchar" c:type="gchar"/>
        </parameter>
      </parameters>
    </function>
    <function name="strdown" c:identifier="g_strdown">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strdup" c:identifier="g_strdup">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strdup_printf"
              c:identifier="g_strdup_printf"
              introspectable="0">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="strdup_vprintf"
              c:identifier="g_strdup_vprintf"
              introspectable="0">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="strdupv" c:identifier="g_strdupv" introspectable="0">
      <return-value>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="str_array" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="strerror" c:identifier="g_strerror">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="errnum" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="strescape" c:identifier="g_strescape">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="source" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="exceptions" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strfreev" c:identifier="g_strfreev">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="str_array" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="string_chunk_new"
              c:identifier="g_string_chunk_new"
              introspectable="0">
      <return-value>
        <type name="StringChunk" c:type="GStringChunk*"/>
      </return-value>
      <parameters>
        <parameter name="size" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="string_new" c:identifier="g_string_new" introspectable="0">
      <return-value>
        <type name="String" c:type="GString*"/>
      </return-value>
      <parameters>
        <parameter name="init" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="string_new_len"
              c:identifier="g_string_new_len"
              introspectable="0">
      <return-value>
        <type name="String" c:type="GString*"/>
      </return-value>
      <parameters>
        <parameter name="init" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="string_sized_new"
              c:identifier="g_string_sized_new"
              introspectable="0">
      <return-value>
        <type name="String" c:type="GString*"/>
      </return-value>
      <parameters>
        <parameter name="dfl_size" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="strip_context" c:identifier="g_strip_context">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="msgid" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="msgval" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strjoin" c:identifier="g_strjoin" introspectable="0">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="separator" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="strjoinv" c:identifier="g_strjoinv">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="separator" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="str_array" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="strlcat" c:identifier="g_strlcat">
      <return-value transfer-ownership="none">
        <type name="gulong" c:type="gsize"/>
      </return-value>
      <parameters>
        <parameter name="dest" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="src" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="dest_size" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="strlcpy" c:identifier="g_strlcpy">
      <return-value transfer-ownership="none">
        <type name="gulong" c:type="gsize"/>
      </return-value>
      <parameters>
        <parameter name="dest" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="src" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="dest_size" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="strncasecmp" c:identifier="g_strncasecmp">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="s1" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="s2" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="strndup" c:identifier="g_strndup">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="strnfill" c:identifier="g_strnfill">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="length" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="fill_char" transfer-ownership="none">
          <type name="gchar" c:type="gchar"/>
        </parameter>
      </parameters>
    </function>
    <function name="strreverse" c:identifier="g_strreverse">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strrstr" c:identifier="g_strrstr">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="haystack" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="needle" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strrstr_len" c:identifier="g_strrstr_len">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="haystack" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="haystack_len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
        <parameter name="needle" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strsignal" c:identifier="g_strsignal">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="signum" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="strsplit" c:identifier="g_strsplit" introspectable="0">
      <return-value>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="delimiter" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="max_tokens" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="strsplit_set"
              c:identifier="g_strsplit_set"
              introspectable="0">
      <return-value>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="delimiters" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="max_tokens" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="strstr_len" c:identifier="g_strstr_len">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="haystack" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="haystack_len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
        <parameter name="needle" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strtod" c:identifier="g_strtod">
      <return-value transfer-ownership="none">
        <type name="gdouble" c:type="gdouble"/>
      </return-value>
      <parameters>
        <parameter name="nptr" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="endptr" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="strup" c:identifier="g_strup">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="strv_length" c:identifier="g_strv_length">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="str_array" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_add_data_func"
              c:identifier="g_test_add_data_func"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="testpath" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="test_data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="test_func" transfer-ownership="none">
          <type name="TestDataFunc" c:type="GTestDataFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_add_func"
              c:identifier="g_test_add_func"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="testpath" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="test_func" transfer-ownership="none">
          <type name="TestFunc" c:type="GTestFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_add_vtable"
              c:identifier="g_test_add_vtable"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="testpath" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="data_size" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="test_data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="data_setup" transfer-ownership="none">
          <type name="TestFixtureFunc" c:type="GTestFixtureFunc"/>
        </parameter>
        <parameter name="data_test" transfer-ownership="none">
          <type name="TestFixtureFunc" c:type="GTestFixtureFunc"/>
        </parameter>
        <parameter name="data_teardown" transfer-ownership="none">
          <type name="TestFixtureFunc" c:type="GTestFixtureFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_bug" c:identifier="g_test_bug">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bug_uri_snippet" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_bug_base" c:identifier="g_test_bug_base">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="uri_pattern" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_create_case"
              c:identifier="g_test_create_case"
              introspectable="0">
      <return-value>
        <type name="TestCase" c:type="GTestCase*"/>
      </return-value>
      <parameters>
        <parameter name="test_name" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="data_size" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="test_data" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="data_setup" transfer-ownership="none">
          <type name="TestFixtureFunc" c:type="GTestFixtureFunc"/>
        </parameter>
        <parameter name="data_test" transfer-ownership="none">
          <type name="TestFixtureFunc" c:type="GTestFixtureFunc"/>
        </parameter>
        <parameter name="data_teardown" transfer-ownership="none">
          <type name="TestFixtureFunc" c:type="GTestFixtureFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_create_suite"
              c:identifier="g_test_create_suite"
              introspectable="0">
      <return-value>
        <type name="TestSuite" c:type="GTestSuite*"/>
      </return-value>
      <parameters>
        <parameter name="suite_name" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_get_root"
              c:identifier="g_test_get_root"
              introspectable="0">
      <return-value>
        <type name="TestSuite" c:type="GTestSuite*"/>
      </return-value>
    </function>
    <function name="test_init" c:identifier="g_test_init" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="argc" transfer-ownership="none">
          <type name="gint" c:type="int*"/>
        </parameter>
        <parameter name="argv" transfer-ownership="none">
          <type name="utf8" c:type="char***"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="test_log_buffer_new"
              c:identifier="g_test_log_buffer_new"
              introspectable="0">
      <return-value>
        <type name="TestLogBuffer" c:type="GTestLogBuffer*"/>
      </return-value>
    </function>
    <function name="test_log_set_fatal_handler"
              c:identifier="g_test_log_set_fatal_handler"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="log_func" transfer-ownership="none" closure="1">
          <type name="TestLogFatalFunc" c:type="GTestLogFatalFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_log_type_name" c:identifier="g_test_log_type_name">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="log_type" transfer-ownership="none">
          <type name="TestLogType" c:type="GTestLogType"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_maximized_result"
              c:identifier="g_test_maximized_result"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="maximized_quantity" transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="test_message"
              c:identifier="g_test_message"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="test_minimized_result"
              c:identifier="g_test_minimized_result"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="minimized_quantity" transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="test_queue_destroy" c:identifier="g_test_queue_destroy">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="destroy_func" transfer-ownership="none" scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
        <parameter name="destroy_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_queue_free" c:identifier="g_test_queue_free">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="gfree_pointer" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_rand_double" c:identifier="g_test_rand_double">
      <return-value transfer-ownership="none">
        <type name="gdouble" c:type="double"/>
      </return-value>
    </function>
    <function name="test_rand_double_range"
              c:identifier="g_test_rand_double_range">
      <return-value transfer-ownership="none">
        <type name="gdouble" c:type="double"/>
      </return-value>
      <parameters>
        <parameter name="range_start" transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </parameter>
        <parameter name="range_end" transfer-ownership="none">
          <type name="gdouble" c:type="double"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_rand_int" c:identifier="g_test_rand_int">
      <return-value transfer-ownership="none">
        <type name="gint32" c:type="gint32"/>
      </return-value>
    </function>
    <function name="test_rand_int_range" c:identifier="g_test_rand_int_range">
      <return-value transfer-ownership="none">
        <type name="gint32" c:type="gint32"/>
      </return-value>
      <parameters>
        <parameter name="begin" transfer-ownership="none">
          <type name="gint32" c:type="gint32"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="gint32" c:type="gint32"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_run" c:identifier="g_test_run">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
    </function>
    <function name="test_run_suite" c:identifier="g_test_run_suite">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="suite" transfer-ownership="none">
          <type name="TestSuite" c:type="GTestSuite*"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_timer_elapsed" c:identifier="g_test_timer_elapsed">
      <return-value transfer-ownership="none">
        <type name="gdouble" c:type="double"/>
      </return-value>
    </function>
    <function name="test_timer_last" c:identifier="g_test_timer_last">
      <return-value transfer-ownership="none">
        <type name="gdouble" c:type="double"/>
      </return-value>
    </function>
    <function name="test_timer_start" c:identifier="g_test_timer_start">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="test_trap_assertions"
              c:identifier="g_test_trap_assertions">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="assertion_flags" transfer-ownership="none">
          <type name="guint64" c:type="guint64"/>
        </parameter>
        <parameter name="pattern" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_trap_fork" c:identifier="g_test_trap_fork">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="usec_timeout" transfer-ownership="none">
          <type name="guint64" c:type="guint64"/>
        </parameter>
        <parameter name="test_trap_flags" transfer-ownership="none">
          <type name="TestTrapFlags" c:type="GTestTrapFlags"/>
        </parameter>
      </parameters>
    </function>
    <function name="test_trap_has_passed"
              c:identifier="g_test_trap_has_passed">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="test_trap_reached_timeout"
              c:identifier="g_test_trap_reached_timeout">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="thread_create_full"
              c:identifier="g_thread_create_full"
              introspectable="0"
              throws="1">
      <return-value>
        <type name="Thread" c:type="GThread*"/>
      </return-value>
      <parameters>
        <parameter name="func" transfer-ownership="none" closure="1">
          <type name="ThreadFunc" c:type="GThreadFunc"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="stack_size" transfer-ownership="none">
          <type name="gulong" c:type="gulong"/>
        </parameter>
        <parameter name="joinable" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="bound" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="priority" transfer-ownership="none">
          <type name="ThreadPriority" c:type="GThreadPriority"/>
        </parameter>
      </parameters>
    </function>
    <function name="thread_error_quark" c:identifier="g_thread_error_quark">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="thread_exit" c:identifier="g_thread_exit">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="retval" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="thread_foreach"
              c:identifier="g_thread_foreach"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="thread_func" transfer-ownership="none" closure="1">
          <type name="Func" c:type="GFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="thread_get_initialized"
              c:identifier="g_thread_get_initialized">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="thread_init" c:identifier="g_thread_init">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="vtable" transfer-ownership="none" allow-none="1">
          <type name="ThreadFunctions" c:type="GThreadFunctions*"/>
        </parameter>
      </parameters>
    </function>
    <function name="thread_init_with_errorcheck_mutexes"
              c:identifier="g_thread_init_with_errorcheck_mutexes">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="vtable" transfer-ownership="none">
          <type name="ThreadFunctions" c:type="GThreadFunctions*"/>
        </parameter>
      </parameters>
    </function>
    <function name="thread_pool_get_max_idle_time"
              c:identifier="g_thread_pool_get_max_idle_time">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
    </function>
    <function name="thread_pool_get_max_unused_threads"
              c:identifier="g_thread_pool_get_max_unused_threads">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
    </function>
    <function name="thread_pool_get_num_unused_threads"
              c:identifier="g_thread_pool_get_num_unused_threads">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
    </function>
    <function name="thread_pool_new"
              c:identifier="g_thread_pool_new"
              introspectable="0"
              throws="1">
      <return-value>
        <type name="ThreadPool" c:type="GThreadPool*"/>
      </return-value>
      <parameters>
        <parameter name="func" transfer-ownership="none" closure="1">
          <type name="Func" c:type="GFunc"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="max_threads" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="exclusive" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="thread_pool_set_max_idle_time"
              c:identifier="g_thread_pool_set_max_idle_time">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="interval" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="thread_pool_set_max_unused_threads"
              c:identifier="g_thread_pool_set_max_unused_threads">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="max_threads" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="thread_pool_stop_unused_threads"
              c:identifier="g_thread_pool_stop_unused_threads">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="thread_self"
              c:identifier="g_thread_self"
              introspectable="0">
      <return-value>
        <type name="Thread" c:type="GThread*"/>
      </return-value>
    </function>
    <function name="time_val_from_iso8601"
              c:identifier="g_time_val_from_iso8601">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="iso_date" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="time_" transfer-ownership="none">
          <type name="TimeVal" c:type="GTimeVal*"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_zone_new"
              c:identifier="g_time_zone_new"
              introspectable="0">
      <return-value>
        <type name="TimeZone" c:type="GTimeZone*"/>
      </return-value>
      <parameters>
        <parameter name="identifier" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="time_zone_new_local"
              c:identifier="g_time_zone_new_local"
              introspectable="0">
      <return-value>
        <type name="TimeZone" c:type="GTimeZone*"/>
      </return-value>
    </function>
    <function name="time_zone_new_utc"
              c:identifier="g_time_zone_new_utc"
              introspectable="0">
      <return-value>
        <type name="TimeZone" c:type="GTimeZone*"/>
      </return-value>
    </function>
    <function name="timeout_add"
              c:identifier="g_timeout_add"
              shadowed-by="timeout_add_full"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="interval" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none" closure="2">
          <type name="SourceFunc" c:type="GSourceFunc"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="timeout_add_full"
              c:identifier="g_timeout_add_full"
              shadows="timeout_add">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="priority" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="interval" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="function"
                   transfer-ownership="none"
                   scope="notified"
                   closure="3"
                   destroy="4">
          <type name="SourceFunc" c:type="GSourceFunc"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="notify" transfer-ownership="none" scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="timeout_add_seconds"
              c:identifier="g_timeout_add_seconds"
              shadowed-by="timeout_add_seconds_full"
              introspectable="0">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="interval" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none" closure="2">
          <type name="SourceFunc" c:type="GSourceFunc"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="timeout_add_seconds_full"
              c:identifier="g_timeout_add_seconds_full"
              shadows="timeout_add_seconds">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="priority" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="interval" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="function"
                   transfer-ownership="none"
                   scope="notified"
                   closure="3"
                   destroy="4">
          <type name="SourceFunc" c:type="GSourceFunc"/>
        </parameter>
        <parameter name="data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="notify" transfer-ownership="none" scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="timeout_source_new"
              c:identifier="g_timeout_source_new"
              introspectable="0">
      <return-value>
        <type name="Source" c:type="GSource*"/>
      </return-value>
      <parameters>
        <parameter name="interval" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="timeout_source_new_seconds"
              c:identifier="g_timeout_source_new_seconds"
              introspectable="0">
      <return-value>
        <type name="Source" c:type="GSource*"/>
      </return-value>
      <parameters>
        <parameter name="interval" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="timer_new" c:identifier="g_timer_new" introspectable="0">
      <return-value>
        <type name="Timer" c:type="GTimer*"/>
      </return-value>
    </function>
    <function name="trash_stack_height" c:identifier="g_trash_stack_height">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="stack_p" transfer-ownership="none">
          <type name="TrashStack" c:type="GTrashStack**"/>
        </parameter>
      </parameters>
    </function>
    <function name="trash_stack_peek"
              c:identifier="g_trash_stack_peek"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="stack_p" transfer-ownership="none">
          <type name="TrashStack" c:type="GTrashStack**"/>
        </parameter>
      </parameters>
    </function>
    <function name="trash_stack_pop"
              c:identifier="g_trash_stack_pop"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="stack_p" transfer-ownership="none">
          <type name="TrashStack" c:type="GTrashStack**"/>
        </parameter>
      </parameters>
    </function>
    <function name="trash_stack_push" c:identifier="g_trash_stack_push">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="stack_p" transfer-ownership="none">
          <type name="TrashStack" c:type="GTrashStack**"/>
        </parameter>
        <parameter name="data_p" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="tree_new" c:identifier="g_tree_new" introspectable="0">
      <return-value>
        <type name="Tree" c:type="GTree*"/>
      </return-value>
      <parameters>
        <parameter name="key_compare_func" transfer-ownership="none">
          <type name="CompareFunc" c:type="GCompareFunc"/>
        </parameter>
      </parameters>
    </function>
    <function name="tree_new_full"
              c:identifier="g_tree_new_full"
              introspectable="0">
      <return-value>
        <type name="Tree" c:type="GTree*"/>
      </return-value>
      <parameters>
        <parameter name="key_compare_func"
                   transfer-ownership="none"
                   scope="notified"
                   closure="1"
                   destroy="3">
          <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
        </parameter>
        <parameter name="key_compare_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="key_destroy_func"
                   transfer-ownership="none"
                   scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
        <parameter name="value_destroy_func"
                   transfer-ownership="none"
                   scope="async">
          <type name="DestroyNotify" c:type="GDestroyNotify"/>
        </parameter>
      </parameters>
    </function>
    <function name="tree_new_with_data"
              c:identifier="g_tree_new_with_data"
              introspectable="0">
      <return-value>
        <type name="Tree" c:type="GTree*"/>
      </return-value>
      <parameters>
        <parameter name="key_compare_func"
                   transfer-ownership="none"
                   closure="1">
          <type name="CompareDataFunc" c:type="GCompareDataFunc"/>
        </parameter>
        <parameter name="key_compare_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="try_malloc" c:identifier="g_try_malloc" introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="n_bytes" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="try_malloc0"
              c:identifier="g_try_malloc0"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="n_bytes" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="try_malloc0_n"
              c:identifier="g_try_malloc0_n"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="n_blocks" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="n_block_bytes" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="try_malloc_n"
              c:identifier="g_try_malloc_n"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="n_blocks" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="n_block_bytes" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="try_realloc"
              c:identifier="g_try_realloc"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="mem" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="n_bytes" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="try_realloc_n"
              c:identifier="g_try_realloc_n"
              introspectable="0">
      <return-value>
        <type name="gpointer" c:type="gpointer"/>
      </return-value>
      <parameters>
        <parameter name="mem" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="n_blocks" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
        <parameter name="n_block_bytes" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="ucs4_to_utf16" c:identifier="g_ucs4_to_utf16" throws="1">
      <return-value transfer-ownership="none">
        <type name="guint16" c:type="gunichar2*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="glong"/>
        </parameter>
        <parameter name="items_read" transfer-ownership="none">
          <type name="glong" c:type="glong*"/>
        </parameter>
        <parameter name="items_written" transfer-ownership="none">
          <type name="glong" c:type="glong*"/>
        </parameter>
      </parameters>
    </function>
    <function name="ucs4_to_utf8" c:identifier="g_ucs4_to_utf8" throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="glong"/>
        </parameter>
        <parameter name="items_read" transfer-ownership="none">
          <type name="glong" c:type="glong*"/>
        </parameter>
        <parameter name="items_written" transfer-ownership="none">
          <type name="glong" c:type="glong*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_break_type" c:identifier="g_unichar_break_type">
      <return-value transfer-ownership="none">
        <type name="UnicodeBreakType" c:type="GUnicodeBreakType"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_combining_class"
              c:identifier="g_unichar_combining_class">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="uc" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_digit_value" c:identifier="g_unichar_digit_value">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_get_mirror_char"
              c:identifier="g_unichar_get_mirror_char">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="ch" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
        <parameter name="mirrored_ch" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_get_script" c:identifier="g_unichar_get_script">
      <return-value transfer-ownership="none">
        <type name="UnicodeScript" c:type="GUnicodeScript"/>
      </return-value>
      <parameters>
        <parameter name="ch" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_isalnum" c:identifier="g_unichar_isalnum">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_isalpha" c:identifier="g_unichar_isalpha">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_iscntrl" c:identifier="g_unichar_iscntrl">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_isdefined" c:identifier="g_unichar_isdefined">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_isdigit" c:identifier="g_unichar_isdigit">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_isgraph" c:identifier="g_unichar_isgraph">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_islower" c:identifier="g_unichar_islower">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_ismark" c:identifier="g_unichar_ismark">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_isprint" c:identifier="g_unichar_isprint">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_ispunct" c:identifier="g_unichar_ispunct">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_isspace" c:identifier="g_unichar_isspace">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_istitle" c:identifier="g_unichar_istitle">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_isupper" c:identifier="g_unichar_isupper">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_iswide" c:identifier="g_unichar_iswide">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_iswide_cjk" c:identifier="g_unichar_iswide_cjk">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_isxdigit" c:identifier="g_unichar_isxdigit">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_iszerowidth" c:identifier="g_unichar_iszerowidth">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_to_utf8" c:identifier="g_unichar_to_utf8">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
        <parameter name="outbuf" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_tolower" c:identifier="g_unichar_tolower">
      <return-value transfer-ownership="none">
        <type name="gunichar" c:type="gunichar"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_totitle" c:identifier="g_unichar_totitle">
      <return-value transfer-ownership="none">
        <type name="gunichar" c:type="gunichar"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_toupper" c:identifier="g_unichar_toupper">
      <return-value transfer-ownership="none">
        <type name="gunichar" c:type="gunichar"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_type" c:identifier="g_unichar_type">
      <return-value transfer-ownership="none">
        <type name="UnicodeType" c:type="GUnicodeType"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_validate" c:identifier="g_unichar_validate">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="ch" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unichar_xdigit_value"
              c:identifier="g_unichar_xdigit_value">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_canonical_decomposition"
              c:identifier="g_unicode_canonical_decomposition">
      <return-value transfer-ownership="none">
        <type name="gunichar" c:type="gunichar*"/>
      </return-value>
      <parameters>
        <parameter name="ch" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
        <parameter name="result_len" transfer-ownership="none">
          <type name="gulong" c:type="gsize*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unicode_canonical_ordering"
              c:identifier="g_unicode_canonical_ordering">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="unlink" c:identifier="g_unlink">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="unsetenv" c:identifier="g_unsetenv">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="variable" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="uri_escape_string" c:identifier="g_uri_escape_string">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="unescaped" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="reserved_chars_allowed" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="allow_utf8" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="uri_list_extract_uris"
              c:identifier="g_uri_list_extract_uris"
              introspectable="0">
      <return-value>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="uri_list" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="uri_parse_scheme" c:identifier="g_uri_parse_scheme">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="uri_unescape_segment"
              c:identifier="g_uri_unescape_segment">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="escaped_string" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="escaped_string_end" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="illegal_characters" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="uri_unescape_string" c:identifier="g_uri_unescape_string">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="escaped_string" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="illegal_characters" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="usleep" c:identifier="g_usleep">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="microseconds" transfer-ownership="none">
          <type name="gulong" c:type="gulong"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf16_to_ucs4" c:identifier="g_utf16_to_ucs4" throws="1">
      <return-value transfer-ownership="none">
        <type name="gunichar" c:type="gunichar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="guint16" c:type="gunichar2*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="glong"/>
        </parameter>
        <parameter name="items_read" transfer-ownership="none">
          <type name="glong" c:type="glong*"/>
        </parameter>
        <parameter name="items_written" transfer-ownership="none">
          <type name="glong" c:type="glong*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf16_to_utf8" c:identifier="g_utf16_to_utf8" throws="1">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="guint16" c:type="gunichar2*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="glong"/>
        </parameter>
        <parameter name="items_read" transfer-ownership="none">
          <type name="glong" c:type="glong*"/>
        </parameter>
        <parameter name="items_written" transfer-ownership="none">
          <type name="glong" c:type="glong*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_casefold" c:identifier="g_utf8_casefold">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_collate" c:identifier="g_utf8_collate">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="str1" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="str2" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_collate_key" c:identifier="g_utf8_collate_key">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_collate_key_for_filename"
              c:identifier="g_utf8_collate_key_for_filename">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_find_next_char" c:identifier="g_utf8_find_next_char">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="p" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_find_prev_char" c:identifier="g_utf8_find_prev_char">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="p" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_get_char" c:identifier="g_utf8_get_char">
      <return-value transfer-ownership="none">
        <type name="gunichar" c:type="gunichar"/>
      </return-value>
      <parameters>
        <parameter name="p" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_get_char_validated"
              c:identifier="g_utf8_get_char_validated">
      <return-value transfer-ownership="none">
        <type name="gunichar" c:type="gunichar"/>
      </return-value>
      <parameters>
        <parameter name="p" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="max_len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_normalize" c:identifier="g_utf8_normalize">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
        <parameter name="mode" transfer-ownership="none">
          <type name="NormalizeMode" c:type="GNormalizeMode"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_offset_to_pointer"
              c:identifier="g_utf8_offset_to_pointer">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="offset" transfer-ownership="none">
          <type name="glong" c:type="glong"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_pointer_to_offset"
              c:identifier="g_utf8_pointer_to_offset">
      <return-value transfer-ownership="none">
        <type name="glong" c:type="glong"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="pos" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_prev_char" c:identifier="g_utf8_prev_char">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="p" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_strchr" c:identifier="g_utf8_strchr">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="p" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_strdown" c:identifier="g_utf8_strdown">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_strlen" c:identifier="g_utf8_strlen">
      <return-value transfer-ownership="none">
        <type name="glong" c:type="glong"/>
      </return-value>
      <parameters>
        <parameter name="p" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="max" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_strncpy" c:identifier="g_utf8_strncpy">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="dest" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="src" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_strrchr" c:identifier="g_utf8_strrchr">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="p" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
        <parameter name="c" transfer-ownership="none">
          <type name="gunichar" c:type="gunichar"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_strreverse" c:identifier="g_utf8_strreverse">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_strup" c:identifier="g_utf8_strup">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_to_ucs4" c:identifier="g_utf8_to_ucs4" throws="1">
      <return-value transfer-ownership="none">
        <type name="gunichar" c:type="gunichar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="glong"/>
        </parameter>
        <parameter name="items_read" transfer-ownership="none">
          <type name="glong" c:type="glong*"/>
        </parameter>
        <parameter name="items_written" transfer-ownership="none">
          <type name="glong" c:type="glong*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_to_ucs4_fast" c:identifier="g_utf8_to_ucs4_fast">
      <return-value transfer-ownership="none">
        <type name="gunichar" c:type="gunichar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="glong"/>
        </parameter>
        <parameter name="items_written" transfer-ownership="none">
          <type name="glong" c:type="glong*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_to_utf16" c:identifier="g_utf8_to_utf16" throws="1">
      <return-value transfer-ownership="none">
        <type name="guint16" c:type="gunichar2*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <type name="glong" c:type="glong"/>
        </parameter>
        <parameter name="items_read" transfer-ownership="none">
          <type name="glong" c:type="glong*"/>
        </parameter>
        <parameter name="items_written" transfer-ownership="none">
          <type name="glong" c:type="glong*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utf8_validate" c:identifier="g_utf8_validate">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="max_len" transfer-ownership="none">
          <type name="glong" c:type="gssize"/>
        </parameter>
        <parameter name="end" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_builder_new"
              c:identifier="g_variant_builder_new"
              introspectable="0">
      <return-value>
        <type name="VariantBuilder" c:type="GVariantBuilder*"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="VariantType" c:type="GVariantType*"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_compare" c:identifier="g_variant_compare">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="one" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="two" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_equal" c:identifier="g_variant_equal">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="one" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="two" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_get_type" c:identifier="g_variant_get_type">
      <return-value transfer-ownership="none">
        <type name="VariantType" c:type="GVariantType*"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <type name="Variant" c:type="GVariant*"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_hash" c:identifier="g_variant_hash">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="value" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_is_object_path"
              c:identifier="g_variant_is_object_path">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_is_signature"
              c:identifier="g_variant_is_signature">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_new_tuple" c:identifier="g_variant_new_tuple">
      <return-value transfer-ownership="full">
        <type name="Variant" c:type="GVariant*"/>
      </return-value>
      <parameters>
        <parameter name="children" transfer-ownership="none">
          <type name="Variant" c:type="GVariant**"/>
        </parameter>
        <parameter name="n_children" transfer-ownership="none">
          <type name="gulong" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_parse" c:identifier="g_variant_parse" throws="1">
      <return-value transfer-ownership="full">
        <type name="Variant" c:type="GVariant*"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="VariantType" c:type="GVariantType*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="limit" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="endptr" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_parser_get_error_quark"
              c:identifier="g_variant_parser_get_error_quark">
      <return-value transfer-ownership="none">
        <type name="Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="variant_type_checked_"
              c:identifier="g_variant_type_checked_">
      <return-value transfer-ownership="none">
        <type name="VariantType" c:type="GVariantType*"/>
      </return-value>
      <parameters>
        <parameter transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_type_equal" c:identifier="g_variant_type_equal">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="type1" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
        <parameter name="type2" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_type_hash" c:identifier="g_variant_type_hash">
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <type name="gpointer" c:type="gconstpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_type_new"
              c:identifier="g_variant_type_new"
              introspectable="0">
      <return-value>
        <type name="VariantType" c:type="GVariantType*"/>
      </return-value>
      <parameters>
        <parameter name="type_string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_type_new_tuple"
              c:identifier="g_variant_type_new_tuple"
              introspectable="0">
      <return-value>
        <type name="VariantType" c:type="GVariantType*"/>
      </return-value>
      <parameters>
        <parameter name="items" transfer-ownership="none">
          <type name="VariantType" c:type="GVariantType**"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_type_string_is_valid"
              c:identifier="g_variant_type_string_is_valid">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="type_string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="variant_type_string_scan"
              c:identifier="g_variant_type_string_scan">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="limit" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="endptr" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="vasprintf" c:identifier="g_vasprintf" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="vfprintf" c:identifier="g_vfprintf" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="file" transfer-ownership="none">
          <type name="gpointer" c:type="FILE*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="vprintf" c:identifier="g_vprintf" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="vsnprintf" c:identifier="g_vsnprintf" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="n" transfer-ownership="none">
          <type name="gulong" c:type="gulong"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="vsprintf" c:identifier="g_vsprintf" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="warn_message" c:identifier="g_warn_message">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="domain" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="gint" c:type="int"/>
        </parameter>
        <parameter name="func" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
        <parameter name="warnexpr" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
