<?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="GObject" version="2.0"/>
  <namespace name="GElektra"
             version="4.0"
             shared-library="libgelektra-4.0.so"
             c:identifier-prefixes="GElektra"
             c:symbol-prefixes="gelektra">
    <constant name="DB_HOME" value="/home" c:type="GELEKTRA_DB_HOME">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DB_SYSTEM" value="/etc/kdb" c:type="GELEKTRA_DB_SYSTEM">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DB_USER" value=".config" c:type="GELEKTRA_DB_USER">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DEBUG" value="0" c:type="GELEKTRA_DEBUG">
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="Kdb"
           c:symbol-prefix="kdb"
           c:type="GElektraKdb"
           parent="GObject.Object"
           glib:type-name="GElektraKdb"
           glib:get-type="gelektra_kdb_get_type"
           glib:type-struct="KdbClass">
      <constructor name="open" c:identifier="gelektra_kdb_open">
        <doc xml:space="preserve">@error key which holds errors and warnings which were issued</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A new #GElektraKdb
see kdbOpen</doc>
          <type name="Kdb" c:type="GElektraKdb*"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="make"
                c:identifier="gelektra_kdb_make"
                introspectable="0">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A new #GElektraKdb holding the ownership of @handle</doc>
          <type name="Kdb" c:type="GElektraKdb*"/>
        </return-value>
        <parameters>
          <parameter name="handle" transfer-ownership="none">
            <doc xml:space="preserve">The underlying handle object</doc>
            <type c:type="KDB*"/>
          </parameter>
        </parameters>
      </function>
      <method name="close" c:identifier="gelektra_kdb_close">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="kdb" transfer-ownership="none">
            <type name="Kdb" c:type="GElektraKdb*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get" c:identifier="gelektra_kdb_get">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="kdb" transfer-ownership="none">
            <type name="Kdb" c:type="GElektraKdb*"/>
          </instance-parameter>
          <parameter name="returned" transfer-ownership="none">
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </parameter>
          <parameter name="parent" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <method name="gi_open" c:identifier="gelektra_kdb_gi_open">
        <doc xml:space="preserve">\note This is for GObject Introspection.
\note Do NOT use! Use gelektra_kdb_open instead</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="kdb" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKdb
@error key which holds errors and warnings which were issued</doc>
            <type name="Kdb" c:type="GElektraKdb*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set" c:identifier="gelektra_kdb_set">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="kdb" transfer-ownership="none">
            <type name="Kdb" c:type="GElektraKdb*"/>
          </instance-parameter>
          <parameter name="returned" transfer-ownership="none">
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </parameter>
          <parameter name="parent" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="handle" introspectable="0">
        <type c:type="KDB*"/>
      </field>
    </class>
    <record name="KdbClass"
            c:type="GElektraKdbClass"
            glib:is-gtype-struct-for="Kdb">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="KdbOptions" c:type="GElektraKdbOptions">
      <member name="none" value="0" c:identifier="GELEKTRA_KDB_O_NONE">
      </member>
      <member name="del" value="1" c:identifier="GELEKTRA_KDB_O_DEL">
      </member>
      <member name="pop" value="2" c:identifier="GELEKTRA_KDB_O_POP">
      </member>
      <member name="nodir" value="4" c:identifier="GELEKTRA_KDB_O_NODIR">
      </member>
      <member name="dironly" value="8" c:identifier="GELEKTRA_KDB_O_DIRONLY">
      </member>
      <member name="noremove"
              value="64"
              c:identifier="GELEKTRA_KDB_O_NOREMOVE">
      </member>
      <member name="removeonly"
              value="128"
              c:identifier="GELEKTRA_KDB_O_REMOVEONLY">
      </member>
      <member name="inactive"
              value="256"
              c:identifier="GELEKTRA_KDB_O_INACTIVE">
      </member>
      <member name="sync" value="512" c:identifier="GELEKTRA_KDB_O_SYNC">
      </member>
      <member name="sort" value="1024" c:identifier="GELEKTRA_KDB_O_SORT">
      </member>
      <member name="norecursive"
              value="2048"
              c:identifier="GELEKTRA_KDB_O_NORECURSIVE">
      </member>
      <member name="nocase" value="4096" c:identifier="GELEKTRA_KDB_O_NOCASE">
      </member>
      <member name="withowner"
              value="8192"
              c:identifier="GELEKTRA_KDB_O_WITHOWNER">
      </member>
      <member name="noall" value="16384" c:identifier="GELEKTRA_KDB_O_NOALL">
      </member>
    </enumeration>
    <class name="Key"
           c:symbol-prefix="key"
           c:type="GElektraKey"
           parent="GObject.Object"
           glib:type-name="GElektraKey"
           glib:get-type="gelektra_key_get_type"
           glib:type-struct="KeyClass">
      <constructor name="gi_make" c:identifier="gelektra_key_gi_make">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A new #GElektraKey holding the ownership of @key

\note This is for GObject Introspection.
\note Do NOT use! Use gelektra_key_make instead</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKey</doc>
            <type name="Key" c:type="GElektraKey*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new"
                   c:identifier="gelektra_key_new"
                   introspectable="0">
        <doc xml:space="preserve">@name valid name of a key or NULL
@... optional parameters closed by GELEKTRA_KEY_END, see keyNew</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A new #GElektraKey
see keyNew</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <varargs/>
          </parameter>
        </parameters>
      </constructor>
      <function name="make"
                c:identifier="gelektra_key_make"
                introspectable="0">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A new #GElektraKey holding the ownership of @key</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">The underlying key</doc>
            <type c:type="Key*"/>
          </parameter>
        </parameters>
      </function>
      <method name="addbasename" c:identifier="gelektra_key_addbasename">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </instance-parameter>
          <parameter name="basename" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear" c:identifier="gelektra_key_clear">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="cmp" c:identifier="gelektra_key_cmp">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
          <parameter name="other" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <method name="copy" c:identifier="gelektra_key_copy" introspectable="0">
        <doc xml:space="preserve">see keyCopy</doc>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
          <parameter name="dest" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <method name="copyallmeta" c:identifier="gelektra_key_copyallmeta">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
          <parameter name="dest" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <method name="copymeta" c:identifier="gelektra_key_copymeta">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
          <parameter name="dest" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="currentmeta" c:identifier="gelektra_key_currentmeta">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #GElektraKey holding the current meta information
see keyCurrentMeta</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKey</doc>
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="decref" c:identifier="gelektra_key_decref">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="dup" c:identifier="gelektra_key_dup">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A duplicated #GElektraKey
see keyDup</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKey</doc>
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="equal" c:identifier="gelektra_key_equal">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
          <parameter name="other" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <method name="getbasenamesize"
              c:identifier="gelektra_key_getbasenamesize">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="getbinary"
              c:identifier="gelektra_key_getbinary"
              introspectable="0">
        <doc xml:space="preserve">see keyGetBinary</doc>
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
          <parameter name="out" transfer-ownership="none">
            <type name="gpointer" c:type="void*"/>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="getfullnamesize"
              c:identifier="gelektra_key_getfullnamesize">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="getfunc"
              c:identifier="gelektra_key_getfunc"
              introspectable="0">
        <return-value>
          <doc xml:space="preserve">a function pointer stored with gelektra_key_setbinary</doc>
          <type c:type="gelektra_func_t"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKey</doc>
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="getmeta" c:identifier="gelektra_key_getmeta">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #GElektraKey holding the meta information
see keyGetMeta</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKey</doc>
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the meta information</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="getnamesize" c:identifier="gelektra_key_getnamesize">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="getref" c:identifier="gelektra_key_getref">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="getstring"
              c:identifier="gelektra_key_getstring"
              introspectable="0">
        <doc xml:space="preserve">see keyGetString</doc>
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
          <parameter name="out" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="getvalue"
              c:identifier="gelektra_key_getvalue"
              introspectable="0">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">see keyValue</doc>
          <type name="gpointer" c:type="void*"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKey</doc>
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="getvaluesize" c:identifier="gelektra_key_getvaluesize">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="gi_getbinary" c:identifier="gelektra_key_gi_getbinary">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">binary data

\note This is for GObject Introspection.
\note Do NOT use! Use gelektra_key_getbinary instead</doc>
          <array length="0" zero-terminated="0" c:type="void*">
            <type name="guint8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKey</doc>
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
          <parameter name="data_size"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve">size of the returned data</doc>
            <type name="gssize" c:type="gssize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="gi_getstring" c:identifier="gelektra_key_gi_getstring">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a copy of the key value

\note This is for GObject Introspection.
\note Do NOT use! Use gelektra_key_getstring instead</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKey</doc>
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="gi_init" c:identifier="gelektra_key_gi_init">
        <doc xml:space="preserve">@name valid name of a key or NULL
@flags see usage of KEY_FLAGS in keyNew
\note This is for GObject Introspection.
\note Do NOT use! Use gelektra_key_new instead</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="value"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">key value</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">binary key value</doc>
            <array length="4" zero-terminated="0" c:type="void*">
              <type name="guint8"/>
            </array>
          </parameter>
          <parameter name="data_size" transfer-ownership="none">
            <doc xml:space="preserve">size of the input data</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="hasmeta" c:identifier="gelektra_key_hasmeta">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="incref" c:identifier="gelektra_key_incref">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="isbelow" c:identifier="gelektra_key_isbelow">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
          <parameter name="other" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <method name="isbeloworsame" c:identifier="gelektra_key_isbeloworsame">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
          <parameter name="other" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <method name="isbinary" c:identifier="gelektra_key_isbinary">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="isdirectbelow" c:identifier="gelektra_key_isdirectbelow">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
          <parameter name="other" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <method name="isinactive" c:identifier="gelektra_key_isinactive">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="isnull" c:identifier="gelektra_key_isnull">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="isstring" c:identifier="gelektra_key_isstring">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="issystem" c:identifier="gelektra_key_issystem">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="isuser" c:identifier="gelektra_key_isuser">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="isvalid" c:identifier="gelektra_key_isvalid">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="nextmeta" c:identifier="gelektra_key_nextmeta">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #GElektraKey holding the next meta information
see keyCurrentMeta</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKey</doc>
            <type name="Key" c:type="GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="rewindmeta" c:identifier="gelektra_key_rewindmeta">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="setbasename" c:identifier="gelektra_key_setbasename">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </instance-parameter>
          <parameter name="basename" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="setbinary" c:identifier="gelektra_key_setbinary">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKey</doc>
            <type name="Key" c:type="GElektraKey*"/>
          </instance-parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve">binary data</doc>
            <array length="1" zero-terminated="0" c:type="void*">
              <type name="guint8"/>
            </array>
          </parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve">size of the input data</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="setmeta" c:identifier="gelektra_key_setmeta">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="setname" c:identifier="gelektra_key_setname">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="setstring" c:identifier="gelektra_key_setstring">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="key" transfer-ownership="none">
            <type name="Key" c:type="GElektraKey*"/>
          </instance-parameter>
          <parameter name="value" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="basename" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="fullname" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="name" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="key" introspectable="0">
        <type c:type="Key*"/>
      </field>
    </class>
    <record name="KeyClass"
            c:type="GElektraKeyClass"
            glib:is-gtype-struct-for="Key">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="KeySet"
           c:symbol-prefix="keyset"
           c:type="GElektraKeySet"
           parent="GObject.Object"
           glib:type-name="GElektraKeySet"
           glib:get-type="gelektra_keyset_get_type"
           glib:type-struct="KeySetClass">
      <constructor name="new"
                   c:identifier="gelektra_keyset_new"
                   introspectable="0">
        <doc xml:space="preserve">@size initial allocation size of the keyset
@... optional parameters closed by GELEKTRA_KEYSET_END, see ksNew</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A new #GElektraKeySet
see ksNew</doc>
          <type name="KeySet" c:type="GElektraKeySet*"/>
        </return-value>
        <parameters>
          <parameter name="alloc" transfer-ownership="none">
            <type name="gsize" c:type="gsize"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <varargs/>
          </parameter>
        </parameters>
      </constructor>
      <function name="make"
                c:identifier="gelektra_keyset_make"
                introspectable="0">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A new #GElektraKeySet holding the ownership of @ks</doc>
          <type name="KeySet" c:type="GElektraKeySet*"/>
        </return-value>
        <parameters>
          <parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">The underlying keyset</doc>
            <type c:type="KeySet*"/>
          </parameter>
        </parameters>
      </function>
      <method name="append"
              c:identifier="gelektra_keyset_append"
              introspectable="0">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The new len of the keyset
see ksAppendKey</doc>
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKey to append. On success reference will decremented</doc>
            <type name="Key" c:type="GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <method name="append_keyset"
              c:identifier="gelektra_keyset_append_keyset"
              introspectable="0">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The new len of the keyset
see ksAppend</doc>
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
          <parameter name="append" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet to append. On success reference will decremented</doc>
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </parameter>
        </parameters>
      </method>
      <method name="atcursor" c:identifier="gelektra_keyset_atcursor">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">#GElektraKey in @ks at @pos
see ksAtCursor</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
          <parameter name="pos" transfer-ownership="none">
            <doc xml:space="preserve">The cursor position</doc>
            <type name="gssize" c:type="cursor_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear" c:identifier="gelektra_keyset_clear">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="copy"
              c:identifier="gelektra_keyset_copy"
              introspectable="0">
        <doc xml:space="preserve">see ksCopy</doc>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <type name="KeySet" c:type="const GElektraKeySet*"/>
          </instance-parameter>
          <parameter name="dest" transfer-ownership="none">
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </parameter>
        </parameters>
      </method>
      <method name="current" c:identifier="gelektra_keyset_current">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">Current #GElektraKey in @ks
see ksCurrent</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="const GElektraKeySet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="cut" c:identifier="gelektra_keyset_cut">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">Cutted #GElektraKeySet
see ksCut</doc>
          <type name="KeySet" c:type="GElektraKeySet*"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
          <parameter name="point" transfer-ownership="none">
            <type name="Key" c:type="const GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dup" c:identifier="gelektra_keyset_dup">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A duplicated #GElektraKeySet
see ksDup</doc>
          <type name="KeySet" c:type="GElektraKeySet*"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="const GElektraKeySet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="getcursor" c:identifier="gelektra_keyset_getcursor">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">Current cursor position
see ksGetCursor</doc>
          <type name="gssize" c:type="cursor_t"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="const GElektraKeySet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="gi_append" c:identifier="gelektra_keyset_gi_append">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The new len of the keyset

\note This is for GObject Introspection.
\note Do NOT use! Use gelektra_keyset_append instead</doc>
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKey to append</doc>
            <type name="Key" c:type="GElektraKey*"/>
          </parameter>
        </parameters>
      </method>
      <method name="gi_append_keyset"
              c:identifier="gelektra_keyset_gi_append_keyset">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The new len of the keyset

\note This is for GObject Introspection.
\note Do NOT use! Use gelektra_keyset_append instead</doc>
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
          <parameter name="append" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet to append</doc>
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </parameter>
        </parameters>
      </method>
      <method name="head" c:identifier="gelektra_keyset_head">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">First #GElektraKey in @ks
see ksHead</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="const GElektraKeySet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="len" c:identifier="gelektra_keyset_len">
        <return-value transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <type name="KeySet" c:type="const GElektraKeySet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="lookup" c:identifier="gelektra_keyset_lookup">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">Found #GElektraKey in @ks or NULL
see ksLookup</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">The key to search for</doc>
            <type name="Key" c:type="GElektraKey*"/>
          </parameter>
          <parameter name="options" transfer-ownership="none">
            <doc xml:space="preserve">Search options</doc>
            <type name="KdbOptions" c:type="GElektraKdbOptions"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_byname"
              c:identifier="gelektra_keyset_lookup_byname">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">Found #GElektraKey in @ks or NULL
see ksLookupByName</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">The name to search for</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="options" transfer-ownership="none">
            <doc xml:space="preserve">Search options</doc>
            <type name="KdbOptions" c:type="GElektraKdbOptions"/>
          </parameter>
        </parameters>
      </method>
      <method name="next" c:identifier="gelektra_keyset_next">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">Next #GElektraKey in @ks
see ksNext</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="pop" c:identifier="gelektra_keyset_pop">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The last #GElektraKey of @ks
see ksPop</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="resize" c:identifier="gelektra_keyset_resize">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
          <parameter name="alloc" transfer-ownership="none">
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="rewind" c:identifier="gelektra_keyset_rewind">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="setcursor" c:identifier="gelektra_keyset_setcursor">
        <doc xml:space="preserve">see ksSetCursor</doc>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="GElektraKeySet*"/>
          </instance-parameter>
          <parameter name="pos" transfer-ownership="none">
            <doc xml:space="preserve">The new cursor position</doc>
            <type name="gssize" c:type="cursor_t"/>
          </parameter>
        </parameters>
      </method>
      <method name="tail" c:identifier="gelektra_keyset_tail">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">Last #GElektraKey in @ks
see ksTail</doc>
          <type name="Key" c:type="GElektraKey*"/>
        </return-value>
        <parameters>
          <instance-parameter name="ks" transfer-ownership="none">
            <doc xml:space="preserve">A #GElektraKeySet</doc>
            <type name="KeySet" c:type="const GElektraKeySet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="keyset" introspectable="0">
        <type c:type="KeySet*"/>
      </field>
    </class>
    <record name="KeySetClass"
            c:type="GElektraKeySetClass"
            glib:is-gtype-struct-for="KeySet">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="KeySwitch" c:type="GElektraKeySwitch">
      <member name="flags" value="3" c:identifier="GELEKTRA_KEY_FLAGS">
      </member>
      <member name="end" value="0" c:identifier="GELEKTRA_KEY_END">
      </member>
      <member name="name" value="1" c:identifier="GELEKTRA_KEY_NAME">
      </member>
      <member name="value" value="2" c:identifier="GELEKTRA_KEY_VALUE">
      </member>
      <member name="owner" value="4" c:identifier="GELEKTRA_KEY_OWNER">
      </member>
      <member name="comment" value="8" c:identifier="GELEKTRA_KEY_COMMENT">
      </member>
      <member name="binary" value="16" c:identifier="GELEKTRA_KEY_BINARY">
      </member>
      <member name="uid" value="32" c:identifier="GELEKTRA_KEY_UID">
      </member>
      <member name="gid" value="64" c:identifier="GELEKTRA_KEY_GID">
      </member>
      <member name="mode" value="128" c:identifier="GELEKTRA_KEY_MODE">
      </member>
      <member name="atime" value="256" c:identifier="GELEKTRA_KEY_ATIME">
      </member>
      <member name="mtime" value="512" c:identifier="GELEKTRA_KEY_MTIME">
      </member>
      <member name="ctime" value="1024" c:identifier="GELEKTRA_KEY_CTIME">
      </member>
      <member name="size" value="2048" c:identifier="GELEKTRA_KEY_SIZE">
      </member>
      <member name="func" value="4096" c:identifier="GELEKTRA_KEY_FUNC">
      </member>
      <member name="dir" value="16384" c:identifier="GELEKTRA_KEY_DIR">
      </member>
      <member name="meta" value="32768" c:identifier="GELEKTRA_KEY_META">
      </member>
      <member name="null" value="65536" c:identifier="GELEKTRA_KEY_NULL">
      </member>
      <member name="cascading_name"
              value="1048576"
              c:identifier="GELEKTRA_KEY_CASCADING_NAME">
      </member>
      <member name="meta_name"
              value="2097152"
              c:identifier="GELEKTRA_KEY_META_NAME">
      </member>
    </enumeration>
    <constant name="VERBOSE" value="0" c:type="GELEKTRA_VERBOSE">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="VERSION" value="0.8.14" c:type="GELEKTRA_VERSION">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="VERSION_MAJOR" value="0" c:type="GELEKTRA_VERSION_MAJOR">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="VERSION_MICRO" value="14" c:type="GELEKTRA_VERSION_MICRO">
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="VERSION_MINOR" value="8" c:type="GELEKTRA_VERSION_MINOR">
      <type name="gint" c:type="gint"/>
    </constant>
    <callback name="func_t" c:type="gelektra_func_t">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </callback>
  </namespace>
</repository>
