<?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">
  <include name="GLib" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <namespace name="LangTag"
             version="0.6"
             shared-library="/opt/local/lib/liblangtag-gobject.0.dylib"
             c:identifier-prefixes="Lt"
             c:symbol-prefixes="lt">
    <function-macro name="ALIGNED_TO"
                    c:identifier="LT_ALIGNED_TO"
                    introspectable="0">
      <source-position filename="lt-macros.gir.h" line="283"/>
      <parameters>
        <parameter name="_x_">
        </parameter>
        <parameter name="_y_">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ALIGNED_TO_POINTER"
                    c:identifier="LT_ALIGNED_TO_POINTER"
                    introspectable="0">
      <source-position filename="lt-macros.gir.h" line="284"/>
      <parameters>
        <parameter name="_x_">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ASSERT_STATIC"
                    c:identifier="LT_ASSERT_STATIC"
                    introspectable="0">
      <source-position filename="lt-macros.gir.h" line="322"/>
      <parameters>
        <parameter name="_x_">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BREAKPOINT"
                    c:identifier="LT_BREAKPOINT"
                    introspectable="0">
      <source-position filename="lt-macros.gir.h" line="302"/>
    </function-macro>
    <constant name="DIR_SEPARATOR" value="92" c:type="LT_DIR_SEPARATOR">
      <source-position filename="lt-macros.gir.h" line="257"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="DIR_SEPARATOR_S" value="\" c:type="LT_DIR_SEPARATOR_S">
      <source-position filename="lt-macros.gir.h" line="256"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="EXT_MODULE_VERSION"
              value="1"
              c:type="LT_EXT_MODULE_VERSION">
      <doc xml:space="preserve"
           filename="lt-ext-module.gir.h"
           line="28">Static variable for the module version. this is used to ensure if the built
module is compatible with the runtime library.</doc>
      <source-position filename="lt-ext-module.gir.h" line="34"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <glib:boxed glib:name="Error"
                c:symbol-prefix="error"
                glib:type-name="LtError"
                glib:get-type="lt_error_get_type">
      <function name="clear" c:identifier="lt_error_clear" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-error.gir.c"
             line="165">Clean up all of the errors in @error.</doc>
        <source-position filename="lt-error.gir.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-error.gir.c"
                 line="167">a #lt_error_t</doc>
            <type c:type="lt_error_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="is_set"
                c:identifier="lt_error_is_set"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-error.gir.c"
             line="181">Checks if @error contains @type of errors. if #LT_ERR_ANY is set to @type,
all the types of the errors are targeted. otherwise the result is filtered
out by @type.</doc>
        <source-position filename="lt-error.gir.h" line="69"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-error.gir.c"
               line="190">%TRUE if any, otherwise %FALSE</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-error.gir.c"
                 line="183">a #lt_error_t</doc>
            <type c:type="lt_error_t*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-error.gir.c"
                 line="184">a #lt_error_type_t</doc>
            <type c:type="lt_error_type_t"/>
          </parameter>
        </parameters>
      </function>
      <function name="new" c:identifier="lt_error_new" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-error.gir.c"
             line="49">Creates #lt_error_t object. this function is protected and not supposed
to use in applications directly. Use lt_error_set().</doc>
        <source-position filename="lt-error.gir.h" line="61"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-error.gir.c"
               line="55">a newly allocated #lt_error_t. it has to be freed
         with lt_error_unref().</doc>
          <type c:type="lt_error_t*"/>
        </return-value>
      </function>
      <function name="print" c:identifier="lt_error_print" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-error.gir.c"
             line="214">Output the error messages in @error according to @type.</doc>
        <source-position filename="lt-error.gir.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-error.gir.c"
                 line="216">a #lt_error_t</doc>
            <type c:type="lt_error_t*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-error.gir.c"
                 line="217">a #lt_error_type_t</doc>
            <type c:type="lt_error_type_t"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref" c:identifier="lt_error_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-error.gir.c"
             line="66">Inscreases the reference count of @error.</doc>
        <source-position filename="lt-error.gir.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-error.gir.c"
               line="72">the same @error object.</doc>
          <type c:type="lt_error_t*"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-error.gir.c"
                 line="68">a #lt_error_t</doc>
            <type c:type="lt_error_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="set" c:identifier="lt_error_set" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-error.gir.c"
             line="96">Sets the error into @error according to the given parameters.</doc>
        <source-position filename="lt-error.gir.h" line="64"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-error.gir.c"
               line="105">an instance of #lt_error_t</doc>
          <type c:type="lt_error_t*"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-error.gir.c"
                 line="98">a return location for a #lt_error_t</doc>
            <type c:type="lt_error_t**"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-error.gir.c"
                 line="99">a #lt_error_type_t</doc>
            <type c:type="lt_error_type_t"/>
          </parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-error.gir.c"
                 line="100">the string format to output the error messages</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-error.gir.c"
                 line="101">the parameters to insert into the format string</doc>
            <varargs/>
          </parameter>
        </parameters>
      </function>
      <function name="unref" c:identifier="lt_error_unref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-error.gir.c"
             line="82">Decreases the reference count of @error. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-error.gir.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-error.gir.c"
                 line="84">a #lt_error_t</doc>
            <type c:type="lt_error_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="ExtModule"
                c:symbol-prefix="ext_module"
                glib:type-name="LtExtModule"
                glib:get-type="lt_ext_module_get_type">
      <function name="ref" c:identifier="lt_ext_module_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-ext-module.gir.c"
             line="698">Increases the reference count of @module.</doc>
        <source-position filename="lt-ext-module.gir.h" line="166"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-ext-module.gir.c"
               line="704">the same @module object.</doc>
          <type c:type="lt_ext_module_t*"/>
        </return-value>
        <parameters>
          <parameter name="module" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-ext-module.gir.c"
                 line="700">a #lt_ext_module_t.</doc>
            <type c:type="lt_ext_module_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_ext_module_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-ext-module.gir.c"
             line="714">Decreases the reference count of @module. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-ext-module.gir.h" line="167"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="module" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-ext-module.gir.c"
                 line="716">a #lt_ext_module_t.</doc>
            <type c:type="lt_ext_module_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="ExtModuleData"
                c:symbol-prefix="ext_module_data"
                glib:type-name="LtExtModuleData"
                glib:get-type="lt_ext_module_data_get_type">
      <function name="new"
                c:identifier="lt_ext_module_data_new"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-ext-module-data.gir.c"
             line="42">Create a new instance of #lt_ext_module_data_t. this function allows
to create an inherited instance like:
|[
struct _my_module_data_t {
lt_ext_module_data_t  parent;
...own members...
};
]|</doc>
        <source-position filename="lt-ext-module-data.gir.h" line="39"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-ext-module-data.gir.c"
               line="56">a #lt_ext_module_data_t.</doc>
          <type c:type="lt_ext_module_data_t*"/>
        </return-value>
        <parameters>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-ext-module-data.gir.c"
                 line="44">real size to allocate memory for the object.</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="finalizer" transfer-ownership="none" scope="async">
            <doc xml:space="preserve"
                 filename="lt-ext-module-data.gir.c"
                 line="45">a callback function to destroy the content.</doc>
            <type c:type="lt_destroy_func_t"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref"
                c:identifier="lt_ext_module_data_ref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-ext-module-data.gir.c"
             line="77">Increases the reference count of @data.</doc>
        <source-position filename="lt-ext-module-data.gir.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-ext-module-data.gir.c"
               line="83">the same @data object.</doc>
          <type c:type="lt_ext_module_data_t*"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-ext-module-data.gir.c"
                 line="79">a #lt_ext_module_data_t.</doc>
            <type c:type="lt_ext_module_data_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_ext_module_data_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-ext-module-data.gir.c"
             line="95">Decreases the reference count of @data. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-ext-module-data.gir.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-ext-module-data.gir.c"
                 line="97">a #lt_ext_module_data_t.</doc>
            <type c:type="lt_ext_module_data_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="Extension"
                c:symbol-prefix="extension"
                glib:type-name="LtExtension"
                glib:get-type="lt_extension_get_type">
      <function name="compare"
                c:identifier="lt_extension_compare"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extension.gir.c"
             line="390">Compare if @v1 and @v2 is the same object or not.</doc>
        <source-position filename="lt-extension.gir.h" line="39"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-extension.gir.c"
               line="397">%TRUE if it's the same, otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="v1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extension.gir.c"
                 line="392">a #lt_extension_t.</doc>
            <type c:type="const lt_extension_t*"/>
          </parameter>
          <parameter name="v2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extension.gir.c"
                 line="393">a #lt_extension_t.</doc>
            <type c:type="const lt_extension_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="dump"
                c:identifier="lt_extension_dump"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extension.gir.c"
             line="350">Dumps the container information to the standard output.</doc>
        <source-position filename="lt-extension.gir.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="extension" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extension.gir.c"
                 line="352">a #lt_extension_t.</doc>
            <type c:type="lt_extension_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_canonicalized_tag"
                c:identifier="lt_extension_get_canonicalized_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extension.gir.c"
             line="306">Generate a canonicalized tag.</doc>
        <source-position filename="lt-extension.gir.h" line="37"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-extension.gir.c"
               line="312">a string. this must be freed.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="extension" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extension.gir.c"
                 line="308">a #lt_extension_t.</doc>
            <type c:type="lt_extension_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_tag"
                c:identifier="lt_extension_get_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extension.gir.c"
             line="290">Obtain the tag string.</doc>
        <source-position filename="lt-extension.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-extension.gir.c"
               line="296">the tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="extension" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extension.gir.c"
                 line="292">a #lt_extension_t.</doc>
            <type c:type="lt_extension_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref" c:identifier="lt_extension_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extension.gir.c"
             line="260">Increases the reference count of @extension.</doc>
        <source-position filename="lt-extension.gir.h" line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-extension.gir.c"
               line="266">the same @extension object.</doc>
          <type c:type="lt_extension_t*"/>
        </return-value>
        <parameters>
          <parameter name="extension" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extension.gir.c"
                 line="262">a #lt_extension_t.</doc>
            <type c:type="lt_extension_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="truncate"
                c:identifier="lt_extension_truncate"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extension.gir.c"
             line="449">Truncate the last extension.</doc>
        <source-position filename="lt-extension.gir.h" line="41"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-extension.gir.c"
               line="455">%TRUE if a subtag of the extension is truncated. otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="extension" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extension.gir.c"
                 line="451">a #lt_extension_t.</doc>
            <type c:type="lt_extension_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_extension_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extension.gir.c"
             line="276">Decreases the reference count of @extension. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-extension.gir.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="extension" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extension.gir.c"
                 line="278">a #lt_extension_t.</doc>
            <type c:type="lt_extension_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="Extlang"
                c:symbol-prefix="extlang"
                glib:type-name="LtExtlang"
                glib:get-type="lt_extlang_get_type">
      <function name="compare"
                c:identifier="lt_extlang_compare"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extlang.gir.c"
             line="285">Compares if @v1 and @v2 is the same object or not.</doc>
        <source-position filename="lt-extlang.gir.h" line="42"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-extlang.gir.c"
               line="292">%TRUE if it's the same, otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="v1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang.gir.c"
                 line="287">a #lt_extlang_t.</doc>
            <type c:type="const lt_extlang_t*"/>
          </parameter>
          <parameter name="v2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang.gir.c"
                 line="288">a #lt_extlang_t.</doc>
            <type c:type="const lt_extlang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="dump" c:identifier="lt_extlang_dump" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extlang.gir.c"
             line="239">Dumps the container information to the standard output.</doc>
        <source-position filename="lt-extlang.gir.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="extlang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang.gir.c"
                 line="241">a #lt_extlang_t.</doc>
            <type c:type="const lt_extlang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_macro_language"
                c:identifier="lt_extlang_get_macro_language"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extlang.gir.c"
             line="203">Obtains the macrolanguage being assigned for the subtag.
This is available only when the subtag is registered as the macrolanguage
in ISO 639-3.</doc>
        <source-position filename="lt-extlang.gir.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-extlang.gir.c"
               line="211">a macrolanguage string or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="extlang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang.gir.c"
                 line="205">a #lt_extlang_t.</doc>
            <type c:type="const lt_extlang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_name"
                c:identifier="lt_extlang_get_name"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extlang.gir.c"
             line="187">Obtains the description of the subtag.</doc>
        <source-position filename="lt-extlang.gir.h" line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-extlang.gir.c"
               line="193">a description string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="extlang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang.gir.c"
                 line="189">a #lt_extlang_t.</doc>
            <type c:type="const lt_extlang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_preferred_tag"
                c:identifier="lt_extlang_get_preferred_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extlang.gir.c"
             line="170">Obtains the preferred-value. this is available only when the subtag is
marked as deprecated.</doc>
        <source-position filename="lt-extlang.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-extlang.gir.c"
               line="177">a preferred-value for the subtag or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="extlang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang.gir.c"
                 line="172">a #lt_extlang_t.</doc>
            <type c:type="const lt_extlang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_prefix"
                c:identifier="lt_extlang_get_prefix"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extlang.gir.c"
             line="221">Obtains the prefix being assigned to the subtag.
This is available only when the subtag has a particular seqnence of
subgtags that form a meaningful tag with the subtag.</doc>
        <source-position filename="lt-extlang.gir.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-extlang.gir.c"
               line="229">a prefix string or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="extlang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang.gir.c"
                 line="223">a #lt_extlang_t.</doc>
            <type c:type="const lt_extlang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_tag"
                c:identifier="lt_extlang_get_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extlang.gir.c"
             line="154">Obtains the subtag that is registered as ISO 639 code.</doc>
        <source-position filename="lt-extlang.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-extlang.gir.c"
               line="160">a subtag name.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="extlang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang.gir.c"
                 line="156">a #lt_extlang_t.</doc>
            <type c:type="const lt_extlang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref" c:identifier="lt_extlang_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extlang.gir.c"
             line="124">Increases the reference count of @extlang.</doc>
        <source-position filename="lt-extlang.gir.h" line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-extlang.gir.c"
               line="130">the same @extlang object.</doc>
          <type c:type="lt_extlang_t*"/>
        </return-value>
        <parameters>
          <parameter name="extlang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang.gir.c"
                 line="126">a #lt_extlang_t.</doc>
            <type c:type="lt_extlang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_extlang_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extlang.gir.c"
             line="140">Decreases the reference count of @extlang. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-extlang.gir.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="extlang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang.gir.c"
                 line="142">a #lt_extlang_t.</doc>
            <type c:type="lt_extlang_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="ExtlangDb"
                c:symbol-prefix="extlang_db"
                glib:type-name="LtExtlangDb"
                glib:get-type="lt_extlang_db_get_type">
      <function name="lookup"
                c:identifier="lt_extlang_db_lookup"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extlang-db.gir.c"
             line="317">Lookup @lt_extlang_t if @subtag is valid and registered into the database.</doc>
        <source-position filename="lt-extlang-db.gir.h" line="38"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-extlang-db.gir.c"
               line="324">a #lt_extlang_t that meets with @subtag.
                          otherwise %NULL.</doc>
          <type c:type="lt_extlang_t*"/>
        </return-value>
        <parameters>
          <parameter name="extlangdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang-db.gir.c"
                 line="319">a #lt_extlang_db_t.</doc>
            <type c:type="lt_extlang_db_t*"/>
          </parameter>
          <parameter name="subtag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang-db.gir.c"
                 line="320">a subtag name to lookup.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new" c:identifier="lt_extlang_db_new" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extlang-db.gir.c"
             line="269">Create a new instance of a #lt_extlang_db_t.</doc>
        <source-position filename="lt-extlang-db.gir.h" line="35"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-extlang-db.gir.c"
               line="274">a new instance of #lt_extlang_db_t.</doc>
          <type c:type="lt_extlang_db_t*"/>
        </return-value>
      </function>
      <function name="ref" c:identifier="lt_extlang_db_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extlang-db.gir.c"
             line="287">Increases the reference count of @extlangdb.</doc>
        <source-position filename="lt-extlang-db.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-extlang-db.gir.c"
               line="293">the same @extlangdb object.</doc>
          <type c:type="lt_extlang_db_t*"/>
        </return-value>
        <parameters>
          <parameter name="extlangdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang-db.gir.c"
                 line="289">a #lt_extlang_db_t.</doc>
            <type c:type="lt_extlang_db_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_extlang_db_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-extlang-db.gir.c"
             line="303">Decreases the reference count of @extlangdb. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-extlang-db.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="extlangdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-extlang-db.gir.c"
                 line="305">a #lt_extlang_db_t.</doc>
            <type c:type="lt_extlang_db_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <function-macro name="GNUC_DEPRECATED_FOR"
                    c:identifier="LT_GNUC_DEPRECATED_FOR"
                    introspectable="0">
      <source-position filename="lt-macros.gir.h" line="228"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="GNUC_PRINTF"
                    c:identifier="LT_GNUC_PRINTF"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="lt-macros.gir.h"
           line="112">Expands to the GNU C &lt;literal&gt;format&lt;/literal&gt; function attribute if
the compiler is &lt;command&gt;gcc&lt;/command&gt;. This is used for declaring
functions which take a variable number of arguments, with the same
syntax as &lt;function&gt;printf()&lt;/function&gt;.
It allows the compiler to type-check the arguments passed to the function.
See the GNU C documentation for details.</doc>
      <source-position filename="lt-macros.gir.h" line="144"/>
      <parameters>
        <parameter name="format_idx">
          <doc xml:space="preserve"
               filename="lt-macros.gir.h"
               line="114">the index of the argument corresponding to the format string.
             (The arguments are numberered from 1).</doc>
        </parameter>
        <parameter name="arg_idx">
          <doc xml:space="preserve"
               filename="lt-macros.gir.h"
               line="116">the index of the first of the format arguments.</doc>
        </parameter>
      </parameters>
    </function-macro>
    <glib:boxed glib:name="Grandfathered"
                c:symbol-prefix="grandfathered"
                glib:type-name="LtGrandfathered"
                glib:get-type="lt_grandfathered_get_type">
      <function name="compare"
                c:identifier="lt_grandfathered_compare"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-grandfathered.gir.c"
             line="223">Compare if @v1 and @v2 is the same object or not.</doc>
        <source-position filename="lt-grandfathered.gir.h" line="41"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-grandfathered.gir.c"
               line="230">%TRUE if it's the same. otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="v1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-grandfathered.gir.c"
                 line="225">a #lt_grandfathered_t.</doc>
            <type c:type="const lt_grandfathered_t*"/>
          </parameter>
          <parameter name="v2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-grandfathered.gir.c"
                 line="226">a #lt_grandfathered_t.</doc>
            <type c:type="const lt_grandfathered_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="dump"
                c:identifier="lt_grandfathered_dump"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-grandfathered.gir.c"
             line="194">Dumps the container information to the standard output.</doc>
        <source-position filename="lt-grandfathered.gir.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="grandfathered" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-grandfathered.gir.c"
                 line="196">a #lt_grandfathered_t.</doc>
            <type c:type="const lt_grandfathered_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_better_tag"
                c:identifier="lt_grandfathered_get_better_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-grandfathered.gir.c"
             line="125">Obtains the better tag for use. this is a convenient function to get
the preferred-value if available.</doc>
        <source-position filename="lt-grandfathered.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-grandfathered.gir.c"
               line="132">a tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="grandfathered" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-grandfathered.gir.c"
                 line="127">a #lt_grandfathered_t.</doc>
            <type c:type="const lt_grandfathered_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_name"
                c:identifier="lt_grandfathered_get_name"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-grandfathered.gir.c"
             line="161">Obtains the description of the tag.</doc>
        <source-position filename="lt-grandfathered.gir.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-grandfathered.gir.c"
               line="167">a description string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="grandfathered" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-grandfathered.gir.c"
                 line="163">a #lt_grandfathered_t.</doc>
            <type c:type="const lt_grandfathered_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_preferred_tag"
                c:identifier="lt_grandfathered_get_preferred_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-grandfathered.gir.c"
             line="177">Obtains the preferred-value. this is available only when the tag is
marked as deprecated.</doc>
        <source-position filename="lt-grandfathered.gir.h" line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-grandfathered.gir.c"
               line="184">a preferred-value for the tag or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="grandfathered" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-grandfathered.gir.c"
                 line="179">a #lt_grandfathered_t.</doc>
            <type c:type="const lt_grandfathered_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_tag"
                c:identifier="lt_grandfathered_get_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-grandfathered.gir.c"
             line="145">Obtains the tag name.</doc>
        <source-position filename="lt-grandfathered.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-grandfathered.gir.c"
               line="151">a tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="grandfathered" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-grandfathered.gir.c"
                 line="147">a #lt_grandfathered_t.</doc>
            <type c:type="const lt_grandfathered_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref"
                c:identifier="lt_grandfathered_ref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-grandfathered.gir.c"
             line="95">Increases the reference count of @grandfathered.</doc>
        <source-position filename="lt-grandfathered.gir.h" line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-grandfathered.gir.c"
               line="101">the same @grandfathered object.</doc>
          <type c:type="lt_grandfathered_t*"/>
        </return-value>
        <parameters>
          <parameter name="grandfathered" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-grandfathered.gir.c"
                 line="97">a #lt_grandfathered_t.</doc>
            <type c:type="lt_grandfathered_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_grandfathered_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-grandfathered.gir.c"
             line="111">Decreases the reference count of @grandfathered. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-grandfathered.gir.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="grandfathered" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-grandfathered.gir.c"
                 line="113">a #lt_grandfathered_t.</doc>
            <type c:type="lt_grandfathered_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="GrandfatheredDb"
                c:symbol-prefix="grandfathered_db"
                glib:type-name="LtGrandfatheredDb"
                glib:get-type="lt_grandfathered_db_get_type">
      <function name="lookup"
                c:identifier="lt_grandfathered_db_lookup"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-grandfathered-db.gir.c"
             line="281">Lookup @lt_grandfathered_t if @tag is valid and registered into the database.</doc>
        <source-position filename="lt-grandfathered-db.gir.h" line="38"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-grandfathered-db.gir.c"
               line="288">a #lt_grandfathered_t that meets with @tag.
                          otherwise %NULL.</doc>
          <type c:type="lt_grandfathered_t*"/>
        </return-value>
        <parameters>
          <parameter name="grandfathereddb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-grandfathered-db.gir.c"
                 line="283">a #lt_grandfathered_db_t.</doc>
            <type c:type="lt_grandfathered_db_t*"/>
          </parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-grandfathered-db.gir.c"
                 line="284">a tag name to lookup.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new"
                c:identifier="lt_grandfathered_db_new"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-grandfathered-db.gir.c"
             line="233">Create a new instance of a #lt_grandfathered_db_t.</doc>
        <source-position filename="lt-grandfathered-db.gir.h" line="35"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-grandfathered-db.gir.c"
               line="238">a new instance of #lt_grandfathered_db_t.</doc>
          <type c:type="lt_grandfathered_db_t*"/>
        </return-value>
      </function>
      <function name="ref"
                c:identifier="lt_grandfathered_db_ref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-grandfathered-db.gir.c"
             line="251">Increases the reference count of @grandfathereddb.</doc>
        <source-position filename="lt-grandfathered-db.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-grandfathered-db.gir.c"
               line="257">the same @grandfathereddb object.</doc>
          <type c:type="lt_grandfathered_db_t*"/>
        </return-value>
        <parameters>
          <parameter name="grandfathereddb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-grandfathered-db.gir.c"
                 line="253">a #lt_grandfathered_db_t.</doc>
            <type c:type="lt_grandfathered_db_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_grandfathered_db_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-grandfathered-db.gir.c"
             line="267">Decreases the reference count of @grandfathereddb. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-grandfathered-db.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="grandfathereddb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-grandfathered-db.gir.c"
                 line="269">a #lt_grandfathered_db_t.</doc>
            <type c:type="lt_grandfathered_db_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <function-macro name="ITER_INIT"
                    c:identifier="LT_ITER_INIT"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="lt-iter.gir.h"
           line="25">This is a convenient macro to call lt_iter_init().</doc>
      <source-position filename="lt-iter.gir.h" line="33"/>
      <parameters>
        <parameter name="_obj_">
          <doc xml:space="preserve"
               filename="lt-iter.gir.h"
               line="27">an object that initialize the iterator with.</doc>
        </parameter>
      </parameters>
    </function-macro>
    <glib:boxed glib:name="Iter"
                c:symbol-prefix="iter"
                glib:type-name="LtIter"
                glib:get-type="lt_iter_get_type">
      <function name="finish" c:identifier="lt_iter_finish" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-iter.gir.c"
             line="118">Finalize the iterator and free its memory.</doc>
        <source-position filename="lt-iter.gir.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-iter.gir.c"
                 line="120">a #lt_iter_t</doc>
            <type c:type="lt_iter_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="init" c:identifier="lt_iter_init" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-iter.gir.c"
             line="81">Initialize the iterator with @tmpl object. this function has to be called
before performing any opperation with the iterator and lt_iter_finish()
when the iterator isn't needed anymore.
|[
lt_lang_db *lang = lt_lang_db_new();
lt_pointer_t *key, *val;
lt_iter_t *iter;

iter = LT_ITER_INIT (lang);
while (lt_iter_next(iter, &amp;key, &amp;val)) {
  /&amp;ast; do something with key and value &amp;ast;/
}
lt_iter_finish(iter);
]|</doc>
        <source-position filename="lt-iter.gir.h" line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-iter.gir.c"
               line="100">the initialized iterator object.</doc>
          <type c:type="lt_iter_t*"/>
        </return-value>
        <parameters>
          <parameter name="tmpl" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-iter.gir.c"
                 line="83">a #lt_iter_tmpl_t</doc>
            <type c:type="lt_iter_tmpl_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="next" c:identifier="lt_iter_next" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-iter.gir.c"
             line="135">Advances @iter and retrieves the key and/or value that are now
pointed to as a result of this advancement. If %FALSE is returned,
@key and @value are not set, and the iterator becomes invalid.</doc>
        <source-position filename="lt-iter.gir.h" line="54"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-iter.gir.c"
               line="145">%FALSE if the end of the object that the iterator is adapted
         has been reached.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-iter.gir.c"
                 line="137">a #lt_iter_t</doc>
            <type c:type="lt_iter_t*"/>
          </parameter>
          <parameter name="key"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lt-iter.gir.c"
                 line="138">a location to store the key, or %NULL</doc>
            <type c:type="lt_pointer_t*"/>
          </parameter>
          <parameter name="val"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lt-iter.gir.c"
                 line="139">a location to store the value, or %NULL</doc>
            <type c:type="lt_pointer_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref" c:identifier="lt_iter_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-iter.gir.c"
             line="46">Increases the reference count of @iter.</doc>
        <source-position filename="lt-iter.gir.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-iter.gir.c"
               line="52">the same @iter object.</doc>
          <type c:type="lt_iter_t*"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-iter.gir.c"
                 line="48">a #lt_iter_t</doc>
            <type c:type="lt_iter_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref" c:identifier="lt_iter_unref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-iter.gir.c"
             line="66">Decreases the reference count of @iter. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-iter.gir.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-iter.gir.c"
                 line="68">a #lt_iter_t</doc>
            <type c:type="lt_iter_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <function-macro name="LIKELY" c:identifier="LT_LIKELY" introspectable="0">
      <doc xml:space="preserve"
           filename="lt-macros.gir.h"
           line="177">Hints the compiler that the expression is likely to evaluate to a true value.
The compiler may use this information for optimizations.</doc>
      <source-position filename="lt-macros.gir.h" line="203"/>
      <parameters>
        <parameter name="_e_">
          <doc xml:space="preserve"
               filename="lt-macros.gir.h"
               line="179">the expression</doc>
        </parameter>
      </parameters>
    </function-macro>
    <glib:boxed glib:name="Lang"
                c:symbol-prefix="lang"
                glib:type-name="LtLang"
                glib:get-type="lt_lang_get_type">
      <function name="compare"
                c:identifier="lt_lang_compare"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang.gir.c"
             line="342">Compare if @v1 and @v2 is the same object or not.</doc>
        <source-position filename="lt-lang.gir.h" line="44"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-lang.gir.c"
               line="349">%TRUE if it's the same, otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="v1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang.gir.c"
                 line="344">a #lt_lang_t.</doc>
            <type c:type="const lt_lang_t*"/>
          </parameter>
          <parameter name="v2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang.gir.c"
                 line="345">a #lt_lang_t.</doc>
            <type c:type="const lt_lang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="dump" c:identifier="lt_lang_dump" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang.gir.c"
             line="286">Dumps the container information to the standard output.</doc>
        <source-position filename="lt-lang.gir.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="lang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang.gir.c"
                 line="288">a #lt_lang_t.</doc>
            <type c:type="const lt_lang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_better_tag"
                c:identifier="lt_lang_get_better_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang.gir.c"
             line="181">Obtains the better tag for use. this is a convenient function to get
the preferred-value if available.</doc>
        <source-position filename="lt-lang.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-lang.gir.c"
               line="188">a tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="lang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang.gir.c"
                 line="183">a #lt_lang_t.</doc>
            <type c:type="const lt_lang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_macro_language"
                c:identifier="lt_lang_get_macro_language"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang.gir.c"
             line="251">Obtains the macrolanguage being assigned for the subtag.
This is available only when the subtag is registered as the macrolanguage
in ISO 639-3.</doc>
        <source-position filename="lt-lang.gir.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-lang.gir.c"
               line="259">a macrolanguage string or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="lang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang.gir.c"
                 line="253">a #lt_lang_t.</doc>
            <type c:type="const lt_lang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_name"
                c:identifier="lt_lang_get_name"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang.gir.c"
             line="165">Obtains the description of the subtag.</doc>
        <source-position filename="lt-lang.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-lang.gir.c"
               line="171">a description string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="lang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang.gir.c"
                 line="167">a #lt_lang_t.</doc>
            <type c:type="const lt_lang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_preferred_tag"
                c:identifier="lt_lang_get_preferred_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang.gir.c"
             line="217">Obtains the preferred-value. this is available only when the tag is
marked as deprecated.</doc>
        <source-position filename="lt-lang.gir.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-lang.gir.c"
               line="224">a preferred-value for the tag or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="lang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang.gir.c"
                 line="219">a #lt_lang_t.</doc>
            <type c:type="const lt_lang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_scope"
                c:identifier="lt_lang_get_scope"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang.gir.c"
             line="269">Obtains the scope value indicating the type of language code according
to ISO 639.</doc>
        <source-position filename="lt-lang.gir.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-lang.gir.c"
               line="276">a scope string or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="lang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang.gir.c"
                 line="271">a #lt_lang_t.</doc>
            <type c:type="const lt_lang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_suppress_script"
                c:identifier="lt_lang_get_suppress_script"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang.gir.c"
             line="234">Obtains the suppress-script value. which shouldn't be used to form
language tags with the associated primary or extended language subtag.</doc>
        <source-position filename="lt-lang.gir.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-lang.gir.c"
               line="241">a suppress-script string or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="lang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang.gir.c"
                 line="236">a #lt_lang_t.</doc>
            <type c:type="const lt_lang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_tag"
                c:identifier="lt_lang_get_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang.gir.c"
             line="201">Obtains the tag name.</doc>
        <source-position filename="lt-lang.gir.h" line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-lang.gir.c"
               line="207">a tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="lang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang.gir.c"
                 line="203">a #lt_lang_t.</doc>
            <type c:type="const lt_lang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref" c:identifier="lt_lang_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang.gir.c"
             line="135">Increases the reference count of @lang.</doc>
        <source-position filename="lt-lang.gir.h" line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-lang.gir.c"
               line="141">the same @lang object.</doc>
          <type c:type="lt_lang_t*"/>
        </return-value>
        <parameters>
          <parameter name="lang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang.gir.c"
                 line="137">a #lt_lang_t.</doc>
            <type c:type="lt_lang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref" c:identifier="lt_lang_unref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang.gir.c"
             line="151">Decreases the reference count of @lang. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-lang.gir.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="lang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang.gir.c"
                 line="153">a #lt_lang_t.</doc>
            <type c:type="lt_lang_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="LangDb"
                c:symbol-prefix="lang_db"
                glib:type-name="LtLangDb"
                glib:get-type="lt_lang_db_get_type">
      <function name="lookup"
                c:identifier="lt_lang_db_lookup"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang-db.gir.c"
             line="322">Lookup @lt_lang_t if @subtag is valid and registered into the database.</doc>
        <source-position filename="lt-lang-db.gir.h" line="38"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-lang-db.gir.c"
               line="329">a #lt_lang_t that meets with @subtag.
                          otherwise %NULL.</doc>
          <type c:type="lt_lang_t*"/>
        </return-value>
        <parameters>
          <parameter name="langdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang-db.gir.c"
                 line="324">a #lt_lang_db_t.</doc>
            <type c:type="lt_lang_db_t*"/>
          </parameter>
          <parameter name="subtag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang-db.gir.c"
                 line="325">a subtag name to lookup.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new" c:identifier="lt_lang_db_new" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang-db.gir.c"
             line="274">Create a new instance of a #lt_lang_db_t.</doc>
        <source-position filename="lt-lang-db.gir.h" line="35"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-lang-db.gir.c"
               line="279">a new instance of #lt_lang_db_t.</doc>
          <type c:type="lt_lang_db_t*"/>
        </return-value>
      </function>
      <function name="ref" c:identifier="lt_lang_db_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang-db.gir.c"
             line="292">Increases the reference count of @langdb.</doc>
        <source-position filename="lt-lang-db.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-lang-db.gir.c"
               line="298">the same @langdb object.</doc>
          <type c:type="lt_lang_db_t*"/>
        </return-value>
        <parameters>
          <parameter name="langdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang-db.gir.c"
                 line="294">a #lt_lang_db_t.</doc>
            <type c:type="lt_lang_db_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_lang_db_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-lang-db.gir.c"
             line="308">Decreases the reference count of @langdb. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-lang-db.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="langdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-lang-db.gir.c"
                 line="310">a #lt_lang_db_t.</doc>
            <type c:type="lt_lang_db_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="List"
                c:symbol-prefix="list"
                glib:type-name="LtList"
                glib:get-type="lt_list_get_type">
      <function name="append" c:identifier="lt_list_append" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="251">Adds a new element on to the end of the list.</doc>
        <source-position filename="lt-list.gir.h" line="43"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="259">the new start of the #lt_list_t.</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="253">a #lt_list_t.</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="254">the data for the new element</doc>
            <type c:type="lt_pointer_t"/>
          </parameter>
          <parameter name="func" transfer-ownership="none" scope="async">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="255">the call back function to destroy @data or %NULL</doc>
            <type c:type="lt_destroy_func_t"/>
          </parameter>
        </parameters>
      </function>
      <function name="delete" c:identifier="lt_list_delete" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="353">Removes an element from a #lt_list_t.
If two elements contain the same data, only the first is removed.
If none of the elements contain the data, the #lt_list_t is unchanged.</doc>
        <source-position filename="lt-list.gir.h" line="51"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="362">the new start of the #lt_list_t.</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="355">a #lt_list_t.</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="356">the data of the element to remove.</doc>
            <type c:type="lt_pointer_t"/>
          </parameter>
        </parameters>
      </function>
      <function name="delete_link"
                c:identifier="lt_list_delete_link"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="383">Removes the node @link_ from the @list and frees it.</doc>
        <source-position filename="lt-list.gir.h" line="53"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="390">the new head of @list</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="385">a #lt_list_t</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
          <parameter name="link_" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="386">node to delete from @list</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="find" c:identifier="lt_list_find" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="405">Finds the element in a #lt_list_t which
contains the given data.</doc>
        <source-position filename="lt-list.gir.h" line="55"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="413">the found #lt_list_t element, or %NULL if it's not found</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="407">a #lt_list_t</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="408">the element data to find</doc>
            <type c:type="const lt_pointer_t"/>
          </parameter>
        </parameters>
      </function>
      <function name="find_custom"
                c:identifier="lt_list_find_custom"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="428">Finds an element in a #lt_list_t, using a supplied function to
find the desired element. It iterates over the list, calling
the given function which should return 0 when the desired
element is found. The function takes two const #lt_pointer_t
arguments, the #lt_list_t element's data as the first argument
and the given data.</doc>
        <source-position filename="lt-list.gir.h" line="57"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="442">the found #lt_list_t element, or %NULL if it's not found</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="430">a #lt_list_t</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="431">the data passed to the function</doc>
            <type c:type="const lt_pointer_t"/>
          </parameter>
          <parameter name="func" transfer-ownership="none" scope="call">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="432">the function to call for each element.
       It should return 0 when the desired element is found</doc>
            <type c:type="lt_compare_func_t"/>
          </parameter>
        </parameters>
      </function>
      <function name="first" c:identifier="lt_list_first" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="145">Gets the first element in a #lt_list_t.</doc>
        <source-position filename="lt-list.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="151">the first element in the #lt_list_t
         or %NULL if the #lt_list_t has no elements.</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="147">a #lt_list_t.</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="free" c:identifier="lt_list_free" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="127">Frees all of the memory used by a #lt_list_t.</doc>
        <source-position filename="lt-list.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="129">a #lt_list_t.</doc>
            <type c:type="lt_pointer_t"/>
          </parameter>
        </parameters>
      </function>
      <function name="last" c:identifier="lt_list_last" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="165">Gets the last element in a #lt_list_t.</doc>
        <source-position filename="lt-list.gir.h" line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="171">the last element in the #lt_list_t
         or %NULL if the #lt_list_t has no elements.</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="167">a #lt_list_t.</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="length" c:identifier="lt_list_length" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="229">Gets the number of elements in a #lt_list_t.</doc>
        <source-position filename="lt-list.gir.h" line="42"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="235">the number of elements in the #lt_list_t.</doc>
          <type name="gsize" c:type="gsize"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="231">a #lt_list_t.</doc>
            <type c:type="const lt_list_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new" c:identifier="lt_list_new" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="79">Creates #lt_list_t object. this function is protected and not supposed
to use in applications directly. Use lt_list_append() or lt_list_prepend()
with %NULL as the first argument to newly allocate the object.</doc>
        <source-position filename="lt-list.gir.h" line="33"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="86">a newly allocated #lt_list_t. it has to be freed
         with lt_list_unref().</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
      </function>
      <function name="next" c:identifier="lt_list_next" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="199">Gets the next element in a #lt_list_t.</doc>
        <source-position filename="lt-list.gir.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="205">the next element, or %NULL if there are no more elements.</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="201">a #lt_list_t.</doc>
            <type c:type="const lt_list_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="pop" c:identifier="lt_list_pop" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="503">Sets the data in the first element to @data and drop the element.</doc>
        <source-position filename="lt-list.gir.h" line="62"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="510">the new head of @list.</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="505">a #lt_list_t</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="506">a pointer to set the data in the first element</doc>
            <type c:type="lt_pointer_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="prepend"
                c:identifier="lt_list_prepend"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="286">Adds a new element on to the start of the list.</doc>
        <source-position filename="lt-list.gir.h" line="46"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="294">the new start of the #lt_list_t.</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="288">a #lt_list_t</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="289">the data for the new element</doc>
            <type c:type="lt_pointer_t"/>
          </parameter>
          <parameter name="func" transfer-ownership="none" scope="async">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="290">the call back function to destroy @data or %NULL</doc>
            <type c:type="lt_destroy_func_t"/>
          </parameter>
        </parameters>
      </function>
      <function name="previous"
                c:identifier="lt_list_previous"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="185">Gets the previous element in a #lt_list_t.</doc>
        <source-position filename="lt-list.gir.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="191">the previous element, or %NULL if there are no previous elements.</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="187">a #lt_list_t.</doc>
            <type c:type="const lt_list_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref" c:identifier="lt_list_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="97">Increases the reference count of @list.</doc>
        <source-position filename="lt-list.gir.h" line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="103">the same @list object.</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="99">a #lt_list_t.</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="remove" c:identifier="lt_list_remove" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="321">Removes an element from a #lt_list_t.
If two elements contain the same data, only the first is removed.
If none of the elements contain the data, the #lt_list_t is unchanged.
This works similar to lt_list_delete() though, the difference is
this won't calls the finalizer to destroy the data in the element.</doc>
        <source-position filename="lt-list.gir.h" line="49"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="332">the new start of the #lt_list_t.</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="323">a #lt_list_t.</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="324">the data of the element to remove.</doc>
            <type c:type="lt_pointer_t"/>
          </parameter>
        </parameters>
      </function>
      <function name="sort" c:identifier="lt_list_sort" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="460">Sorts a #lt_list_t using the given comparison function.</doc>
        <source-position filename="lt-list.gir.h" line="60"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="471">the start of the sorted #lt_list_t</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="462">a #lt_list_t</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
          <parameter name="func" transfer-ownership="none" scope="call">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="463">the comparison function used to sort the #lt_list_t.
       This function is passed the data from 2 elements of the #lt_list_t
       and should return 0 if they are equal, a negative value if the
       first element comes before the second, or a positive value if
       the first element comes after the second.</doc>
            <type c:type="lt_compare_func_t"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref" c:identifier="lt_list_unref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="113">Decreases the reference count of @list. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-list.gir.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="115">a #lt_list_t.</doc>
            <type c:type="lt_list_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="value" c:identifier="lt_list_value" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-list.gir.c"
             line="213">Gets a value in a #lt_list_t.</doc>
        <source-position filename="lt-list.gir.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-list.gir.c"
               line="219">a pointer to be set to the #lt_list_t.</doc>
          <type c:type="lt_pointer_t"/>
        </return-value>
        <parameters>
          <parameter name="list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-list.gir.c"
                 line="215">a #lt_list_t.</doc>
            <type c:type="const lt_list_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <function-macro name="MAX" c:identifier="LT_MAX" introspectable="0">
      <source-position filename="lt-macros.gir.h" line="271"/>
      <parameters>
        <parameter name="a">
        </parameter>
        <parameter name="b">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MIN" c:identifier="LT_MIN" introspectable="0">
      <source-position filename="lt-macros.gir.h" line="276"/>
      <parameters>
        <parameter name="a">
        </parameter>
        <parameter name="b">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MODULE_SYMBOL"
                    c:identifier="LT_MODULE_SYMBOL"
                    introspectable="0">
      <source-position filename="lt-ext-module.gir.h" line="170"/>
      <parameters>
        <parameter name="__sym__">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MODULE_SYMBOL_"
                    c:identifier="LT_MODULE_SYMBOL_"
                    introspectable="0">
      <source-position filename="lt-ext-module.gir.h" line="174"/>
      <parameters>
        <parameter name="__prefix__">
        </parameter>
        <parameter name="__sym__">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MODULE_SYMBOL__"
                    c:identifier="LT_MODULE_SYMBOL__"
                    introspectable="0">
      <source-position filename="lt-ext-module.gir.h" line="175"/>
      <parameters>
        <parameter name="__prefix__">
        </parameter>
        <parameter name="__sym__">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="N_ELEMENTS"
                    c:identifier="LT_N_ELEMENTS"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="lt-macros.gir.h"
           line="298">Determines the number of elements in an array. The array must be
declared so the compiler knows its size at compile-time; this
macro will not work on an array allocated on the heap, only static
arrays or arrays on the stack.</doc>
      <source-position filename="lt-macros.gir.h" line="298"/>
      <parameters>
        <parameter name="_x_">
          <doc xml:space="preserve"
               filename="lt-macros.gir.h"
               line="300">the array</doc>
        </parameter>
      </parameters>
    </function-macro>
    <constant name="PATH_MAX" value="512" c:type="LT_PATH_MAX">
      <source-position filename="lt-macros.gir.h" line="280"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <glib:boxed glib:name="Redundant"
                c:symbol-prefix="redundant"
                glib:type-name="LtRedundant"
                glib:get-type="lt_redundant_get_type">
      <function name="compare"
                c:identifier="lt_redundant_compare"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-redundant.gir.c"
             line="223">Compare if @v1 and @v2 is the same object or not.</doc>
        <source-position filename="lt-redundant.gir.h" line="41"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-redundant.gir.c"
               line="230">%TRUE if it's the same. otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="v1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-redundant.gir.c"
                 line="225">a #lt_redundant_t.</doc>
            <type c:type="const lt_redundant_t*"/>
          </parameter>
          <parameter name="v2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-redundant.gir.c"
                 line="226">a #lt_redundant_t.</doc>
            <type c:type="const lt_redundant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="dump"
                c:identifier="lt_redundant_dump"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-redundant.gir.c"
             line="194">Dumps the container information to the standard output.</doc>
        <source-position filename="lt-redundant.gir.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="redundant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-redundant.gir.c"
                 line="196">a #lt_redundant_t.</doc>
            <type c:type="const lt_redundant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_better_tag"
                c:identifier="lt_redundant_get_better_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-redundant.gir.c"
             line="125">Obtains the better tag for use. this is a convenient function to get
the preferred-value if available.</doc>
        <source-position filename="lt-redundant.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-redundant.gir.c"
               line="132">a tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="redundant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-redundant.gir.c"
                 line="127">a #lt_redundant_t.</doc>
            <type c:type="const lt_redundant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_name"
                c:identifier="lt_redundant_get_name"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-redundant.gir.c"
             line="161">Obtains the description of the tag.</doc>
        <source-position filename="lt-redundant.gir.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-redundant.gir.c"
               line="167">a description string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="redundant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-redundant.gir.c"
                 line="163">a #lt_redundant_t.</doc>
            <type c:type="const lt_redundant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_preferred_tag"
                c:identifier="lt_redundant_get_preferred_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-redundant.gir.c"
             line="177">Obtains the preferred-value. this is available only when the tag is
marked as deprecated.</doc>
        <source-position filename="lt-redundant.gir.h" line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-redundant.gir.c"
               line="184">a preferred-value for the tag or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="redundant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-redundant.gir.c"
                 line="179">a #lt_redundant_t.</doc>
            <type c:type="const lt_redundant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_tag"
                c:identifier="lt_redundant_get_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-redundant.gir.c"
             line="145">Obtains the tag name.</doc>
        <source-position filename="lt-redundant.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-redundant.gir.c"
               line="151">a tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="redundant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-redundant.gir.c"
                 line="147">a #lt_redundant_t.</doc>
            <type c:type="const lt_redundant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref" c:identifier="lt_redundant_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-redundant.gir.c"
             line="95">Increases the reference count of @redundant.</doc>
        <source-position filename="lt-redundant.gir.h" line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-redundant.gir.c"
               line="101">the same @redundant object.</doc>
          <type c:type="lt_redundant_t*"/>
        </return-value>
        <parameters>
          <parameter name="redundant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-redundant.gir.c"
                 line="97">a #lt_redundant_t.</doc>
            <type c:type="lt_redundant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_redundant_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-redundant.gir.c"
             line="111">Decreases the reference count of @redundant. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-redundant.gir.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="redundant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-redundant.gir.c"
                 line="113">a #lt_redundant_t.</doc>
            <type c:type="lt_redundant_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="RedundantDb"
                c:symbol-prefix="redundant_db"
                glib:type-name="LtRedundantDb"
                glib:get-type="lt_redundant_db_get_type">
      <function name="lookup"
                c:identifier="lt_redundant_db_lookup"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-redundant-db.gir.c"
             line="281">Lookup @lt_redundant_t if @tag is valid and registered into the database.</doc>
        <source-position filename="lt-redundant-db.gir.h" line="38"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-redundant-db.gir.c"
               line="288">a #lt_redundant_t that meets with @tag.
                          otherwise %NULL.</doc>
          <type c:type="lt_redundant_t*"/>
        </return-value>
        <parameters>
          <parameter name="redundantdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-redundant-db.gir.c"
                 line="283">a #lt_redundant_db_t.</doc>
            <type c:type="lt_redundant_db_t*"/>
          </parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-redundant-db.gir.c"
                 line="284">a tag name to lookup.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new"
                c:identifier="lt_redundant_db_new"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-redundant-db.gir.c"
             line="233">Create a new instance of a #lt_redundant_db_t.</doc>
        <source-position filename="lt-redundant-db.gir.h" line="35"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-redundant-db.gir.c"
               line="238">a new instance of #lt_redundant_db_t.</doc>
          <type c:type="lt_redundant_db_t*"/>
        </return-value>
      </function>
      <function name="ref"
                c:identifier="lt_redundant_db_ref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-redundant-db.gir.c"
             line="251">Increases the reference count of @redundantdb.</doc>
        <source-position filename="lt-redundant-db.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-redundant-db.gir.c"
               line="257">the same @redundantdb object.</doc>
          <type c:type="lt_redundant_db_t*"/>
        </return-value>
        <parameters>
          <parameter name="redundantdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-redundant-db.gir.c"
                 line="253">a #lt_redundant_db_t.</doc>
            <type c:type="lt_redundant_db_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_redundant_db_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-redundant-db.gir.c"
             line="267">Decreases the reference count of @redundantdb. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-redundant-db.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="redundantdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-redundant-db.gir.c"
                 line="269">a #lt_redundant_db_t.</doc>
            <type c:type="lt_redundant_db_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="Region"
                c:symbol-prefix="region"
                glib:type-name="LtRegion"
                glib:get-type="lt_region_get_type">
      <function name="compare"
                c:identifier="lt_region_compare"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-region.gir.c"
             line="221">Compare if @v1 and @v2 is the same object or not.</doc>
        <source-position filename="lt-region.gir.h" line="41"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-region.gir.c"
               line="228">%TRUE if it's the same, otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="v1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-region.gir.c"
                 line="223">a #lt_region_t.</doc>
            <type c:type="const lt_region_t*"/>
          </parameter>
          <parameter name="v2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-region.gir.c"
                 line="224">a #lt_region_t.</doc>
            <type c:type="const lt_region_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="dump" c:identifier="lt_region_dump" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-region.gir.c"
             line="193">Dumps the container information to the standard output.</doc>
        <source-position filename="lt-region.gir.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-region.gir.c"
                 line="195">a #lt_region_t.</doc>
            <type c:type="const lt_region_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_better_tag"
                c:identifier="lt_region_get_better_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-region.gir.c"
             line="140">Obtains the better tag for use. this is a convenient function to get
the preferred-value if available.</doc>
        <source-position filename="lt-region.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-region.gir.c"
               line="147">a tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-region.gir.c"
                 line="142">a #lt_region_t.</doc>
            <type c:type="const lt_region_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_name"
                c:identifier="lt_region_get_name"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-region.gir.c"
             line="124">Obtains the description of the subtag.</doc>
        <source-position filename="lt-region.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-region.gir.c"
               line="130">a description string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-region.gir.c"
                 line="126">a #lt_region_t.</doc>
            <type c:type="const lt_region_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_preferred_tag"
                c:identifier="lt_region_get_preferred_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-region.gir.c"
             line="176">Obtains the preferred-value. this is available only when the tag is
marked as deprecated.</doc>
        <source-position filename="lt-region.gir.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-region.gir.c"
               line="183">a preferred-value for the tag or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-region.gir.c"
                 line="178">a #lt_region_t.</doc>
            <type c:type="const lt_region_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_tag"
                c:identifier="lt_region_get_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-region.gir.c"
             line="160">Obtains the tag name.</doc>
        <source-position filename="lt-region.gir.h" line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-region.gir.c"
               line="166">a tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-region.gir.c"
                 line="162">a #lt_region_t.</doc>
            <type c:type="const lt_region_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref" c:identifier="lt_region_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-region.gir.c"
             line="94">Increases the reference count of @region.</doc>
        <source-position filename="lt-region.gir.h" line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-region.gir.c"
               line="100">the same @region object.</doc>
          <type c:type="lt_region_t*"/>
        </return-value>
        <parameters>
          <parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-region.gir.c"
                 line="96">a #lt_region_t.</doc>
            <type c:type="lt_region_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref" c:identifier="lt_region_unref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-region.gir.c"
             line="110">Decreases the reference count of @region. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-region.gir.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="region" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-region.gir.c"
                 line="112">a #lt_region_t.</doc>
            <type c:type="lt_region_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="RegionDb"
                c:symbol-prefix="region_db"
                glib:type-name="LtRegionDb"
                glib:get-type="lt_region_db_get_type">
      <function name="lookup"
                c:identifier="lt_region_db_lookup"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-region-db.gir.c"
             line="296">Lookup @lt_region_t if @language_or_code is valid and registered into
the database.</doc>
        <source-position filename="lt-region-db.gir.h" line="38"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-region-db.gir.c"
               line="304">a #lt_region_t that meets with @language_or_code.
                          otherwise %NULL.</doc>
          <type c:type="lt_region_t*"/>
        </return-value>
        <parameters>
          <parameter name="regiondb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-region-db.gir.c"
                 line="298">a #lt_region_db_t.</doc>
            <type c:type="lt_region_db_t*"/>
          </parameter>
          <parameter name="language_or_code" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-region-db.gir.c"
                 line="299">a region code to lookup.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new" c:identifier="lt_region_db_new" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-region-db.gir.c"
             line="248">Create a new instance of a #lt_region_db_t.</doc>
        <source-position filename="lt-region-db.gir.h" line="35"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-region-db.gir.c"
               line="253">a new instance of #lt_region_db_t.</doc>
          <type c:type="lt_region_db_t*"/>
        </return-value>
      </function>
      <function name="ref" c:identifier="lt_region_db_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-region-db.gir.c"
             line="266">Increases the reference count of @regiondb.</doc>
        <source-position filename="lt-region-db.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-region-db.gir.c"
               line="272">the same @regiondb object.</doc>
          <type c:type="lt_region_db_t*"/>
        </return-value>
        <parameters>
          <parameter name="regiondb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-region-db.gir.c"
                 line="268">a #lt_region_db_t.</doc>
            <type c:type="lt_region_db_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_region_db_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-region-db.gir.c"
             line="282">Decreases the reference count of @regiondb. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-region-db.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="regiondb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-region-db.gir.c"
                 line="284">a #lt_region_db_t.</doc>
            <type c:type="lt_region_db_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="RelationDb"
                c:symbol-prefix="relation_db"
                glib:type-name="LtRelationDb"
                glib:get-type="lt_relation_db_get_type">
      <function name="lookup_lang_from_script"
                c:identifier="lt_relation_db_lookup_lang_from_script"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-relation-db.gir.c"
             line="220">Look up the languages corresponding to the script @script.</doc>
        <source-position filename="lt-relation-db.gir.h" line="37"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-relation-db.gir.c"
               line="227">a #lt_list_t containing #lt_lang_t object.</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="relationdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-relation-db.gir.c"
                 line="222">a #lt_relation_db_t.</doc>
            <type c:type="lt_relation_db_t*"/>
          </parameter>
          <parameter name="script" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-relation-db.gir.c"
                 line="223">a #lt_script_t.</doc>
            <type c:type="const lt_script_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="lookup_script_from_lang"
                c:identifier="lt_relation_db_lookup_script_from_lang"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-relation-db.gir.c"
             line="262">Look up the scripts corresponding to the language @lang.</doc>
        <source-position filename="lt-relation-db.gir.h" line="39"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-relation-db.gir.c"
               line="269">a #lt_list_t containing #lt_script_t objects.</doc>
          <type c:type="lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="relationdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-relation-db.gir.c"
                 line="264">a #lt_relation_db_t.</doc>
            <type c:type="lt_relation_db_t*"/>
          </parameter>
          <parameter name="lang" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-relation-db.gir.c"
                 line="265">a #lt_lang_t.</doc>
            <type c:type="const lt_lang_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new"
                c:identifier="lt_relation_db_new"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-relation-db.gir.c"
             line="175">Create a new instance of a #lt_relation_db_t.</doc>
        <source-position filename="lt-relation-db.gir.h" line="34"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-relation-db.gir.c"
               line="180">a new instance of #lt_relation_db_t.</doc>
          <type c:type="lt_relation_db_t*"/>
        </return-value>
      </function>
      <function name="ref"
                c:identifier="lt_relation_db_ref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-relation-db.gir.c"
             line="190">Increases the reference count of @relationdb.</doc>
        <source-position filename="lt-relation-db.gir.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-relation-db.gir.c"
               line="196">the same @relationddb object.</doc>
          <type c:type="lt_relation_db_t*"/>
        </return-value>
        <parameters>
          <parameter name="relationdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-relation-db.gir.c"
                 line="192">a #lt_relation_db_t.</doc>
            <type c:type="lt_relation_db_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_relation_db_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-relation-db.gir.c"
             line="206">Decreases the reference count of @relationdb. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-relation-db.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="relationdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-relation-db.gir.c"
                 line="208">a #lt_relation_db_t.</doc>
            <type c:type="lt_relation_db_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <constant name="SEARCHPATH_SEPARATOR"
              value="59"
              c:type="LT_SEARCHPATH_SEPARATOR">
      <source-position filename="lt-macros.gir.h" line="259"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="SEARCHPATH_SEPARATOR_S"
              value=";"
              c:type="LT_SEARCHPATH_SEPARATOR_S">
      <source-position filename="lt-macros.gir.h" line="258"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <glib:boxed glib:name="Script"
                c:symbol-prefix="script"
                glib:type-name="LtScript"
                glib:get-type="lt_script_get_type">
      <function name="compare"
                c:identifier="lt_script_compare"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-script.gir.c"
             line="197">Compare if @v1 and @v2 is the same object or not.</doc>
        <source-position filename="lt-script.gir.h" line="40"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-script.gir.c"
               line="204">%TRUE if it's the same, otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="v1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-script.gir.c"
                 line="199">a #lt_script_t.</doc>
            <type c:type="const lt_script_t*"/>
          </parameter>
          <parameter name="v2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-script.gir.c"
                 line="200">a #lt_script_t.</doc>
            <type c:type="const lt_script_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="convert_to_modifier"
                c:identifier="lt_script_convert_to_modifier"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-script.gir.c"
             line="155">Convert the script subtag to the locale variant modifier.</doc>
        <source-position filename="lt-script.gir.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-script.gir.c"
               line="161">a modifier string or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="script" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-script.gir.c"
                 line="157">a #lt_script_t.</doc>
            <type c:type="const lt_script_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="dump" c:identifier="lt_script_dump" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-script.gir.c"
             line="141">Dumps the container information to the standard output.</doc>
        <source-position filename="lt-script.gir.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="script" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-script.gir.c"
                 line="143">a #lt_script_t.</doc>
            <type c:type="const lt_script_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_name"
                c:identifier="lt_script_get_name"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-script.gir.c"
             line="109">Obtains the description of the subtag.</doc>
        <source-position filename="lt-script.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-script.gir.c"
               line="115">a description string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="script" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-script.gir.c"
                 line="111">a #lt_script_t.</doc>
            <type c:type="const lt_script_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_tag"
                c:identifier="lt_script_get_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-script.gir.c"
             line="125">Obtains the tag name.</doc>
        <source-position filename="lt-script.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-script.gir.c"
               line="131">a tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="script" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-script.gir.c"
                 line="127">a #lt_script_t.</doc>
            <type c:type="const lt_script_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref" c:identifier="lt_script_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-script.gir.c"
             line="79">Increases the reference count of @script.</doc>
        <source-position filename="lt-script.gir.h" line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-script.gir.c"
               line="85">the same @script object.</doc>
          <type c:type="lt_script_t*"/>
        </return-value>
        <parameters>
          <parameter name="script" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-script.gir.c"
                 line="81">a #lt_script_t.</doc>
            <type c:type="lt_script_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref" c:identifier="lt_script_unref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-script.gir.c"
             line="95">Decreases the reference count of @script. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-script.gir.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="script" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-script.gir.c"
                 line="97">a #lt_script_t.</doc>
            <type c:type="lt_script_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="ScriptDb"
                c:symbol-prefix="script_db"
                glib:type-name="LtScriptDb"
                glib:get-type="lt_script_db_get_type">
      <function name="lookup"
                c:identifier="lt_script_db_lookup"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-script-db.gir.c"
             line="287">Lookup @lt_script_t if @subtag is valid and registered into the database.</doc>
        <source-position filename="lt-script-db.gir.h" line="38"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-script-db.gir.c"
               line="294">a #lt_script_t that meets with @subtag.
                          otherwise %NULL.</doc>
          <type c:type="lt_script_t*"/>
        </return-value>
        <parameters>
          <parameter name="scriptdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-script-db.gir.c"
                 line="289">a #lt_script_db_t.</doc>
            <type c:type="lt_script_db_t*"/>
          </parameter>
          <parameter name="subtag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-script-db.gir.c"
                 line="290">a subtag name to lookup.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new" c:identifier="lt_script_db_new" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-script-db.gir.c"
             line="239">Create a new instance of a #lt_script_db_t.</doc>
        <source-position filename="lt-script-db.gir.h" line="35"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-script-db.gir.c"
               line="244">a new instance of #lt_script_db_t.</doc>
          <type c:type="lt_script_db_t*"/>
        </return-value>
      </function>
      <function name="ref" c:identifier="lt_script_db_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-script-db.gir.c"
             line="257">Increases the reference count of @scriptdb.</doc>
        <source-position filename="lt-script-db.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-script-db.gir.c"
               line="263">the same @scriptdb object.</doc>
          <type c:type="lt_script_db_t*"/>
        </return-value>
        <parameters>
          <parameter name="scriptdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-script-db.gir.c"
                 line="259">a #lt_script_db_t.</doc>
            <type c:type="lt_script_db_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_script_db_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-script-db.gir.c"
             line="273">Decreases the reference count of @scriptdb. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-script-db.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="scriptdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-script-db.gir.c"
                 line="275">a #lt_script_db_t.</doc>
            <type c:type="lt_script_db_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="String"
                c:symbol-prefix="string"
                glib:type-name="LtString"
                glib:get-type="lt_string_get_type">
      <function name="append"
                c:identifier="lt_string_append"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="260">Adds a string onto the end of a #lt_string_t, expanding
it if necessary.</doc>
        <source-position filename="lt-string.gir.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-string.gir.c"
               line="268">the same @string object</doc>
          <type c:type="lt_string_t*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="262">a #lt_string_t</doc>
            <type c:type="lt_string_t*"/>
          </parameter>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="263">the string to append onto the end of @string</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <function name="append_c"
                c:identifier="lt_string_append_c"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="234">Adds a byte onto the end of a #lt_string_t, expanding
it if necessary.</doc>
        <source-position filename="lt-string.gir.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-string.gir.c"
               line="242">the same @string object.</doc>
          <type c:type="lt_string_t*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="236">a #lt_string_t</doc>
            <type c:type="lt_string_t*"/>
          </parameter>
          <parameter name="c" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="237">the byte to append onto the end of @string</doc>
            <type name="gchar" c:type="char"/>
          </parameter>
        </parameters>
      </function>
      <function name="append_filename"
                c:identifier="lt_string_append_filename"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="291">Adds a string onto the end of a #lt_string_t as a file path.</doc>
        <source-position filename="lt-string.gir.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-string.gir.c"
               line="299">the same @string object</doc>
          <type c:type="lt_string_t*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="293">a #lt_string_t</doc>
            <type c:type="lt_string_t*"/>
          </parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="294">the string to append onto the end of @string as a file path</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="295">a %NULL-terminated list of strings to append onto the end of @string as a file path</doc>
            <varargs/>
          </parameter>
        </parameters>
      </function>
      <function name="append_printf"
                c:identifier="lt_string_append_printf"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="332">Appends a formatted string onto the end of a #lt_string_t.
This is similar to the standard sprintf() function,
except that the text is appended to the #lt_string_t.</doc>
        <source-position filename="lt-string.gir.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="334">a #lt_string_t</doc>
            <type c:type="lt_string_t*"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="335">the string format. See the printf() documentation</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="336">the parameters to insert into the format string</doc>
            <varargs/>
          </parameter>
        </parameters>
      </function>
      <function name="at" c:identifier="lt_string_at" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="385">Obtain a byte in a #lt_string_t at @pos. If @pos is a negative,
the position is calculated from current size. i.e. if the buffer
contains "abc", and @pos is -1, this will returns 'c' then.</doc>
        <source-position filename="lt-string.gir.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-string.gir.c"
               line="394">the byte in @string at @pos</doc>
          <type name="gchar" c:type="char"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="387">a #lt_string_t</doc>
            <type c:type="lt_string_t*"/>
          </parameter>
          <parameter name="pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="388">position in @string where to obtain the byte</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </function>
      <function name="clear" c:identifier="lt_string_clear" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="222">Clean up the buffer in @string.</doc>
        <source-position filename="lt-string.gir.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="224">a #lt_string_t</doc>
            <type c:type="lt_string_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="free" c:identifier="lt_string_free" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="133">Frees the memory allocated for the #lt_string_t.
If @free_segment is %TRUE it also frees the character data.  If
it's %FALSE, the caller gains ownership of the buffer and must
free it after use with free().</doc>
        <source-position filename="lt-string.gir.h" line="37"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-string.gir.c"
               line="143">the character data of @string
         (i.e. %NULL if @free_segment is %TRUE)</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="135">a #lt_string_t</doc>
            <type c:type="lt_string_t*"/>
          </parameter>
          <parameter name="free_segment" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="136">if %TRUE, the actual character data is freed as well</doc>
            <type c:type="lt_bool_t"/>
          </parameter>
        </parameters>
      </function>
      <function name="length"
                c:identifier="lt_string_length"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="163">Returns the number of characters in buffer for @string.</doc>
        <source-position filename="lt-string.gir.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-string.gir.c"
               line="169">the number of characters</doc>
          <type name="gsize" c:type="gsize"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="165">a #lt_string_t</doc>
            <type c:type="const lt_string_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new" c:identifier="lt_string_new" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="72">Creates an instance of #lt_string_t with @string.</doc>
        <source-position filename="lt-string.gir.h" line="34"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-string.gir.c"
               line="78">a new instance of #lt_string_t.</doc>
          <type c:type="lt_string_t*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="74">an initial string to set</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref" c:identifier="lt_string_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="103">Increases the reference count of @string.</doc>
        <source-position filename="lt-string.gir.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-string.gir.c"
               line="109">the same @string object.</doc>
          <type c:type="lt_string_t*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="105">a #lt_string_t</doc>
            <type c:type="lt_string_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="replace_c"
                c:identifier="lt_string_replace_c"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="361">Replaces a character in @string at @pos.</doc>
        <source-position filename="lt-string.gir.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-string.gir.c"
               line="369">the same @string object</doc>
          <type c:type="lt_string_t*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="363">a #lt_string_t</doc>
            <type c:type="lt_string_t*"/>
          </parameter>
          <parameter name="pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="364">position in @string where replacement should happen</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="c" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="365">the byte to replace</doc>
            <type name="gchar" c:type="char"/>
          </parameter>
        </parameters>
      </function>
      <function name="truncate"
                c:identifier="lt_string_truncate"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="195">Truncates the characters in the buffer according to @len. if @len is
a negative, how many characters is truncated will be calculated from
current size. i.e. if the buffer contains "abc", and @len is -1,
the buffer will be "ab" after this call.</doc>
        <source-position filename="lt-string.gir.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-string.gir.c"
               line="205">the same @string object.</doc>
          <type c:type="lt_string_t*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="197">a #lt_string_t</doc>
            <type c:type="lt_string_t*"/>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="198">the number of characters to be truncated from the buffer.</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref" c:identifier="lt_string_unref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="119">Decreases the reference count of @string. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-string.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="121">a #lt_string_t</doc>
            <type c:type="lt_string_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="value" c:identifier="lt_string_value" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-string.gir.c"
             line="179">Returns the buffer in @string.</doc>
        <source-position filename="lt-string.gir.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-string.gir.c"
               line="185">a string which @string has.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-string.gir.c"
                 line="181">a #lt_string_t</doc>
            <type c:type="const lt_string_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="Tag"
                c:symbol-prefix="tag"
                glib:type-name="LtTag"
                glib:get-type="lt_tag_get_type">
      <function name="canonicalize"
                c:identifier="lt_tag_canonicalize"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="1960">Canonicalize the language tag according to various information of subtags.</doc>
        <source-position filename="lt-tag.gir.h" line="88"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="1967">a language tag string.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1962">a #lt_tag_t.</doc>
            <type c:type="lt_tag_t*"/>
          </parameter>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1963">a #lt_error_t or %NULL.</doc>
            <type c:type="lt_error_t**"/>
          </parameter>
        </parameters>
      </function>
      <function name="canonicalize_in_extlang_form"
                c:identifier="lt_tag_canonicalize_in_extlang_form"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="1976">Canonicalize the language tag in the extlang form
according to various information of subtags.</doc>
        <source-position filename="lt-tag.gir.h" line="90"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="1984">a language tag string.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1978">a #lt_tag_t.</doc>
            <type c:type="lt_tag_t*"/>
          </parameter>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1979">a #lt_error_t or %NULL.</doc>
            <type c:type="lt_error_t**"/>
          </parameter>
        </parameters>
      </function>
      <function name="clear" c:identifier="lt_tag_clear" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="1677">(Re-)Initialize all of the subtag information stored in @tag.</doc>
        <source-position filename="lt-tag.gir.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1679">a #lt_tag_t.</doc>
            <type c:type="lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="compare"
                c:identifier="lt_tag_compare"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2137">Compare if @v1 and @v2 is the same object or not.</doc>
        <source-position filename="lt-tag.gir.h" line="98"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2144">%TRUE if it's the same, otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="v1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2139">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
          <parameter name="v2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2140">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="convert_from_locale"
                c:identifier="lt_tag_convert_from_locale"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="1993">Convert current locale to the language tag.</doc>
        <source-position filename="lt-tag.gir.h" line="94"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="1999">a #lt_tag_t, %NULL if fails.</doc>
          <type c:type="lt_tag_t*"/>
        </return-value>
        <parameters>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1995">a #lt_error_t.</doc>
            <type c:type="lt_error_t**"/>
          </parameter>
        </parameters>
      </function>
      <function name="convert_from_locale_string"
                c:identifier="lt_tag_convert_from_locale_string"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2012">Convert @locale to the language tag.</doc>
        <source-position filename="lt-tag.gir.h" line="95"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2019">a #lt_tag_t, %NULL if fails.</doc>
          <type c:type="lt_tag_t*"/>
        </return-value>
        <parameters>
          <parameter name="locale" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2014">a locale string</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2015">a #lt_error_t or %NULL.</doc>
            <type c:type="lt_error_t**"/>
          </parameter>
        </parameters>
      </function>
      <function name="convert_to_locale"
                c:identifier="lt_tag_convert_to_locale"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2030">Convert the language tag to the locale.</doc>
        <source-position filename="lt-tag.gir.h" line="92"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2037">a locale string or %NULL if fails</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2032">a #lt_tag_t.</doc>
            <type c:type="lt_tag_t*"/>
          </parameter>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2033">a #lt_error_t or %NULL.</doc>
            <type c:type="lt_error_t**"/>
          </parameter>
        </parameters>
      </function>
      <function name="copy" c:identifier="lt_tag_copy" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="1743">Create a copy instance of @tag.</doc>
        <source-position filename="lt-tag.gir.h" line="82"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="1749">a new instance of #lt_tag_t or %NULL if fails.</doc>
          <type c:type="lt_tag_t*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1745">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="dump" c:identifier="lt_tag_dump" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2102">Dumps the container information to the standard output.</doc>
        <source-position filename="lt-tag.gir.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2104">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_extension"
                c:identifier="lt_tag_get_extension"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2624">Obtain a #lt_extension_t instance in @tag.</doc>
        <source-position filename="lt-tag.gir.h" line="113"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2630">a #lt_extension_t.</doc>
          <type c:type="const lt_extension_t*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2626">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_extlang"
                c:identifier="lt_tag_get_extlang"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2588">Obtain a #lt_extlang_t instance in @tag.</doc>
        <source-position filename="lt-tag.gir.h" line="109"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2594">a #lt_extlang_t.</doc>
          <type c:type="const lt_extlang_t*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2590">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_grandfathered"
                c:identifier="lt_tag_get_grandfathered"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2642">Obtain a #lt_grandfathered_t instance in @tag.</doc>
        <source-position filename="lt-tag.gir.h" line="115"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2648">a #lt_grandfathered_t.</doc>
          <type c:type="const lt_grandfathered_t*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2644">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_language"
                c:identifier="lt_tag_get_language"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2579">Obtain a #lt_lang_t instance in @tag.</doc>
        <source-position filename="lt-tag.gir.h" line="108"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2585">a #lt_lang_t.</doc>
          <type c:type="const lt_lang_t*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2581">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_privateuse"
                c:identifier="lt_tag_get_privateuse"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2633">Obtain a #lt_string_t instance in @tag.</doc>
        <source-position filename="lt-tag.gir.h" line="114"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2639">a #lt_string_t.</doc>
          <type c:type="const lt_string_t*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2635">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_region"
                c:identifier="lt_tag_get_region"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2606">Obtain a #lt_region_t instance in @tag.</doc>
        <source-position filename="lt-tag.gir.h" line="111"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2612">a #lt_region_t.</doc>
          <type c:type="const lt_region_t*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2608">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_script"
                c:identifier="lt_tag_get_script"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2597">Obtain a #lt_script_t instance in @tag.</doc>
        <source-position filename="lt-tag.gir.h" line="110"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2603">a #lt_script_t.</doc>
          <type c:type="const lt_script_t*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2599">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_string"
                c:identifier="lt_tag_get_string"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="1946">Obtains a language tag in string.</doc>
        <source-position filename="lt-tag.gir.h" line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="1952">a language tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1948">a #lt_tag_t.</doc>
            <type c:type="lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_string_with_filter"
                c:identifier="lt_tag_get_string_with_filter"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="1887">Obtains a language tag in string against @filter.</doc>
        <source-position filename="lt-tag.gir.h" line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="1894">a language tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1889">a #lt_tag_t.</doc>
            <type c:type="lt_tag_t*"/>
          </parameter>
          <parameter name="filter" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1890">a binary count sequence of #lt_tag_filter_t.</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_variants"
                c:identifier="lt_tag_get_variants"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2615">Obtain a list of #lt_variant_t instance in @tag.</doc>
        <source-position filename="lt-tag.gir.h" line="112"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2621">a #lt_list_t containing #lt_variant_t.</doc>
          <type c:type="const lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2617">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="lookup" c:identifier="lt_tag_lookup" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2227">Lookup the language tag that @tag meets with @pattern.
Any of subtags in @pattern is allowed to use the wildcard according to
the syntax in RFC 4647.</doc>
        <source-position filename="lt-tag.gir.h" line="103"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2237">a language tag string if any matches, otherwise %NULL.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2229">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
          <parameter name="pattern" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2230">a language range string.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2231">a #lt_error_t or %NULL.</doc>
            <type c:type="lt_error_t**"/>
          </parameter>
        </parameters>
      </function>
      <function name="match" c:identifier="lt_tag_match" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2184">Try matching of @v1 and @v2. any of subtags in @v2 is allowed to use
the wildcard according to the syntax in RFC 4647.</doc>
        <source-position filename="lt-tag.gir.h" line="100"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2193">%TRUE if it matches, otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="v1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2186">a #lt_tag_t.</doc>
            <type c:type="const lt_tag_t*"/>
          </parameter>
          <parameter name="v2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2187">a language range string.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2188">a #lt_error_t or %NULL.</doc>
            <type c:type="lt_error_t**"/>
          </parameter>
        </parameters>
      </function>
      <function name="new" c:identifier="lt_tag_new" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="1624">Create a new instance of #lt_tag_t.</doc>
        <source-position filename="lt-tag.gir.h" line="72"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="1629">a new instance of #lt_tag_t.</doc>
          <type c:type="lt_tag_t*"/>
        </return-value>
      </function>
      <function name="parse" c:identifier="lt_tag_parse" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="1701">Parse @tag_string and create appropriate instances for subtags.</doc>
        <source-position filename="lt-tag.gir.h" line="75"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="1709">%TRUE if it's successfully completed, otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1703">a #lt_tag_t.</doc>
            <type c:type="lt_tag_t*"/>
          </parameter>
          <parameter name="tag_string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1704">language tag to be parsed.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1705">a #lt_error_t or %NULL.</doc>
            <type c:type="lt_error_t**"/>
          </parameter>
        </parameters>
      </function>
      <function name="parse_with_extra_token"
                c:identifier="lt_tag_parse_with_extra_token"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="1721">Continue to parse a language tag with @tag_string. please use lt_tag_parse()
at first.</doc>
        <source-position filename="lt-tag.gir.h" line="78"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="1730">%TRUE if it's successfully completed, otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1723">a #lt_tag_t.</doc>
            <type c:type="lt_tag_t*"/>
          </parameter>
          <parameter name="tag_string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1724">a language tag to be parsed much more.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1725">a #lt_error_t or %NULL.</doc>
            <type c:type="lt_error_t**"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref" c:identifier="lt_tag_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="1647">Increases the reference count of @tag.</doc>
        <source-position filename="lt-tag.gir.h" line="73"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="1653">the same @tag object.</doc>
          <type c:type="lt_tag_t*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1649">a #lt_tag_t.</doc>
            <type c:type="lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="transform"
                c:identifier="lt_tag_transform"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="2334">Transform @tag according to the likelySubtags database provided by CLDR.</doc>
        <source-position filename="lt-tag.gir.h" line="106"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="2341">a string.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2336">a #lt_tag_t.</doc>
            <type c:type="lt_tag_t*"/>
          </parameter>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="2337">a #lt_error_t or %NULL.</doc>
            <type c:type="lt_error_t**"/>
          </parameter>
        </parameters>
      </function>
      <function name="truncate"
                c:identifier="lt_tag_truncate"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="1792">Truncate the last subtag.</doc>
        <source-position filename="lt-tag.gir.h" line="83"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-tag.gir.c"
               line="1799">%TRUE if a subtag was truncated, otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1794">a #lt_tag_t.</doc>
            <type c:type="lt_tag_t*"/>
          </parameter>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1795">a #lt_error_t.</doc>
            <type c:type="lt_error_t**"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref" c:identifier="lt_tag_unref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-tag.gir.c"
             line="1663">Decreases the reference count of @tag. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-tag.gir.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-tag.gir.c"
                 line="1665">a #lt_tag_t.</doc>
            <type c:type="lt_tag_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <function-macro name="UNLIKELY"
                    c:identifier="LT_UNLIKELY"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="lt-macros.gir.h"
           line="186">Hints the compiler that the expression is unlikely to evaluate to a true
value. The compiler may use this information for optimizations.</doc>
      <source-position filename="lt-macros.gir.h" line="204"/>
      <parameters>
        <parameter name="_e_">
          <doc xml:space="preserve"
               filename="lt-macros.gir.h"
               line="188">the expression</doc>
        </parameter>
      </parameters>
    </function-macro>
    <glib:boxed glib:name="Variant"
                c:symbol-prefix="variant"
                glib:type-name="LtVariant"
                glib:get-type="lt_variant_get_type">
      <function name="compare"
                c:identifier="lt_variant_compare"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-variant.gir.c"
             line="271">Compare if @v1 and @v2 is the same object or not.</doc>
        <source-position filename="lt-variant.gir.h" line="43"/>
        <return-value>
          <doc xml:space="preserve"
               filename="lt-variant.gir.c"
               line="278">%TRUE if it's the same, otherwise %FALSE.</doc>
          <type c:type="lt_bool_t"/>
        </return-value>
        <parameters>
          <parameter name="v1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant.gir.c"
                 line="273">a #lt_variant_t.</doc>
            <type c:type="const lt_variant_t*"/>
          </parameter>
          <parameter name="v2" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant.gir.c"
                 line="274">a #lt_variant_t.</doc>
            <type c:type="const lt_variant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="dump" c:identifier="lt_variant_dump" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-variant.gir.c"
             line="229">Dumps the container information to the standard output.</doc>
        <source-position filename="lt-variant.gir.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="variant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant.gir.c"
                 line="231">a #lt_variant_t.</doc>
            <type c:type="const lt_variant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_better_tag"
                c:identifier="lt_variant_get_better_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-variant.gir.c"
             line="141">Obtains the better tag for use. this is a convenient function to get
the preferred-value if available.</doc>
        <source-position filename="lt-variant.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-variant.gir.c"
               line="148">a tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="variant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant.gir.c"
                 line="143">a #lt_variant_t.</doc>
            <type c:type="const lt_variant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_name"
                c:identifier="lt_variant_get_name"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-variant.gir.c"
             line="194">Obtains the description of the subtag.</doc>
        <source-position filename="lt-variant.gir.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-variant.gir.c"
               line="200">a description string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="variant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant.gir.c"
                 line="196">a #lt_variant_t.</doc>
            <type c:type="const lt_variant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_preferred_tag"
                c:identifier="lt_variant_get_preferred_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-variant.gir.c"
             line="177">Obtains the preferred-value. this is available only when the tag is
marked as deprecated.</doc>
        <source-position filename="lt-variant.gir.h" line="39"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-variant.gir.c"
               line="184">a preferred-value for the tag or %NULL.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="variant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant.gir.c"
                 line="179">a #lt_variant_t.</doc>
            <type c:type="const lt_variant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_prefix"
                c:identifier="lt_variant_get_prefix"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-variant.gir.c"
             line="210">Obtains the prefix being assigned to the subtag.
This is available only when the subtag has any suitable sequence of
subtags for forming (with other subtags, as appropriate) a language
tag when using the variant.</doc>
        <source-position filename="lt-variant.gir.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-variant.gir.c"
               line="219">a #lt_list_t contains prefix strings or %NULL.</doc>
          <type c:type="const lt_list_t*"/>
        </return-value>
        <parameters>
          <parameter name="variant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant.gir.c"
                 line="212">a #lt_variant_t.</doc>
            <type c:type="const lt_variant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_tag"
                c:identifier="lt_variant_get_tag"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-variant.gir.c"
             line="161">Obtains the tag name.</doc>
        <source-position filename="lt-variant.gir.h" line="38"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-variant.gir.c"
               line="167">a tag string.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <parameter name="variant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant.gir.c"
                 line="163">a #lt_variant_t.</doc>
            <type c:type="const lt_variant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="ref" c:identifier="lt_variant_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-variant.gir.c"
             line="111">Increases the reference count of @variant.</doc>
        <source-position filename="lt-variant.gir.h" line="35"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-variant.gir.c"
               line="117">the same @variant object.</doc>
          <type c:type="lt_variant_t*"/>
        </return-value>
        <parameters>
          <parameter name="variant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant.gir.c"
                 line="113">a #lt_variant_t.</doc>
            <type c:type="lt_variant_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_variant_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-variant.gir.c"
             line="127">Decreases the reference count of @variant. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-variant.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="variant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant.gir.c"
                 line="129">a #lt_variant_t.</doc>
            <type c:type="lt_variant_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <glib:boxed glib:name="VariantDb"
                c:symbol-prefix="variant_db"
                glib:type-name="LtVariantDb"
                glib:get-type="lt_variant_db_get_type">
      <function name="lookup"
                c:identifier="lt_variant_db_lookup"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-variant-db.gir.c"
             line="306">Lookup @lt_variant_t if @subtag is valid and registered into the database.</doc>
        <source-position filename="lt-variant-db.gir.h" line="38"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-variant-db.gir.c"
               line="313">a #lt_variant_t that meets with @subtag.
                          otherwise %NULL.</doc>
          <type c:type="lt_variant_t*"/>
        </return-value>
        <parameters>
          <parameter name="variantdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant-db.gir.c"
                 line="308">a #lt_variant_db_t.</doc>
            <type c:type="lt_variant_db_t*"/>
          </parameter>
          <parameter name="subtag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant-db.gir.c"
                 line="309">a subtag name to lookup.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </function>
      <function name="new" c:identifier="lt_variant_db_new" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-variant-db.gir.c"
             line="258">Create a new instance of a #lt_variant_db_t.</doc>
        <source-position filename="lt-variant-db.gir.h" line="35"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="lt-variant-db.gir.c"
               line="263">a new instance of #lt_variant_db_t.</doc>
          <type c:type="lt_variant_db_t*"/>
        </return-value>
      </function>
      <function name="ref" c:identifier="lt_variant_db_ref" introspectable="0">
        <doc xml:space="preserve"
             filename="lt-variant-db.gir.c"
             line="276">Increases the reference count of @variantdb.</doc>
        <source-position filename="lt-variant-db.gir.h" line="36"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-variant-db.gir.c"
               line="282">the same @variantdb object.</doc>
          <type c:type="lt_variant_db_t*"/>
        </return-value>
        <parameters>
          <parameter name="variantdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant-db.gir.c"
                 line="278">a #lt_variant_db_t.</doc>
            <type c:type="lt_variant_db_t*"/>
          </parameter>
        </parameters>
      </function>
      <function name="unref"
                c:identifier="lt_variant_db_unref"
                introspectable="0">
        <doc xml:space="preserve"
             filename="lt-variant-db.gir.c"
             line="292">Decreases the reference count of @variantdb. when its reference count
drops to 0, the object is finalized (i.e. its memory is freed).</doc>
        <source-position filename="lt-variant-db.gir.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="variantdb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="lt-variant-db.gir.c"
                 line="294">a #lt_variant_db_t.</doc>
            <type c:type="lt_variant_db_t*"/>
          </parameter>
        </parameters>
      </function>
    </glib:boxed>
    <callback name="compare_func_t"
              c:type="lt_compare_func_t"
              introspectable="0">
      <doc xml:space="preserve"
           filename="lt-macros.gir.h"
           line="371">The type of callback function used for comparing objects.</doc>
      <source-position filename="lt-macros.gir.h" line="378"/>
      <return-value transfer-ownership="none">
        <type name="gint" c:type="int"/>
      </return-value>
      <parameters>
        <parameter name="v1" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-macros.gir.h"
               line="373">the object to compare with @v2.</doc>
          <type c:type="const lt_pointer_t"/>
        </parameter>
        <parameter name="v2" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-macros.gir.h"
               line="374">the object to compare with @v1.</doc>
          <type c:type="const lt_pointer_t"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="copy_func_t" c:type="lt_copy_func_t" introspectable="0">
      <doc xml:space="preserve"
           filename="lt-macros.gir.h"
           line="357">The type of callback function used for copying @data.</doc>
      <source-position filename="lt-macros.gir.h" line="363"/>
      <return-value>
        <type c:type="lt_pointer_t"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-macros.gir.h"
               line="359">the object to be copied.</doc>
          <type c:type="lt_pointer_t"/>
        </parameter>
      </parameters>
    </callback>
    <function name="db_finalize" c:identifier="lt_db_finalize">
      <source-position filename="lt-database.gir.h" line="64"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="db_get_datadir" c:identifier="lt_db_get_datadir">
      <source-position filename="lt-database.gir.h" line="61"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const char*"/>
      </return-value>
    </function>
    <function name="db_get_extlang"
              c:identifier="lt_db_get_extlang"
              introspectable="0">
      <source-position filename="lt-database.gir.h" line="66"/>
      <return-value>
        <type c:type="lt_extlang_db_t*"/>
      </return-value>
    </function>
    <function name="db_get_grandfathered"
              c:identifier="lt_db_get_grandfathered"
              introspectable="0">
      <source-position filename="lt-database.gir.h" line="70"/>
      <return-value>
        <type c:type="lt_grandfathered_db_t*"/>
      </return-value>
    </function>
    <function name="db_get_lang"
              c:identifier="lt_db_get_lang"
              introspectable="0">
      <source-position filename="lt-database.gir.h" line="65"/>
      <return-value>
        <type c:type="lt_lang_db_t*"/>
      </return-value>
    </function>
    <function name="db_get_redundant"
              c:identifier="lt_db_get_redundant"
              introspectable="0">
      <source-position filename="lt-database.gir.h" line="71"/>
      <return-value>
        <type c:type="lt_redundant_db_t*"/>
      </return-value>
    </function>
    <function name="db_get_region"
              c:identifier="lt_db_get_region"
              introspectable="0">
      <source-position filename="lt-database.gir.h" line="68"/>
      <return-value>
        <type c:type="lt_region_db_t*"/>
      </return-value>
    </function>
    <function name="db_get_relation"
              c:identifier="lt_db_get_relation"
              introspectable="0">
      <source-position filename="lt-database.gir.h" line="72"/>
      <return-value>
        <type c:type="lt_relation_db_t*"/>
      </return-value>
    </function>
    <function name="db_get_script"
              c:identifier="lt_db_get_script"
              introspectable="0">
      <source-position filename="lt-database.gir.h" line="67"/>
      <return-value>
        <type c:type="lt_script_db_t*"/>
      </return-value>
    </function>
    <function name="db_get_variant"
              c:identifier="lt_db_get_variant"
              introspectable="0">
      <source-position filename="lt-database.gir.h" line="69"/>
      <return-value>
        <type c:type="lt_variant_db_t*"/>
      </return-value>
    </function>
    <function name="db_initialize" c:identifier="lt_db_initialize">
      <source-position filename="lt-database.gir.h" line="63"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="db_set_datadir" c:identifier="lt_db_set_datadir">
      <source-position filename="lt-database.gir.h" line="60"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="db_set_val"
              c:identifier="lt_db_set_val"
              introspectable="0">
      <source-position filename="lt-database.gir.h" line="62"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="val" transfer-ownership="none">
          <type c:type="lt_db_val_t*"/>
        </parameter>
      </parameters>
    </function>
    <callback name="destroy_func_t"
              c:type="lt_destroy_func_t"
              introspectable="0">
      <doc xml:space="preserve"
           filename="lt-macros.gir.h"
           line="364">The type of callback function used for destroying @data.</doc>
      <source-position filename="lt-macros.gir.h" line="370"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-macros.gir.h"
               line="366">the object to be destroyed.</doc>
          <type c:type="lt_pointer_t"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="ext_module_data_new_func_t"
              c:type="lt_ext_module_data_new_func_t"
              introspectable="0">
      <doc xml:space="preserve"
           filename="lt-ext-module.gir.h"
           line="74">The type of the callback function used to create a new instance of
#lt_ext_module_data_t.
This is invoked when new Extension subtag appears and keep data.</doc>
      <source-position filename="lt-ext-module.gir.h" line="83"/>
      <return-value>
        <doc xml:space="preserve"
             filename="lt-ext-module.gir.h"
             line="81">a new instance of #lt_ext_module_data_t.</doc>
        <type c:type="lt_ext_module_data_t*"/>
      </return-value>
    </callback>
    <callback name="ext_module_get_funcs_func_t"
              c:type="lt_ext_module_get_funcs_func_t"
              introspectable="0">
      <doc xml:space="preserve"
           filename="lt-ext-module.gir.h"
           line="55">The type of the module_get_funcs() that is required to implement
an extension module.</doc>
      <source-position filename="lt-ext-module.gir.h" line="63"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lt-ext-module.gir.h"
             line="61">a #lt_ext_module_funcs_t.</doc>
        <type c:type="const lt_ext_module_funcs_t*"/>
      </return-value>
    </callback>
    <callback name="ext_module_get_tag_func_t"
              c:type="lt_ext_module_get_tag_func_t"
              introspectable="0">
      <doc xml:space="preserve"
           filename="lt-ext-module.gir.h"
           line="112">The type of the callback function used to obtain the tag.</doc>
      <source-position filename="lt-ext-module.gir.h" line="120"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="lt-ext-module.gir.h"
             line="118">a tag string.</doc>
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-ext-module.gir.h"
               line="114">a #lt_ext_module_data_t.</doc>
          <type c:type="lt_ext_module_data_t*"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="ext_module_parse_func_t"
              c:type="lt_ext_module_parse_func_t"
              introspectable="0">
      <doc xml:space="preserve"
           filename="lt-ext-module.gir.h"
           line="99">The type of the callback function used to parse tags.</doc>
      <source-position filename="lt-ext-module.gir.h" line="109"/>
      <return-value>
        <doc xml:space="preserve"
             filename="lt-ext-module.gir.h"
             line="107">%TRUE if the @subtag is valid for Extension. otherwise %FALSE.</doc>
        <type c:type="lt_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-ext-module.gir.h"
               line="101">a #lt_ext_module_data_t.</doc>
          <type c:type="lt_ext_module_data_t*"/>
        </parameter>
        <parameter name="subtag" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-ext-module.gir.h"
               line="102">a subtag string to parse.</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
        <parameter name="error"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lt-ext-module.gir.h"
               line="103">a #lt_error_t.</doc>
          <type c:type="lt_error_t**"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="ext_module_precheck_func_t"
              c:type="lt_ext_module_precheck_func_t"
              introspectable="0">
      <doc xml:space="preserve"
           filename="lt-ext-module.gir.h"
           line="84">The type of the callback function used to check @tag prior to process
parsing subtags for the extension.</doc>
      <source-position filename="lt-ext-module.gir.h" line="96"/>
      <return-value>
        <doc xml:space="preserve"
             filename="lt-ext-module.gir.h"
             line="93">%TRUE if @tag is valid to process parsing subtags for the extension.
         otherwise %FALSE.</doc>
        <type c:type="lt_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-ext-module.gir.h"
               line="86">a #lt_ext_module_data_t.</doc>
          <type c:type="lt_ext_module_data_t*"/>
        </parameter>
        <parameter name="tag" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-ext-module.gir.h"
               line="87">a #lt_tag_t.</doc>
          <type c:type="const lt_tag_t*"/>
        </parameter>
        <parameter name="error"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="lt-ext-module.gir.h"
               line="88">a #lt_error_t.</doc>
          <type c:type="lt_error_t**"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="ext_module_singleton_func_t"
              c:type="lt_ext_module_singleton_func_t">
      <doc xml:space="preserve"
           filename="lt-ext-module.gir.h"
           line="65">The type of the callback function used to obtain a singleton character
for Extension subtag that the module would support.</doc>
      <source-position filename="lt-ext-module.gir.h" line="73"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lt-ext-module.gir.h"
             line="71">a singleton character.</doc>
        <type name="gchar" c:type="char"/>
      </return-value>
    </callback>
    <callback name="ext_module_validate_func_t"
              c:type="lt_ext_module_validate_func_t"
              introspectable="0">
      <doc xml:space="preserve"
           filename="lt-ext-module.gir.h"
           line="121">The type of the callback function used to validate the tags in @data.</doc>
      <source-position filename="lt-ext-module.gir.h" line="129"/>
      <return-value>
        <doc xml:space="preserve"
             filename="lt-ext-module.gir.h"
             line="127">%TRUE if it's valid, otherwise %FALSE.</doc>
        <type c:type="lt_bool_t"/>
      </return-value>
      <parameters>
        <parameter name="data" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="lt-ext-module.gir.h"
               line="123">a #lt_ext_module_data_t.</doc>
          <type c:type="lt_ext_module_data_t*"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="ext_module_version_func_t"
              c:type="lt_ext_module_version_func_t">
      <doc xml:space="preserve"
           filename="lt-ext-module.gir.h"
           line="45">The type of the module_get_version() that is required to implement
an extension module.</doc>
      <source-position filename="lt-ext-module.gir.h" line="54"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="lt-ext-module.gir.h"
             line="51">a version number. this is the same to #LT_EXT_MODULE_VERSION
         when the module was built.</doc>
        <type name="gint" c:type="int"/>
      </return-value>
    </callback>
    <function name="ext_modules_load" c:identifier="lt_ext_modules_load">
      <doc xml:space="preserve"
           filename="lt-ext-module.gir.c"
           line="570">Load all of the modules on the system, including the internal accessor.
This has to be invoked before processing something with #lt_extension_t.
or lt_db_initialize() does.</doc>
      <source-position filename="lt-ext-module.gir.h" line="164"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="ext_modules_unload" c:identifier="lt_ext_modules_unload">
      <doc xml:space="preserve"
           filename="lt-ext-module.gir.c"
           line="678">Unload all of the modules already loaded.</doc>
      <source-position filename="lt-ext-module.gir.h" line="165"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <docsection name="lt-error">
      <doc xml:space="preserve"
           filename="lt-error.gir.c"
           line="40">This section describes the error handling in this library.</doc>
    </docsection>
    <docsection name="lt-ext-module">
      <doc xml:space="preserve"
           filename="lt-ext-module.gir.c"
           line="41">This class provides functionality to extend features in #lt_extension_t,
such as validating tags more strictly.</doc>
    </docsection>
    <docsection name="lt-ext-module-data">
      <doc xml:space="preserve"
           filename="lt-ext-module-data.gir.c"
           line="25">This container class provides a data access for a specific data of
extension subtag.</doc>
    </docsection>
    <docsection name="lt-extension">
      <doc xml:space="preserve"
           filename="lt-extension.gir.c"
           line="29">This container class provides a data access to Extension subtag entry.</doc>
    </docsection>
    <docsection name="lt-extlang">
      <doc xml:space="preserve"
           filename="lt-extlang.gir.c"
           line="29">This container class provides a data access to Extlang subtag entry.</doc>
    </docsection>
    <docsection name="lt-extlang-db">
      <doc xml:space="preserve"
           filename="lt-extlang-db.gir.c"
           line="34">This class provides an interface to access Extlang database. which has been
registered as ISO 639 code.</doc>
    </docsection>
    <docsection name="lt-grandfathered">
      <doc xml:space="preserve"
           filename="lt-grandfathered.gir.c"
           line="28">This container class provides a data access to Grandfathered subtag entry.</doc>
    </docsection>
    <docsection name="lt-grandfathered-db">
      <doc xml:space="preserve"
           filename="lt-grandfathered-db.gir.c"
           line="34">This class provides an interface to access Grandfathered database.
which has been registered under RFC 3066 and mostly deprecated.</doc>
    </docsection>
    <docsection name="lt-iter">
      <doc xml:space="preserve"
           filename="lt-iter.gir.c"
           line="25">This class provides a common interface to iterate over the key/value pairs
in an initiated object.</doc>
    </docsection>
    <docsection name="lt-lang">
      <doc xml:space="preserve"
           filename="lt-lang.gir.c"
           line="28">This container class provides a data access to Language subtag entry.</doc>
    </docsection>
    <docsection name="lt-lang-db">
      <doc xml:space="preserve"
           filename="lt-lang-db.gir.c"
           line="33">This class provides an interface to access Language database. which has been
registered as ISO 639 code.</doc>
    </docsection>
    <docsection name="lt-list">
      <doc xml:space="preserve"
           filename="lt-list.gir.c"
           line="24">The #lt_list_t object and its associated functions provide a standard
doubly-linked list data structure.</doc>
    </docsection>
    <docsection name="lt-macros">
      <doc xml:space="preserve"
           filename="lt-macros.gir.h"
           line="26">These macros provide more specialized features which are not needed so often
by application programmers.</doc>
    </docsection>
    <docsection name="lt-redundant">
      <doc xml:space="preserve"
           filename="lt-redundant.gir.c"
           line="28">This container class provides a data access to Redundant subtag entry.</doc>
    </docsection>
    <docsection name="lt-redundant-db">
      <doc xml:space="preserve"
           filename="lt-redundant-db.gir.c"
           line="34">This class provides an interface to access Redundant database.
which were mostly made redundant by the advent of either RFC 4646
or RFC 5646.</doc>
    </docsection>
    <docsection name="lt-region">
      <doc xml:space="preserve"
           filename="lt-region.gir.c"
           line="28">This container class provides a data access to Region subtag entry.</doc>
    </docsection>
    <docsection name="lt-region-db">
      <doc xml:space="preserve"
           filename="lt-region-db.gir.c"
           line="34">This class provides an interface to access Region database. which has been
registered as ISO 3166-1 and UN M.49 code.</doc>
    </docsection>
    <docsection name="lt-relation-db">
      <doc xml:space="preserve"
           filename="lt-relation-db.gir.c"
           line="32">This class providdes an interface to access Relation database.</doc>
    </docsection>
    <docsection name="lt-script">
      <doc xml:space="preserve"
           filename="lt-script.gir.c"
           line="27">This container class provides a data access to Script subtag entry.</doc>
    </docsection>
    <docsection name="lt-script-db">
      <doc xml:space="preserve"
           filename="lt-script-db.gir.c"
           line="33">This class provides an interface to access Script Database. which has been
registered as ISO 15924.</doc>
    </docsection>
    <docsection name="lt-string">
      <doc xml:space="preserve"
           filename="lt-string.gir.c"
           line="27">A #lt_string_t is an object that handles the memory management of a C
string.</doc>
    </docsection>
    <docsection name="lt-tag">
      <doc xml:space="preserve"
           filename="lt-tag.gir.c"
           line="40">This container class provides an interface to deal with the language tag.</doc>
    </docsection>
    <docsection name="lt-variant">
      <doc xml:space="preserve"
           filename="lt-variant.gir.c"
           line="28">This container class provides a data access to Variant subtag entry.</doc>
    </docsection>
    <docsection name="lt-variant-db">
      <doc xml:space="preserve"
           filename="lt-variant-db.gir.c"
           line="35">This class provides an interface to access Variant database. which has been
registered with IANA.</doc>
    </docsection>
  </namespace>
</repository>
