+++ /dev/null
-Matthias Clasen
-E-mail: mclasen@redhat.com
-Userid: matthiasc
-
-Tim Janik
-E-mail: timj@gtk.org
-Userid: timj
-
-Note that a lot of people are contributing to GLib, and some parts of it
-are technically maintained by others. The email addresses listed above are
-meant as contacts for administrative questions such as cvs accounts. Other
-questions are best directed to the mailing list gtk-devel-list@gnome.org.
+++ /dev/null
-# Process this file with autoconf to produce a configure script.
-# require autoconf 2.54
-AC_PREREQ(2.54)
-
-dnl ***********************************
-dnl *** include special GLib macros ***
-dnl ***********************************
-
-m4_define(glib_configure_in)
-
-#
-# The following version number definitions apply to GLib, GModule, GObject,
-# GThread and GIO as a whole, so if changes occurred in any of them, they are
-# all treated with the same interface and binary age.
-#
-# Making releases:
-# glib_micro_version += 1;
-# glib_interface_age += 1;
-# glib_binary_age += 1;
-# if any functions have been added, set glib_interface_age to 0.
-# if backwards compatibility has been broken,
-# set glib_binary_age _and_ glib_interface_age to 0.
-#
-m4_define([glib_major_version], [2])
-m4_define([glib_minor_version], [24])
-m4_define([glib_micro_version], [0])
-m4_define([glib_interface_age], [0])
-m4_define([glib_binary_age],
- [m4_eval(100 * glib_minor_version + glib_micro_version)])
-m4_define([glib_version],
- [glib_major_version.glib_minor_version.glib_micro_version])
-
-# libtool version related macros
-m4_define([glib_lt_release], [glib_major_version.glib_minor_version])
-m4_define([glib_lt_current],
- [m4_eval(100 * glib_minor_version + glib_micro_version - glib_interface_age)])
-m4_define([glib_lt_revision], [glib_interface_age])
-m4_define([glib_lt_age], [m4_eval(glib_binary_age - glib_interface_age)])
-m4_define([glib_lt_current_minus_age],
- [m4_eval(glib_lt_current - glib_lt_age)])
-
-# if the minor version number is odd, then we want debugging. Otherwise
-# we only want minimal debugging support.
-m4_define([glib_debug_default],
- [m4_if(m4_eval(glib_minor_version % 2), [1], [yes], [minimum])])dnl
-
-
-AC_INIT(glib, [glib_version],
- [http://bugzilla.gnome.org/enter_bug.cgi?product=glib])
-
-AC_CONFIG_SRCDIR([glib/glib.h])
-
-# Save this value here, since automake will set cflags later
-cflags_set=${CFLAGS+set}
-
-AM_INIT_AUTOMAKE([no-define])
-
-# Specify a configuration file
-AM_CONFIG_HEADER([config.h])
-
-# Support silent build rules, requires at least automake-1.11. Enable
-# by either passing --enable-silent-rules to configure or passing V=0
-# to make
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
-
-GLIB_MAJOR_VERSION=glib_major_version
-GLIB_MINOR_VERSION=glib_minor_version
-GLIB_MICRO_VERSION=glib_micro_version
-GLIB_INTERFACE_AGE=glib_interface_age
-GLIB_BINARY_AGE=glib_binary_age
-GLIB_VERSION=glib_version
-
-AC_SUBST(GLIB_MAJOR_VERSION)
-AC_SUBST(GLIB_MINOR_VERSION)
-AC_SUBST(GLIB_MICRO_VERSION)
-AC_SUBST(GLIB_VERSION)
-AC_SUBST(GLIB_INTERFACE_AGE)
-AC_SUBST(GLIB_BINARY_AGE)
-
-AC_DEFINE(GLIB_MAJOR_VERSION, [glib_major_version],
- [Define to the GLIB major version])
-AC_DEFINE(GLIB_MINOR_VERSION, [glib_minor_version],
- [Define to the GLIB minor version])
-AC_DEFINE(GLIB_MICRO_VERSION, [glib_micro_version],
- [Define to the GLIB micro version])
-AC_DEFINE(GLIB_INTERFACE_AGE, [glib_interface_age],
- [Define to the GLIB interface age])
-AC_DEFINE(GLIB_BINARY_AGE, [glib_binary_age],
- [Define to the GLIB binary age])
-
-# libtool versioning
-LT_RELEASE=glib_lt_release
-LT_CURRENT=glib_lt_current
-LT_REVISION=glib_lt_revision
-LT_AGE=glib_lt_age
-LT_CURRENT_MINUS_AGE=glib_lt_current_minus_age
-AC_SUBST(LT_RELEASE)
-AC_SUBST(LT_CURRENT)
-AC_SUBST(LT_REVISION)
-AC_SUBST(LT_AGE)
-AC_SUBST(LT_CURRENT_MINUS_AGE)
-
-dnl Initialize maintainer mode
-AM_MAINTAINER_MODE
-
-AC_CANONICAL_HOST
-
-AC_MSG_CHECKING([for the BeOS])
-case $host in
- *-*-beos*)
- glib_native_beos="yes"
- ;;
- *)
- glib_native_beos="no"
- ;;
-esac
-AC_MSG_RESULT([$glib_native_beos])
-
-dnl
-
-AC_MSG_CHECKING([for Win32])
-LIB_EXE_MACHINE_FLAG=X86
-case "$host" in
- *-*-mingw*)
- glib_native_win32=yes
- glib_pid_type='void *'
- glib_cv_stack_grows=no
- # Unfortunately the mingw implementations of C99-style snprintf and vsnprintf
- # don't seem to be quite good enough, at least not in mingw-runtime-3.14.
- # (Sorry, I don't know exactly what is the problem, but it is related to
- # floating point formatting and decimal point vs. comma.)
- # The simple tests in AC_FUNC_VSNPRINTF_C99 and AC_FUNC_SNPRINTF_C99 aren't
- # rigorous enough to notice, though.
- # So preset the autoconf cache variables.
- ac_cv_func_vsnprintf_c99=no
- ac_cv_func_snprintf_c99=no
- case "$host" in
- x86_64-*-*)
- LIB_EXE_MACHINE_FLAG=X64
- ;;
- esac
- ;;
- *)
- glib_native_win32=no
- glib_pid_type=int
- ;;
-esac
-case $host in
- *-*-linux*)
- glib_os_linux=yes
- ;;
-esac
-
-AC_MSG_RESULT([$glib_native_win32])
-
-AC_SUBST(LIB_EXE_MACHINE_FLAG)
-
-glib_have_carbon=no
-AC_MSG_CHECKING([for Mac OS X Carbon support])
-AC_TRY_CPP([
-#include <Carbon/Carbon.h>
-#include <CoreServices/CoreServices.h>
-], glib_have_carbon=yes)
-
-AC_MSG_RESULT([$glib_have_carbon])
-
-AM_CONDITIONAL(OS_WIN32, [test "$glib_native_win32" = "yes"])
-AM_CONDITIONAL(OS_WIN32_X64, [test "$LIB_EXE_MACHINE_FLAG" = "X64"])
-AM_CONDITIONAL(OS_UNIX, [test "$glib_native_win32" != "yes"])
-AM_CONDITIONAL(OS_LINUX, [test "$glib_os_linux" = "yes"])
-AM_CONDITIONAL(OS_CARBON, [test "$glib_have_carbon" = "yes"])
-
-if test "$glib_native_win32" = "yes"; then
- AC_CHECK_TOOL(WINDRES, windres, no)
- if test "$WINDRES" = no; then
- AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
- fi
- AC_CHECK_TOOL(NM, nm, no)
- if test "$NM" = no; then
- AC_MSG_ERROR([*** Could not find an implementation of nm in your PATH.])
- fi
- AC_CHECK_TOOL(RANLIB, ranlib, :)
- AC_CHECK_PROG(ms_librarian, [lib.exe], [yes], [no])
-fi
-AM_CONDITIONAL(MS_LIB_AVAILABLE, [test x$ms_librarian = xyes])
-
-if test "$glib_native_win32" != yes; then
- # libtool option to control which symbols are exported
- # right now, symbols starting with _ are not exported
- LIBTOOL_EXPORT_OPTIONS='-export-symbols-regex "^g.*"'
-else
- # We currently use .def files on Windows
- LIBTOOL_EXPORT_OPTIONS=
-fi
-AC_SUBST(LIBTOOL_EXPORT_OPTIONS)
-
-if test "x$glib_have_carbon" = "xyes"; then
- AC_DEFINE(HAVE_CARBON, 1, [define to 1 if Carbon is available])
- LDFLAGS="$LDFLAGS -framework Carbon"
-fi
-
-
-dnl declare --enable-* args and collect ac_help strings
-AC_ARG_ENABLE(debug,
- AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
- [turn on debugging @<:@default=glib_debug_default@:>@]),,
- enable_debug=glib_debug_default)
-
-AC_ARG_ENABLE(gc_friendly,
- [AC_HELP_STRING([--enable-gc-friendly],
- [turn on garbage collector friendliness [default=no]])],,
- [enable_gc_friendly=no])
-AC_ARG_ENABLE(mem_pools,
- [AC_HELP_STRING([--disable-mem-pools],
- [disable all glib memory pools])],,
- [disable_mem_pools=no])
-AC_ARG_ENABLE(threads,
- [AC_HELP_STRING([--enable-threads],
- [turn on basic thread support [default=yes]
-([=no] will override --with-threads)])],,
- [enable_threads=yes])
-AC_ARG_ENABLE(rebuilds,
- [AC_HELP_STRING([--disable-rebuilds],
- [disable all source autogeneration rules])],,
- [enable_rebuilds=yes])
-AC_ARG_ENABLE(visibility,
- [AC_HELP_STRING([--disable-visibility],
- [don't use ELF visibility attributes])],,
- [enable_visibility=yes])
-
-if test "x$enable_threads" != "xyes"; then
- enable_threads=no
-fi
-
-AC_MSG_CHECKING([whether to enable garbage collector friendliness])
-if test "x$enable_gc_friendly" = "xyes"; then
- AC_DEFINE(ENABLE_GC_FRIENDLY_DEFAULT, 1, [Whether to enable GC friendliness by default])
- AC_MSG_RESULT([yes])
-else
- AC_MSG_RESULT([no])
-fi
-
-AC_MSG_CHECKING([whether to disable memory pools])
-if test "x$disable_mem_pools" = "xno"; then
- AC_MSG_RESULT([no])
-else
- AC_DEFINE(DISABLE_MEM_POOLS, [1], [Whether to disable memory pools])
- AC_SUBST(DISABLE_MEM_POOLS)
- AC_MSG_RESULT([yes])
-fi
-
-dnl location to install runtime libraries, e.g. ../../lib to install
-dnl to /lib if libdir is /usr/lib
-AC_ARG_WITH(runtime-libdir,
- [AC_HELP_STRING([--with-runtime-libdir=RELPATH],
- [Install runtime libraries relative to libdir])],
- [],
- [with_runtime_libdir=""])
-GLIB_RUNTIME_LIBDIR="$with_runtime_libdir"
-ABS_GLIB_RUNTIME_LIBDIR="`readlink -f $libdir/$with_runtime_libdir`"
-AC_SUBST(GLIB_RUNTIME_LIBDIR)
-AC_SUBST(ABS_GLIB_RUNTIME_LIBDIR)
-AM_CONDITIONAL(HAVE_GLIB_RUNTIME_LIBDIR, [test "x$with_runtime_libdir" != "x"])
-
-dnl Checks for programs.
-AC_PROG_CC
-AC_PROG_CPP
-
-dnl Check for a working C++ compiler, but do not bail out, if none is found.
-AC_CHECK_TOOLS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], [gcc])
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
-AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=)
-AM_CONDITIONAL(HAVE_CXX, [test "$CXX" != ""])
-AC_LANG_RESTORE
-
-AM_PROG_CC_STDC
-AM_PROG_CC_C_O
-AC_PROG_INSTALL
-
-AC_SYS_LARGEFILE
-
-#
-# Find pkg-config
-#
-AC_PATH_PROG(PKG_CONFIG, [pkg-config], [no])
-if test x$PKG_CONFIG = xno ; then
- AC_MSG_ERROR([*** pkg-config not found. See http://www.freedesktop.org/software/pkgconfig/])
-fi
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.16 ; then
- :
-else
- AC_MSG_ERROR([*** pkg-config too old; version 0.16 or better required.])
-fi
-
-if test "x$enable_debug" = "xyes"; then
- if test x$cflags_set != xset ; then
- case " $CFLAGS " in
- *[[\ \ ]]-g[[\ \ ]]*) ;;
- *) CFLAGS="$CFLAGS -g" ;;
- esac
- fi
-
- GLIB_DEBUG_FLAGS="-DG_ENABLE_DEBUG"
-else
- GLIB_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
-
- if test "x$enable_debug" = "xno"; then
- GLIB_DEBUG_FLAGS="$GLIB_DEBUG_FLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS"
- fi
-fi
-
-if test "x$enable_visibility" = "xno"; then
- GLIB_DEBUG_FLAGS="$GLIB_DEBUG_FLAGS -DDISABLE_VISIBILITY"
-fi
-
-# Ensure MSVC-compatible struct packing convention is used when
-# compiling for Win32 with gcc.
-# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
-# gcc2 uses "-fnative-struct".
-if test x"$glib_native_win32" = xyes; then
- if test x"$GCC" = xyes; then
- msnative_struct=''
- AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
- if test -z "$ac_cv_prog_CC"; then
- our_gcc="$CC"
- else
- our_gcc="$ac_cv_prog_CC"
- fi
- case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
- 2.)
- if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
- msnative_struct='-fnative-struct'
- fi
- ;;
- *)
- if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
- msnative_struct='-mms-bitfields'
- fi
- ;;
- esac
- if test x"$msnative_struct" = x ; then
- AC_MSG_RESULT([no way])
- AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
- else
- CFLAGS="$CFLAGS $msnative_struct"
- AC_MSG_RESULT([${msnative_struct}])
- fi
- fi
-fi
-GLIB_EXTRA_CFLAGS="${msnative_struct}"
-AC_SUBST(GLIB_EXTRA_CFLAGS)
-
-AC_EXEEXT
-
-# define a MAINT-like variable REBUILD which is set if Perl
-# and awk are found, so autogenerated sources can be rebuilt
-AC_PROG_AWK
-AC_CHECK_PROGS(PERL, [perl5 perl])
-# We would like indent, but don't require it.
-AC_CHECK_PROG(INDENT, indent, indent)
-REBUILD=\#
-if test "x$enable_rebuilds" = "xyes" && \
- test -n "$PERL" && \
- $PERL -e 'exit !($] >= 5.002)' > /dev/null 2>&1 && \
- test -n "$AWK" ; then
- REBUILD=
-fi
-AC_SUBST(REBUILD)
-
-# Need full path to Perl for glib-mkenums
-#
-if test "x$PERL" != x ; then
- AC_PATH_PROG(PERL_PATH, [$PERL])
-fi
-if test "x$PERL_PATH" = x ; then
- PERL_PATH="/usr/bin/env perl"
-fi
-AC_SUBST(PERL_PATH)
-
-# Need suitable python path for greport
-AM_PATH_PYTHON(2.4,,PYTHON="/usr/bin/env python2.4")
-
-
-dnl ***********************
-dnl *** Tests for iconv ***
-dnl ***********************
-dnl
-dnl We do this before the gettext checks, to avoid distortion
-
-dnl On Windows we use a native implementation
-
-if test x"$glib_native_win32" = xyes; then
- with_libiconv=native
-else
- AC_ARG_WITH(libiconv,
- [AC_HELP_STRING([--with-libiconv=@<:@no/gnu/native@:>@],
- [use the libiconv library])],,
- [with_libiconv=maybe])
-
- found_iconv=no
- case $with_libiconv in
- maybe)
- # Check in the C library first
- AC_CHECK_FUNC(iconv_open, [with_libiconv=no; found_iconv=yes])
- # Check if we have GNU libiconv
- if test $found_iconv = "no"; then
- AC_CHECK_LIB(iconv, libiconv_open, [with_libiconv=gnu; found_iconv=yes])
- fi
- # Check if we have a iconv in -liconv, possibly from vendor
- if test $found_iconv = "no"; then
- AC_CHECK_LIB(iconv, iconv_open, [with_libiconv=native; found_iconv=yes])
- fi
- ;;
- no)
- AC_CHECK_FUNC(iconv_open, [with_libiconv=no; found_iconv=yes])
- ;;
- gnu|yes)
- AC_CHECK_LIB(iconv, libiconv_open, [with_libiconv=gnu; found_iconv=yes])
- ;;
- native)
- AC_CHECK_LIB(iconv, iconv_open, [with_libiconv=native; found_iconv=yes])
- ;;
- esac
-
- if test "x$found_iconv" = "xno" ; then
- AC_MSG_ERROR([*** No iconv() implementation found in C library or libiconv])
- fi
-fi
-
-gl_GLIBC21
-AC_ARG_ENABLE(iconv-cache,
- [AC_HELP_STRING([--enable-iconv-cache=@<:@yes/no/auto@:>@],
- [cache iconv descriptors [default=auto]])],,
- [enable_iconv_cache=auto])
-
-AC_MSG_CHECKING([Whether to cache iconv descriptors])
-case $enable_iconv_cache in
- auto)
- if test $ac_cv_gnu_library_2_1 = yes; then
- enable_iconv_cache=no
- else
- enable_iconv_cache=yes
- fi
- ;;
- yes|no)
- ;;
- *) AC_MSG_ERROR([Value given to --enable-iconv-cache must be one of yes, no or auto])
- ;;
-esac
-
-if test $enable_iconv_cache = yes; then
- AC_DEFINE(NEED_ICONV_CACHE,1,[Do we cache iconv descriptors])
-fi
-
-AC_MSG_RESULT($enable_iconv_cache)
-
-
-dnl
-dnl zlib support
-dnl
-found_zlib=no
-AC_CHECK_LIB(z, inflate, [AC_CHECK_HEADER(zlib.h, found_zlib=yes)])
-
-if test "x$found_zlib" = "xno" ; then
- AC_MSG_ERROR([*** Working zlib library and headers not found ***])
-fi
-ZLIB_LIBS='-lz'
-AC_SUBST(ZLIB_LIBS)
-dnl
-dnl gettext support
-dnl
-
-ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
-AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS'])
-GLIB_GNU_GETTEXT
-
-if test "$gt_cv_have_gettext" != "yes" ; then
- AC_MSG_ERROR([
-*** You must have either have gettext support in your C library, or use the
-*** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html
-])
-fi
-
-LIBS="$INTLLIBS $LIBS"
-
-GETTEXT_PACKAGE=glib20
-AC_SUBST(GETTEXT_PACKAGE)
-AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"],
- [Define the gettext package to be used])
-
-GLIB_DEFINE_LOCALEDIR(GLIB_LOCALE_DIR)
-
-dnl
-dnl Now we are done with gettext checks, figure out ICONV_LIBS
-dnl
-
-if test x"$glib_native_win32" != xyes; then
- if test x$with_libiconv != xno ; then
- case " $INTLLIBS " in
- *[[\ \ ]]-liconv[[\ \ ]]*) ;;
- *) ICONV_LIBS="-liconv" ;;
- esac
- fi
-fi
-AC_SUBST(ICONV_LIBS)
-
-case $with_libiconv in
- gnu)
- AC_DEFINE(USE_LIBICONV_GNU, 1, [Using GNU libiconv])
- ;;
- native)
- AC_DEFINE(USE_LIBICONV_NATIVE, 1, [Using a native implementation of iconv in a separate library])
- ;;
-esac
-
-dnl Initialize libtool
-AM_DISABLE_STATIC
-AC_LIBTOOL_WIN32_DLL
-AM_PROG_LIBTOOL
-dnl when using libtool 2.x create libtool early, because it's used in configure
-m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
-
-
-if test "x$GCC" = "xyes"; then
- case " $CFLAGS " in
- *[[\ \ ]]-Wall[[\ \ ]]*) ;;
- *) CFLAGS="$CFLAGS -Wall" ;;
- esac
-fi
-
-CPPFLAGS="$CPPFLAGS -DG_DISABLE_SINGLE_INCLUDES"
-
-if test "$glib_native_win32" = "yes"; then
- if test x$enable_static = xyes -a x$enable_shared = xyes; then
- AC_MSG_ERROR([Can not build both shared and static at the same time on Windows.])
- fi
- if test x$enable_static = xyes; then
- glib_win32_static_compilation=yes
- GLIB_WIN32_STATIC_COMPILATION_DEFINE="#define GLIB_STATIC_COMPILATION 1
-#define GOBJECT_STATIC_COMPILATION 1"
- AC_SUBST(GLIB_WIN32_STATIC_COMPILATION_DEFINE)
- fi
-fi
-AM_CONDITIONAL(OS_WIN32_AND_DLL_COMPILATION, [test x$glib_native_win32 = xyes -a x$glib_win32_static_compilation != xyes])
-
-dnl
-dnl DU4 native cc currently needs -std1 for ANSI mode (instead of K&R)
-dnl
-if test $cross_compiling != yes ; then
- AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
- glib_save_LIBS=$LIBS
- LIBS="$LIBS -lm"
- AC_TRY_RUN([#include <math.h>
- int main (void) { return (log(1) != log(1.)); }],
- AC_MSG_RESULT(none needed),
- glib_save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS -std1"
- AC_TRY_RUN([#include <math.h>
- int main (void) { return (log(1) != log(1.)); }],
- AC_MSG_RESULT(-std1),
- AC_MSG_RESULT()
- CFLAGS=$glib_save_CFLAGS
- AC_MSG_WARN(
- [No ANSI prototypes found in library. (-std1 didn't work.)])
- )
- )
- LIBS=$glib_save_LIBS
-fi
-
-dnl NeXTStep cc seems to need this
-AC_MSG_CHECKING([for extra flags for POSIX compliance])
-AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
- AC_MSG_RESULT(none needed),
- glib_save_CFLAGS=$CFLAGS
- CFLAGS="$CFLAGS -posix"
- AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
- AC_MSG_RESULT(-posix),
- AC_MSG_RESULT()
- CFLAGS=$glib_save_CFLAGS
- AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))
-
-# Checks for header files.
-AC_HEADER_STDC
-
-# Checks for library functions.
-AC_FUNC_VPRINTF
-AC_FUNC_ALLOCA
-AC_CHECK_FUNCS(mmap posix_memalign memalign valloc fsync pipe2)
-AC_CHECK_FUNCS(atexit on_exit timegm gmtime_r)
-
-AC_CHECK_SIZEOF(char)
-AC_CHECK_SIZEOF(short)
-AC_CHECK_SIZEOF(long)
-AC_CHECK_SIZEOF(int)
-AC_CHECK_SIZEOF(void *)
-AC_CHECK_SIZEOF(long long)
-AC_CHECK_SIZEOF(__int64)
-
-if test x$ac_cv_sizeof_long = x8 || test x$ac_cv_sizeof_long_long = x8 || test x$ac_cv_sizeof___int64 = x8 ; then
- :
-else
- AC_MSG_ERROR([
-*** GLib requires a 64 bit type. You might want to consider
-*** using the GNU C compiler.
-])
-fi
-
-if test x$glib_native_win32 != xyes && test x$ac_cv_sizeof_long_long = x8; then
- # long long is a 64 bit integer.
- AC_MSG_CHECKING(for format to printf and scanf a guint64)
- AC_CACHE_VAL(glib_cv_long_long_format,[
- for format in ll q I64; do
- AC_TRY_RUN([#include <stdio.h>
- int main()
- {
- long long b, a = -0x3AFAFAFAFAFAFAFALL;
- char buffer[1000];
- sprintf (buffer, "%${format}u", a);
- sscanf (buffer, "%${format}u", &b);
- exit (b!=a);
- }
- ],
- [glib_cv_long_long_format=${format}
- break],
- [],[:])
- done])
- if test -n "$glib_cv_long_long_format"; then
- AC_MSG_RESULT(%${glib_cv_long_long_format}u)
- AC_DEFINE(HAVE_LONG_LONG_FORMAT,1,[define if system printf can print long long])
- if test x"$glib_cv_long_long_format" = xI64; then
- AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64])
- fi
- else
- AC_MSG_RESULT(none)
- fi
-elif test x$ac_cv_sizeof___int64 = x8; then
- # __int64 is a 64 bit integer.
- AC_MSG_CHECKING(for format to printf and scanf a guint64)
- # We know this is MSVCRT.DLL, and what the formats are
- glib_cv_long_long_format=I64
- AC_MSG_RESULT(%${glib_cv_long_long_format}u)
- AC_DEFINE(HAVE_LONG_LONG_FORMAT,1,[define if system printf can print long long])
- AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64])
-fi
-
-dnl long doubles were not used, and a portability problem
-dnl AC_C_LONG_DOUBLE
-AC_C_CONST
-
-dnl ok, here we try to check whether the systems prototypes for
-dnl malloc and friends actually match the prototypes provided
-dnl by gmem.h (keep in sync). i currently only know how to check
-dnl this reliably with gcc (-Werror), improvements for other
-dnl compilers are apprechiated.
-SANE_MALLOC_PROTOS=no
-AC_MSG_CHECKING([if malloc() and friends prototypes are gmem.h compatible])
-glib_save_CFLAGS=$CFLAGS
-if test "x$GCC" = "xyes"; then
- CFLAGS="$CFLAGS -Werror"
- AC_TRY_COMPILE([#include <stdlib.h>], [
- void* (*my_calloc_p) (size_t, size_t) = calloc;
- void* (*my_malloc_p) (size_t) = malloc;
- void (*my_free_p) (void*) = free;
- void* (*my_realloc_p) (void*, size_t) = realloc;
- my_calloc_p = 0;
- my_malloc_p = 0;
- my_free_p = 0;
- my_realloc_p = 0;
- ],
- AC_DEFINE(SANE_MALLOC_PROTOS, 1,
- [Define if you have correct malloc prototypes])
- SANE_MALLOC_PROTOS=yes)
-fi
-AC_MSG_RESULT($SANE_MALLOC_PROTOS)
-CFLAGS=$glib_save_CFLAGS
-
-dnl
-dnl check in which direction the stack grows
-dnl
-AC_CACHE_CHECK([for growing stack pointer],glib_cv_stack_grows,[
- AC_TRY_RUN([
- volatile int *a = 0, *b = 0;
- void foo (void);
- int main () { volatile int y = 7; a = &y; foo (); return b > a; }
- void foo (void) { volatile int x = 5; b = &x; }
- ],
- glib_cv_stack_grows=no
- ,
- glib_cv_stack_grows=yes
- ,)
-])
-
-dnl AC_C_INLINE is useless to us since it bails out too early, we need to
-dnl truely know which ones of `inline', `__inline' and `__inline__' are
-dnl actually supported.
-AC_CACHE_CHECK([for __inline],glib_cv_has__inline,[
- AC_COMPILE_IFELSE([
- __inline int foo () { return 0; }
- int main () { return foo (); }
- ],
- glib_cv_has__inline=yes
- ,
- glib_cv_has__inline=no
- ,)
-])
-case x$glib_cv_has__inline in
-xyes) AC_DEFINE(G_HAVE___INLINE,1,[Have __inline keyword])
-esac
-AC_CACHE_CHECK([for __inline__],glib_cv_has__inline__,[
- AC_COMPILE_IFELSE([
- __inline__ int foo () { return 0; }
- int main () { return foo (); }
- ],
- glib_cv_has__inline__=yes
- ,
- glib_cv_has__inline__=no
- ,)
-])
-case x$glib_cv_has__inline__ in
-xyes) AC_DEFINE(G_HAVE___INLINE__,1,[Have __inline__ keyword])
-esac
-AC_CACHE_CHECK([for inline], glib_cv_hasinline,[
- AC_COMPILE_IFELSE([
- #undef inline
- inline int foo () { return 0; }
- int main () { return foo (); }
- ],
- glib_cv_hasinline=yes
- ,
- glib_cv_hasinline=no
- ,)
-])
-case x$glib_cv_hasinline in
-xyes) AC_DEFINE(G_HAVE_INLINE,1,[Have inline keyword])
-esac
-
-# if we can use inline functions in headers
-AC_MSG_CHECKING(if inline functions in headers work)
-AC_LINK_IFELSE([
-#if defined (G_HAVE_INLINE) && defined (__GNUC__) && defined (__STRICT_ANSI__)
-# undef inline
-# define inline __inline__
-#elif !defined (G_HAVE_INLINE)
-# undef inline
-# if defined (G_HAVE___INLINE__)
-# define inline __inline__
-# elif defined (G_HAVE___INLINE)
-# define inline __inline
-# endif
-#endif
-
-int glib_test_func2 (int);
-
-static inline int
-glib_test_func1 (void) {
- return glib_test_func2 (1);
-}
-
-int
-main (void) {
- int i = 1;
-}],[g_can_inline=yes],[g_can_inline=no])
-AC_MSG_RESULT($g_can_inline)
-
-dnl *** check for working do while(0) macros ***
-AC_CACHE_CHECK([for working do while(0) macros], g_cv_support_dowhile_macros, [
- AC_TRY_COMPILE([],[
- #define STMT_START do
- #define STMT_END while(0)
- #define STMT_TEST STMT_START { i = 0; } STMT_END
- int main(void) { int i = 1; STMT_TEST; return i; }],
- [g_cv_support_dowhile_macros=yes],
- [g_cv_support_dowhile_macros=no],
- [g_cv_support_dowhile_macros=yes])
-])
-if test x$g_cv_support_dowhile_macros = xyes; then
- AC_DEFINE(HAVE_DOWHILE_MACROS, 1, [define for working do while(0) macros])
-fi
-
-# check for flavours of varargs macros
-AC_MSG_CHECKING(for ISO C99 varargs macros in C)
-AC_TRY_COMPILE([],[
-int a(int p1, int p2, int p3);
-#define call_a(...) a(1,__VA_ARGS__)
-call_a(2,3);
-],g_have_iso_c_varargs=yes,g_have_iso_c_varargs=no)
-AC_MSG_RESULT($g_have_iso_c_varargs)
-
-AC_MSG_CHECKING(for ISO C99 varargs macros in C++)
-if test "$CXX" = ""; then
-dnl No C++ compiler
- g_have_iso_cxx_varargs=no
-else
- AC_LANG_CPLUSPLUS
- AC_TRY_COMPILE([],[
-int a(int p1, int p2, int p3);
-#define call_a(...) a(1,__VA_ARGS__)
-call_a(2,3);
-],g_have_iso_cxx_varargs=yes,g_have_iso_cxx_varargs=no)
- AC_LANG_C
-fi
-AC_MSG_RESULT($g_have_iso_cxx_varargs)
-
-AC_MSG_CHECKING(for GNUC varargs macros)
-AC_TRY_COMPILE([],[
-int a(int p1, int p2, int p3);
-#define call_a(params...) a(1,params)
-call_a(2,3);
-],g_have_gnuc_varargs=yes,g_have_gnuc_varargs=no)
-AC_MSG_RESULT($g_have_gnuc_varargs)
-
-# check for GNUC visibility support
-AC_MSG_CHECKING(for GNUC visibility attribute)
-GLIB_CHECK_COMPILE_WARNINGS([
-void
-__attribute__ ((visibility ("hidden")))
- f_hidden (void)
-{
-}
-void
-__attribute__ ((visibility ("internal")))
- f_internal (void)
-{
-}
-void
-__attribute__ ((visibility ("protected")))
- f_protected (void)
-{
-}
-void
-__attribute__ ((visibility ("default")))
- f_default (void)
-{
-}
-int main (int argc, char **argv)
-{
- f_hidden();
- f_internal();
- f_protected();
- f_default();
- return 0;
-}
-],g_have_gnuc_visibility=yes,g_have_gnuc_visibility=no)
-AC_MSG_RESULT($g_have_gnuc_visibility)
-AM_CONDITIONAL(HAVE_GNUC_VISIBILITY, [test x$g_have_gnuc_visibility = xyes])
-
-AC_MSG_CHECKING([whether using Sun Studio C compiler])
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#if defined(__SUNPRO_C) || (__SUNPRO_C >= 0x550)
-#else
-# include "error: this is not Sun Studio."
-#endif
-]], [[]])], [ g_have_sunstudio_visibility=yes ], [ g_have_sunstudio_visibility=no ])
-AC_MSG_RESULT($g_have_sunstudio_visibility)
-AM_CONDITIONAL(HAVE_SUNSTUDIO_VISIBILITY, [test x$g_have_sunstudio_visibility = xyes])
-
-# check for bytesex stuff
-AC_C_BIGENDIAN
-if test x$ac_cv_c_bigendian = xuniversal ; then
-AC_TRY_COMPILE([#include <endian.h>], [#if __BYTE_ORDER == __BIG_ENDIAN
-#else
-#error Not a big endian.
-#endif],
- ac_cv_c_bigendian=yes
- ,AC_TRY_COMPILE([#include <endian.h>], [#if __BYTE_ORDER == __LITTLE_ENDIAN
-#else
-#error Not a little endian.
-#endif],
- ac_cv_c_bigendian=no
- ,AC_MSG_WARN([Could not determine endianness.])))
-fi
-
-
-# check for header files
-AC_CHECK_HEADERS([dirent.h float.h limits.h pwd.h grp.h sys/param.h sys/poll.h sys/resource.h])
-AC_CHECK_HEADERS([sys/time.h sys/times.h sys/wait.h unistd.h values.h])
-AC_CHECK_HEADERS([sys/select.h sys/types.h stdint.h inttypes.h sched.h malloc.h])
-AC_CHECK_HEADERS([sys/vfs.h sys/mount.h sys/vmount.h sys/statfs.h sys/statvfs.h])
-AC_CHECK_HEADERS([mntent.h sys/mnttab.h sys/vfstab.h sys/mntctl.h sys/sysctl.h fstab.h])
-AC_CHECK_HEADERS([sys/uio.h])
-
-# check for structure fields
-AC_CHECK_MEMBERS([struct stat.st_mtimensec, struct stat.st_mtim.tv_nsec, struct stat.st_atimensec, struct stat.st_atim.tv_nsec, struct stat.st_ctimensec, struct stat.st_ctim.tv_nsec])
-AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_blocks, struct statfs.f_fstypename, struct statfs.f_bavail],,, [#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#ifdef HAVE_SYS_STATFS_H
-#include <sys/statfs.h>
-#endif
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-#ifdef HAVE_SYS_MOUNT_H
-#include <sys/mount.h>
-#endif])
-# struct statvfs.f_basetype is available on Solaris but not for Linux.
-AC_CHECK_MEMBERS([struct statvfs.f_basetype],,, [#include <sys/statvfs.h>])
-
-# Checks for libcharset
-AM_LANGINFO_CODESET
-gl_GLIBC21
-AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
-AC_CHECK_FUNCS(setlocale)
-
-# check additional type sizes
-AC_CHECK_SIZEOF(size_t)
-
-dnl Try to figure out whether gsize, gssize should be long or int
-AC_MSG_CHECKING([for the appropriate definition for size_t])
-
-case $ac_cv_sizeof_size_t in
- $ac_cv_sizeof_short)
- glib_size_type=short
- ;;
- $ac_cv_sizeof_int)
- glib_size_type=int
- ;;
- $ac_cv_sizeof_long)
- glib_size_type=long
- ;;
- $ac_cv_sizeof_long_long)
- glib_size_type='long long'
- ;;
- $ac_cv_sizeof__int64)
- glib_size_type='__int64'
- ;;
- *) AC_MSG_ERROR([No type matching size_t in size])
- ;;
-esac
-
-dnl If int/long are the same size, we see which one produces
-dnl warnings when used in the location as size_t. (This matters
-dnl on AIX with xlc)
-dnl
-if test $ac_cv_sizeof_size_t = $ac_cv_sizeof_int &&
- test $ac_cv_sizeof_size_t = $ac_cv_sizeof_long ; then
- GLIB_CHECK_COMPILE_WARNINGS([
-#if defined(_AIX) && !defined(__GNUC__)
-#pragma options langlvl=stdc89
-#endif
-#include <stddef.h>
-int main ()
-{
- size_t s = 1;
- unsigned int *size_int = &s;
- return (int)*size_int;
-}
- ],glib_size_type=int,
- [GLIB_CHECK_COMPILE_WARNINGS([
-#if defined(_AIX) && !defined(__GNUC__)
-#pragma options langlvl=stdc89
-#endif
-#include <stddef.h>
-int main ()
-{
- size_t s = 1;
- unsigned long *size_long = &s;
- return (int)*size_long;
-}
- ],glib_size_type=long)])
-fi
-
-AC_MSG_RESULT(unsigned $glib_size_type)
-
-# Check for some functions
-AC_CHECK_FUNCS(lstat strerror strsignal memmove vsnprintf stpcpy strcasecmp strncasecmp poll getcwd vasprintf setenv unsetenv getc_unlocked readlink symlink fdwalk)
-AC_CHECK_FUNCS(chown lchmod lchown fchmod fchown link statvfs statfs utimes getgrgid getpwuid)
-AC_CHECK_FUNCS(getmntent_r setmntent endmntent hasmntopt getmntinfo)
-# Check for high-resolution sleep functions
-AC_CHECK_FUNCS(nanosleep nsleep)
-AC_CHECK_FUNCS(splice)
-
-AC_CHECK_HEADERS(crt_externs.h)
-AC_CHECK_FUNCS(_NSGetEnviron)
-
-AC_FUNC_VSNPRINTF_C99
-AC_FUNC_PRINTF_UNIX98
-
-# Internet address families
-if test $glib_native_win32 = yes; then
- glib_inet_includes=["
-#include <winsock2.h>
- "]
-else
- glib_inet_includes=["
-#include <sys/types.h>
-#include <sys/socket.h>
- "]
-fi
-
-glib_failed=false
-GLIB_CHECK_VALUE(AF_INET, $glib_inet_includes, glib_failed=true)
-GLIB_CHECK_VALUE(AF_INET6, $glib_inet_includes, glib_failed=true)
-# winsock defines this even though it doesn't support it
-GLIB_CHECK_VALUE(AF_UNIX, $glib_inet_includes, glib_failed=true)
-if $glib_failed ; then
- AC_MSG_ERROR([Could not determine values for AF_INET* constants])
-fi
-
-glib_failed=false
-GLIB_CHECK_VALUE(MSG_PEEK, $glib_inet_includes, glib_failed=true)
-GLIB_CHECK_VALUE(MSG_OOB, $glib_inet_includes, glib_failed=true)
-GLIB_CHECK_VALUE(MSG_DONTROUTE, $glib_inet_includes, glib_failed=true)
-if $glib_failed ; then
- AC_MSG_ERROR([Could not determine values for MSG_* constants])
-fi
-
-AC_CHECK_FUNCS(getprotobyname_r endservent)
-AC_CHECK_HEADERS([netdb.h wspiapi.h])
-
-# For gio/libasyncns
-if test $glib_native_win32 = no; then
- AC_CHECK_FUNCS(strndup setresuid setreuid)
- AC_CHECK_HEADERS(sys/prctl.h arpa/nameser_compat.h)
-
- # We can't just use AC_CHECK_FUNC/AC_CHECK_LIB here. Bug 586150
- AC_MSG_CHECKING([for res_query])
- AC_TRY_LINK([#include <sys/types.h>
-#include <netinet/in.h>
-#include <arpa/nameser.h>
-#include <resolv.h>],
- [res_query("test", 0, 0, (void *)0, 0);],
- [AC_MSG_RESULT([yes])],
- [save_libs="$LIBS"
- LIBS="-lresolv $LIBS"
- AC_TRY_LINK([#include <sys/types.h>
-#include <netinet/in.h>
-#include <arpa/nameser.h>
-#include <resolv.h>],
- [res_query("test", 0, 0, (void *)0, 0);],
- [AC_MSG_RESULT([in -lresolv])
- LIBASYNCNS_LIBADD="-lresolv"],
- [LIBS="-lbind $save_libs"
- AC_TRY_LINK([#include <resolv.h>],
- [res_query("test", 0, 0, (void *)0, 0);],
- [AC_MSG_RESULT([in -lbind])
- LIBASYNCNS_LIBADD="-lbind"],
- [AC_MSG_ERROR(not found)])])
- LIBS="$save_libs"])
- AC_SUBST(LIBASYNCNS_LIBADD)
-fi
-
-case $host in
- *-*-solaris* )
- AC_DEFINE(_XOPEN_SOURCE_EXTENDED, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
- AC_DEFINE(_XOPEN_SOURCE, 2, Needed to get declarations for msg_control and msg_controllen on Solaris)
- AC_DEFINE(__EXTENSIONS__, 1, Needed to get declarations for msg_control and msg_controllen on Solaris)
- ;;
-esac
-
-dnl
-dnl if statfs() takes 2 arguments (Posix) or 4 (Solaris)
-dnl
-if test "$ac_cv_func_statfs" = yes ; then
- AC_MSG_CHECKING([number of arguments to statfs()])
- AC_TRY_COMPILE([#include <unistd.h>
- #ifdef HAVE_SYS_PARAM_H
- #include <sys/param.h>
- #endif
- #ifdef HAVE_SYS_VFS_H
- #include <sys/vfs.h>
- #endif
- #ifdef HAVE_SYS_MOUNT_H
- #include <sys/mount.h>
- #endif
- #ifdef HAVE_SYS_STATFS_H
- #include <sys/statfs.h>
- #endif], [struct statfs st;
- statfs(NULL, &st);],[
- AC_MSG_RESULT([2])
- AC_DEFINE(STATFS_ARGS, 2, [Number of arguments to statfs()])],[
- AC_TRY_COMPILE([#include <unistd.h>
- #ifdef HAVE_SYS_PARAM_H
- #include <sys/param.h>
- #endif
- #ifdef HAVE_SYS_VFS_H
- #include <sys/vfs.h>
- #endif
- #ifdef HAVE_SYS_MOUNT_H
- #include <sys/mount.h>
- #endif
- #ifdef HAVE_SYS_STATFS_H
- #include <sys/statfs.h>
- #endif], [struct statfs st;
- statfs(NULL, &st, sizeof (st), 0);],[
- AC_MSG_RESULT([4])
- AC_DEFINE(STATFS_ARGS, 4, [Number of arguments to statfs()])],[
- AC_MSG_RESULT(unknown)
- AC_MSG_ERROR([unable to determine number of arguments to statfs()])])])
-fi
-
-#
-# Check whether to use an included printf
-#
-
-AC_ARG_ENABLE(included-printf,
- [AC_HELP_STRING([--enable-included-printf],
- [use included printf [default=auto]])],
- enable_included_printf="$enableval")
-
-need_included_printf=no
-if test "x$enable_included_printf" = "xyes" ; then
- need_included_printf=yes
-fi
-if test "$ac_cv_func_vsnprintf_c99" != "yes" ; then
- need_included_printf=yes
-fi
-if test "$ac_cv_func_printf_unix98" != "yes" ; then
- need_included_printf=yes
-fi
-if test "x$ac_cv_sizeof_long_long" = "x8" &&
- test -z "$glib_cv_long_long_format" ; then
- need_included_printf=yes
-fi
-
-if test "x$enable_included_printf" = "xno" &&
- test "x$need_included_printf" = "xyes" ; then
- AC_MSG_ERROR([
-*** Your C library's printf doesn't appear to have the features that
-*** GLib needs, but you specified --enable-included-printf=no.])
-fi
-
-enable_included_printf=$need_included_printf
-
-AM_CONDITIONAL(HAVE_GOOD_PRINTF, test "$enable_included_printf" != "yes")
-if test "$enable_included_printf" != "yes" ; then
- AC_DEFINE(HAVE_GOOD_PRINTF,1,[define to use system printf])
-else
- if test -z "$glib_cv_long_long_format" ; then
- glib_cv_long_long_format="ll"
- fi
- AC_DEFINE(HAVE_VASPRINTF,1)
-fi
-
-# Checks needed for gnulib vasnprintf
-bh_C_SIGNED
-jm_AC_TYPE_LONG_LONG
-gt_TYPE_LONGDOUBLE
-gt_TYPE_WCHAR_T
-gt_TYPE_WINT_T
-AC_TYPE_SIZE_T
-AC_CHECK_TYPES(ptrdiff_t)
-jm_AC_TYPE_INTMAX_T
-AC_CHECK_FUNCS([snprintf wcslen])
-AC_FUNC_SNPRINTF_C99
-
-# Check if bcopy can be used for overlapping copies, if memmove isn't found.
-# The check is borrowed from the PERL Configure script.
-if test "$ac_cv_func_memmove" != "yes"; then
- AC_CACHE_CHECK(whether bcopy can handle overlapping copies,
- glib_cv_working_bcopy,[AC_TRY_RUN([
- int main() {
- char buf[128], abc[128], *b;
- int len, off, align;
- bcopy("abcdefghijklmnopqrstuvwxyz0123456789", abc, 36);
- for (align = 7; align >= 0; align--) {
- for (len = 36; len; len--) {
- b = buf+align; bcopy(abc, b, len);
- for (off = 1; off <= len; off++) {
- bcopy(b, b+off, len); bcopy(b+off, b, len);
- if (bcmp(b, abc, len)) return(1);
- }
- }
- }
- return(0);
- }],glib_cv_working_bcopy=yes,glib_cv_working_bcopy=no)])
-
- GLIB_ASSERT_SET(glib_cv_working_bcopy)
- if test "$glib_cv_working_bcopy" = "yes"; then
- AC_DEFINE(HAVE_WORKING_BCOPY,1,[Have a working bcopy])
- fi
-fi
-
-# Check for sys_errlist
-AC_MSG_CHECKING(for sys_errlist)
-AC_TRY_LINK(, [
-extern char *sys_errlist[];
-extern int sys_nerr;
-sys_errlist[sys_nerr-1][0] = 0;
-], glib_ok=yes, glib_ok=no)
-AC_MSG_RESULT($glib_ok)
-if test "$glib_ok" = "no"; then
- AC_DEFINE(NO_SYS_ERRLIST,1,[global 'sys_errlist' not found])
-fi
-
-# Check for sys_siglist
-AC_MSG_CHECKING(for sys_siglist)
-AC_TRY_LINK(, [
-extern char *sys_siglist[];
-exit (sys_siglist[0]);
-], glib_ok=yes, glib_ok=no)
-AC_MSG_RESULT($glib_ok)
-if test "$glib_ok" = "no"; then
- AC_DEFINE(NO_SYS_SIGLIST,1,[global 'sys_siglist' not found])
-fi
-
-# Check for sys_siglist decl (see Tue Jan 19 00:44:24 1999 in changelog)
-AC_MSG_CHECKING(for sys_siglist declaration)
-AC_TRY_COMPILE([#include <signal.h>], [
-strlen (sys_siglist[0]);
-], glib_ok=yes, glib_ok=no)
-AC_MSG_RESULT($glib_ok)
-if test "$glib_ok" = "no"; then
- AC_DEFINE(NO_SYS_SIGLIST_DECL,1,[global 'sys_siglist' not declared])
-fi
-
-# Check if <sys/select.h> needs to be included for fd_set
-AC_MSG_CHECKING([for fd_set])
-AC_TRY_COMPILE([#include <sys/types.h>],
- [fd_set readMask, writeMask;], gtk_ok=yes, gtk_ok=no)
-if test "$gtk_ok" = "yes"; then
- AC_MSG_RESULT([yes, found in sys/types.h])
-else
- AC_EGREP_HEADER(fd_set, sys/select.h, gtk_ok=yes)
- if test "$gtk_ok" = "yes"; then
- # *** FIXME: give it a different name
- AC_DEFINE(HAVE_SYS_SELECT_H,1,[found fd_set in sys/select.h])
- AC_MSG_RESULT([yes, found in sys/select.h])
- else
- AC_DEFINE(NO_FD_SET,1,[didn't find fd_set])
- AC_MSG_RESULT(no)
- fi
-fi
-
-dnl *** check for sane realloc() ***
-AC_CACHE_CHECK([whether realloc (NULL,) will work],glib_cv_sane_realloc,[
- AC_TRY_RUN([#include <stdlib.h>
- int main() {
- return realloc (0, sizeof (int)) == 0;
- }],
- [glib_cv_sane_realloc=yes],
- [glib_cv_sane_realloc=no],
- [glib_cv_sane_realloc=yes])
-])
-if test x$glib_cv_sane_realloc = xyes; then
- AC_DEFINE(REALLOC_0_WORKS,1,[whether realloc (NULL,) works])
-fi
-
-dnl Check for nl_langinfo and CODESET
-AC_CACHE_CHECK([for nl_langinfo (CODESET)],glib_cv_langinfo_codeset,[
- AC_TRY_COMPILE([#include <langinfo.h>],
- [char *codeset = nl_langinfo (CODESET);],
- [glib_cv_langinfo_codeset=yes],
- [glib_cv_langinfo_codeset=no])])
-if test x$glib_cv_langinfo_codeset = xyes; then
- AC_DEFINE(HAVE_CODESET,1,[Have nl_langinfo (CODESET)])
-fi
-
-dnl ****************************************
-dnl *** posix_memalign ***
-dnl ****************************************
-AC_MSG_CHECKING(for a compliant posix_memalign() implementation)
-AC_CACHE_VAL(glib_cv_compliant_posix_memalign,[
- glib_cv_compliant_posix_memalign=0
- if test "$ac_cv_func_posix_memalign" = "yes" ; then
- AC_TRY_RUN([
- #define _XOPEN_SOURCE 600
- #include <stdlib.h> /* posix_memalign() should be defined here */
- /* some systems break if #include <malloc.h> used */
- static void test_memalign (size_t boundary, size_t size) {
- void *mem = 0;
- if (posix_memalign (&mem, boundary, size) != 0 || !mem)
- exit (1);
- else
- free (mem);
- }
- int main() {
- test_memalign ( 128, 128 - 2 * sizeof (void*));
- test_memalign ( 256, 256 - 2 * sizeof (void*));
- test_memalign ( 512, 512 - 2 * sizeof (void*));
- test_memalign ( 1024, 1024 - 2 * sizeof (void*));
- test_memalign ( 2048, 2048 - 2 * sizeof (void*));
- test_memalign ( 4096, 4096 - 2 * sizeof (void*));
- test_memalign ( 8192, 8192 - 2 * sizeof (void*));
- test_memalign (16384, 16384 - 2 * sizeof (void*));
- test_memalign (32768, 32768 - 2 * sizeof (void*));
- exit (0); /* success */
- }
- ],
- [glib_cv_compliant_posix_memalign=1], [], [:])
- :
- fi
- ])
-if test "$glib_cv_compliant_posix_memalign" = "1"; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(POSIX_MEMALIGN_WITH_COMPLIANT_ALLOCS, 1, [define if posix_memalign() can allocate any size])
-else
- AC_MSG_RESULT(no)
-fi
-
-
-dnl ****************************************
-dnl *** strlcpy/strlcat ***
-dnl ****************************************
-# Check for strlcpy
-AC_CACHE_CHECK([for OpenBSD strlcpy/strlcat],glib_cv_have_strlcpy,[
-AC_TRY_RUN([#include <stdlib.h>
-#include <string.h>
-int main() {
- char p[10];
- (void) strlcpy (p, "hi", 10);
- if (strlcat (p, "bye", 0) != 3)
- return 1;
- return 0;
-}], glib_cv_have_strlcpy=yes,
- glib_cv_have_strlcpy=no,
- glib_cv_have_strlcpy=no)])
-if test "$glib_cv_have_strlcpy" = "yes"; then
- AC_DEFINE(HAVE_STRLCPY,1,[Have functions strlcpy and strlcat])
-fi
-
-
-dnl **********************
-dnl *** va_copy checks ***
-dnl **********************
-dnl we currently check for all three va_copy possibilities, so we get
-dnl all results in config.log for bug reports.
-AC_CACHE_CHECK([for an implementation of va_copy()],glib_cv_va_copy,[
- AC_LINK_IFELSE([#include <stdarg.h>
-#include <stdlib.h>
- void f (int i, ...) {
- va_list args1, args2;
- va_start (args1, i);
- va_copy (args2, args1);
- if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
- exit (1);
- va_end (args1); va_end (args2);
- }
- int main() {
- f (0, 42);
- return 0;
- }],
- [glib_cv_va_copy=yes],
- [glib_cv_va_copy=no])
-])
-AC_CACHE_CHECK([for an implementation of __va_copy()],glib_cv___va_copy,[
- AC_LINK_IFELSE([#include <stdarg.h>
-#include <stdlib.h>
- void f (int i, ...) {
- va_list args1, args2;
- va_start (args1, i);
- __va_copy (args2, args1);
- if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
- exit (1);
- va_end (args1); va_end (args2);
- }
- int main() {
- f (0, 42);
- return 0;
- }],
- [glib_cv___va_copy=yes],
- [glib_cv___va_copy=no])
-])
-
-if test "x$glib_cv_va_copy" = "xyes"; then
- g_va_copy_func=va_copy
-else if test "x$glib_cv___va_copy" = "xyes"; then
- g_va_copy_func=__va_copy
-fi
-fi
-
-if test -n "$g_va_copy_func"; then
- AC_DEFINE_UNQUOTED(G_VA_COPY,$g_va_copy_func,[A 'va_copy' style function])
-fi
-
-AC_CACHE_CHECK([whether va_lists can be copied by value],glib_cv_va_val_copy,[
- AC_TRY_RUN([#include <stdarg.h>
-#include <stdlib.h>
- void f (int i, ...) {
- va_list args1, args2;
- va_start (args1, i);
- args2 = args1;
- if (va_arg (args2, int) != 42 || va_arg (args1, int) != 42)
- exit (1);
- va_end (args1); va_end (args2);
- }
- int main() {
- f (0, 42);
- return 0;
- }],
- [glib_cv_va_val_copy=yes],
- [glib_cv_va_val_copy=no],
- [glib_cv_va_val_copy=yes])
-])
-
-if test "x$glib_cv_va_val_copy" = "xno"; then
- AC_DEFINE(G_VA_COPY_AS_ARRAY,1, ['va_lists' cannot be copies as values])
-fi
-
-dnl ***********************
-dnl *** g_module checks ***
-dnl ***********************
-G_MODULE_LIBS=
-G_MODULE_LIBS_EXTRA=
-G_MODULE_PLUGIN_LIBS=
-if test x"$glib_native_win32" = xyes; then
- dnl No use for this on Win32
- G_MODULE_LDFLAGS=
-else
- export SED
- G_MODULE_LDFLAGS=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
-fi
-dnl G_MODULE_IMPL= don't reset, so cmd-line can override
-G_MODULE_NEED_USCORE=0
-G_MODULE_BROKEN_RTLD_GLOBAL=0
-G_MODULE_HAVE_DLERROR=0
-dnl *** force native WIN32 shared lib loader
-if test -z "$G_MODULE_IMPL"; then
- case "$host" in
- *-*-mingw*|*-*-cygwin*) G_MODULE_IMPL=G_MODULE_IMPL_WIN32 ;;
- esac
-fi
-dnl *** force native AIX library loader
-dnl *** dlopen() filepath must be of the form /path/libname.a(libname.so)
-if test -z "$G_MODULE_IMPL"; then
- case "$host" in
- *-*-aix*) G_MODULE_IMPL=G_MODULE_IMPL_AR ;;
- esac
-fi
-dnl *** dlopen() and dlsym() in system libraries
-if test -z "$G_MODULE_IMPL"; then
- AC_CHECK_FUNC(dlopen,
- [AC_CHECK_FUNC(dlsym,
- [G_MODULE_IMPL=G_MODULE_IMPL_DL],[])],
- [])
-fi
-dnl *** load_image (BeOS)
-if test -z "$G_MODULE_IMPL" && test "x$glib_native_beos" = "xyes"; then
- AC_CHECK_LIB(root, load_image,
- [G_MODULE_LIBS="-lbe -lroot -lglib-2.0 "
- G_MODULE_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
- G_MODULE_PLUGIN_LIBS="-L\$(top_builddir_full)/gmodule/.libs -lgmodule"
- G_MODULE_IMPL=G_MODULE_IMPL_BEOS],
- [])
-fi
-dnl *** NSLinkModule (dyld) in system libraries (Darwin)
-if test -z "$G_MODULE_IMPL"; then
- AC_CHECK_FUNC(NSLinkModule,
- [G_MODULE_IMPL=G_MODULE_IMPL_DYLD
- G_MODULE_NEED_USCORE=1],
- [])
-fi
-dnl *** dlopen() and dlsym() in libdl
-if test -z "$G_MODULE_IMPL"; then
- AC_CHECK_LIB(dl, dlopen,
- [AC_CHECK_LIB(dl, dlsym,
- [G_MODULE_LIBS=-ldl
- G_MODULE_IMPL=G_MODULE_IMPL_DL],[])],
- [])
-fi
-dnl *** shl_load() in libdld (HP-UX)
-if test -z "$G_MODULE_IMPL"; then
- AC_CHECK_LIB(dld, shl_load,
- [G_MODULE_LIBS=-ldld
- G_MODULE_IMPL=G_MODULE_IMPL_DLD],
- [])
-fi
-dnl *** additional checks for G_MODULE_IMPL_DL
-if test "$G_MODULE_IMPL" = "G_MODULE_IMPL_DL"; then
- LIBS_orig="$LIBS"
- LDFLAGS_orig="$LDFLAGS"
- LIBS="$G_MODULE_LIBS $LIBS"
- LDFLAGS="$LDFLAGS $G_MODULE_LDFLAGS"
-dnl *** check for OSF1/5.0 RTLD_GLOBAL brokenness
- echo "void glib_plugin_test(void) { }" > plugin.c
- ${SHELL} ./libtool --mode=compile ${CC} -shared \
- -export-dynamic -o plugin.o plugin.c 2>&1 >/dev/null
- AC_CACHE_CHECK([for RTLD_GLOBAL brokenness],
- glib_cv_rtldglobal_broken,[
- AC_TRY_RUN([
-#include <dlfcn.h>
-#ifndef RTLD_GLOBAL
-# define RTLD_GLOBAL 0
-#endif
-#ifndef RTLD_LAZY
-# define RTLD_LAZY 0
-#endif
-int glib_plugin_test;
-int main () {
- void *handle, *global, *local;
- global = &glib_plugin_test;
- handle = dlopen ("./.libs/plugin.o", RTLD_GLOBAL | RTLD_LAZY);
- if (!handle) return 0;
- local = dlsym (handle, "glib_plugin_test");
- return global == local;
-} ],
- [glib_cv_rtldglobal_broken=no],
- [glib_cv_rtldglobal_broken=yes],
- [glib_cv_rtldglobal_broken=no])
- rm -f plugin.c plugin.o plugin.lo .libs/plugin.o
- rmdir .libs 2>/dev/null
- ])
- if test "x$glib_cv_rtldglobal_broken" = "xyes"; then
- G_MODULE_BROKEN_RTLD_GLOBAL=1
- else
- G_MODULE_BROKEN_RTLD_GLOBAL=0
- fi
-dnl *** check whether we need preceeding underscores
- AC_CACHE_CHECK([for preceeding underscore in symbols],
- glib_cv_uscore,[
- AC_TRY_RUN([#include <dlfcn.h>
- int glib_underscore_test (void) { return 42; }
- int main() {
- void *f1 = (void*)0, *f2 = (void*)0, *handle;
- handle = dlopen ((void*)0, 0);
- if (handle) {
- f1 = dlsym (handle, "glib_underscore_test");
- f2 = dlsym (handle, "_glib_underscore_test");
- } return (!f2 || f1);
- }],
- [glib_cv_uscore=yes],
- [glib_cv_uscore=no],
- [])
- rm -f plugin.c plugin.$ac_objext plugin.lo
- ])
- GLIB_ASSERT_SET(glib_cv_uscore)
- if test "x$glib_cv_uscore" = "xyes"; then
- G_MODULE_NEED_USCORE=1
- else
- G_MODULE_NEED_USCORE=0
- fi
-
- LDFLAGS="$LDFLAGS_orig"
-dnl *** check for having dlerror()
- AC_CHECK_FUNC(dlerror,
- [G_MODULE_HAVE_DLERROR=1],
- [G_MODULE_HAVE_DLERROR=0])
- LIBS="$LIBS_orig"
-fi
-dnl *** done, have we got an implementation?
-if test -z "$G_MODULE_IMPL"; then
- G_MODULE_IMPL=0
- G_MODULE_SUPPORTED=false
-else
- G_MODULE_SUPPORTED=true
-fi
-
-AC_MSG_CHECKING(for the suffix of module shared libraries)
-export SED
-shrext_cmds=`./libtool --config | grep '^shrext_cmds='`
-eval $shrext_cmds
-module=yes eval std_shrext=$shrext_cmds
-# chop the initial dot
-glib_gmodule_suffix=`echo $std_shrext | sed 's/^\.//'`
-AC_MSG_RESULT(.$glib_gmodule_suffix)
-# any reason it may fail?
-if test "x$glib_gmodule_suffix" = x; then
- AC_MSG_ERROR(Cannot determine shared library suffix from libtool)
-fi
-
-AC_SUBST(G_MODULE_SUPPORTED)
-AC_SUBST(G_MODULE_IMPL)
-AC_SUBST(G_MODULE_LIBS)
-AC_SUBST(G_MODULE_LIBS_EXTRA)
-AC_SUBST(G_MODULE_PLUGIN_LIBS)
-AC_SUBST(G_MODULE_LDFLAGS)
-AC_SUBST(G_MODULE_HAVE_DLERROR)
-AC_SUBST(G_MODULE_BROKEN_RTLD_GLOBAL)
-AC_SUBST(G_MODULE_NEED_USCORE)
-AC_SUBST(GLIB_DEBUG_FLAGS)
-
-dnl **********************
-dnl *** g_spawn checks ***
-dnl **********************
-
-AC_MSG_CHECKING(for gspawn implementation)
-case "$host" in
- *-*-mingw*)
- GSPAWN=gspawn-win32.lo
- ;;
- *)
- GSPAWN=gspawn.lo
- ;;
-esac
-AC_MSG_RESULT($GSPAWN)
-AC_SUBST(GSPAWN)
-
-dnl *************************
-dnl *** GIOChannel checks ***
-dnl *************************
-
-AC_MSG_CHECKING(for GIOChannel implementation)
-case "$host" in
- *-*-mingw*)
- GIO=giowin32.lo
- ;;
- *)
- GIO=giounix.lo
- ;;
-esac
-AC_MSG_RESULT($GIO)
-AC_SUBST(GIO)
-
-dnl *********************************
-dnl *** Directory for GIO modules ***
-dnl *********************************
-
-AC_ARG_WITH(gio-module-dir,
- [AC_HELP_STRING([--with-gio-module-dir=PATH],
- [Load gio modules from this directory [LIBDIR/gio/modules]])],
- [],
- [with_gio_module_dir='${libdir}/gio/modules'])
-GIO_MODULE_DIR=$with_gio_module_dir
-AC_SUBST(GIO_MODULE_DIR)
-
-dnl **********************************
-dnl *** Check for libselinux (GIO) ***
-dnl **********************************
-AC_ARG_ENABLE(selinux, [ --disable-selinux build without selinux support])
-msg_selinux=no
-SELINUX_LIBS=
-if test "x$enable_selinux" != "xno"; then
-
- AC_CHECK_LIB(selinux, is_selinux_enabled,
- [AC_CHECK_HEADERS(selinux/selinux.h,
- [AC_CHECK_LIB(selinux, lgetfilecon_raw,
- [AC_DEFINE(HAVE_SELINUX, 1, [Define to 1 if libselinux is available])
- SELINUX_LIBS="-lselinux"
- msg_selinux=yes])
- ])
- ])
-fi
-AC_SUBST(SELINUX_LIBS)
-
-dnl *****************************
-dnl ** Check for inotify (GIO) **
-dnl *****************************
-inotify_support=no
-AC_CHECK_HEADERS([sys/inotify.h],
-[
- inotify_support=yes
- AC_CHECK_FUNCS(inotify_init1)
-])
-
-AM_CONDITIONAL(HAVE_INOTIFY, [test "$inotify_support" = "yes"])
-
-dnl *********************************
-dnl ** Check for Solaris FEN (GIO) **
-dnl *********************************
-fen_support=no
-AC_COMPILE_IFELSE([
-#include <port.h>
-#ifndef PORT_SOURCE_FILE
-#error "Please upgrade to Nevada 72 or above to suppoert FEN"
-#endif
-int main() { return 0; } ],
-[
- fen_support=yes
-],)
-
-AM_CONDITIONAL(HAVE_FEN, [test "$fen_support" = "yes"])
-
-dnl ****************************
-dnl *** Checks for FAM (GIO) ***
-dnl ****************************
-
-should_disable_fam=no
-
-AC_ARG_ENABLE(fam, [ --disable-fam build without enabling fam for file system monitoring],
- [
- if test "x$enable_fam" = "xno"; then
- should_disable_fam=yes
- echo "Not building FAM support"
- fi
- ]
- )
-fam_support=no
-FAM_LIBS=
-if test "x$should_disable_fam" = "xno"; then
-AC_CHECK_LIB(fam, FAMOpen,
- [AC_CHECK_HEADERS(fam.h,
- [AC_DEFINE(HAVE_FAM, [], [Define if we have FAM])
- AC_CHECK_LIB(fam, FAMNoExists,
- AC_DEFINE(HAVE_FAM_NO_EXISTS, [], [Define if we have FAMNoExists in fam]))
- FAM_LIBS="-lfam"]
- fam_support=yes,
- AC_MSG_WARN(*** FAM support will not be built (header files not found) ***))],
- AC_MSG_WARN(*** FAM support will not be built (FAM library not found) ***))
-AC_SUBST(FAM_LIBS)
-fi
-AM_CONDITIONAL(HAVE_FAM, [test "$fam_support" = "yes"])
-
-
-dnl *****************************
-dnl *** Check for xattr (GIO) ***
-dnl *****************************
-AC_ARG_ENABLE(xattr, [ --disable-xattr build without xattr support])
-msg_xattr=no
-XATTR_LIBS=
-if test "x$enable_xattr" != "xno"; then
-
-dnl either glibc or libattr can provide xattr support
-
-dnl for both of them, we check for getxattr being in
-dnl the library and a valid xattr header.
-
-dnl try glibc
- AC_CHECK_LIB(c, getxattr,
- [AC_CHECK_HEADERS(sys/xattr.h,
- [AC_DEFINE(HAVE_XATTR, 1, [Define to 1 if xattr is available])
- msg_xattr=yes])
- ])
-
- if test "x$msg_xattr" != "xyes"; then
-dnl failure. try libattr
- AC_CHECK_LIB(attr, getxattr,
- [AC_CHECK_HEADERS(attr/xattr.h,
- [AC_DEFINE(HAVE_XATTR, 1, [Define to 1 if xattr is available])
- XATTR_LIBS="-lattr"
- msg_xattr=yes])
- ])
- fi
-
- if test "x$msg_xattr" = "xyes"; then
- AC_MSG_CHECKING([for XATTR_NOFOLLOW])
- AC_TRY_COMPILE([
- #include <stdio.h>
- #ifdef HAVE_SYS_TYPES_H
- #include <sys/types.h>
- #endif
- #ifdef HAVE_SYS_XATTR_H
- #include <sys/xattr.h>
- #elif HAVE_ATTR_XATTR_H
- #include <attr/xattr.h>
- #endif
- ],
- [ssize_t len = getxattr("", "", NULL, 0, 0, XATTR_NOFOLLOW);],
- [
- AC_DEFINE([HAVE_XATTR_NOFOLLOW], [1], [Define to 1 if xattr API uses XATTR_NOFOLLOW])
- AC_MSG_RESULT([yes])
- ],
- [AC_MSG_RESULT([no])]
- )
- fi
-
-fi
-AC_SUBST(XATTR_LIBS)
-
-dnl ****************************************
-dnl *** platform dependent source checks ***
-dnl ****************************************
-
-AC_MSG_CHECKING(for platform-dependent source)
-case "$host" in
- *-*-cygwin*|*-*-mingw*)
- PLATFORMDEP=gwin32.lo
- ;;
- *)
- PLATFORMDEP=
- ;;
-esac
-AC_MSG_RESULT($PLATFORMDEP)
-AC_SUBST(PLATFORMDEP)
-
-AC_MSG_CHECKING([whether to compile timeloop])
-case "$host" in
- *-*-cygwin*|*-*-mingw*|*-*-minix)
- enable_timeloop=no
- ;;
- *)
- enable_timeloop=yes
- ;;
-esac
-AC_MSG_RESULT($enable_timeloop)
-AM_CONDITIONAL(ENABLE_TIMELOOP, test x$enable_timeloop = xyes)
-
-AC_MSG_CHECKING([if building for some Win32 platform])
-case "$host" in
- *-*-mingw*|*-*-cygwin*)
- platform_win32=yes
- ;;
- *)
- platform_win32=no
- ;;
-esac
-AC_MSG_RESULT($platform_win32)
-AM_CONDITIONAL(PLATFORM_WIN32, test x$platform_win32 = xyes)
-
-dnl ***********************
-dnl *** g_thread checks ***
-dnl ***********************
-
-AC_ARG_WITH(threads,
- [AC_HELP_STRING([--with-threads=@<:@none/posix/dce/win32@:>@],
- [specify a thread implementation to use])],
- [if test "x$with_threads" = x; then
- want_threads=yes
- else
- want_threads=$with_threads
- fi],
- [want_threads=yes])
-if test "x$enable_threads" = "xno"; then
- want_threads=no
-fi
-
-dnl error and warning message
-dnl *************************
-
-THREAD_NO_IMPLEMENTATION="You do not have any known thread system on your
- computer. GLib will not have a default thread implementation."
-
-FLAG_DOES_NOT_WORK="I can't find the MACRO to enable thread safety on your
- platform (normally it's "_REENTRANT"). I'll not use any flag on
- compilation now, but then your programs might not work.
- Please provide information on how it is done on your system."
-
-LIBS_NOT_FOUND_1="I can't find the libraries for the thread implementation
- "
-
-LIBS_NOT_FOUND_2=". Please choose another thread implementation or
- provide information on your thread implementation.
- You can also run 'configure --disable-threads'
- to compile without thread support."
-
-FUNC_NO_GETPWUID_R="the 'g_get_(user_name|real_name|home_dir|tmp_dir)'
- functions will not be MT-safe during their first call because
- there is no working 'getpwuid_r' on your system."
-
-FUNC_NO_LOCALTIME_R="the 'g_date_set_time' function will not be MT-safe
- because there is no 'localtime_r' on your system."
-
-POSIX_NO_YIELD="I can not find a yield functions for your platform. A rather
- crude surrogate will be used. If you happen to know a
- yield function for your system, please inform the GLib
- developers."
-
-POSIX_NO_PRIORITIES="I can not find the minimal and maximal priorities for
- threads on your system. Thus threads can only have the default
- priority. If you happen to know these main/max
- priorities, please inform the GLib developers."
-
-AIX_COMPILE_INFO="AIX's C compiler needs to be called by a different name, when
- linking threaded applications. As GLib cannot do that
- automatically, you will get an linkg error everytime you are
- not using the right compiler. In that case you have to relink
- with the right compiler. Ususally just '_r' is appended
- to the compiler name."
-
-dnl determination of thread implementation
-dnl ***************************************
-
-# have_threads=no means no thread support
-# have_threads=none means no default thread implementation
-
-have_threads=no
-if test "x$want_threads" = xyes || test "x$want_threads" = xposix \
- || test "x$want_threads" = xdce; then
- # -D_POSIX4_DRAFT_SOURCE -D_POSIX4A_DRAFT10_SOURCE is for DG/UX
- # -U_OSF_SOURCE is for Digital UNIX 4.0d
- GTHREAD_COMPILE_IMPL_DEFINES="-D_POSIX4_DRAFT_SOURCE -D_POSIX4A_DRAFT10_SOURCE -U_OSF_SOURCE"
- glib_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
- if test "x$have_threads" = xno; then
- AC_TRY_COMPILE([#include <pthread.h>],
- [pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;],
- have_threads=posix)
- fi
- if test "x$have_threads" = xno; then
- AC_TRY_COMPILE([#include <pthread.h>],
- [pthread_mutex_t m;
- pthread_mutex_init (&m, pthread_mutexattr_default);],
- have_threads=dce)
- fi
- # Tru64Unix requires -pthread to find pthread.h. See #103020
- CPPFLAGS="$CPPFLAGS -pthread"
- if test "x$have_threads" = xno; then
- AC_TRY_COMPILE([#include <pthread.h>],
- [pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;],
- have_threads=posix)
- fi
- CPPFLAGS="$glib_save_CPPFLAGS"
-fi
-if test "x$want_threads" = xyes || test "x$want_threads" = xwin32; then
- case $host in
- *-*-mingw*)
- have_threads=win32
- ;;
- esac
-fi
-if test "x$want_threads" = xnone; then
- have_threads=none
-fi
-
-AC_MSG_CHECKING(for thread implementation)
-
-if test "x$have_threads" = xno && test "x$want_threads" != xno; then
- AC_MSG_RESULT(none available)
- AC_MSG_WARN($THREAD_NO_IMPLEMENTATION)
-else
- AC_MSG_RESULT($have_threads)
-fi
-
-
-dnl determination of G_THREAD_CFLAGS
-dnl ********************************
-
-G_THREAD_LIBS=
-G_THREAD_LIBS_EXTRA=
-G_THREAD_CFLAGS=
-
-dnl
-dnl Test program for basic POSIX threads functionality
-dnl
-m4_define([glib_thread_test],[
-#include <pthread.h>
-int check_me = 0;
-void* func(void* data) {check_me = 42; return &check_me;}
-int main()
- { pthread_t t;
- void *ret;
- pthread_create (&t, $1, func, 0);
- pthread_join (t, &ret);
- return (check_me != 42 || ret != &check_me);
-}])
-
-dnl
-dnl Test program for sched_get_priority_min()
-dnl
-m4_define([glib_sched_priority_test],[
-#include <sched.h>
-#include <errno.h>
-int main() {
- errno = 0;
- return sched_get_priority_min(SCHED_OTHER)==-1
- && errno != 0;
-}])
-
-if test x"$have_threads" != xno; then
-
- if test x"$have_threads" = xposix; then
- # First we test for posix, whether -pthread or -pthreads do the trick as
- # both CPPFLAG and LIBS.
- # One of them does for most gcc versions and some other platforms/compilers
- # too and could be considered as the canonical way to go.
- case $host in
- *-*-cygwin*|*-*-darwin*)
- # skip cygwin and darwin -pthread or -pthreads test
- ;;
- *-solaris*)
- # These compiler/linker flags work with both Sun Studio and gcc
- # Sun Studio expands -mt to -D_REENTRANT and -lthread
- # gcc expands -pthreads to -D_REENTRANT -D_PTHREADS -lpthread
- G_THREAD_CFLAGS="-D_REENTRANT -D_PTHREADS"
- G_THREAD_LIBS="-lpthread -lthread"
- ;;
- *)
- for flag in pthread pthreads mt; do
- glib_save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -$flag"
- AC_TRY_RUN(glib_thread_test(0),
- glib_flag_works=yes,
- glib_flag_works=no,
- [AC_LINK_IFELSE(glib_thread_test(0),
- glib_flag_works=yes,
- glib_flag_works=no)])
- CFLAGS="$glib_save_CFLAGS"
- if test $glib_flag_works = yes ; then
- G_THREAD_CFLAGS=-$flag
- G_THREAD_LIBS=-$flag
- break;
- fi
- done
- ;;
- esac
- fi
-
- if test x"$G_THREAD_CFLAGS" = x; then
-
- # The canonical -pthread[s] does not work. Try something different.
-
- case $host in
- *-aix*)
- if test x"$GCC" = xyes; then
- # GCC 3.0 and above needs -pthread.
- # Should be coverd by the case above.
- # GCC 2.x and below needs -mthreads
- G_THREAD_CFLAGS="-mthreads"
- G_THREAD_LIBS=$G_THREAD_CFLAGS
- else
- # We are probably using the aix compiler. Normaly a
- # program would have to be compiled with the _r variant
- # of the corresponding compiler, but we as GLib cannot
- # do that: but the good news is that for compiling the
- # only difference is the added -D_THREAD_SAFE compile
- # option. This is according to the "C for AIX User's
- # Guide".
- G_THREAD_CFLAGS="-D_THREAD_SAFE"
- fi
- ;;
- *-dg-dgux*) # DG/UX
- G_THREAD_CFLAGS="-D_REENTRANT -D_POSIX4A_DRAFT10_SOURCE"
- ;;
- *-osf*)
- # So we are using dce threads. posix threads are already
- # catched above.
- G_THREAD_CFLAGS="-threads"
- G_THREAD_LIBS=$G_THREAD_CFLAGS
- ;;
- *-sysv5uw7*) # UnixWare 7
- # We are not using gcc with -pthread. Catched above.
- G_THREAD_CFLAGS="-Kthread"
- G_THREAD_LIBS=$G_THREAD_CFLAGS
- ;;
- *-mingw*)
- # No flag needed when using MSVCRT.DLL
- G_THREAD_CFLAGS=""
- ;;
- *)
- G_THREAD_CFLAGS="-D_REENTRANT" # good default guess otherwise
- ;;
- esac
-
- fi
-
- # if we are not finding the localtime_r function, then we probably are
- # not using the proper multithread flag
-
- glib_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $G_THREAD_CFLAGS"
-
- # First we test, whether localtime_r is declared in time.h
- # directly. Then we test whether a macro localtime_r exists, in
- # which case localtime_r in the test program is replaced and thus
- # if we still find localtime_r in the output, it is not defined as
- # a macro.
-
- AC_EGREP_CPP([[^a-zA-Z1-9_]localtime_r[^a-zA-Z1-9_]], [#include <time.h>], ,
- [AC_EGREP_CPP([[^a-zA-Z1-9_]localtime_r[^a-zA-Z1-9_]], [#include <time.h>
- localtime_r(a,b)],
- AC_MSG_WARN($FLAG_DOES_NOT_WORK))])
-
- CPPFLAGS="$glib_save_CPPFLAGS"
-
- AC_MSG_CHECKING(thread related cflags)
- AC_MSG_RESULT($G_THREAD_CFLAGS)
- CPPFLAGS="$CPPFLAGS $G_THREAD_CFLAGS"
-fi
-
-dnl determination of G_THREAD_LIBS
-dnl ******************************
-
-mutex_has_default=no
-case $have_threads in
- posix|dce)
- glib_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
- if test x"$G_THREAD_LIBS" = x; then
- case $host in
- *-aix*)
- # We are not using gcc (would have set G_THREAD_LIBS) and thus
- # probably using the aix compiler.
- AC_MSG_WARN($AIX_COMPILE_INFO)
- ;;
- *)
- G_THREAD_LIBS=error
- glib_save_LIBS="$LIBS"
- for thread_lib in "" pthread pthread32 pthreads thread dce; do
- if test x"$thread_lib" = x; then
- add_thread_lib=""
- IN=""
- else
- add_thread_lib="-l$thread_lib"
- IN=" in -l$thread_lib"
- fi
- if test x"$have_threads" = xposix; then
- defattr=0
- else
- defattr=pthread_attr_default
- fi
-
- LIBS="$add_thread_lib $glib_save_LIBS"
-
- AC_MSG_CHECKING(for pthread_create/pthread_join$IN)
- AC_TRY_RUN(glib_thread_test($defattr),
- glib_result=yes,
- glib_result=no,
- [AC_LINK_IFELSE(glib_thread_test($defattr),
- glib_result=yes,
- glib_result=no)])
- AC_MSG_RESULT($glib_result)
-
- if test "$glib_result" = "yes" ; then
- G_THREAD_LIBS="$add_thread_lib"
- break
- fi
- done
- if test "x$G_THREAD_LIBS" = xerror; then
- AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2)
- fi
- LIBS="$glib_save_LIBS"
- ;;
- esac
- fi
-
- glib_save_LIBS="$LIBS"
- for thread_lib in "" rt rte; do
- if test x"$thread_lib" = x; then
- add_thread_lib=""
- IN=""
- else
- add_thread_lib="-l$thread_lib"
- IN=" in -l$thread_lib"
- fi
- LIBS="$add_thread_lib $glib_save_LIBS"
-
- AC_MSG_CHECKING(for sched_get_priority_min$IN)
- AC_TRY_RUN(glib_sched_priority_test,
- glib_result=yes,
- glib_result=no,
- [AC_LINK_IFELSE(glib_sched_priority_test,
- glib_result=yes,
- glib_result=no)])
- AC_MSG_RESULT($glib_result)
-
- if test "$glib_result" = "yes" ; then
- G_THREAD_LIBS="$G_THREAD_LIBS $add_thread_lib"
- posix_priority_min="sched_get_priority_min(SCHED_OTHER)"
- posix_priority_max="sched_get_priority_max(SCHED_OTHER)"
- break
- fi
- done
- LIBS="$glib_save_LIBS"
- mutex_has_default=yes
- mutex_default_type='pthread_mutex_t'
- mutex_default_init='PTHREAD_MUTEX_INITIALIZER'
- mutex_header_file='pthread.h'
- if test "x$have_threads" = "xposix"; then
- g_threads_impl="POSIX"
- else
- g_threads_impl="DCE"
- have_threads="posix"
- fi
- AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
- CPPFLAGS="$glib_save_CPPFLAGS"
- ;;
- win32)
- g_threads_impl="WIN32"
- ;;
- none|no)
- g_threads_impl="NONE"
- ;;
- *)
- g_threads_impl="NONE"
- G_THREAD_LIBS=error
- ;;
-esac
-
-if test "x$G_THREAD_LIBS" = xerror; then
- AC_MSG_ERROR($LIBS_NOT_FOUND_1$have_threads$LIBS_NOT_FOUND_2)
-fi
-
-case $host in
- *-*-beos*)
- G_THREAD_LIBS="-lbe -lroot -lglib-2.0 "
- G_THREAD_LIBS_EXTRA="-L\$(top_builddir_full)/.libs"
- ;;
- *)
- ;;
-esac
-
-AC_MSG_CHECKING(thread related libraries)
-AC_MSG_RESULT($G_THREAD_LIBS)
-
-dnl check for mt safe function variants and some posix functions
-dnl ************************************************************
-
-if test x"$have_threads" != xno; then
- glib_save_LIBS="$LIBS"
- # we are not doing the following for now, as this might require glib
- # to always be linked with the thread libs on some platforms.
- # LIBS="$LIBS $G_THREAD_LIBS"
- AC_CHECK_FUNCS(localtime_r gmtime_r)
- if test "$ac_cv_header_pwd_h" = "yes"; then
- AC_CACHE_CHECK([for posix getpwuid_r],
- ac_cv_func_posix_getpwuid_r,
- [AC_TRY_RUN([
-#include <errno.h>
-#include <pwd.h>
-int main () {
- char buffer[10000];
- struct passwd pwd, *pwptr = &pwd;
- int error;
- errno = 0;
- error = getpwuid_r (0, &pwd, buffer,
- sizeof (buffer), &pwptr);
- return (error < 0 && errno == ENOSYS)
- || error == ENOSYS;
-} ],
- [ac_cv_func_posix_getpwuid_r=yes],
- [ac_cv_func_posix_getpwuid_r=no])])
- GLIB_ASSERT_SET(ac_cv_func_posix_getpwuid_r)
- if test "$ac_cv_func_posix_getpwuid_r" = yes; then
- AC_DEFINE(HAVE_POSIX_GETPWUID_R,1,
- [Have POSIX function getpwuid_r])
- else
- AC_CACHE_CHECK([for nonposix getpwuid_r],
- ac_cv_func_nonposix_getpwuid_r,
- [AC_TRY_LINK([#include <pwd.h>],
- [char buffer[10000];
- struct passwd pwd;
- getpwuid_r (0, &pwd, buffer,
- sizeof (buffer));],
- [ac_cv_func_nonposix_getpwuid_r=yes],
- [ac_cv_func_nonposix_getpwuid_r=no])])
- GLIB_ASSERT_SET(ac_cv_func_nonposix_getpwuid_r)
- if test "$ac_cv_func_nonposix_getpwuid_r" = yes; then
- AC_DEFINE(HAVE_NONPOSIX_GETPWUID_R,1,
- [Have non-POSIX function getpwuid_r])
- fi
- fi
- fi
- if test "$ac_cv_header_grp_h" = "yes"; then
- AC_CACHE_CHECK([for posix getgrgid_r],
- ac_cv_func_posix_getgrgid_r,
- [AC_TRY_RUN([
-#include <errno.h>
-#include <grp.h>
-int main () {
- char buffer[10000];
- struct group grp, *grpptr = &grp;
- int error;
- errno = 0;
- error = getgrgid_r (0, &grp, buffer,
- sizeof (buffer), &grpptr);
- return (error < 0 && errno == ENOSYS)
- || error == ENOSYS;
-} ],
- [ac_cv_func_posix_getgrgid_r=yes],
- [ac_cv_func_posix_getgrgid_r=no])])
- GLIB_ASSERT_SET(ac_cv_func_posix_getgrgid_r)
- if test "$ac_cv_func_posix_getgrgid_r" = yes; then
- AC_DEFINE(HAVE_POSIX_GETGRGID_R,1,
- [Have POSIX function getgrgid_r])
- else
- AC_CACHE_CHECK([for nonposix getgrgid_r],
- ac_cv_func_nonposix_getgrgid_r,
- [AC_TRY_LINK([#include <grp.h>],
- [char buffer[10000];
- struct group grp;
- getgrgid_r (0, &grp, buffer,
- sizeof (buffer));],
- [ac_cv_func_nonposix_getgrgid_r=yes],
- [ac_cv_func_nonposix_getgrgid_r=no])])
- GLIB_ASSERT_SET(ac_cv_func_nonposix_getgrgid_r)
- if test "$ac_cv_func_nonposix_getgrgid_r" = yes; then
- AC_DEFINE(HAVE_NONPOSIX_GETGRGID_R,1,
- [Have non-POSIX function getgrgid_r])
- fi
- fi
- fi
- LIBS="$G_THREAD_LIBS $LIBS"
- if test x"$have_threads" = xposix; then
- glib_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
- dnl we might grow sizeof(pthread_t) later on, so use a dummy name here
- GLIB_SIZEOF([#include <pthread.h>], pthread_t, system_thread)
- # This is not AC_CHECK_FUNC to also work with function
- # name mangling in header files.
- AC_MSG_CHECKING(for pthread_attr_setstacksize)
- AC_TRY_LINK([#include <pthread.h>],
- [pthread_attr_t t; pthread_attr_setstacksize(&t,0)],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE,1,
- [Have function pthread_attr_setstacksize])],
- [AC_MSG_RESULT(no)])
- AC_MSG_CHECKING(for minimal/maximal thread priority)
- if test x"$posix_priority_min" = x; then
- AC_EGREP_CPP(PX_PRIO_MIN,[#include <pthread.h>
- PX_PRIO_MIN],,[
- posix_priority_min=PX_PRIO_MIN
- posix_priority_max=PX_PRIO_MAX])
- fi
- if test x"$posix_priority_min" = x; then
- # AIX
- AC_EGREP_CPP(PTHREAD_PRIO_MIN,[#include <pthread.h>
- PTHREAD_PRIO_MIN],,[
- posix_priority_min=PTHREAD_PRIO_MIN
- posix_priority_max=PTHREAD_PRIO_MAX])
- fi
- if test x"$posix_priority_min" = x; then
- AC_EGREP_CPP(PRI_OTHER_MIN,[#include <pthread.h>
- PRI_OTHER_MIN],,[
- posix_priority_min=PRI_OTHER_MIN
- posix_priority_max=PRI_OTHER_MAX])
- fi
- if test x"$posix_priority_min" = x; then
- AC_MSG_RESULT(none found)
- AC_MSG_WARN($POSIX_NO_PRIORITIES)
- posix_priority_min=-1
- posix_priority_max=-1
- else
- AC_MSG_RESULT($posix_priority_min/$posix_priority_max)
- AC_MSG_CHECKING(for pthread_setschedparam)
- AC_TRY_LINK([#include <pthread.h>],
- [pthread_t t; pthread_setschedparam(t, 0, NULL)],
- [AC_MSG_RESULT(yes)
- AC_DEFINE_UNQUOTED(POSIX_MIN_PRIORITY,$posix_priority_min,[Minimum POSIX RT priority])
- AC_DEFINE_UNQUOTED(POSIX_MAX_PRIORITY,$posix_priority_max,[Maximum POSIX RT priority])],
- [AC_MSG_RESULT(no)
- AC_MSG_WARN($POSIX_NO_PRIORITIES)])
- fi
- posix_yield_func=none
- AC_MSG_CHECKING(for posix yield function)
- for yield_func in sched_yield pthread_yield_np pthread_yield \
- thr_yield; do
- AC_TRY_LINK([#include <pthread.h>],
- [$yield_func()],
- [posix_yield_func="$yield_func"
- break])
- done
- if test x"$posix_yield_func" = xnone; then
- AC_MSG_RESULT(none found)
- AC_MSG_WARN($POSIX_NO_YIELD)
- posix_yield_func="g_usleep(1000)"
- else
- AC_MSG_RESULT($posix_yield_func)
- posix_yield_func="$posix_yield_func()"
- fi
- AC_DEFINE_UNQUOTED(POSIX_YIELD_FUNC,$posix_yield_func,[The POSIX RT yield function])
- CPPFLAGS="$glib_save_CPPFLAGS"
-
- elif test x"$have_threads" = xwin32; then
- # It's a pointer to a private struct
- GLIB_SIZEOF(,struct _GThreadData *, system_thread)
- fi
-
- LIBS="$glib_save_LIBS"
-
- # now spit out all the warnings.
- if test "$ac_cv_func_posix_getpwuid_r" != "yes" &&
- test "$ac_cv_func_nonposix_getpwuid_r" != "yes"; then
- AC_MSG_WARN($FUNC_NO_GETPWUID_R)
- fi
- if test "$ac_cv_func_localtime_r" != "yes"; then
- AC_MSG_WARN($FUNC_NO_LOCALTIME_R)
- fi
-fi
-
-if test x"$glib_cv_sizeof_system_thread" = x; then
- # use a pointer as a fallback.
- GLIB_SIZEOF(,void *, system_thread)
-fi
-
-#
-# Hack to deal with:
-#
-# a) GCC < 3.3 for Linux doesn't include -lpthread when
-# building shared libraries with linux.
-# b) FreeBSD doesn't do this either.
-#
-case $host in
- *-*-freebsd*|*-*-linux*)
- G_THREAD_LIBS_FOR_GTHREAD="`echo $G_THREAD_LIBS | sed s/-pthread/-lpthread/`"
- ;;
- *)
- G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS"
- ;;
-esac
-
-AM_CONDITIONAL(HAVE_THREADS, [test "$have_threads" != "none"])
-AC_DEFINE_UNQUOTED(G_THREAD_SOURCE,"gthread-$have_threads.c",
- [Source file containing theread implementation])
-AC_SUBST(G_THREAD_CFLAGS)
-AC_SUBST(G_THREAD_LIBS)
-AC_SUBST(G_THREAD_LIBS_FOR_GTHREAD)
-AC_SUBST(G_THREAD_LIBS_EXTRA)
-
-dnl **********************************************
-dnl *** GDefaultMutex setup and initialization ***
-dnl **********************************************
-dnl
-dnl if mutex_has_default = yes, we also got
-dnl mutex_default_type, mutex_default_init and mutex_header_file
-if test $mutex_has_default = yes ; then
- glib_save_CPPFLAGS="$CPPFLAGS"
- glib_save_LIBS="$LIBS"
- LIBS="$G_THREAD_LIBS $LIBS"
- CPPFLAGS="$CPPFLAGS $GTHREAD_COMPILE_IMPL_DEFINES"
- GLIB_SIZEOF([#include <$mutex_header_file>],
- $mutex_default_type,
- gmutex)
- GLIB_BYTE_CONTENTS([#include <$mutex_header_file>],
- $mutex_default_type,
- gmutex,
- $glib_cv_sizeof_gmutex,
- $mutex_default_init)
- if test x"$glib_cv_byte_contents_gmutex" = xno; then
- mutex_has_default=no
- fi
- CPPFLAGS="$glib_save_CPPFLAGS"
- LIBS="$glib_save_LIBS"
-fi
-
-AC_CHECK_FUNCS(clock_gettime, [], [
- AC_CHECK_LIB(rt, clock_gettime, [
- AC_DEFINE(HAVE_CLOCK_GETTIME, 1)
- G_THREAD_LIBS="$G_THREAD_LIBS -lrt"
- G_THREAD_LIBS_FOR_GTHREAD="$G_THREAD_LIBS_FOR_GTHREAD -lrt"
- ])
-])
-
-AC_CACHE_CHECK(for monotonic clocks,
- glib_cv_monotonic_clock,AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
-#include <time.h>
-#include <unistd.h>
-int main() {
-#if !(defined(_POSIX_MONOTONIC_CLOCK) && _POSIX_MONOTONIC_CLOCK >= 0 && defined(CLOCK_MONOTONIC))
- #error No monotonic clock
-#endif
- return 0;
-}
-]])],glib_cv_monotonic_clock=yes,glib_cv_monotonic_clock=no))
-if test "$glib_cv_monotonic_clock" = "yes"; then
- AC_DEFINE(HAVE_MONOTONIC_CLOCK,1,[Have a monotonic clock])
-fi
-
-
-dnl ********************************
-dnl *** g_atomic_* tests for gcc ***
-dnl ********************************
-
-AC_MSG_CHECKING([whether to use assembler code for atomic operations])
-
-glib_cv_gcc_has_builtin_atomic_operations=no
-if test x"$GCC" = xyes; then
- AC_MSG_CHECKING([whether GCC supports build-in atomic intrinsics])
- AC_TRY_LINK([],
- [int i;
- __sync_synchronize ();
- __sync_bool_compare_and_swap (&i, 0, 1);
- __sync_fetch_and_add (&i, 1);
- ],
- [glib_cv_gcc_has_builtin_atomic_operations=yes],
- [glib_cv_gcc_has_builtin_atomic_operations=no])
-
- AC_MSG_RESULT($glib_cv_gcc_has_builtin_atomic_operations)
- if test $glib_cv_gcc_has_builtin_atomic_operations = yes; then
- glib_memory_barrier_needed=yes
- else
- case $host_cpu in
- i386)
- AC_MSG_RESULT([none])
- glib_memory_barrier_needed=no
- ;;
- i?86)
- AC_MSG_RESULT([i486])
- AC_DEFINE_UNQUOTED(G_ATOMIC_I486, 1,
- [i486 atomic implementation])
- glib_memory_barrier_needed=no
- ;;
- sparc*)
- SPARCV9_WARNING="Try to rerun configure with CFLAGS='-mcpu=v9',
- when you are using a sparc with v9 instruction set (most
- sparcs nowadays). This will make the code for atomic
- operations much faster. The resulting code will not run
- on very old sparcs though."
-
- AC_LINK_IFELSE([[
- main ()
- {
- int tmp1, tmp2, tmp3;
- __asm__ __volatile__("casx [%2], %0, %1"
- : "=&r" (tmp1), "=&r" (tmp2) : "r" (&tmp3));
- }]],
- AC_MSG_RESULT([sparcv9])
- AC_DEFINE_UNQUOTED(G_ATOMIC_SPARCV9, 1,
- [sparcv9 atomic implementation]),
- AC_MSG_RESULT([no])
- AC_MSG_WARN([[$SPARCV9_WARNING]]))
- glib_memory_barrier_needed=yes
- ;;
- alpha*)
- AC_MSG_RESULT([alpha])
- AC_DEFINE_UNQUOTED(G_ATOMIC_ALPHA, 1,
- [alpha atomic implementation])
- glib_memory_barrier_needed=yes
- ;;
- x86_64)
- AC_MSG_RESULT([x86_64])
- AC_DEFINE_UNQUOTED(G_ATOMIC_X86_64, 1,
- [x86_64 atomic implementation])
- glib_memory_barrier_needed=no
- ;;
- powerpc*)
- AC_MSG_RESULT([powerpc])
- AC_DEFINE_UNQUOTED(G_ATOMIC_POWERPC, 1,
- [powerpc atomic implementation])
- glib_memory_barrier_needed=yes
- AC_MSG_CHECKING([whether asm supports numbered local labels])
- AC_TRY_COMPILE(
- ,[
- __asm__ __volatile__ ("1: nop\n"
- " bne- 1b")
- ],[
- AC_DEFINE_UNQUOTED(ASM_NUMERIC_LABELS, 1, [define if asm blocks can use numeric local labels])
- AC_MSG_RESULT([yes])
- ],[
- AC_MSG_RESULT([no])
- ])
- ;;
- ia64)
- AC_MSG_RESULT([ia64])
- AC_DEFINE_UNQUOTED(G_ATOMIC_IA64, 1,
- [ia64 atomic implementation])
- glib_memory_barrier_needed=yes
- ;;
- s390|s390x)
- AC_MSG_RESULT([s390])
- AC_DEFINE_UNQUOTED(G_ATOMIC_S390, 1,
- [s390 atomic implementation])
- glib_memory_barrier_needed=no
- ;;
- arm*)
- AC_MSG_RESULT([arm])
- AC_DEFINE_UNQUOTED(G_ATOMIC_ARM, 1,
- [arm atomic implementation])
- glib_memory_barrier_needed=no
- ;;
- crisv32*|etraxfs*)
- AC_MSG_RESULT([crisv32])
- AC_DEFINE_UNQUOTED(G_ATOMIC_CRISV32, 1,
- [crisv32 atomic implementation])
- glib_memory_barrier_needed=no
- ;;
- cris*|etrax*)
- AC_MSG_RESULT([cris])
- AC_DEFINE_UNQUOTED(G_ATOMIC_CRIS, 1,
- [cris atomic implementation])
- glib_memory_barrier_needed=no
- ;;
- *)
- AC_MSG_RESULT([none])
- glib_memory_barrier_needed=yes
- ;;
- esac
- fi
-else
- if test $glib_native_win32 = yes; then
- # For Windows but not using gcc. No barriers needed then either.
- glib_memory_barrier_needed=no
- fi
-fi
-
-AM_CONDITIONAL(HAVE_GCC_BUILTINS_FOR_ATOMIC_OPERATIONS,
- [test $glib_cv_gcc_has_builtin_atomic_operations = yes])
-
-dnl ************************
-dnl ** Check for futex(2) **
-dnl ************************
-AC_MSG_CHECKING([for futex(2) system call])
-AC_COMPILE_IFELSE([
-#include <linux/futex.h>
-#include <syscall.h>
-#include <unistd.h>
-
-int
-main (void)
-{
- /* it's not like this actually runs or anything... */
- syscall (SYS_futex, NULL, FUTEX_WAKE, FUTEX_WAIT);
- return 0;
-}
-],
-[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_FUTEX, [test "$have_futex" = "yes"],
- [we have the futex(2) system call])
-],
-[
- AC_MSG_RESULT(no)
-])
-
-dnl ****************************************
-dnl *** GLib POLL* compatibility defines ***
-dnl ****************************************
-
-glib_poll_includes=["
-#include <sys/types.h>
-#include <sys/poll.h>
-"]
-
-if test $ac_cv_header_sys_types_h = yes &&
- test $ac_cv_header_sys_poll_h = yes ; then
- glib_failed=false
- GLIB_CHECK_VALUE(POLLIN, $glib_poll_includes, glib_failed=true)
- GLIB_CHECK_VALUE(POLLOUT, $glib_poll_includes, glib_failed=true)
- GLIB_CHECK_VALUE(POLLPRI, $glib_poll_includes, glib_failed=true)
- GLIB_CHECK_VALUE(POLLERR, $glib_poll_includes, glib_failed=true)
- GLIB_CHECK_VALUE(POLLHUP, $glib_poll_includes, glib_failed=true)
- GLIB_CHECK_VALUE(POLLNVAL, $glib_poll_includes, glib_failed=true)
- if $glib_failed ; then
- AC_MSG_ERROR([Could not determine values for POLL* constants])
- fi
-else
- glib_cv_value_POLLIN=1
- glib_cv_value_POLLOUT=4
- glib_cv_value_POLLPRI=2
- glib_cv_value_POLLERR=8
- glib_cv_value_POLLHUP=16
- glib_cv_value_POLLNVAL=32
-fi
-
-AC_MSG_CHECKING([for broken poll])
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <stdlib.h>
- #include <fcntl.h>
- #include <poll.h>
- #ifdef HAVE_SYS_POLL_H
- #include <sys/poll.h>
- #endif
- int main(void) {
- struct pollfd fds[1];
- int fd;
- fd = open("/dev/null", 1);
- fds[0].fd = fd;
- fds[0].events = POLLIN;
- fds[0].revents = 0;
- if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) {
- exit(1); /* Does not work for devices -- fail */
- }
- exit(0);
- }]])],
- [broken_poll=no],
- [broken_poll=yes
- AC_DEFINE(BROKEN_POLL,1,[poll doesn't work on devices])],
- [broken_poll="no (cross compiling)"])
-AC_MSG_RESULT($broken_poll)
-
-dnl *********************
-dnl *** GRegex checks ***
-dnl *********************
-PCRE_REQUIRED_VERSION=7.2
-
-# Check if we should compile GRegex
-AC_ARG_ENABLE(regex, AC_HELP_STRING([--disable-regex],
- [disable the compilation of GRegex]),
-[case "${enableval}" in
- yes) enable_regex=true ;;
- no) enable_regex=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-regex) ;;
-esac],
-[enable_regex=true])
-
-AM_CONDITIONAL(ENABLE_REGEX, $enable_regex)
-
-if test x$enable_regex = xtrue; then
- AC_DEFINE(ENABLE_REGEX, [], [include GRegex])
- # Check if we should use the internal or the system-supplied pcre
- AC_ARG_WITH(pcre,
- [AC_HELP_STRING([--with-pcre=@<:@internal/system@:>@],
- [specify whether to use the internal or the
- system-supplied PCRE library])])
-
- AM_CONDITIONAL(USE_SYSTEM_PCRE, [test "x$with_pcre" = xsystem])
-
- if test "x$with_pcre" = xsystem; then
- PKG_CHECK_MODULES(PCRE,
- libpcre >= $PCRE_REQUIRED_VERSION)
- AC_CACHE_CHECK([for Unicode support in PCRE],glib_cv_pcre_has_unicode,[
- glib_save_CFLAGS="$CFLAGS"
- glib_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $PCRE_CFLAGS" LIBS="$PCRE_LIBS"
- AC_TRY_RUN([#include <pcre.h>
- int main () {
- int support;
- pcre_config (PCRE_CONFIG_UTF8, &support);
- if (!support)
- return 1;
- pcre_config (PCRE_CONFIG_UNICODE_PROPERTIES, &support);
- if (!support)
- return 1;
- return 0;
- }],
- glib_cv_pcre_has_unicode=yes,
- glib_cv_pcre_has_unicode=no,
- glib_cv_pcre_has_unicode=yes)
- CFLAGS="$glib_save_CFLAGS"
- LIBS="$glib_save_LIBS"
- ])
- if test "$glib_cv_pcre_has_unicode" = "no"; then
- AC_MSG_ERROR([*** The system-supplied PCRE does not support Unicode properties or UTF-8.])
- fi
- AC_SUBST(PCRE_CFLAGS)
- AC_SUBST(PCRE_LIBS)
- AC_DEFINE(USE_SYSTEM_PCRE, [], [using the system-supplied PCRE library])
- PCRE_REQUIRES=libpcre
- AC_SUBST(PCRE_REQUIRES)
- else
- # If using gcc 4 pass -Wno-pointer-sign when compiling the internal PCRE
- if test x"$GCC" = xyes; then
- AC_MSG_CHECKING([whether compiler understands -Wno-pointer-sign])
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -Wno-pointer-sign"
- AC_TRY_COMPILE([],[],[PCRE_WARN_CFLAGS="$PCRE_WARN_CFLAGS -Wno-pointer-sign"
- AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
- CFLAGS="$save_CFLAGS"
- fi
- fi
- AC_SUBST(PCRE_WARN_CFLAGS)
-else
- AM_CONDITIONAL(USE_SYSTEM_PCRE, false])
-fi
-
-dnl **********************
-dnl *** Win32 API libs ***
-dnl **********************
-
-case $host in
- *-*-cygwin*)
- G_LIBS_EXTRA="-luser32 -lkernel32"
- ;;
- *-*-mingw*)
- G_LIBS_EXTRA="-lws2_32 -lole32"
- ;;
- *)
- G_LIBS_EXTRA=""
- ;;
-esac
-AC_SUBST(G_LIBS_EXTRA)
-
-dnl If the system doesn't define EILSEQ, we should define EILSEQ ourselves
-dnl since we need it for g_iconv()
-
-AC_MSG_CHECKING([for EILSEQ])
-AC_TRY_COMPILE([
-#include <errno.h>
-],
-[
-int error = EILSEQ;
-], have_eilseq=yes, have_eilseq=no);
-AC_MSG_RESULT($have_eilseq)
-
-dnl ******************************************************************
-dnl *** Look for glib-genmarshal in PATH if we are cross-compiling ***
-dnl ******************************************************************
-
-AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
-
-if test $cross_compiling = yes; then
- AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal, no)
- if test x$GLIB_GENMARSHAL = xno; then
- AC_MSG_ERROR(Could not find a glib-genmarshal in your PATH)
- fi
-fi
-
-dnl **************************
-dnl *** Checks for gtk-doc ***
-dnl **************************
-
-GTK_DOC_CHECK([1.11])
-
-AC_ARG_ENABLE(man,
- [AC_HELP_STRING([--enable-man],
- [regenerate man pages from Docbook [default=no]])],enable_man=yes,
- enable_man=no)
-
-if test "${enable_man}" != no; then
-dnl
-dnl Check for xsltproc
-dnl
-AC_PATH_PROG([XSLTPROC], [xsltproc])
- if test -z "$XSLTPROC"; then
- enable_man=no
- fi
-
- dnl check for DocBook DTD and stylesheets in the local catalog.
- JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
- [DocBook XML DTD V4.1.2],,enable_man=no)
- JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
- [DocBook XSL Stylesheets],,enable_man=no)
-fi
-
-AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
-
-dnl ******************************
-dnl *** output the whole stuff ***
-dnl ******************************
-
-dnl this section will only be run if config.status is invoked with no
-dnl arguments, or with "glibconfig.h" as an argument.
-AC_CONFIG_COMMANDS([glibconfig.h],
-[
- outfile=glibconfig.h-tmp
- cat > $outfile <<\_______EOF
-/* glibconfig.h
- *
- * This is a generated file. Please modify 'configure.in'
- */
-
-#ifndef __G_LIBCONFIG_H__
-#define __G_LIBCONFIG_H__
-
-#include <glib/gmacros.h>
-
-_______EOF
-
- if test x$glib_limits_h = xyes; then
- echo '#include <limits.h>' >> $outfile
- fi
- if test x$glib_float_h = xyes; then
- echo '#include <float.h>' >> $outfile
- fi
- if test x$glib_values_h = xyes; then
- echo '#include <values.h>' >> $outfile
- fi
- if test "$glib_header_alloca_h" = "yes"; then
- echo '#define GLIB_HAVE_ALLOCA_H' >> $outfile
- fi
- if test x$glib_sys_poll_h = xyes; then
- echo '#define GLIB_HAVE_SYS_POLL_H' >> $outfile
- fi
- if test x$glib_included_printf != xyes; then
- echo "
-/* Specifies that GLib's g_print*() functions wrap the
- * system printf functions. This is useful to know, for example,
- * when using glibc's register_printf_function().
- */" >> $outfile
- echo '#define GLIB_USING_SYSTEM_PRINTF' >> $outfile
- fi
-
- cat >> $outfile <<_______EOF
-
-G_BEGIN_DECLS
-
-#define G_MINFLOAT $glib_mf
-#define G_MAXFLOAT $glib_Mf
-#define G_MINDOUBLE $glib_md
-#define G_MAXDOUBLE $glib_Md
-#define G_MINSHORT $glib_ms
-#define G_MAXSHORT $glib_Ms
-#define G_MAXUSHORT $glib_Mus
-#define G_MININT $glib_mi
-#define G_MAXINT $glib_Mi
-#define G_MAXUINT $glib_Mui
-#define G_MINLONG $glib_ml
-#define G_MAXLONG $glib_Ml
-#define G_MAXULONG $glib_Mul
-
-_______EOF
-
-
- ### this should always be true in a modern C/C++ compiler
- cat >>$outfile <<_______EOF
-typedef signed char gint8;
-typedef unsigned char guint8;
-_______EOF
-
-
- if test -n "$gint16"; then
- cat >>$outfile <<_______EOF
-typedef signed $gint16 gint16;
-typedef unsigned $gint16 guint16;
-#define G_GINT16_MODIFIER $gint16_modifier
-#define G_GINT16_FORMAT $gint16_format
-#define G_GUINT16_FORMAT $guint16_format
-_______EOF
- fi
-
-
- if test -n "$gint32"; then
- cat >>$outfile <<_______EOF
-typedef signed $gint32 gint32;
-typedef unsigned $gint32 guint32;
-#define G_GINT32_MODIFIER $gint32_modifier
-#define G_GINT32_FORMAT $gint32_format
-#define G_GUINT32_FORMAT $guint32_format
-_______EOF
- fi
-
- cat >>$outfile <<_______EOF
-#define G_HAVE_GINT64 1 /* deprecated, always true */
-
-${glib_extension}typedef signed $gint64 gint64;
-${glib_extension}typedef unsigned $gint64 guint64;
-
-#define G_GINT64_CONSTANT(val) $gint64_constant
-#define G_GUINT64_CONSTANT(val) $guint64_constant
-_______EOF
-
- if test x$gint64_format != x ; then
- cat >>$outfile <<_______EOF
-#define G_GINT64_MODIFIER $gint64_modifier
-#define G_GINT64_FORMAT $gint64_format
-#define G_GUINT64_FORMAT $guint64_format
-_______EOF
- else
- cat >>$outfile <<_______EOF
-#undef G_GINT64_MODIFIER
-#undef G_GINT64_FORMAT
-#undef G_GUINT64_FORMAT
-_______EOF
- fi
-
- cat >>$outfile <<_______EOF
-
-#define GLIB_SIZEOF_VOID_P $glib_void_p
-#define GLIB_SIZEOF_LONG $glib_long
-#define GLIB_SIZEOF_SIZE_T $glib_size_t
-
-_______EOF
-
- cat >>$outfile <<_______EOF
-typedef signed $glib_size_type_define gssize;
-typedef unsigned $glib_size_type_define gsize;
-#define G_GSIZE_MODIFIER $gsize_modifier
-#define G_GSSIZE_FORMAT $gssize_format
-#define G_GSIZE_FORMAT $gsize_format
-
-#define G_MAXSIZE G_MAXU$glib_msize_type
-#define G_MINSSIZE G_MIN$glib_msize_type
-#define G_MAXSSIZE G_MAX$glib_msize_type
-
-typedef gint64 goffset;
-#define G_MINOFFSET G_MININT64
-#define G_MAXOFFSET G_MAXINT64
-
-#define G_GOFFSET_MODIFIER G_GINT64_MODIFIER
-#define G_GOFFSET_FORMAT G_GINT64_FORMAT
-#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val)
-
-_______EOF
-
- if test -z "$glib_unknown_void_p"; then
- cat >>$outfile <<_______EOF
-
-#define GPOINTER_TO_INT(p) ((gint) ${glib_gpi_cast} (p))
-#define GPOINTER_TO_UINT(p) ((guint) ${glib_gpui_cast} (p))
-
-#define GINT_TO_POINTER(i) ((gpointer) ${glib_gpi_cast} (i))
-#define GUINT_TO_POINTER(u) ((gpointer) ${glib_gpui_cast} (u))
-
-typedef signed $glib_intptr_type_define gintptr;
-typedef unsigned $glib_intptr_type_define guintptr;
-
-#define G_GINTPTR_MODIFIER $gintptr_modifier
-#define G_GINTPTR_FORMAT $gintptr_format
-#define G_GUINTPTR_FORMAT $guintptr_format
-_______EOF
- else
- echo '#error SIZEOF_VOID_P unknown - This should never happen' >>$outfile
- fi
-
-
-
- cat >>$outfile <<_______EOF
-$glib_atexit
-$glib_memmove
-$glib_defines
-$glib_os
-$glib_static_compilation
-
-$glib_vacopy
-
-#ifdef __cplusplus
-#define G_HAVE_INLINE 1
-#else /* !__cplusplus */
-$glib_inline
-#endif /* !__cplusplus */
-
-#ifdef __cplusplus
-#define G_CAN_INLINE 1
-_______EOF
-
- if test x$g_can_inline = xyes ; then
- cat >>$outfile <<_______EOF
-#else /* !__cplusplus */
-#define G_CAN_INLINE 1
-_______EOF
- fi
-
- cat >>$outfile <<_______EOF
-#endif
-
-_______EOF
-
- if test x$g_have_iso_c_varargs = xyes ; then
- cat >>$outfile <<_______EOF
-#ifndef __cplusplus
-# define G_HAVE_ISO_VARARGS 1
-#endif
-_______EOF
- fi
- if test x$g_have_iso_cxx_varargs = xyes ; then
- cat >>$outfile <<_______EOF
-#ifdef __cplusplus
-# define G_HAVE_ISO_VARARGS 1
-#endif
-_______EOF
- fi
- if test x$g_have_gnuc_varargs = xyes ; then
- cat >>$outfile <<_______EOF
-
-/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
- * is passed ISO vararg support is turned off, and there is no work
- * around to turn it on, so we unconditionally turn it off.
- */
-#if __GNUC__ == 2 && __GNUC_MINOR__ == 95
-# undef G_HAVE_ISO_VARARGS
-#endif
-
-#define G_HAVE_GNUC_VARARGS 1
-_______EOF
- fi
-
- case x$g_stack_grows in
- xyes) echo "#define G_HAVE_GROWING_STACK 1" >>$outfile ;;
- *) echo "#define G_HAVE_GROWING_STACK 0" >>$outfile ;;
- esac
-
-
- echo >>$outfile
- if test x$g_have_eilseq = xno; then
- cat >>$outfile <<_______EOF
-#ifndef EILSEQ
-/* On some systems, like SunOS and NetBSD, EILSEQ is not defined.
- * The correspondence between this and the corresponding definition
- * in libiconv is essential.
- */
-# define EILSEQ ENOENT
-#endif
-_______EOF
-
- fi
-
- if test x$g_have_gnuc_visibility = xyes; then
- cat >>$outfile <<_______EOF
-#define G_HAVE_GNUC_VISIBILITY 1
-_______EOF
- fi
- cat >>$outfile <<_______EOF
-#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
-#define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
-#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
-#define G_GNUC_INTERNAL __hidden
-#elif defined (__GNUC__) && defined (G_HAVE_GNUC_VISIBILITY)
-#define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
-#else
-#define G_GNUC_INTERNAL
-#endif
-_______EOF
-
-
- echo >>$outfile
- if test x$g_mutex_has_default = xyes; then
- cat >>$outfile <<_______EOF
-$g_enable_threads_def G_THREADS_ENABLED
-#define G_THREADS_IMPL_$g_threads_impl_def
-typedef struct _GStaticMutex GStaticMutex;
-struct _GStaticMutex
-{
- struct _GMutex *runtime_mutex;
- union {
- char pad[[$g_mutex_sizeof]];
- double dummy_double;
- void *dummy_pointer;
- long dummy_long;
- } static_mutex;
-};
-#define G_STATIC_MUTEX_INIT { NULL, { { $g_mutex_contents} } }
-#define g_static_mutex_get_mutex(mutex) \\
- (g_thread_use_default_impl ? ((GMutex*)(gpointer) ((mutex)->static_mutex.pad)) : \\
- g_static_mutex_get_mutex_impl_shortcut (&((mutex)->runtime_mutex)))
-_______EOF
- else
- cat >>$outfile <<_______EOF
-$g_enable_threads_def G_THREADS_ENABLED
-#define G_THREADS_IMPL_$g_threads_impl_def
-typedef struct _GMutex* GStaticMutex;
-#define G_STATIC_MUTEX_INIT NULL
-#define g_static_mutex_get_mutex(mutex) \\
- (g_static_mutex_get_mutex_impl_shortcut (mutex))
-_______EOF
- fi
-
- cat >>$outfile <<_______EOF
-/* This represents a system thread as used by the implementation. An
- * alien implementaion, as loaded by g_thread_init can only count on
- * "sizeof (gpointer)" bytes to store their info. We however need more
- * for some of our native implementations. */
-typedef union _GSystemThread GSystemThread;
-union _GSystemThread
-{
- char data[[$g_system_thread_sizeof]];
- double dummy_double;
- void *dummy_pointer;
- long dummy_long;
-};
-_______EOF
- if test x"$g_memory_barrier_needed" != xno; then
- echo >>$outfile
- echo "#define G_ATOMIC_OP_MEMORY_BARRIER_NEEDED 1" >>$outfile
- fi
-
- echo >>$outfile
- g_bit_sizes="16 32 64"
- for bits in $g_bit_sizes; do
- cat >>$outfile <<_______EOF
-#define GINT${bits}_TO_${g_bs_native}(val) ((gint${bits}) (val))
-#define GUINT${bits}_TO_${g_bs_native}(val) ((guint${bits}) (val))
-#define GINT${bits}_TO_${g_bs_alien}(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val))
-#define GUINT${bits}_TO_${g_bs_alien}(val) (GUINT${bits}_SWAP_LE_BE (val))
-_______EOF
- done
-
- cat >>$outfile <<_______EOF
-#define GLONG_TO_LE(val) ((glong) GINT${glongbits}_TO_LE (val))
-#define GULONG_TO_LE(val) ((gulong) GUINT${glongbits}_TO_LE (val))
-#define GLONG_TO_BE(val) ((glong) GINT${glongbits}_TO_BE (val))
-#define GULONG_TO_BE(val) ((gulong) GUINT${glongbits}_TO_BE (val))
-#define GINT_TO_LE(val) ((gint) GINT${gintbits}_TO_LE (val))
-#define GUINT_TO_LE(val) ((guint) GUINT${gintbits}_TO_LE (val))
-#define GINT_TO_BE(val) ((gint) GINT${gintbits}_TO_BE (val))
-#define GUINT_TO_BE(val) ((guint) GUINT${gintbits}_TO_BE (val))
-#define GSIZE_TO_LE(val) ((gsize) GUINT${gsizebits}_TO_LE (val))
-#define GSSIZE_TO_LE(val) ((gssize) GINT${gsizebits}_TO_LE (val))
-#define GSIZE_TO_BE(val) ((gsize) GUINT${gsizebits}_TO_BE (val))
-#define GSSIZE_TO_BE(val) ((gssize) GINT${gsizebits}_TO_BE (val))
-#define G_BYTE_ORDER $g_byte_order
-
-#define GLIB_SYSDEF_POLLIN =$g_pollin
-#define GLIB_SYSDEF_POLLOUT =$g_pollout
-#define GLIB_SYSDEF_POLLPRI =$g_pollpri
-#define GLIB_SYSDEF_POLLHUP =$g_pollhup
-#define GLIB_SYSDEF_POLLERR =$g_pollerr
-#define GLIB_SYSDEF_POLLNVAL =$g_pollnval
-
-#define G_MODULE_SUFFIX "$g_module_suffix"
-
-/* A GPid is an abstraction for a process "handle". It is *not* an
- * abstraction for a process identifier in general. GPid is used in
- * GLib only for descendant processes spawned with the g_spawn*
- * functions. On POSIX there is no "process handle" concept as such,
- * but on Windows a GPid is a handle to a process, a kind of pointer,
- * not a process identifier.
- */
-typedef $g_pid_type GPid;
-
-#define GLIB_SYSDEF_AF_UNIX $g_af_unix
-#define GLIB_SYSDEF_AF_INET $g_af_inet
-#define GLIB_SYSDEF_AF_INET6 $g_af_inet6
-
-#define GLIB_SYSDEF_MSG_OOB $g_msg_oob
-#define GLIB_SYSDEF_MSG_PEEK $g_msg_peek
-#define GLIB_SYSDEF_MSG_DONTROUTE $g_msg_dontroute
-
-G_END_DECLS
-
-#endif /* GLIBCONFIG_H */
-_______EOF
-
-
- if cmp -s $outfile glibconfig.h; then
- AC_MSG_NOTICE([glibconfig.h is unchanged])
- rm -f $outfile
- else
- mv $outfile glibconfig.h
- fi
-],[
-
-# Note that if two cases are the same, case goes with the first one.
-# Note also that this is inside an AC_OUTPUT_COMMAND. We do not depend
-# on variable expansion in case labels. Look at the generated config.status
-# for a hint.
-
-if test "x${ac_cv_working_alloca_h+set}" = xset ; then
- glib_header_alloca_h="$ac_cv_working_alloca_h"
-else
- glib_header_alloca_h="$ac_cv_header_alloca_h"
-fi
-
-case xyes in
-x$ac_cv_header_float_h)
- glib_float_h=yes
- glib_mf=FLT_MIN glib_Mf=FLT_MAX
- glib_md=DBL_MIN glib_Md=DBL_MAX
- ;;
-x$ac_cv_header_values_h)
- glib_values_h=yes
- glib_mf=MINFLOAT glib_Mf=MAXFLOAT
- glib_md=MINDOUBLE glib_Md=MAXDOUBLE
- ;;
-esac
-
-case xyes in
-x$ac_cv_header_limits_h)
- glib_limits_h=yes
- glib_ms=SHRT_MIN glib_Ms=SHRT_MAX glib_Mus=USHRT_MAX
- glib_mi=INT_MIN glib_Mi=INT_MAX glib_Mui=UINT_MAX
- glib_ml=LONG_MIN glib_Ml=LONG_MAX glib_Mul=ULONG_MAX
- ;;
-x$ac_cv_header_values_h)
- glib_values_h=yes
- glib_ms=MINSHORT glib_Ms=MAXSHORT glib_Mus="(((gushort)G_MAXSHORT)*2+1)"
- glib_mi=MININT glib_Mi=MAXINT glib_Mui="(((guint)G_MAXINT)*2+1)"
- glib_ml=MINLONG glib_Ml=MAXLONG glib_Mul="(((gulong)G_MAXLONG)*2+1)"
- ;;
-esac
-
-if test x$ac_cv_header_sys_poll_h = xyes ; then
- glib_sys_poll_h=yes
-fi
-
-if test x$enable_included_printf = xyes ; then
- glib_included_printf=yes
-fi
-
-case 2 in
-$ac_cv_sizeof_short)
- gint16=short
- gint16_modifier='"h"'
- gint16_format='"hi"'
- guint16_format='"hu"'
- ;;
-$ac_cv_sizeof_int)
- gint16=int
- gint16_modifier='""'
- gint16_format='"i"'
- guint16_format='"u"'
- ;;
-esac
-case 4 in
-$ac_cv_sizeof_short)
- gint32=short
- gint32_modifier='"h"'
- gint32_format='"hi"'
- guint32_format='"hu"'
- ;;
-$ac_cv_sizeof_int)
- gint32=int
- gint32_modifier='""'
- gint32_format='"i"'
- guint32_format='"u"'
- ;;
-$ac_cv_sizeof_long)
- gint32=long
- gint32_modifier='"l"'
- gint32_format='"li"'
- guint32_format='"lu"'
- ;;
-esac
-case 8 in
-$ac_cv_sizeof_int)
- gint64=int
- gint64_modifier='""'
- gint64_format='"i"'
- guint64_format='"u"'
- glib_extension=
- gint64_constant='(val)'
- guint64_constant='(val)'
- ;;
-$ac_cv_sizeof_long)
- gint64=long
- gint64_modifier='"l"'
- gint64_format='"li"'
- guint64_format='"lu"'
- glib_extension=
- gint64_constant='(val##L)'
- guint64_constant='(val##UL)'
- ;;
-$ac_cv_sizeof_long_long)
- gint64='long long'
- if test -n "$glib_cv_long_long_format"; then
- gint64_modifier='"'$glib_cv_long_long_format'"'
- gint64_format='"'$glib_cv_long_long_format'i"'
- guint64_format='"'$glib_cv_long_long_format'u"'
- fi
- glib_extension='G_GNUC_EXTENSION '
- gint64_constant='(G_GNUC_EXTENSION (val##LL))'
- guint64_constant='(G_GNUC_EXTENSION (val##ULL))'
- ;;
-$ac_cv_sizeof___int64)
- gint64='__int64'
- if test -n "$glib_cv_long_long_format"; then
- gint64_modifier='"'$glib_cv_long_long_format'"'
- gint64_format='"'$glib_cv_long_long_format'i"'
- guint64_format='"'$glib_cv_long_long_format'u"'
- fi
- glib_extension=
- gint64_constant='(val##i64)'
- guint64_constant='(val##ui64)'
- ;;
-esac
-glib_size_t=$ac_cv_sizeof_size_t
-glib_size_type_define="$glib_size_type"
-glib_void_p=$ac_cv_sizeof_void_p
-glib_long=$ac_cv_sizeof_long
-
-case "$glib_size_type" in
-short)
- gsize_modifier='"h"'
- gsize_format='"hu"'
- gssize_format='"hi"'
- glib_msize_type='SHRT'
- ;;
-int)
- gsize_modifier='""'
- gsize_format='"u"'
- gssize_format='"i"'
- glib_msize_type='INT'
- ;;
-long)
- gsize_modifier='"l"'
- gsize_format='"lu"'
- gssize_format='"li"'
- glib_msize_type='LONG'
- ;;
-"long long"|__int64)
- gsize_modifier='"I64"'
- gsize_format='"I64u"'
- gssize_format='"I64i"'
- glib_msize_type='INT64'
- ;;
-esac
-
-gintbits=`expr $ac_cv_sizeof_int \* 8`
-glongbits=`expr $ac_cv_sizeof_long \* 8`
-gsizebits=`expr $ac_cv_sizeof_size_t \* 8`
-
-case $ac_cv_sizeof_void_p in
-$ac_cv_sizeof_int)
- glib_intptr_type_define=int
- gintptr_modifier='""'
- gintptr_format='"i"'
- guintptr_format='"u"'
- glib_gpi_cast=''
- glib_gpui_cast=''
- ;;
-$ac_cv_sizeof_long)
- glib_intptr_type_define=long
- gintptr_modifier='"l"'
- gintptr_format='"li"'
- guintptr_format='"lu"'
- glib_gpi_cast='(glong)'
- glib_gpui_cast='(gulong)'
- ;;
-$ac_cv_sizeof_long_long)
- glib_intptr_type_define='long long'
- gintptr_modifier='"I64"'
- gintptr_format='"I64i"'
- guintptr_format='"I64u"'
- glib_gpi_cast='(gint64)'
- glib_gpui_cast='(guint64)'
- ;;
-$ac_cv_sizeof___int64)
- glib_intptr_type_define=__int64
- gintptr_modifier='"I64"'
- gintptr_format='"I64i"'
- guintptr_format='"I64u"'
- glib_gpi_cast='(gint64)'
- glib_gpui_cast='(guint64)'
- ;;
-*)
- glib_unknown_void_p=yes
- ;;
-esac
-
-
-case xyes in
-x$ac_cv_func_atexit)
- glib_atexit="
-#ifdef NeXT /* @#%@! NeXTStep */
-# define g_ATEXIT(proc) (!atexit (proc))
-#else
-# define g_ATEXIT(proc) (atexit (proc))
-#endif"
- ;;
-x$ac_cv_func_on_exit)
- glib_atexit="
-#define g_ATEXIT(proc) (on_exit ((void (*)(int, void*))(proc), NULL))"
- ;;
-esac
-
-case xyes in
-x$ac_cv_func_memmove)
- glib_memmove='
-#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END'
- ;;
-x$glib_cv_working_bcopy)
- glib_memmove="
-/* memmove isn't available, but bcopy can copy overlapping memory regions */
-#define g_memmove(d,s,n) G_STMT_START { bcopy ((s), (d), (n)); } G_STMT_END"
- ;;
-*)
- glib_memmove="
-/* memmove isn't found and bcopy can't copy overlapping memory regions,
- * so we have to roll our own copy routine. */
-void g_memmove (void* dest, const void * src, unsigned long len);"
- ;;
-esac
-
-glib_defines="
-#define GLIB_MAJOR_VERSION $GLIB_MAJOR_VERSION
-#define GLIB_MINOR_VERSION $GLIB_MINOR_VERSION
-#define GLIB_MICRO_VERSION $GLIB_MICRO_VERSION
-"
-
-case xyes in
-x$glib_cv_va_copy) glib_vacopy='#define G_VA_COPY va_copy' ;;
-x$glib_cv___va_copy) glib_vacopy='#define G_VA_COPY __va_copy' ;;
-*) glib_vacopy=''
-esac
-
-if test x$glib_cv_va_val_copy = xno; then
- glib_vacopy="\$glib_vacopy
-#define G_VA_COPY_AS_ARRAY 1"
-fi
-
-if test x$glib_cv_hasinline = xyes; then
- glib_inline='#define G_HAVE_INLINE 1'
-fi
-if test x$glib_cv_has__inline = xyes; then
- glib_inline="\$glib_inline
-#define G_HAVE___INLINE 1"
-fi
-if test x$glib_cv_has__inline__ = xyes; then
- glib_inline="\$glib_inline
-#define G_HAVE___INLINE__ 1"
-fi
-
-g_have_gnuc_varargs=$g_have_gnuc_varargs
-g_have_iso_c_varargs=$g_have_iso_c_varargs
-g_have_iso_cxx_varargs=$g_have_iso_cxx_varargs
-
-g_can_inline=$g_can_inline
-g_have_gnuc_visibility=$g_have_gnuc_visibility
-g_have_sunstudio_visibility=$g_have_sunstudio_visibility
-
-if test x$ac_cv_c_bigendian = xyes; then
- g_byte_order=G_BIG_ENDIAN
- g_bs_native=BE
- g_bs_alien=LE
-else
- g_byte_order=G_LITTLE_ENDIAN
- g_bs_native=LE
- g_bs_alien=BE
-fi
-
-g_pollin=$glib_cv_value_POLLIN
-g_pollout=$glib_cv_value_POLLOUT
-g_pollpri=$glib_cv_value_POLLPRI
-g_pollhup=$glib_cv_value_POLLHUP
-g_pollerr=$glib_cv_value_POLLERR
-g_pollnval=$glib_cv_value_POLLNVAL
-
-g_af_unix=$glib_cv_value_AF_UNIX
-g_af_inet=$glib_cv_value_AF_INET
-g_af_inet6=$glib_cv_value_AF_INET6
-
-g_msg_peek=$glib_cv_value_MSG_PEEK
-g_msg_oob=$glib_cv_value_MSG_OOB
-g_msg_dontroute=$glib_cv_value_MSG_DONTROUTE
-
-g_stack_grows=$glib_cv_stack_grows
-
-g_have_eilseq=$have_eilseq
-
-case x$have_threads in
-xno) g_enable_threads_def="#undef";;
-*) g_enable_threads_def="#define";;
-esac
-
-g_threads_impl_def=$g_threads_impl
-
-g_mutex_has_default="$mutex_has_default"
-g_mutex_sizeof="$glib_cv_sizeof_gmutex"
-g_system_thread_sizeof="$glib_cv_sizeof_system_thread"
-g_mutex_contents="$glib_cv_byte_contents_gmutex"
-
-g_memory_barrier_needed="$glib_memory_barrier_needed"
-
-g_module_suffix="$glib_gmodule_suffix"
-
-g_pid_type="$glib_pid_type"
-case $host in
- *-*-beos*)
- glib_os="#define G_OS_BEOS"
- ;;
- *-*-cygwin*)
- glib_os="#define G_OS_UNIX
-#define G_PLATFORM_WIN32
-#define G_WITH_CYGWIN"
- ;;
- *-*-mingw*)
- glib_os="#define G_OS_WIN32
-#define G_PLATFORM_WIN32"
- ;;
- *)
- glib_os="#define G_OS_UNIX"
- ;;
-esac
-glib_static_compilation=""
-if test x$glib_win32_static_compilation = xyes; then
- glib_static_compilation="#define GLIB_STATIC_COMPILATION 1
-#define GOBJECT_STATIC_COMPILATION 1"
-fi
-])
-
-AC_CONFIG_FILES([
-glib-2.0.pc
-glib-2.0-uninstalled.pc
-gmodule-2.0.pc
-gmodule-export-2.0.pc
-gmodule-no-export-2.0.pc
-gmodule-2.0-uninstalled.pc
-gmodule-no-export-2.0-uninstalled.pc
-gthread-2.0.pc
-gthread-2.0-uninstalled.pc
-gobject-2.0.pc
-gobject-2.0-uninstalled.pc
-gio-2.0.pc
-gio-unix-2.0.pc
-gio-2.0-uninstalled.pc
-gio-unix-2.0-uninstalled.pc
-glib-zip
-glib-gettextize
-Makefile
-build/Makefile
-build/win32/Makefile
-build/win32/dirent/Makefile
-build/win32/vs9/Makefile
-glib/Makefile
-glib/libcharset/Makefile
-glib/gnulib/Makefile
-glib/pcre/Makefile
-glib/update-pcre/Makefile
-glib/tests/Makefile
-gmodule/Makefile
-gmodule/gmoduleconf.h
-gobject/Makefile
-gobject/glib-mkenums
-gobject/tests/Makefile
-gthread/Makefile
-gthread/tests/Makefile
-gio/Makefile
-gio/xdgmime/Makefile
-gio/inotify/Makefile
-gio/libasyncns/Makefile
-gio/fen/Makefile
-gio/fam/Makefile
-gio/win32/Makefile
-gio/tests/Makefile
-po/Makefile.in
-docs/Makefile
-docs/reference/Makefile
-docs/reference/glib/Makefile
-docs/reference/glib/version.xml
-docs/reference/gobject/Makefile
-docs/reference/gobject/version.xml
-docs/reference/gio/Makefile
-docs/reference/gio/version.xml
-tests/Makefile
-tests/gobject/Makefile
-tests/refcount/Makefile
-m4macros/Makefile
-])
-
-AC_CONFIG_COMMANDS([chmod-scripts],
-[chmod 0755 glib-zip
-chmod 0755 glib-gettextize
-chmod 0755 gobject/glib-mkenums])
-
-# we want to invoke this macro solely so that the config.status script
-# and automake generated makefiles know about these generated files.
-# They are only needed to distcheck the package
-if false; then
- AC_CONFIG_FILES([
- INSTALL
- README
- config.h.win32
- glibconfig.h.win32
- glib/makefile.msc
- glib/glib.rc
- gmodule/makefile.msc
- gmodule/gmodule.rc
- gobject/makefile.msc
- gobject/gobject.rc
- gthread/makefile.msc
- gthread/gthread.rc
- gio/gio.rc
- tests/makefile.msc
- ])
-fi
-
-AC_OUTPUT
+++ /dev/null
-glib2.0 (2.24.0-3slp2) unstable; urgency=low
-
- * Remove udeb from debian/control file
-
- -- Eunok Kim <eunok26.kim@samsung.com> Fri, 11 Jun 2010 22:26:36 +0900
-
-glib2.0 (2.24.0-2slp2) unstable; urgency=low
-
- * Package version update
-
- -- Eunok Kim <eunok26.kim@samsung.com> Fri, 11 Jun 2010 10:41:29 +0900
-
-glib2.0 (2.24.0-1slp2) unstable; urgency=low
-
- * Update glib2.0 to 2.24.0
-
- -- Eunok Kim <eunok26.kim@samsung.com> Thu, 10 Jun 2010 15:45:32 +0900
-
-glib2.0 (2.22.3-3slp2) unstable; urgency=low
-
- * Changing verion naming rul
-
- -- Boram Park <boram1288.park@samsung.com> Wed, 24 Mar 2010 21:33:16 +0900
-
-glib2.0 (2.22.3-2) unstable; urgency=low
-
- * Change debian/control.in, debian/rules, debian/libglib2.0-0.install and
- debian/libglib2.0-dev.links files.
-
- -- Doyoun Kang <doyoun.kang@samsung.com> Thu, 10 Dec 2009 16:41:27 +0900
-
-glib2.0 (2.22.3-1) unstable; urgency=low
-
- [ Loïc Minier ]
- * -refdbg package is section/prio debug/extra.
- * Add note to NOT use -Wl,--as-needed as it might drop a critical -lpthread
- link in gio (which dlopen()s gvfs); see
- mid:<1257999019.21780.15.camel@marzipan>.
-
- [ Sebastian Dröge ]
- * New upstream bugfix release:
- + debian/patches/90_mimetype-sorting.patch:
- - Dropped, merged upstream.
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 01 Dec 2009 16:36:30 +0100
-
-glib2.0 (2.22.2-2) unstable; urgency=low
-
- * debian/patches/90_mimetype-sorting.patch:
- + Fix sorting of mimetypes by weight. Highest weight means most
- important, not the other way around. Patch from upstream GIT.
-
- -- Sebastian Dröge <slomo@debian.org> Thu, 08 Oct 2009 18:34:23 +0200
-
-glib2.0 (2.22.2-1) unstable; urgency=low
-
- [ Emilio Pozuelo Monfort ]
- * Move libglib2.0-data to section libs. Closes: #549079.
-
- [ Sebastian Dröge ]
- * New upstream bugfix release.
-
- -- Sebastian Dröge <slomo@debian.org> Thu, 08 Oct 2009 12:48:51 +0200
-
-glib2.0 (2.22.1-1) unstable; urgency=low
-
- * New upstream bugfix release:
- + debian/patches/10_inotify_init1.patch,
- debian/patches/30_metadata_symlinks.patch:
- - Dropped, merged upstream.
-
- -- Sebastian Dröge <slomo@debian.org> Wed, 30 Sep 2009 08:17:57 +0200
-
-glib2.0 (2.22.0-2) unstable; urgency=low
-
- * Don’t install Python GDB macros for now, they only work with an
- experimental GDB branch.
- * 30_metadata_symlinks.patch: stolen upstream. Get metadata to work
- with symbolic links. Closes: #548142.
-
- -- Josselin Mouette <joss@debian.org> Wed, 30 Sep 2009 01:02:11 +0200
-
-glib2.0 (2.22.0-1) unstable; urgency=low
-
- [ Josselin Mouette ]
- * Move libglib-2.0.so.0 to /lib so that DeviceKit (and other potential
- sources) can work without having /usr mounted.
- * 11_chmod_symlinks.patch: new patch. Fix potential security issue
- when manipulating symlink permissions. Thanks Arand Nash for the
- heads up.
-
- [ Sebastian Dröge ]
- * New upstream stable release:
- + debian/patches/11_chmod_symlinks.patch:
- - Dropped, merged upstream.
- + debian/libglib2.0-0.symbols,
- debian/rules:
- - Update for the new version.
-
- -- Sebastian Dröge <slomo@debian.org> Wed, 23 Sep 2009 05:04:37 +0200
-
-glib2.0 (2.21.6-1) experimental; urgency=low
-
- [ Josselin Mouette ]
- * 10_inotify_init1.patch: fall back on inotify_init when inotify_init1
- does not work, as happens with kernel versions < 2.6.27.
- Closes: #544354.
-
- [ Sebastian Dröge ]
- * New upstream development release:
- + debian/libglib2.0-0.symbols:
- - Update for the new version.
- + debian/rules:
- - Update SHVER to 2.21.6.
- * debian/control.in:
- + Updated Standards-Version to 3.8.3, no additional changes needed.
-
- -- Sebastian Dröge <slomo@debian.org> Sat, 05 Sep 2009 07:15:58 +0200
-
-glib2.0 (2.21.5-1) experimental; urgency=low
-
- * New upstream development release:
- + debian/libglib2.0-0.symbols:
- - Update for the new version.
- + debian/rules:
- - Update SHVER to 2.21.5.
- * debian/control.in:
- + Updated Standards-Version to 3.8.2, no additional changes needed.
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 25 Aug 2009 18:38:51 +0200
-
-glib2.0 (2.21.4-1) experimental; urgency=low
-
- * New upstream development release:
- + debian/rules:
- - Include check-dist.mk to prevent accidental uploads to unstable.
- - Update shlib version to 2.21.4.
- + debian/libglib2.0-0.symbols:
- - Update for the API additions.
- * debian/control.in:
- + Updated Standards-Version to 3.8.1, no additional changes needed.
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 21 Jul 2009 09:35:33 +0200
-
-glib2.0 (2.20.4-1) unstable; urgency=low
-
- * New upstream bugfix release.
-
- -- Sebastian Dröge <slomo@debian.org> Sat, 27 Jun 2009 09:56:08 +0200
-
-glib2.0 (2.20.3-1) unstable; urgency=low
-
- [ Josselin Mouette ]
- * Only build the libgio-fam package for hurd and kfreebsd, it is
- totally useless under Linux.
- * Make it recommend gamin for kqueue support.
- * Make libgamin-dev the primary build-dependency. Closes: #526219.
-
- [ Sebastian Dröge ]
- * New upstream bugfix release.
-
- -- Sebastian Dröge <slomo@debian.org> Mon, 01 Jun 2009 15:35:40 +0200
-
-glib2.0 (2.20.1-2) unstable; urgency=low
-
- * Add refdbg package: libglib2.0-0-refdbg. (Closes: #525915)
-
- -- Jonny Lamb <jonny@debian.org> Tue, 28 Apr 2009 15:11:27 +0100
-
-glib2.0 (2.20.1-1) unstable; urgency=low
-
- * New upstream bugfix release:
- + 10_log_valist.patch, dropped.
-
- -- Sebastian Dröge <slomo@debian.org> Sat, 11 Apr 2009 17:00:43 +0200
-
-glib2.0 (2.20.0-3) unstable; urgency=low
-
- * Fix debug package section.
- * 10_log_valist.patch: new patch, stolen upstream. Copy a va_list
- before using it twice. Closes: #520484.
-
- -- Josselin Mouette <joss@debian.org> Thu, 09 Apr 2009 20:11:52 +0200
-
-glib2.0 (2.20.0-2) unstable; urgency=low
-
- * Remove 02_usr_share_gnome_applications.patch, now gnome-session sets
- XDG_DATA_DIRS accordingly.
-
- -- Josselin Mouette <joss@debian.org> Thu, 19 Mar 2009 22:59:34 +0100
-
-glib2.0 (2.20.0-1) unstable; urgency=low
-
- * New upstream stable release.
- * Upload to unstable, remove check-dist include.
- This won't block any transitions because of symbol files.
- * debian/libglib2.0-0.symbols,
- debian/rules:
- + Update for the API changes.
-
- -- Sebastian Dröge <slomo@debian.org> Sat, 14 Mar 2009 10:53:26 +0100
-
-glib2.0 (2.19.10-1) experimental; urgency=low
-
- * New upstream development release.
-
- -- Sebastian Dröge <slomo@debian.org> Mon, 02 Mar 2009 16:04:08 +0100
-
-glib2.0 (2.19.8-2) experimental; urgency=low
-
- * debian/patches/01_gettext-desktopfiles.patch,
- debian/patches/02_gettext-desktopfiles-ubuntu.patch:
- + Updated from the Ubuntu package, thanks to Martin Pitt for the changes:
- - 01_gettext-desktopfiles.patch: Merge OpenSUSE's and our patch:
- - Now prefers inline translations over gettext translations, which
- fixes a few corner cases (like renaming .desktop files on the
- user's desktop), is more in line with the recent gconf patch,
- and more palatable for upstream inclusion.
- - Use X-GNOME-Gettext-Domain, for preparing upstream inclusion.
- - Forwarded upstream now.
- - Add 02_gettext-desktopfiles-ubuntu.patch: Provide backwards
- compatibility for 01_gettext-desktopfiles.patch for
- X-{Debian,Ubuntu}-Gettext-Domain. The latter was changed to use
- X-GNOME-, so this is necessary until all our .desktop files are
- converted.
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 24 Feb 2009 16:08:05 +0100
-
-glib2.0 (2.19.8-1) experimental; urgency=low
-
- * New upstream development release.
-
- -- Sebastian Dröge <slomo@debian.org> Fri, 20 Feb 2009 10:38:44 +0100
-
-glib2.0 (2.19.7-1) experimental; urgency=low
-
- * New development release
-
- -- Gustavo Noronha Silva <kov@debian.org> Tue, 17 Feb 2009 01:43:04 -0300
-
-glib2.0 (2.19.6-1) experimental; urgency=low
-
- * New development release
- * debian/libglib2.0-0.symbols:
- - updated with new symbols
-
- -- Gustavo Noronha Silva <kov@debian.org> Sun, 15 Feb 2009 23:58:22 -0300
-
-glib2.0 (2.18.4-2) unstable; urgency=low
-
- * Release to unstable
- * debian/rules:
- - bump SHVER, since we are already forcing a 2.18.0 dependecy on the
- symbols introduced in the development versions
- * debian/control.in:
- - added Homepage and Vcs-* control fields
-
- -- Gustavo Noronha Silva <kov@debian.org> Sun, 15 Feb 2009 13:00:43 -0300
-
-glib2.0 (2.18.4-1) experimental; urgency=low
-
- [ Josselin Mouette ]
- * 04_homedir_env.patch: new patch. Handle the G_HOME environment
- variable, to override the passwd entry. This will allow to fix
- various kinds of build failures due to restricted build
- environments.
-
- [ Sebastian Dröge ]
- * New upstream bugfix release.
-
- -- Sebastian Dröge <slomo@debian.org> Sat, 10 Jan 2009 14:21:55 +0100
-
-glib2.0 (2.18.3-1) experimental; urgency=low
-
- * New upstream bugfix release.
-
- -- Sebastian Dröge <slomo@debian.org> Mon, 24 Nov 2008 10:07:47 +0100
-
-glib2.0 (2.18.2-1) experimental; urgency=low
-
- [ Loic Minier ]
- * Suffix the Debian specific pcre bdep with "~" to allow backports and make
- lintian happy.
- * Update doc-base entries for new doc-base secttions: use Programming/C
- instead of Apps/Programming.
- * Use uppercase GNOME in doc-base description of glib.
- * Recommend shared-mime-info for content-type guessing API; see
- GNOME #554563.
- * Pass -k to make check.
-
- [ Sebastian Dröge ]
- * New upstream bugfix release.
-
- -- Sebastian Dröge <slomo@debian.org> Sun, 19 Oct 2008 13:26:48 +0200
-
-glib2.0 (2.18.1-1) experimental; urgency=low
-
- * New upstream bugfix release.
- * debian/libglib2.0-0.symbols:
- + Updated all 2.17 symbols to 2.18.0 to get dependencies on the stable
- versions.
-
- -- Sebastian Dröge <slomo@debian.org> Sun, 21 Sep 2008 15:31:15 +0200
-
-glib2.0 (2.18.0-1) experimental; urgency=low
-
- * New upstream stable release, with API addition.
- - Update symbols file for new g_object_get_type() symbol and drop
- g_slice_debug_tree_statistics() which shouldn't have been exported in
- the first place.
- - Refresh patches 01_gettext-desktopfiles,
- 02_usr_share_gnome_applications, and 03_blacklist-directories to apply
- cleanly.
-
- -- Loic Minier <lool@dooz.org> Wed, 03 Sep 2008 00:51:29 +0200
-
-glib2.0 (2.17.7-1) experimental; urgency=low
-
- * New upstream development release, the new API might still change:
- + debian/rules,
- debian/libglib2.0-0.symbols:
- - Updated for the new symbols.
-
- -- Sebastian Dröge <slomo@debian.org> Mon, 18 Aug 2008 16:04:30 +0200
-
-glib2.0 (2.17.6-1) experimental; urgency=low
-
- * New upstream development release, the new API might still change:
- + debian/rules,
- debian/libglib2.0-0.symbols:
- - Updated for the new symbols.
-
- -- Sebastian Dröge <slomo@debian.org> Mon, 04 Aug 2008 19:54:44 +0200
-
-glib2.0 (2.17.4-1) experimental; urgency=low
-
- [ Loic Minier ]
- * List back m68k in arches where we could make the testsuite fatal,
- following the update on GNOME #481575.
- * Document why testsuite is currently completely disabled (fails when
- there's no writable $HOME).
-
- [ Sebastian Dröge ]
- * New upstream development release, the new API might still change:
- + debian/rules,
- debian/libglib2.0-0.symbols:
- - Updated for the new symbols.
- + debian/patches/90_gio-nautilus-crash.patch:
- - Dropped, merged upstream.
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 22 Jul 2008 11:17:05 +0200
-
-glib2.0 (2.17.3-2) experimental; urgency=low
-
- * debian/patches/90_gio-nautilus-crash.patch:
- + Patch from upstream SVN to fix a crash in nautilus 2.22.
-
- -- Sebastian Dröge <slomo@debian.org> Sat, 05 Jul 2008 16:57:05 +0200
-
-glib2.0 (2.17.3-1) experimental; urgency=low
-
- * New upstream development release, the new API might still change:
- + debian/rules,
- debian/libglib2.0-0.symbols:
- - Updated for the new symbols.
- * debian/control.in:
- + Updated Standards-Version to 3.8.0, no additional changes needed.
-
- -- Sebastian Dröge <slomo@debian.org> Thu, 03 Jul 2008 11:21:17 +0200
-
-glib2.0 (2.17.2-1) experimental; urgency=low
-
- * New upstream development release, the new API might still change:
- + debian/rules,
- debian/libglib2.0-0.symbols:
- - Updated for the new symbols.
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 17 Jun 2008 09:18:10 +0200
-
-glib2.0 (2.17.0-1) experimental; urgency=low
-
- [ Josselin Mouette ]
- * debian/rules: don't compress .sgml and .devhelp files.
-
- [ Loic Minier ]
- * Fix broken second dh_strip invocation which was not only acting on the
- udeb but also on binary packages (-s -pUDEB should have been -pUDEB).
-
- [ Sebastian Dröge ]
- * New upstream development release, the new API might still change.
- * debian/rules:
- + Include check-dist.mk to prevent accidental uploads to unstable.
- + Bump SHVER to 2.17.0.
- + Pass -c4 to dh_makeshlibs.
- * debian/libglib2.0-0.symbols:
- + Update symbols.
-
- -- Sebastian Dröge <slomo@debian.org> Wed, 28 May 2008 10:40:30 +0200
-
-glib2.0 (2.16.3-2) unstable; urgency=low
-
- * debian/rules: Don't add the debug symbols of the udeb in the -dbg package.
- Makes the debugging info actually usefull again (Closes: #468093)
-
- -- Sjoerd Simons <sjoerd@debian.org> Fri, 11 Apr 2008 22:58:03 +0200
-
-glib2.0 (2.16.3-1) unstable; urgency=low
-
- [ Sjoerd Simons ]
- * debian/patches/70_g_timeout_seconds_fix.patch
- + Added. Fix a rare case where a timeout from g_timeout_add_seconds() is
- never triggered. See http://bugzilla.gnome.org/show_bug.cgi?id=448943
-
- [ Sebastian Dröge ]
- * New upstream bugfix release:
- + debian/patches/70_g_timeout_seconds_fix.patch:
- - Dropped, merged upstream.
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 08 Apr 2008 12:02:07 +0200
-
-glib2.0 (2.16.2-1) unstable; urgency=low
-
- [ Loic Minier ]
- * Drop nautilus conflicts as it triggers a bug in the APT resolver on
- dist-upgrade.
- * Update patch 01_gettext-desktopfiles with a newer version taken from the
- Ubuntu package.
- * Update and enable patch 01_gettext-desktopfiles to also look for
- X-Debian-Gettext-Domain if X-Ubuntu-Gettext-Domain isn't present.
-
- [ Sebastian Dröge ]
- * New upstream bugfix release:
- + Fixes FTBFS on hurd/i386 (Closes: #472129).
- + debian/patches/04_nfs4.patch,
- debian/patches/80_static-mutex-aliasing-warnings.patch,
- debian/patches/81_c99-inline-warnings.patch:
- - Dropped, merged upstream.
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 01 Apr 2008 07:40:48 +0200
-
-glib2.0 (2.16.1-2) unstable; urgency=low
-
- [ Josselin Mouette ]
- * 02_usr_share_gnome_applications.patch: ported from GnomeVFS. Use
- /usr/share/gnome/applications/defaults.list to obtain the defaults
- for MIME mapping. Currently this file is still shipped by GnomeVFS.
- Closes: #469504.
- * 03_blacklist-directories.patch: ported from GnomeVFS. Blacklist more
- FHS directories that are commonly found as Unix mount points,
- including those necessary for live-initramfs.
- * 04_nfs4.patch: ported from GnomeVFS. Support for nfs4 filesystems.
-
- [ Sebastian Dröge ]
- * 80_static-mutex-aliasing-warnings.patch: Prevent warnings about
- breaking strict-aliasing rules when using G_LOCK().
- See http://bugzilla.gnome.org/show_bug.cgi?id=316221
- * 81_c99-inline-warnings.patch: Fix warnings when using G_INLINE_FUNC
- in C99 mode (Closes: #470796).
- See http://bugzilla.gnome.org/show_bug.cgi?id=522292
- * Don't ship the old changelogs and news to save some space.
-
- -- Sebastian Dröge <slomo@debian.org> Fri, 14 Mar 2008 10:13:09 +0100
-
-glib2.0 (2.16.1-1) unstable; urgency=low
-
- * New upstream bugfix release.
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 11 Mar 2008 04:41:30 +0100
-
-glib2.0 (2.16.0-1) unstable; urgency=low
-
- * New upstream stable release:
- + debian/rules:
- - Update shlibs version to 2.16.0.
- - Drop check-dist include, upload to unstable.
- + debian/libglib2.0-0.symbols:
- - Updated symbols for the new version.
-
- -- Sebastian Dröge <slomo@debian.org> Mon, 10 Mar 2008 19:23:55 +0100
-
-glib2.0 (2.15.6-1) experimental; urgency=low
-
- * New upstream release:
- + debian/rules:
- - Update shlibs version to 2.15.6.
- + debian/libglib2.0-0.symbols:
- - Updated symbols for the new version.
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 26 Feb 2008 06:22:28 +0100
-
-glib2.0 (2.15.5-1) experimental; urgency=low
-
- * New upstream release:
- + debian/patches/02_fam-helper.patch:
- - Dropped, merged upstream.
- + debian/patches/60_wait-longer-for-threads-to-die.patch:
- - Updated to apply cleanly again.
- + debian/libglib2.0-0.symbols:
- - Update symbols for 2.15.5.
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 12 Feb 2008 06:08:39 +0100
-
-glib2.0 (2.15.4-1) experimental; urgency=low
-
- [ Loic Minier ]
- * Add a gio gtk-doc symlink.
- * Add a doc-base file for gio.
-
- [ Sebastian Dröge ]
- * New upstream release:
- + debian/libglib2.0-0.symbols:
- - Update symbols for 2.15.4.
- + debian/rules:
- - Update API version to 2.15.4.
- * debian/patches/02_fam-helper.patch:
- + Fix build failure when building with FAM and not gamin. See BGO #509419
- and BGO #512384 for more details.
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 29 Jan 2008 12:14:08 +0100
-
-glib2.0 (2.15.3-1) experimental; urgency=low
-
- * New upstream release.
- * debian/rules,
- debian/libglib2.0-0.symbols:
- + Update shlibs and all unstable symbols to 2.15.3.
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 22 Jan 2008 11:54:42 +0100
-
-glib2.0 (2.15.2-3) experimental; urgency=low
-
- [ Loic Minier ]
- * Bump up dpkg-dev build-dep to >= 1.14.13 for Build-Depends-Package; thanks
- Raphaël Hertzog.
- * Drop duplicate dpkg-dev bdep.
- * Let libglib2.0-dev depends on ${shlibs:Depends}; thanks Niko Tyni.
-
- [ Sebastian Dröge ]
- * debian/libgio-fam.install:
- + Fix path where we install the GIO FAM plugin. It shouldn't be
- /usr/lib/gio/gio but /usr/lib/gio. Thanks to Sedat Dilek for reporting.
-
- -- Sebastian Dröge <slomo@debian.org> Mon, 21 Jan 2008 08:58:33 +0100
-
-glib2.0 (2.15.2-2) experimental; urgency=low
-
- * debian/rules:
- + Disable selinux for the udeb until we have a libselinux1 udeb.
-
- -- Sebastian Dröge <slomo@debian.org> Thu, 17 Jan 2008 11:50:11 +0100
-
-glib2.0 (2.15.2-1) experimental; urgency=low
-
- [ Sebastian Dröge ]
- * New upstream development release, the new API may still change
- incompatibly; API additions:
- + Drop patch 67_gcc43-inline.patch, merged upstream.
- * Include check-dist again to prevent accidental uploads to unstable.
- * Disable testsuite for now.
- * Bump shlibs to 2.15.2.
- * Add build dependencies for GIO and add libgio-fam package that contains
- a GIO file/directory monitoring module that uses fam.
- * debian/rules,
- debian/libglib2.0-0.symbols,
- debian/control.in:
- + Add a symbol file for GLib, generated from 2.12.4, 2.14.3, 2.15.2.
- This is handled by dh_makeshlibs. Require dpkg-dev (>= 1.14.8) for this.
- * debian/control.in:
- + Recommend python on the -dev package for the gtester-report utility.
- * debian/shlibs.local:
- + Dropped as pcre is fixed now since 7.4-1 (Closes: #450796).
-
- [ Loic Minier ]
- * Build-dep on gtk-doc-tools to prevent a spurious warning from
- gtk-doc.make: "/bin/sh: line 11: test: !=: unary operator expected".
- * Build udeb against system pcre again (now that it provides an udeb); bump
- up libpcre build-dep to >= 7.4-1 (Closes: #443067).
-
- -- Sebastian Dröge <slomo@debian.org> Tue, 15 Jan 2008 15:30:20 +0100
-
-glib2.0 (2.14.4-2) unstable; urgency=low
-
- * debian/rules:
- + Make testsuite failures on sparc non-fatal too as the
- threadpool-test fails there too, most probably of some
- timing related bug. See BGO #481573.
-
- -- Sebastian Dröge <slomo@debian.org> Thu, 29 Nov 2007 11:45:57 +0100
-
-glib2.0 (2.14.4-1) unstable; urgency=low
-
- [ Loic Minier ]
- * Fix disabled patch name 01_gettext-desktopfiles in series.
-
- [ Josselin Mouette ]
- * Conflict against nautilus < 2.20 according to
- http://bugzilla.gnome.org/show_bug.cgi?id=440988#c182
-
- [ Sebastian Dröge ]
- * New upstream bugfix release.
-
- -- Sebastian Dröge <slomo@debian.org> Sun, 25 Nov 2007 14:37:34 +0100
-
-glib2.0 (2.14.3-1) unstable; urgency=high
-
- [ Sebastian Dröge ]
- * debian/shlibs.local:
- + Override libpcre3's shlibs to require at least pcre 7.2 (See: #449289).
-
- [ Loic Minier ]
- * New upstream stable release; bug fixes and security update.
- - SECURITY: Update the internal copy of PCRE to 7.4, fixes CVE-2007-4767;
- the internal copy is used for the udeb.
- - Drop relibtoolizing patch, 70_relibtoolize, as upstream prepared this
- tarball with libtool 1.5.24.
-
- -- Loic Minier <lool@dooz.org> Sat, 10 Nov 2007 19:59:04 +0100
-
-glib2.0 (2.14.2-1) unstable; urgency=low
-
- * Add GNOME bug id to 70_relibtoolize.
- * New upstream stable release; no API change.
- * Add lpia to the list of arches on which testsuite failures are fatal.
-
- -- Loic Minier <lool@dooz.org> Wed, 17 Oct 2007 17:19:16 +0200
-
-glib2.0 (2.14.1-5) unstable; urgency=low
-
- * Add a relibtoolizing patch, 70_relibtoolize, to get some hurd-i386 fixes
- in libtool; see Debian #445001.
-
- -- Loic Minier <lool@dooz.org> Sun, 07 Oct 2007 16:52:44 +0200
-
-glib2.0 (2.14.1-4) unstable; urgency=low
-
- * Document that testsuite failure aren't fatal on m68k due to GNOME #481575.
- * Disable testsuite on arm, mips, powerpc; see GNOME #481573; mipsel was
- already disabled because its testsuite results were unknown in
- experimental.
- * Document that testsuite failure is disabled on hppa, hurd, kfreebsd-amd64,
- kfreebsd-i386 due to Debian #428674.
-
- -- Loic Minier <lool@dooz.org> Sat, 29 Sep 2007 13:56:18 +0200
-
-glib2.0 (2.14.1-3) unstable; urgency=medium
-
- * Only build the standards debs against the system PCRE, i.e. build the udeb
- against the builtin PCRE until pcre3 provides an udeb.
-
- -- Loic Minier <lool@dooz.org> Tue, 18 Sep 2007 21:35:30 +0200
-
-glib2.0 (2.14.1-2) unstable; urgency=low
-
- * debian/control.in,
- debian/rules:
- + Build against the system PCRE instead of the supplied one.
-
- -- Sebastian Dröge <slomo@debian.org> Mon, 17 Sep 2007 09:41:48 +0200
-
-glib2.0 (2.14.1-1) unstable; urgency=low
-
- [ Loic Minier ]
- * Mention I added 90_fix-abi-check-with-debug in 2.14.0-1
-
- [ Sebastian Dröge ]
- * New upstream major stable release, without API changes.
- * debian/patches/90_fix-abi-check-with-debug.patch:
- + Dropped, merged upstream.
-
- -- Sebastian Dröge <slomo@debian.org> Mon, 17 Sep 2007 06:35:29 +0200
-
-glib2.0 (2.14.0-2) unstable; urgency=low
-
- * Upload to unstable; drop check-dist include.
-
- -- Loic Minier <lool@dooz.org> Tue, 21 Aug 2007 09:05:30 +0200
-
-glib2.0 (2.14.0-1) experimental; urgency=low
-
- * Fix double --host/--build flags to configure.
- * Update patch 67_gcc43-inline to also fix the headers for GCC 4.2.
- * New upstream major stable release; API additions.
- - Bump up shlibs to >= 2.14.0.
- - Drop patch 90_from_svn_fix_missing_pointer_casting, merged upstream.
- - New patch, 90_fix-abi-check-with-debug, fixes build of testsuite in
- debug mode; from SVN.
-
- -- Loic Minier <lool@dooz.org> Mon, 20 Aug 2007 21:54:07 +0200
-
-glib2.0 (2.13.7-3) experimental; urgency=low
-
- * debian/patches/90_from_svn_fix_missing_pointer_casting.patch:
- - patch from SVN, "fixed missing pointer casts when using atomic ops."
- (Closes: #434853)
-
- -- Sebastien Bacher <seb128@debian.org> Fri, 27 Jul 2007 16:14:13 +0200
-
-glib2.0 (2.13.7-2) experimental; urgency=low
-
- * Bump shlibs to 2.13.7.
-
- -- Loic Minier <lool@dooz.org> Wed, 25 Jul 2007 16:09:27 +0200
-
-glib2.0 (2.13.7-1) experimental; urgency=low
-
- * Drop "libtool_is_fool" snippet patching hardcode_libdir_flag_spec and
- archive_cmds which is probably dangerous with newer libtools.
- * Fix flavor name in a comment of debian/rules.
- * Use -s instead of -a in arch-specific dh_* calls.
- * New upstream development release; some API additions.
- - Drop patch 60_output-lines-during-tests, merged upstream.
- * New patch, 60_wait-longer-for-threads-to-die, to wait 5 seconds instead of
- one for threads to die in the threadpool test; hopefully fixes hppa and
- kfreebsd testsuite failures; see #428674 and #431720.
- * Don't make testsuite failures fatal on hppa; closes: #431720.
-
- -- Loic Minier <lool@dooz.org> Thu, 12 Jul 2007 21:37:47 +0200
-
-glib2.0 (2.13.6-1) experimental; urgency=low
-
- * Don't pass -L to dh_shlibdeps as the shlibs.local trick is enough and this
- can result in duplicate deps; closes: #317461.
- * Set myself as maintainer.
- * Cleanups.
- * Make the testsuite failures fatal on arches which passed the testsuite
- with 2.13.5 in experimental (currently: alpha amd64 arm hppa i386 ia64
- mips powerpc s390); closes: #291486.
- * Don't run the testsuite when cross-compiling.
- * New upstream development release; only API change is to change back the
- definition of GType for C++ to be gulong.
-
- -- Loic Minier <lool@dooz.org> Mon, 02 Jul 2007 10:21:34 +0200
-
-glib2.0 (2.13.5-1) experimental; urgency=low
-
- * New upstream release
- - Bump shlibs to >= 2.13.5, as the API was changed
-
- -- Marc 'HE' Brockschmidt <he@debian.org> Tue, 19 Jun 2007 16:14:16 +0200
-
-glib2.0 (2.13.4-2) experimental; urgency=low
-
- * New patch, 67_gcc43-inline, fixes FTBFS of apps using glib with GCC 4.3
- which uses C99 where the meaning of "inline" changed; patch was adapted
- from patches in GNOME #315437 and Gentoo #156475; closes: #416863.
-
- -- Loic Minier <lool@dooz.org> Sat, 16 Jun 2007 18:49:57 +0200
-
-glib2.0 (2.13.4-1) experimental; urgency=low
-
- * Also honor parallel=n in DEB_BUILD_OPTIONS.
- * New upstream release series; these are development releases, the new API
- may still change incompatibly.
- - Target at experimental; include check-dist.
- - Bump up shlibs to >= 2.13.4.
- * New patch but disabled, 01_gettext-desktopfiles, permits overriding the
- gettext domain when desktop files have such a field; found in the Ubuntu
- package.
-
- -- Loic Minier <lool@dooz.org> Wed, 13 Jun 2007 10:52:27 +0200
-
-glib2.0 (2.12.12-1) unstable; urgency=low
-
- * Fix description of the -dbg package.
- * New upstream release.
-
- -- Loic Minier <lool@dooz.org> Thu, 03 May 2007 19:14:33 +0200
-
-glib2.0 (2.12.11-3) unstable; urgency=medium
-
- * Initialize CFLAGS to -Wall -g; pass debian/rules' CFLAGS and LDFLAGS to
- configure, doh!
- * Track all stable versions in watch file.
- * Wrap build-deps and deps.
- * Add ${misc:Depends}.
- * New patch 60_output-lines-during-tests, outputs newlines after thousand
- iterations of the inner-loop of the closures test to avoid the timeout on
- mips and mipsel buildds.
-
- -- Loic Minier <lool@dooz.org> Thu, 12 Apr 2007 16:13:46 +0200
-
-glib2.0 (2.12.11-2) unstable; urgency=low
-
- * Run "make check" test suite for the deb flavor except if DEB_BUILD_OPTIONS
- contains the "nocheck" keyword; ignore failures.
- * Include the new uploaders.mk from gnome-pkg-tools instead of duplicating
- its logic; build-dep on gnome-pkg-tools >= 0.11.
- * Drop useless version computations.
- * Add support for DEB_BUILD_OPTIONS_PARALLEL.
- * Upload to unstable; drop check-dist include.
-
- -- Loic Minier <lool@dooz.org> Wed, 11 Apr 2007 10:35:43 +0200
-
-glib2.0 (2.12.11-1) experimental; urgency=medium
-
- * New upstream release; no API change.
-
- -- Loic Minier <lool@dooz.org> Fri, 9 Mar 2007 22:02:25 +0100
-
-glib2.0 (2.12.10-1) experimental; urgency=low
-
- * Include the new check-dist Makefile to prevent accidental uploads to
- unstable; bump build-dep on gnome-pkg-tools to >= 0.10.
- * New upstream release; no API change.
- - Rewrite and cleanup the build-system completely to build a set of
- flavors; drop obsolete targets; drop obsolete files; switch from
- tar-in-tar and sys-build to regular source and quilt patching;
- build-depend on quilt; drop DEB_USE_DBS_TARBALL_LAYOUT; create stampdir
- when necessary; switch from dh_movefiles and dh_installdirs to
- dh_install.
- - Drop patch 000_glib-link; merged upstream.
- * Bump up Debhelper compatibility level to 5.
- * Only ship README.Debian in libglib2.0-dev.
- * Empty dependency_libs in the *.la files of libglib2.0-dev.
- * Override shlibs for the inter-shlibdeps before computing them.
- * Use >= ${source:Version} and ${binary:Version} for inder-deps; build-dep
- on dpkg-dev >= 1.13.19.
- * Fix --dbg-package name.
- * Use make vars for package names.
- * Tune udeb description.
- * Clean /usr/share/doc symlinks generation and move to dh_link generated
- links.
- * Cleanup list of invoked dh_* commands.
-
- -- Loic Minier <lool@dooz.org> Thu, 8 Mar 2007 18:51:27 +0100
-
-glib2.0 (2.12.9-2) experimental; urgency=low
-
- * Bump shlibs to >= 2.12.9.
- * Avoir overwriting the *.la files of the main build with the *.la files of
- the udeb build; fixes "old_library" in *.la files; thanks Tim Dijkstra;
- closes: #297741.
-
- -- Loic Minier <lool@dooz.org> Sat, 20 Jan 2007 09:13:40 +0100
-
-glib2.0 (2.12.9-1) experimental; urgency=low
-
- * Add a get-orig-source target to retrieve the upstream tarball.
- * New upstream releases; no API change.
- - Fixes documentation of g_key_file_set_string_list(); closes: #405028.
- - Avoids spewing warnings with gcc 2.95; closes: #303124.
- - Drop patch 009_accept-space-in-key-names; merged and adapted upstream.
-
- -- Loic Minier <lool@dooz.org> Wed, 17 Jan 2007 08:55:27 +0100
-
-glib2.0 (2.12.7-1) experimental; urgency=low
-
- * New upstream release; no API change; translation updates, bug fixes,
- build fixes.
- - Target at experimental for now.
- - Drop patch 010_restore-old-key-file-syntax-support, merged and adapted
- upstream.
-
- -- Loic Minier <lool@dooz.org> Fri, 5 Jan 2007 12:24:38 +0100
-
-glib2.0 (2.12.6-2) unstable; urgency=medium
-
- * New patch, 010_restore-old-key-file-syntax-support, reverts strict group
- names and key names checks introduced between glib 2.12.4 and 2.12.6;
- instead of failing, critical warnings are output; updates the relevant
- tests as well; closes: #404888.
- * New patch, 009_accept-space-in-key-names, adds support for space in key
- names (independently of 010_restore-old-key-file-syntax-support); updates
- and add relevant tests as well; closes: #404888 as well.
-
- -- Loic Minier <lool@dooz.org> Sun, 31 Dec 2006 20:43:23 +0100
-
-glib2.0 (2.12.6-1) unstable; urgency=low
-
- * New upstream release; no API or ABI change.
- - Fixes file-type detection in nautilus; closes: #404015.
-
- -- Loic Minier <lool@dooz.org> Thu, 21 Dec 2006 09:46:30 +0100
-
-glib2.0 (2.12.5-3) unstable; urgency=low
-
- * Upload to unstable.
-
- -- Loic Minier <lool@dooz.org> Wed, 20 Dec 2006 17:27:25 +0100
-
-glib2.0 (2.12.5-2) experimental; urgency=low
-
- * Upload to unstable.
-
- -- Loic Minier <lool@dooz.org> Wed, 20 Dec 2006 08:50:56 +0100
-
-glib2.0 (2.12.5-1) experimental; urgency=low
-
- * Add cross-reference in 2.12.4-2.
- * New upstream release; no API or ABI change.
- - Target at experimental for now.
- - Drop patch 011_glib-gettext-datarootdir, merged upstream.
- * Drop patch 010_glib2.0.kfreebsd-amd64, is not needed anymore and seems to
- have been at the wrong level anyway.
- * Review and comment on the usefulness of patch 000_glib-link.
-
- -- Loic Minier <lool@dooz.org> Tue, 19 Dec 2006 08:52:26 +0100
-
-glib2.0 (2.12.4-2) unstable; urgency=low
-
- * New patch, 011_glib-gettext-datarootdir, to compute datarootdir
- appropriately for AM_GLIB_DEFINE_LOCALEDIR; GNOME #343825;
- closes: #370282.
-
- -- Loic Minier <lool@dooz.org> Thu, 16 Nov 2006 10:14:52 +0100
-
-glib2.0 (2.12.4-1) unstable; urgency=low
-
- * New upstream release; no API changes.
-
- -- Loic Minier <lool@dooz.org> Mon, 2 Oct 2006 10:39:57 +0200
-
-glib2.0 (2.12.3-2) unstable; urgency=low
-
- * Upload to unstable
-
- [ Loic Minier]
- * Merge 2.10.3-3.
-
- -- Sebastien Bacher <seb128@debian.org> Wed, 13 Sep 2006 13:16:29 +0200
-
-glib2.0 (2.12.3-1) experimental; urgency=low
-
- * New upstream release; no public API changes.
- * Broaden the -data dep on the lib to permit bin NMUs.
-
- -- Loic Minier <lool@dooz.org> Wed, 30 Aug 2006 22:12:02 +0200
-
-glib2.0 (2.12.2-1) experimental; urgency=low
-
- * New upstream release; no API changes.
-
- -- Loic Minier <lool@dooz.org> Mon, 21 Aug 2006 12:30:24 +0200
-
-glib2.0 (2.12.1-1) experimental; urgency=low
-
- * New upstream release.
- * Sync with overrides and set udeb's Priority to optional instead of extra.
- * Bump up Standards-Version to 3.7.2.
-
- -- Loic Minier <lool@dooz.org> Mon, 7 Aug 2006 22:08:21 +0200
-
-glib2.0 (2.12.0-1) experimental; urgency=low
-
- * New upstream version:
- Major new features include:
- * The Unicode support has been updated to Unicode 5.
- * GBookmarkFile: a parser for files containing bookmarks
- stored using the Desktop Bookmark specification
- * Base64 encoding support
- * debian/rules:
- - updated shver number
- * debian/watch:
- - updated
-
- -- Sebastien Bacher <seb128@debian.org> Mon, 3 Jul 2006 10:46:21 +0200
-
-glib2.0 (2.10.3-3) unstable; urgency=low
-
- * debian/patches/999_ia64_atomic_ops_broken.patch:
- - dropped, it's not required with the new gcc and it was breaking the build
- (Closes: #376260)
-
- [ Loic Minier ]
- * Sync with overrides and set udeb's Priority to optional instead of extra.
-
- -- Sebastien Bacher <seb128@debian.org> Wed, 12 Jul 2006 19:09:21 +0200
-
-glib2.0 (2.10.3-2) unstable; urgency=medium
-
- * Re-add changes from 2.10.2-2 that were lost in the wild
- (closes: #361697).
-
- -- Josselin Mouette <joss@debian.org> Mon, 26 Jun 2006 19:54:17 +0200
-
-glib2.0 (2.10.3-1) unstable; urgency=low
-
- * New upstream version:
- Bugs fixed:
- - g_completion_complete_utf8 crashes when NULL is passed to it
- - update-desktop-database doesn't handle duplicate entries
- (Closes: #298668)
- - Dereferencing NULL value in g_key_file_get_group_comment
- - GKeyFile set_string_list invalid memory reads
- - The GObject tutorial say g_object_(un)ref is _not_ thread-safe
- - Fix a memory leak in GOption
-
- -- Sebastien Bacher <seb128@debian.org> Sat, 27 May 2006 12:54:17 +0200
-
-glib2.0 (2.10.2-2) unstable; urgency=low
-
- * debian/control.in, debian/rules:
- - patch by Frans Pop <aragorn@tiscali.nl>
- - Add support for udeb dependency resolution in shlibs file
- (Closes: #361697).
- - Simplify debian/rules by making use of udeb support in debhelper.
- * debian/control.in:
- - clarify the description for the -data package (Closes: #362316),
- change suggested Robert Bihlmeyer <robbe@orcus.priv.at>
-
- -- Sebastien Bacher <seb128@debian.org> Fri, 28 Apr 2006 00:03:41 +0200
-
-glib2.0 (2.10.2-1) unstable; urgency=low
-
- * New upstream version:
- - Missing check for .dylib
- - Segmentation Fault when %llu is passed to vasnprintf and HAVE_SNPRINTF
- is not defined
- - Add support for write FDs to GIOChannel
- - Memleak in goption.c::parse_short_option
- - g_parse_debug_string reads beyond buffer
- - g_option_context_parse() should not set program name to '<Unknown>' if
- it is already set
- - g_main_context_unref calls g_source_destroy_internal with incorrect
- arguments
- - Slight performance gains (GList, GAsyncQueue)
- - Use of unitialised memory in g_mem_profile
- - make check FAIL: threadpool-test
- - g_option_context_new parameter lacks better explanation
- - Some breakages with GThreadPool
- - gthread/gthread-win32.c: IsDebuggerPresent needs
- '#define _WIN32_WINDOWS 0x0401'
- - dlerror() portability issue causes crash on (old) a.out NetBSD platform
- - g_timer_elapsed docs should mention that microseconds may be NULL
- - goption + error out params
- - Documentation should not reference G_HAVE_GINT64, as it's deprecated.
- * debian/patches/010_glib2.0.kfreebsd-amd64.patch:
- - patch by Aurelien Jarno <aurel32@debian.org>, fix build on kfreebsd-amd64
- (Closes: #355953)
- * debian/rules:
- - use "-g" for CFLAGS, makes -dbg package useful again
- change by Fabio M. Di Nitto <fabbione@ubuntu.com> on the Ubuntu package:
- * Make sure to pass CFLAGS to configure.
- * Generalize DEB_BUILD_ARCH.
-
- -- Sebastien Bacher <seb128@debian.org> Fri, 7 Apr 2006 23:23:14 +0200
-
-glib2.0 (2.10.1-2) unstable; urgency=low
-
- [ Sjoerd Simons ]
- * Upload to unstable
- * Document udeb changes that Josselin did in an earlier experimental
- package.
- * debian/patches/999_ia64_atomic_ops_broken.patch
- + Added. Uses atomic builtins that gcc-4.0 know on ia64, instead of those
- for gcc-4.1. (Patch by LaMont Jones from the ubuntu package)
- * Updated debian/watch to use download.gnome.org
-
- [ Josselin Mouette ]
- * Set the conflict with pango < 1.11, that's where the breakage lies.
- * Add a XC-Package-Type header to the udeb and set the priority to extra.
- [debian/control.in]
-
- -- Sjoerd Simons <sjoerd@debian.org> Sun, 19 Mar 2006 12:41:21 +0100
-
-glib2.0 (2.10.1-1) experimental; urgency=low
-
- * New upstream release (bugfixes, translation updates).
- * [debian/rules] Bring priority parameter for dpkg-distaddfile for the udeb
- in line with control.in .
-
- Josselin Mouette <joss@debian.org>:
- * Conflict with pango < 1.10 to avoid breakage caused by the unicode
- changes.
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Sat, 11 Mar 2006 13:53:16 +0100
-
-glib2.0 (2.10.0-1) experimental; urgency=low
-
- * New upstream release.
-
- -- Josselin Mouette <joss@debian.org> Mon, 6 Mar 2006 00:32:27 +0100
-
-glib2.0 (2.8.6-1) unstable; urgency=medium
-
- * New upstream release (bugfixes, translation updates).
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Wed, 18 Jan 2006 20:30:26 +0100
-
-glib2.0 (2.8.5-1) unstable; urgency=low
-
- * New upstream release (bugfixes, translation updates,
- g_object_compat_control() added).
- * [debian/rules] Bumped shver to 2.8.5 to reflect the API change.
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Thu, 5 Jan 2006 21:22:36 +0100
-
-glib2.0 (2.8.4-2) unstable; urgency=high
-
- * Fix shlibs deps that crept in the amd64 package, thanks Kurt Roeckx for
- all the fish. (Closes: #339685)
- - Cleanup and clarify upstream version calculations.
- - Drop dh_makeshlibs -a call as only one package ships shlibs and already
- has a separate call.
- - Drop useless shlibs.local generation.
- - Call dh_shlibdeps with cleaner arguments.
- [debian/rules]
- * Fix "fakeroot debian/rules clean" by following find calls with a .svn
- filter.
- [debian/scripts/lib]
- * Fix quoting of unfix.source.patch:START and FAILED messages.
- [debian/scripts/messages]
- * Clarify Copyright versus License and update upstream URL.
- [debian/copyright]
-
- -- Loic Minier <lool@dooz.org> Sun, 20 Nov 2005 10:36:26 +0100
-
-glib2.0 (2.8.4-1) unstable; urgency=low
-
- * New upstream version.
-
- -- Sebastien Bacher <seb128@debian.org> Tue, 15 Nov 2005 16:22:08 +0100
-
-glib2.0 (2.8.3-1) unstable; urgency=medium
-
- * New upstream release (fix an error that crept in with a change to
- glib-mkenums in 2.8.2, documentation improvements, translation updates).
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Mon, 3 Oct 2005 20:52:26 +0200
-
-glib2.0 (2.8.2-1) unstable; urgency=medium
-
- * New upstream release (bug fixes, documentation improvements, translation
- updates).
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Sun, 2 Oct 2005 09:31:27 +0200
-
-glib2.0 (2.8.1-1) unstable; urgency=medium
-
- * New (for Debian) upstream version (bug fixes, documentation improvements,
- translation updates).
- * [debian/control.in] Bumped Standards-Version.
- * [debian/copyright] Updated FSF's address.
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Sat, 24 Sep 2005 13:45:47 +0200
-
-glib2.0 (2.8.1-0ubuntu1) breezy; urgency=low
-
- * New upstream version.
- * debian/watch:
- - updated.
-
- -- Sebastien Bacher <seb128@canonical.com> Tue, 23 Aug 2005 12:05:20 +0200
-
-glib2.0 (2.8.0-1) unstable; urgency=low
-
- * New upstream version.
- * debian/rules:
- - updated the shlibs.
-
- -- Sebastien Bacher <seb128@debian.org> Sat, 13 Aug 2005 14:14:00 +0200
-
-glib2.0 (2.7.3-1) experimental; urgency=low
-
- * New upstream version.
-
- -- Sebastien Bacher <seb128@debian.org> Fri, 15 Jul 2005 23:42:37 +0200
-
-glib2.0 (2.7.2-1) experimental; urgency=low
-
- * New upstream version.
-
- -- Sebastien Bacher <seb128@debian.org> Fri, 8 Jul 2005 22:07:59 +0200
-
-glib2.0 (2.7.1-1) experimental; urgency=low
-
- * New upstream version.
- * debian/rules:
- - updated the shlib.
-
- -- Sebastien Bacher <seb128@debian.org> Fri, 1 Jul 2005 19:43:05 +0200
-
-glib2.0 (2.7.0-1) experimental; urgency=low
-
- * New upstream version:
- * GKeyFile:
- - add unit tests.
- - accept \r\n as line end.
- - don't interpret leading zeros as octal numbers.
- - make key and group removal work.
- * GOption:
- - improve formatting of --help output.
- - accept -?.
- - warn about duplicate main groups.
- - treat '-' as non-option argument.
- - report missing arguments as errors.
- - add a boxed type for GDate.
- * GTree:
- - g_tree_remove() and g_tree_steal() return status information.
- * Stdio wrappers:
- - work regardless of large file support.
- - add g_access(), g_chmod(), g_creat(), g_chdir.
- * GObject:
- - implement "toggle references" to help language bindings.
- - allow to mark names, nicks and blurbs of pspecs as static.
- - make pspec lookup a bit faster.
- * add g_listenv() to list all set environment variables.
- * add g_file_set_contents() to atomically write a file.
- * add g_try_malloc(), g_try_new(), g_try_new0() and g_try_renew().
- * add g_utf8_collate_key_for_filename() to sort filenames taking
- extensions and numeric suffixes into account.
- * add G_GNUC_NULL_TERMINATED to mark varargs function with
- NULL-terminated argument lists.
- * documentation improvements.
- * new and updated translations.
- * debian/rules:
- - updated the shlibs.
- * debian/watch:
- - updated.
-
- -- Sebastien Bacher <seb128@debian.org> Tue, 21 Jun 2005 12:15:47 +0200
-
-glib2.0 (2.6.5-1) unstable; urgency=low
-
- * New upstream release again bringing a number of bugfixes, improved
- documentation and updated translations, including
- gthread-posix.c (g_thread_create_posix_impl): Allow setstacksize to
- fail. (GNOME #304790, Michael Banck) (Closes: #312382)
- * [debian/patches/000_glib-link.patch] Updated.
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Fri, 10 Jun 2005 21:14:42 +0200
-
-glib2.0 (2.6.4-1) unstable; urgency=low
-
- * New upstream release bringing a number of bugfixes, improved
- documentation and updated translations.
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Wed, 6 Apr 2005 22:16:44 +0200
-
-glib2.0 (2.6.3-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Sebastien Bacher <seb128@debian.org> Mon, 28 Feb 2005 09:38:38 +0100
-
-glib2.0 (2.6.2-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Sebastien Bacher <seb128@debian.org> Sat, 5 Feb 2005 19:23:59 +0100
-
-glib2.0 (2.6.1-3) unstable; urgency=low
-
- * debian/rules:
- - use "-plibglib$(apiver)-udeb", fix the libglib2.0-0-dbg package.
-
- -- Sebastien Bacher <seb128@debian.org> Sun, 23 Jan 2005 22:24:21 +0100
-
-glib2.0 (2.6.1-2) unstable; urgency=low
-
- * Upload to unstable.
- * debian/control.in:
- - rename libglib2.0-dbg to libglib2.0-0-dbg.
- - set myself as maintainer.
- * debian/rules:
- - use dh_strip to make the debug package.
-
- -- Sebastien Bacher <seb128@debian.org> Sun, 16 Jan 2005 12:59:21 +0100
-
-glib2.0 (2.6.1-1) experimental; urgency=low
-
- * New upstream release.
-
- -- Sebastien Bacher <seb128@debian.org> Sat, 8 Jan 2005 14:44:05 +0100
-
-glib2.0 (2.6.0-1) experimental; urgency=low
-
- * New upstream release.
- * debian/rules:
- - updated the shlibs.
- * debian/watch:
- - updated.
-
- -- Sebastien Bacher <seb128@debian.org> Mon, 27 Dec 2004 16:15:36 +0100
-
-glib2.0 (2.4.8-1) unstable; urgency=medium
-
- * New upstream bugfix release.
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Sat, 4 Dec 2004 18:52:44 +0100
-
-glib2.0 (2.4.7-1) unstable; urgency=medium
-
- * New upstream bugfix release.
- * [debian/patches/000_glib-link.patch] Updated.
- * [debian/patches/001_translations.patch] Dropped.
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Fri, 8 Oct 2004 22:27:49 +0200
-
-glib2.0 (2.4.6-4) unstable; urgency=medium
-
- * [debian/patches/001_translations.patch] Updated translations from CVS and
- relibtoolise to use new translations.
- * [debian/rules] Fixed udeb naming on Hurd.
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Fri, 8 Oct 2004 12:43:09 +0200
-
-glib2.0 (2.4.6-3) unstable; urgency=medium
-
- Colin Watson <cjwatson@debian.org>: (Closes: #274053)
- * [debian/rules] binary-arch depends on binary-arch-udeb.
- * [debian/rules] Strip udeb!
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Wed, 29 Sep 2004 19:39:22 +0200
-
-glib2.0 (2.4.6-2) unstable; urgency=medium
-
- * [debian/patches/001_translations.patch] Updated translations from CVS.
- * [debian/rules] Tightened "shver" to tighten shlibs, as some
- incompatibilities with older versions turned up with gconf.
- (Closes: #265659)
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Tue, 24 Aug 2004 18:50:04 +0200
-
-glib2.0 (2.4.6-1) unstable; urgency=medium
-
- * New upstream bugfix release.
-
- -- J.H.M. Dassen (Ray) <jdassen@debian.org> Sun, 15 Aug 2004 18:34:27 +0200
-
-glib2.0 (2.4.5-2) unstable; urgency=low
-
- * debian/patches/000_glib-link.patch:
- - patch from Jurij Smakov <jurij@wooyd.org> to link with all the libs
- (Closes: #263130).
-
- -- Sebastien Bacher <seb128@debian.org> Tue, 3 Aug 2004 18:03:53 +0200
-
-glib2.0 (2.4.5-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Sebastien Bacher <seb128@debian.org> Sun, 1 Aug 2004 17:31:43 +0200
-
-glib2.0 (2.4.4-1) unstable; urgency=low
-
- * New upstream release.
- - remove spaces before "#pragma alloca" (Closes: #250667).
-
- -- Sebastien Bacher <seb128@debian.org> Fri, 16 Jul 2004 18:44:31 +0200
-
-glib2.0 (2.4.2-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Sebastien Bacher <seb128@debian.org> Sat, 5 Jun 2004 00:51:01 +0200
-
-glib2.0 (2.4.1-2) unstable; urgency=low
-
- * Upload in unstable.
- * GNOME Team Upload.
- * J.H.M. Dassen (Ray) <jdassen@debian.org>:
- + [debian/rules] Make the linker work a bit harder so dynamic loading can
- be done faster; safety measure: ensure the build aborts when the library
- still has references to undefined symbols.
-
- -- Sebastien Bacher <seb128@debian.org> Sat, 22 May 2004 14:18:23 +0200
-
-glib2.0 (2.4.1-1) experimental; urgency=low
-
- * New upstream release.
- * GNOME Team Upload.
- * debian/rules:
- - updated shlib version to 2.4.1.
-
- -- Sebastien Bacher <seb128@debian.org> Sun, 2 May 2004 12:47:25 +0200
-
-glib2.0 (2.4.0-2) experimental; urgency=low
-
- * Akira TAGOH <tagoh@debian.org>
- - debian/rules:
- - bumped shlib version to 2.4.0.
-
- -- Akira TAGOH <tagoh@debian.org> Wed, 24 Mar 2004 09:12:31 +0900
-
-glib2.0 (2.4.0-1) experimental; urgency=low
-
- * New upstream release.
- * debian/rules:
- - doh. don't claim the newer shlibs.
- * debian/control:
- - added Uploaders to maintain as team.
- - added gnome-pkg-tools to Build-Depends.
- * debian/docs:
- - added old ChangeLog and NEWS files.
-
- -- Akira TAGOH <tagoh@debian.org> Wed, 17 Mar 2004 21:18:00 +0900
-
-glib2.0 (2.2.3-1) unstable; urgency=low
-
- * "Welcome back my laptop PC!" release.
- * New upstream release.
- * debian/control:
- - bumped Standards-Version to 3.6.1.0.
-
- -- Akira TAGOH <tagoh@debian.org> Mon, 1 Sep 2003 02:29:14 +0900
-
-glib2.0 (2.2.2-1) unstable; urgency=low
-
- * New upstream release.
- - Fix portability problems with G_MIN/MAX_INT64 (closes: Bug#195302)
- * debian/control:
- - bumped Standards-Version to 3.5.10.0.
- - changed the sections for libglib2.0-dev and libglib2.0-dbg to libdevel.
- * debian/compat:
- - use it instead of DH_COMPAT.
-
- -- Akira TAGOH <tagoh@debian.org> Tue, 10 Jun 2003 18:44:01 +0900
-
-glib2.0 (2.2.1-3) unstable; urgency=low
-
- * debian/control:
- - rename libglib2.0-0-udeb to libglib2.0-udeb.
- - delete Recommends line from libglib2.0-udeb. (closes: Bug#183749)
- - add Provides: libglib2.0-0 for libglib2.0-udeb.
- * debian/libglib2.0-udeb.files:
- - contain the libraries and locale data.
-
- -- Akira TAGOH <tagoh@debian.org> Sat, 8 Mar 2003 02:46:19 +0900
-
-glib2.0 (2.2.1-2) unstable; urgency=low
-
- * debian/rules:
- - create the symlinks on /usr/share/gtk-doc/html. (closes: Bug#183504)
- - changed DH_COMPAT to 4.
- * debian/control:
- - add libglib2.0-0-udeb package for debian-installer.
-
- -- Akira TAGOH <tagoh@debian.org> Thu, 6 Mar 2003 01:14:44 +0900
-
-glib2.0 (2.2.1-1) unstable; urgency=low
-
- * New upstream release.
- * debian/control:
- - needed pkg-config (>= 0.14.0).
- - add autotools-dev to Build-Depends.
-
- -- Akira TAGOH <tagoh@debian.org> Tue, 4 Feb 2003 01:02:20 +0900
-
-glib2.0 (2.2.0-2) unstable; urgency=low
-
- * close to be fixed in the upstream release. (closes: Bug#173508)
-
- -- Akira TAGOH <tagoh@debian.org> Tue, 7 Jan 2003 17:22:20 +0900
-
-glib2.0 (2.2.0-1) unstable; urgency=low
-
- * New upstream release.
- * debian/control:
- bumped Standards-Version to 3.5.8.
-
- -- Akira TAGOH <tagoh@debian.org> Wed, 25 Dec 2002 13:46:08 +0900
-
-glib2.0 (2.0.7-1) unstable; urgency=low
-
- * New upstream release.
- * debian/control:
- - changed libc6-dev to libc6-dev | libc-dev in -dev's Depends.
- - bumped Standards-Version and depends debhelper (>> 4).
- - add libgtk2.0-doc to Suggests for -doc.
- * debian/rules:
- - add symlink to fix the missing symlink for gtk. but this release doesn't
- include the hyperlink for gtk+ (closes: Bug#162845)
- - support noopt option for DEB_BUILD_OPTIONS.
-
- -- Akira TAGOH <tagoh@debian.org> Tue, 5 Nov 2002 17:06:50 +0900
-
-glib2.0 (2.0.6-1) unstable; urgency=low
-
- * New upstream release.
- * debian/rules: removed --enable-debug option. conform to the default value
- now. (closes: Bug#151815)
- * debian/patches/000_glib2.0-garray.patch: removed because it's merged by
- the upstream.
-
- -- Akira TAGOH <tagoh@debian.org> Sun, 4 Aug 2002 16:05:03 +0900
-
-glib2.0 (2.0.4-3) unstable; urgency=low
-
- * debian/patches/000_glib2.0-garray.patch:
- applied to fix g_ptr_array_index() macro. (closes: Bug#150521)
-
- -- Akira TAGOH <tagoh@debian.org> Sat, 29 Jun 2002 19:46:51 +0900
-
-glib2.0 (2.0.4-2) unstable; urgency=low
-
- * debian/libglib2.0-doc.doc-base.gobject: fix the dupplicated title.
- (closes: Bug#150040)
-
- -- Akira TAGOH <tagoh@debian.org> Sun, 16 Jun 2002 23:27:38 +0900
-
-glib2.0 (2.0.4-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Akira TAGOH <tagoh@debian.org> Sun, 16 Jun 2002 03:33:22 +0900
-
-glib2.0 (2.0.3-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Akira TAGOH <tagoh@debian.org> Wed, 29 May 2002 00:49:56 +0900
-
-glib2.0 (2.0.1-2) unstable; urgency=low
-
- * debian/scripts/vars.build: fix bashism.
- * debian/README.Debian: add static link issue.
- * debian/rules: add --enable-static. (closes: Bug#142198)
-
- -- Akira TAGOH <tagoh@debian.org> Thu, 11 Apr 2002 19:25:17 +0900
-
-glib2.0 (2.0.1-1) unstable; urgency=low
-
- * New upstream release.
-
- -- Akira TAGOH <tagoh@debian.org> Sat, 30 Mar 2002 16:23:54 +0900
-
-glib2.0 (2.0.0-1) unstable; urgency=low
-
- * Initial Release.
-
- -- Akira TAGOH <tagoh@debian.org> Tue, 12 Mar 2002 02:32:11 +0900
-
+++ /dev/null
-Source: glib2.0
-Section: libs
-Priority: optional
-Maintainer: Sanghyun Park <sh.ad.park@samsung.com>, Wonsik Jung <sidein@samsung.com>, Boram Park <boram1288.park@samsung.com>, Eunok Kim <eunok26.kim@samsung.com>
-Build-Depends: debhelper (>> 5.0.22),
- pkg-config (>= 0.14.0),
- gettext,
- autotools-dev,
- gnome-pkg-tools (>= 0.11),
- quilt,
- zlib1g-dev,
- gtk-doc-tools
-Standards-Version: 3.8.3
-
-Package: libglib2.0-0
-Section: libs
-Architecture: any
-Depends: ${misc:Depends},
- ${shlibs:Depends},
- zlib1g
-Recommends: libglib2.0-data,
- shared-mime-info
-Conflicts: libpango1.0-0 (<< 1.11)
-Description: The GLib library of C routines
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package contains the shared libraries.
-
-Package: libglib2.0-dev
-Section: libdevel
-Architecture: any
-Depends: ${misc:Depends},
- ${shlibs:Depends},
- libglib2.0-0 (= ${binary:Version}),
- zlib1g-dev,
- pkg-config (>= 0.14.0)
-Recommends: python
-Suggests: libglib2.0-doc
-Replaces: libglib1.3-dev
-Conflicts: libglib1.3-dev
-Description: Development files for the GLib library
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package is needed to compile programs against libglib2.0-0,
- as only it includes the header files and static libraries (optionally)
- needed for compiling.
-
-Package: libglib2.0-0-dbg
-Section: debug
-Priority: extra
-Architecture: any
-Depends: ${misc:Depends},
- libglib2.0-0 (= ${binary:Version})
-Conflicts: libglib2.0-dbg
-Replaces: libglib2.0-dbg
-Description: The GLib libraries and debugging symbols
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package contains detached debugging symbols.
- .
- Most people will not need this package.
-
-Package: libglib2.0-data
-Architecture: all
-Depends: ${misc:Depends},
- libglib2.0-0 (>= ${source:Version})
-Replaces: libglib1.3,
- libglib1.3-data
-Conflicts: libglib1.3-data
-Description: Common files for GLib library
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package is needed for the runtime libraries to display messages in
- languages other than English.
-
-Package: libglib2.0-doc
-Section: doc
-Architecture: all
-Depends: ${misc:Depends}
-Replaces: libglib1.3-doc
-Conflicts: libglib1.3-doc
-Suggests: libgtk2.0-doc
-Description: Documentation files for the GLib library
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package contains the HTML documentation for the GLib library
- in /usr/share/doc/libglib2.0-doc/ .
-
-Package: libgio-fam
-Architecture: hurd-i386 kfreebsd-i386 kfreebsd-amd64
-Depends: ${shlibs:Depends}
-Recommends: gamin
-Description: GLib Input, Output and Streaming Library (fam module)
- GIO is the input, output and streaming API of GLib. This package
- provides a fam file and directory monitoring backend for it.
-
-Package: libglib2.0-0-refdbg
-Section: debug
-Priority: extra
-Architecture: any
-Depends: ${misc:Depends},
- ${shlibs:Depends},
- libglib2.0-0 (= ${binary:Version})
-Description: The GLib library of C routines - refdbg library
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package contains the shared library built with
- --disable-visibility so that it can be used with refdbg, a GObject
- refcount debugger.
+++ /dev/null
-Source: glib@APIVER@
-Section: libs
-Priority: optional
-Maintainer: Sanghyun Park <sh.ad.park@samsung.com>, Wonsik Jung <sidein@samsung.com>, Boram Park <boram1288.park@samsung.com>, Eunok Kim <eunok26.kim@samsung.com>
-Build-Depends: debhelper (>> 5.0.22),
- pkg-config (>= 0.14.0),
- gettext,
- autotools-dev,
- gnome-pkg-tools (>= 0.11),
- quilt,
- zlib1g-dev,
- gtk-doc-tools
-Standards-Version: 3.8.3
-
-Package: @SHARED_PKG@
-Section: libs
-Architecture: any
-Depends: ${misc:Depends},
- ${shlibs:Depends},
- zlib1g
-Recommends: @DATA_PKG@,
- shared-mime-info
-Conflicts: libpango1.0-0 (<< 1.11)
-Description: The GLib library of C routines
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package contains the shared libraries.
-
-Package: @DEV_PKG@
-Section: libdevel
-Architecture: any
-Depends: ${misc:Depends},
- ${shlibs:Depends},
- @SHARED_PKG@ (= ${binary:Version}),
- zlib1g-dev,
- pkg-config (>= 0.14.0)
-Recommends: python
-Suggests: @DOC_PKG@
-Replaces: libglib1.3-dev
-Conflicts: libglib1.3-dev
-Description: Development files for the GLib library
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package is needed to compile programs against @SHARED_PKG@,
- as only it includes the header files and static libraries (optionally)
- needed for compiling.
-
-Package: @DEBUG_PKG@
-Section: debug
-Priority: extra
-Architecture: any
-Depends: ${misc:Depends},
- @SHARED_PKG@ (= ${binary:Version})
-Conflicts: libglib2.0-dbg
-Replaces: libglib2.0-dbg
-Description: The GLib libraries and debugging symbols
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package contains detached debugging symbols.
- .
- Most people will not need this package.
-
-Package: @DATA_PKG@
-Architecture: all
-Depends: ${misc:Depends},
- @SHARED_PKG@ (>= ${source:Version})
-Replaces: libglib1.3,
- libglib1.3-data
-Conflicts: libglib1.3-data
-Description: Common files for GLib library
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package is needed for the runtime libraries to display messages in
- languages other than English.
-
-Package: @DOC_PKG@
-Section: doc
-Architecture: all
-Depends: ${misc:Depends}
-Replaces: libglib1.3-doc
-Conflicts: libglib1.3-doc
-Suggests: libgtk2.0-doc
-Description: Documentation files for the GLib library
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package contains the HTML documentation for the GLib library
- in /usr/share/doc/@DOC_PKG@/ .
-
-Package: libgio-fam
-Architecture: hurd-i386 kfreebsd-i386 kfreebsd-amd64
-Depends: ${shlibs:Depends}
-Recommends: gamin
-Description: GLib Input, Output and Streaming Library (fam module)
- GIO is the input, output and streaming API of GLib. This package
- provides a fam file and directory monitoring backend for it.
-
-Package: @REFDBG_PKG@
-Section: debug
-Priority: extra
-Architecture: any
-Depends: ${misc:Depends},
- ${shlibs:Depends},
- @SHARED_PKG@ (= ${binary:Version})
-Description: The GLib library of C routines - refdbg library
- GLib is a library containing many useful C routines for things such
- as trees, hashes, lists, and strings. It is a useful general-purpose
- C library used by projects such as GTK+, GIMP, and GNOME.
- .
- This package contains the shared library built with
- --disable-visibility so that it can be used with refdbg, a GObject
- refcount debugger.
+++ /dev/null
-This package was debianized by Akira TAGOH <tagoh@debian.org> on
-Thu, 7 Mar 2002 01:05:25 +0900.
-
-It was downloaded from <http://ftp.gnome.org/pub/GNOME/sources/glib/>.
-
-Original Authors
-----------------
-Peter Mattis <petm@xcf.berkeley.edu>
-Spencer Kimball <spencer@xcf.berkeley.edu>
-Josh MacDonald <jmacd@xcf.berkeley.edu>
-
-Please do not mail the original authors asking questions about this
-version of GLib.
-
-GLib Team
----------
-Shawn T. Amundson <amundson@gimp.org>
-Jeff Garzik <jgarzik@pobox.com>
-Raja R Harinath <harinath@cs.umn.edu>
-Tim Janik <timj@gtk.org>
-Elliot Lee <sopwith@redhat.com>
-Tor Lillqvist <tml@iki.fi>
-Paolo Molaro <lupus@debian.org>
-Havoc Pennington <hp@pobox.com>
-Manish Singh <yosh@gimp.org>
-Owen Taylor <otaylor@gtk.org>
-Sebastian Wilhelmi <wilhelmi@ira.uka.de>
-
-The random number generator "Mersenne Twister", which is used by GLib,
-was developed and originally coded by:
-Makoto Matsumoto <matumoto@math.keio.ac.jp>
-Takuji Nishimura <nisimura@math.keio.ac.jp>
-
-License:
-
- This package is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This package is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this package; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-On Debian systems, the complete text of the GNU Lesser General
-Public License can be found in `/usr/share/common-licenses/LGPL'.
-
+++ /dev/null
-NEWS
-NEWS.pre-1-3
-README
-ChangeLog.pre-1-2
-ChangeLog.pre-2-0
-ChangeLog.pre-2-2
+++ /dev/null
-debian/install/deb/usr/lib/gio usr/lib
+++ /dev/null
-usr/share/doc/libglib2.0-0 usr/share/doc/libglib2.0-0-dbg
+++ /dev/null
-debian/install/refdbg/usr/lib/libgobject*.so* usr/lib/refdbg
-debian/lintian-overrides/libglib2.0-0-refdbg usr/share/lintian/overrides
+++ /dev/null
-debian/install/deb/usr/lib/libglib-*.so.* usr/lib
-debian/install/deb/usr/lib/libg{object,module,thread,io}-*.so.* usr/lib
+++ /dev/null
-libgio-2.0.so.0 libglib2.0-0 #MINVER#
-* Build-Depends-Package: libglib2.0-dev
- g_app_info_add_supports_type@Base 2.16.0
- g_app_info_can_delete@Base 2.20.0
- g_app_info_can_remove_supports_type@Base 2.16.0
- g_app_info_create_flags_get_type@Base 2.16.0
- g_app_info_create_from_commandline@Base 2.16.0
- g_app_info_delete@Base 2.20.0
- g_app_info_dup@Base 2.16.0
- g_app_info_equal@Base 2.16.0
- g_app_info_get_all@Base 2.16.0
- g_app_info_get_all_for_type@Base 2.16.0
- g_app_info_get_commandline@Base 2.20.0
- g_app_info_get_default_for_type@Base 2.16.0
- g_app_info_get_default_for_uri_scheme@Base 2.16.0
- g_app_info_get_description@Base 2.16.0
- g_app_info_get_executable@Base 2.16.0
- g_app_info_get_icon@Base 2.16.0
- g_app_info_get_id@Base 2.16.0
- g_app_info_get_name@Base 2.16.0
- g_app_info_get_type@Base 2.16.0
- g_app_info_launch@Base 2.16.0
- g_app_info_launch_default_for_uri@Base 2.16.0
- g_app_info_launch_uris@Base 2.16.0
- g_app_info_remove_supports_type@Base 2.16.0
- g_app_info_reset_type_associations@Base 2.20.0
- g_app_info_set_as_default_for_extension@Base 2.16.0
- g_app_info_set_as_default_for_type@Base 2.16.0
- g_app_info_should_show@Base 2.16.0
- g_app_info_supports_files@Base 2.16.0
- g_app_info_supports_uris@Base 2.16.0
- g_app_launch_context_get_display@Base 2.16.0
- g_app_launch_context_get_startup_notify_id@Base 2.16.0
- g_app_launch_context_get_type@Base 2.16.0
- g_app_launch_context_launch_failed@Base 2.16.0
- g_app_launch_context_new@Base 2.16.0
- g_ask_password_flags_get_type@Base 2.16.0
- g_async_initable_get_type@Base 2.22.0
- g_async_initable_init_async@Base 2.22.0
- g_async_initable_init_finish@Base 2.22.0
- g_async_initable_new_async@Base 2.22.0
- g_async_initable_new_finish@Base 2.22.0
- g_async_initable_new_valist_async@Base 2.22.0
- g_async_initable_newv_async@Base 2.22.0
- g_async_result_get_source_object@Base 2.16.0
- g_async_result_get_type@Base 2.16.0
- g_async_result_get_user_data@Base 2.16.0
- g_buffered_input_stream_fill@Base 2.16.0
- g_buffered_input_stream_fill_async@Base 2.16.0
- g_buffered_input_stream_fill_finish@Base 2.16.0
- g_buffered_input_stream_get_available@Base 2.16.0
- g_buffered_input_stream_get_buffer_size@Base 2.16.0
- g_buffered_input_stream_get_type@Base 2.16.0
- g_buffered_input_stream_new@Base 2.16.0
- g_buffered_input_stream_new_sized@Base 2.16.0
- g_buffered_input_stream_peek@Base 2.16.0
- g_buffered_input_stream_peek_buffer@Base 2.16.0
- g_buffered_input_stream_read_byte@Base 2.16.0
- g_buffered_input_stream_set_buffer_size@Base 2.16.0
- g_buffered_output_stream_get_auto_grow@Base 2.16.0
- g_buffered_output_stream_get_buffer_size@Base 2.16.0
- g_buffered_output_stream_get_type@Base 2.16.0
- g_buffered_output_stream_new@Base 2.16.0
- g_buffered_output_stream_new_sized@Base 2.16.0
- g_buffered_output_stream_set_auto_grow@Base 2.16.0
- g_buffered_output_stream_set_buffer_size@Base 2.16.0
- g_cancellable_cancel@Base 2.16.0
- g_cancellable_connect@Base 2.22.0
- g_cancellable_disconnect@Base 2.22.0
- g_cancellable_get_current@Base 2.16.0
- g_cancellable_get_fd@Base 2.16.0
- g_cancellable_get_type@Base 2.16.0
- g_cancellable_is_cancelled@Base 2.16.0
- g_cancellable_make_pollfd@Base 2.22.0
- g_cancellable_new@Base 2.16.0
- g_cancellable_pop_current@Base 2.16.0
- g_cancellable_push_current@Base 2.16.0
- g_cancellable_release_fd@Base 2.22.0
- g_cancellable_reset@Base 2.16.0
- g_cancellable_set_error_if_cancelled@Base 2.16.0
- g_content_type_can_be_executable@Base 2.16.0
- g_content_type_equals@Base 2.16.0
- g_content_type_from_mime_type@Base 2.18.0
- g_content_type_get_description@Base 2.16.0
- g_content_type_get_icon@Base 2.16.0
- g_content_type_get_mime_type@Base 2.16.0
- g_content_type_guess@Base 2.16.0
- g_content_type_guess_for_tree@Base 2.18.0
- g_content_type_is_a@Base 2.16.0
- g_content_type_is_unknown@Base 2.16.0
- g_content_types_get_registered@Base 2.16.0
- g_data_input_stream_get_byte_order@Base 2.16.0
- g_data_input_stream_get_newline_type@Base 2.16.0
- g_data_input_stream_get_type@Base 2.16.0
- g_data_input_stream_new@Base 2.16.0
- g_data_input_stream_read_byte@Base 2.16.0
- g_data_input_stream_read_int16@Base 2.16.0
- g_data_input_stream_read_int32@Base 2.16.0
- g_data_input_stream_read_int64@Base 2.16.0
- g_data_input_stream_read_line@Base 2.16.0
- g_data_input_stream_read_line_async@Base 2.20.0
- g_data_input_stream_read_line_finish@Base 2.20.0
- g_data_input_stream_read_uint16@Base 2.16.0
- g_data_input_stream_read_uint32@Base 2.16.0
- g_data_input_stream_read_uint64@Base 2.16.0
- g_data_input_stream_read_until@Base 2.16.0
- g_data_input_stream_read_until_async@Base 2.20.0
- g_data_input_stream_read_until_finish@Base 2.20.0
- g_data_input_stream_set_byte_order@Base 2.16.0
- g_data_input_stream_set_newline_type@Base 2.16.0
- g_data_output_stream_get_byte_order@Base 2.16.0
- g_data_output_stream_get_type@Base 2.16.0
- g_data_output_stream_new@Base 2.16.0
- g_data_output_stream_put_byte@Base 2.16.0
- g_data_output_stream_put_int16@Base 2.16.0
- g_data_output_stream_put_int32@Base 2.16.0
- g_data_output_stream_put_int64@Base 2.16.0
- g_data_output_stream_put_string@Base 2.16.0
- g_data_output_stream_put_uint16@Base 2.16.0
- g_data_output_stream_put_uint32@Base 2.16.0
- g_data_output_stream_put_uint64@Base 2.16.0
- g_data_output_stream_set_byte_order@Base 2.16.0
- g_data_stream_byte_order_get_type@Base 2.16.0
- g_data_stream_newline_type_get_type@Base 2.16.0
- g_desktop_app_info_get_is_hidden@Base 2.16.0
- g_desktop_app_info_get_type@Base 2.16.0
- g_desktop_app_info_lookup_get_default_for_uri_scheme@Base 2.16.0
- g_desktop_app_info_lookup_get_type@Base 2.16.0
- g_desktop_app_info_new@Base 2.16.0
- g_desktop_app_info_new_from_filename@Base 2.16.0
- g_desktop_app_info_new_from_keyfile@Base 2.18.0
- g_desktop_app_info_set_desktop_env@Base 2.16.0
- g_drive_can_eject@Base 2.16.0
- g_drive_can_poll_for_media@Base 2.16.0
- g_drive_can_start@Base 2.22.0
- g_drive_can_start_degraded@Base 2.22.0
- g_drive_can_stop@Base 2.22.0
- g_drive_eject@Base 2.16.0
- g_drive_eject_finish@Base 2.16.0
- g_drive_eject_with_operation@Base 2.22.0
- g_drive_eject_with_operation_finish@Base 2.22.0
- g_drive_enumerate_identifiers@Base 2.16.0
- g_drive_get_icon@Base 2.16.0
- g_drive_get_identifier@Base 2.16.0
- g_drive_get_name@Base 2.16.0
- g_drive_get_start_stop_type@Base 2.22.0
- g_drive_get_type@Base 2.16.0
- g_drive_get_volumes@Base 2.16.0
- g_drive_has_media@Base 2.16.0
- g_drive_has_volumes@Base 2.16.0
- g_drive_is_media_check_automatic@Base 2.16.0
- g_drive_is_media_removable@Base 2.16.0
- g_drive_poll_for_media@Base 2.16.0
- g_drive_poll_for_media_finish@Base 2.16.0
- g_drive_start@Base 2.22.0
- g_drive_start_finish@Base 2.22.0
- g_drive_start_flags_get_type@Base 2.22.0
- g_drive_start_stop_type_get_type@Base 2.22.0
- g_drive_stop@Base 2.22.0
- g_drive_stop_finish@Base 2.22.0
- g_emblem_get_icon@Base 2.18.0
- g_emblem_get_origin@Base 2.18.0
- g_emblem_get_type@Base 2.18.0
- g_emblem_new@Base 2.18.0
- g_emblem_new_with_origin@Base 2.18.0
- g_emblem_origin_get_type@Base 2.18.0
- g_emblemed_icon_add_emblem@Base 2.18.0
- g_emblemed_icon_get_emblems@Base 2.18.0
- g_emblemed_icon_get_icon@Base 2.18.0
- g_emblemed_icon_get_type@Base 2.18.0
- g_emblemed_icon_new@Base 2.18.0
- g_file_append_to@Base 2.16.0
- g_file_append_to_async@Base 2.16.0
- g_file_append_to_finish@Base 2.16.0
- g_file_attribute_info_flags_get_type@Base 2.16.0
- g_file_attribute_info_list_add@Base 2.16.0
- g_file_attribute_info_list_dup@Base 2.16.0
- g_file_attribute_info_list_get_type@Base 2.20.0
- g_file_attribute_info_list_lookup@Base 2.16.0
- g_file_attribute_info_list_new@Base 2.16.0
- g_file_attribute_info_list_ref@Base 2.16.0
- g_file_attribute_info_list_unref@Base 2.16.0
- g_file_attribute_matcher_enumerate_namespace@Base 2.16.0
- g_file_attribute_matcher_enumerate_next@Base 2.16.0
- g_file_attribute_matcher_matches@Base 2.16.0
- g_file_attribute_matcher_matches_only@Base 2.16.0
- g_file_attribute_matcher_new@Base 2.16.0
- g_file_attribute_matcher_ref@Base 2.16.0
- g_file_attribute_matcher_unref@Base 2.16.0
- g_file_attribute_status_get_type@Base 2.16.0
- g_file_attribute_type_get_type@Base 2.16.0
- g_file_copy@Base 2.16.0
- g_file_copy_async@Base 2.16.0
- g_file_copy_attributes@Base 2.16.0
- g_file_copy_finish@Base 2.16.0
- g_file_copy_flags_get_type@Base 2.16.0
- g_file_create@Base 2.16.0
- g_file_create_async@Base 2.16.0
- g_file_create_finish@Base 2.16.0
- g_file_create_flags_get_type@Base 2.16.0
- g_file_create_readwrite@Base 2.22.0
- g_file_create_readwrite_async@Base 2.22.0
- g_file_create_readwrite_finish@Base 2.22.0
- g_file_delete@Base 2.16.0
- g_file_dup@Base 2.16.0
- g_file_eject_mountable@Base 2.16.0
- g_file_eject_mountable_finish@Base 2.16.0
- g_file_eject_mountable_with_operation@Base 2.22.0
- g_file_eject_mountable_with_operation_finish@Base 2.22.0
- g_file_enumerate_children@Base 2.16.0
- g_file_enumerate_children_async@Base 2.16.0
- g_file_enumerate_children_finish@Base 2.16.0
- g_file_enumerator_close@Base 2.16.0
- g_file_enumerator_close_async@Base 2.16.0
- g_file_enumerator_close_finish@Base 2.16.0
- g_file_enumerator_get_container@Base 2.18.0
- g_file_enumerator_get_type@Base 2.16.0
- g_file_enumerator_has_pending@Base 2.16.0
- g_file_enumerator_is_closed@Base 2.16.0
- g_file_enumerator_next_file@Base 2.16.0
- g_file_enumerator_next_files_async@Base 2.16.0
- g_file_enumerator_next_files_finish@Base 2.16.0
- g_file_enumerator_set_pending@Base 2.16.0
- g_file_equal@Base 2.16.0
- g_file_find_enclosing_mount@Base 2.16.0
- g_file_find_enclosing_mount_async@Base 2.16.0
- g_file_find_enclosing_mount_finish@Base 2.16.0
- g_file_get_basename@Base 2.16.0
- g_file_get_child@Base 2.16.0
- g_file_get_child_for_display_name@Base 2.16.0
- g_file_get_parent@Base 2.16.0
- g_file_get_parse_name@Base 2.16.0
- g_file_get_path@Base 2.16.0
- g_file_get_relative_path@Base 2.16.0
- g_file_get_type@Base 2.16.0
- g_file_get_uri@Base 2.16.0
- g_file_get_uri_scheme@Base 2.16.0
- g_file_has_prefix@Base 2.16.0
- g_file_has_uri_scheme@Base 2.16.0
- g_file_hash@Base 2.16.0
- g_file_icon_get_file@Base 2.16.0
- g_file_icon_get_type@Base 2.16.0
- g_file_icon_new@Base 2.16.0
- g_file_info_clear_status@Base 2.16.0
- g_file_info_copy_into@Base 2.16.0
- g_file_info_dup@Base 2.16.0
- g_file_info_get_attribute_as_string@Base 2.16.0
- g_file_info_get_attribute_boolean@Base 2.16.0
- g_file_info_get_attribute_byte_string@Base 2.16.0
- g_file_info_get_attribute_data@Base 2.16.0
- g_file_info_get_attribute_int32@Base 2.16.0
- g_file_info_get_attribute_int64@Base 2.16.0
- g_file_info_get_attribute_object@Base 2.16.0
- g_file_info_get_attribute_status@Base 2.16.0
- g_file_info_get_attribute_string@Base 2.16.0
- g_file_info_get_attribute_stringv@Base 2.22.0
- g_file_info_get_attribute_type@Base 2.16.0
- g_file_info_get_attribute_uint32@Base 2.16.0
- g_file_info_get_attribute_uint64@Base 2.16.0
- g_file_info_get_content_type@Base 2.16.0
- g_file_info_get_display_name@Base 2.16.0
- g_file_info_get_edit_name@Base 2.16.0
- g_file_info_get_etag@Base 2.16.0
- g_file_info_get_file_type@Base 2.16.0
- g_file_info_get_icon@Base 2.16.0
- g_file_info_get_is_backup@Base 2.16.0
- g_file_info_get_is_hidden@Base 2.16.0
- g_file_info_get_is_symlink@Base 2.16.0
- g_file_info_get_modification_time@Base 2.16.0
- g_file_info_get_name@Base 2.16.0
- g_file_info_get_size@Base 2.16.0
- g_file_info_get_sort_order@Base 2.16.0
- g_file_info_get_symlink_target@Base 2.16.0
- g_file_info_get_type@Base 2.16.0
- g_file_info_has_attribute@Base 2.16.0
- g_file_info_has_namespace@Base 2.22.0
- g_file_info_list_attributes@Base 2.16.0
- g_file_info_new@Base 2.16.0
- g_file_info_remove_attribute@Base 2.16.0
- g_file_info_set_attribute@Base 2.16.0
- g_file_info_set_attribute_boolean@Base 2.16.0
- g_file_info_set_attribute_byte_string@Base 2.16.0
- g_file_info_set_attribute_int32@Base 2.16.0
- g_file_info_set_attribute_int64@Base 2.16.0
- g_file_info_set_attribute_mask@Base 2.16.0
- g_file_info_set_attribute_object@Base 2.16.0
- g_file_info_set_attribute_status@Base 2.22.0
- g_file_info_set_attribute_string@Base 2.16.0
- g_file_info_set_attribute_stringv@Base 2.22.0
- g_file_info_set_attribute_uint32@Base 2.16.0
- g_file_info_set_attribute_uint64@Base 2.16.0
- g_file_info_set_content_type@Base 2.16.0
- g_file_info_set_display_name@Base 2.16.0
- g_file_info_set_edit_name@Base 2.16.0
- g_file_info_set_file_type@Base 2.16.0
- g_file_info_set_icon@Base 2.16.0
- g_file_info_set_is_hidden@Base 2.16.0
- g_file_info_set_is_symlink@Base 2.16.0
- g_file_info_set_modification_time@Base 2.16.0
- g_file_info_set_name@Base 2.16.0
- g_file_info_set_size@Base 2.16.0
- g_file_info_set_sort_order@Base 2.16.0
- g_file_info_set_symlink_target@Base 2.16.0
- g_file_info_unset_attribute_mask@Base 2.16.0
- g_file_input_stream_get_type@Base 2.16.0
- g_file_input_stream_query_info@Base 2.16.0
- g_file_input_stream_query_info_async@Base 2.16.0
- g_file_input_stream_query_info_finish@Base 2.16.0
- g_file_io_stream_get_etag@Base 2.22.0
- g_file_io_stream_get_type@Base 2.22.0
- g_file_io_stream_query_info@Base 2.22.0
- g_file_io_stream_query_info_async@Base 2.22.0
- g_file_io_stream_query_info_finish@Base 2.22.0
- g_file_is_native@Base 2.16.0
- g_file_load_contents@Base 2.16.0
- g_file_load_contents_async@Base 2.16.0
- g_file_load_contents_finish@Base 2.16.0
- g_file_load_partial_contents_async@Base 2.16.0
- g_file_load_partial_contents_finish@Base 2.16.0
- g_file_make_directory@Base 2.16.0
- g_file_make_directory_with_parents@Base 2.18.0
- g_file_make_symbolic_link@Base 2.16.0
- g_file_monitor@Base 2.18.0
- g_file_monitor_cancel@Base 2.16.0
- g_file_monitor_directory@Base 2.16.0
- g_file_monitor_emit_event@Base 2.16.0
- g_file_monitor_event_get_type@Base 2.16.0
- g_file_monitor_file@Base 2.16.0
- g_file_monitor_flags_get_type@Base 2.16.0
- g_file_monitor_get_type@Base 2.16.0
- g_file_monitor_is_cancelled@Base 2.16.0
- g_file_monitor_set_rate_limit@Base 2.16.0
- g_file_mount_enclosing_volume@Base 2.16.0
- g_file_mount_enclosing_volume_finish@Base 2.16.0
- g_file_mount_mountable@Base 2.16.0
- g_file_mount_mountable_finish@Base 2.16.0
- g_file_move@Base 2.16.0
- g_file_new_for_commandline_arg@Base 2.16.0
- g_file_new_for_path@Base 2.16.0
- g_file_new_for_uri@Base 2.16.0
- g_file_open_readwrite@Base 2.22.0
- g_file_open_readwrite_async@Base 2.22.0
- g_file_open_readwrite_finish@Base 2.22.0
- g_file_output_stream_get_etag@Base 2.16.0
- g_file_output_stream_get_type@Base 2.16.0
- g_file_output_stream_query_info@Base 2.16.0
- g_file_output_stream_query_info_async@Base 2.16.0
- g_file_output_stream_query_info_finish@Base 2.16.0
- g_file_parse_name@Base 2.16.0
- g_file_poll_mountable@Base 2.22.0
- g_file_poll_mountable_finish@Base 2.22.0
- g_file_query_default_handler@Base 2.16.0
- g_file_query_exists@Base 2.16.0
- g_file_query_file_type@Base 2.18.0
- g_file_query_filesystem_info@Base 2.16.0
- g_file_query_filesystem_info_async@Base 2.16.0
- g_file_query_filesystem_info_finish@Base 2.16.0
- g_file_query_info@Base 2.16.0
- g_file_query_info_async@Base 2.16.0
- g_file_query_info_finish@Base 2.16.0
- g_file_query_info_flags_get_type@Base 2.16.0
- g_file_query_settable_attributes@Base 2.16.0
- g_file_query_writable_namespaces@Base 2.16.0
- g_file_read@Base 2.16.0
- g_file_read_async@Base 2.16.0
- g_file_read_finish@Base 2.16.0
- g_file_replace@Base 2.16.0
- g_file_replace_async@Base 2.16.0
- g_file_replace_contents@Base 2.16.0
- g_file_replace_contents_async@Base 2.16.0
- g_file_replace_contents_finish@Base 2.16.0
- g_file_replace_finish@Base 2.16.0
- g_file_replace_readwrite@Base 2.22.0
- g_file_replace_readwrite_async@Base 2.22.0
- g_file_replace_readwrite_finish@Base 2.22.0
- g_file_resolve_relative_path@Base 2.16.0
- g_file_set_attribute@Base 2.16.0
- g_file_set_attribute_byte_string@Base 2.16.0
- g_file_set_attribute_int32@Base 2.16.0
- g_file_set_attribute_int64@Base 2.16.0
- g_file_set_attribute_string@Base 2.16.0
- g_file_set_attribute_uint32@Base 2.16.0
- g_file_set_attribute_uint64@Base 2.16.0
- g_file_set_attributes_async@Base 2.16.0
- g_file_set_attributes_finish@Base 2.16.0
- g_file_set_attributes_from_info@Base 2.16.0
- g_file_set_display_name@Base 2.16.0
- g_file_set_display_name_async@Base 2.16.0
- g_file_set_display_name_finish@Base 2.16.0
- g_file_start_mountable@Base 2.22.0
- g_file_start_mountable_finish@Base 2.22.0
- g_file_stop_mountable@Base 2.22.0
- g_file_stop_mountable_finish@Base 2.22.0
- g_file_supports_thread_contexts@Base 2.22.0
- g_file_trash@Base 2.16.0
- g_file_type_get_type@Base 2.16.0
- g_file_unmount_mountable@Base 2.16.0
- g_file_unmount_mountable_finish@Base 2.16.0
- g_file_unmount_mountable_with_operation@Base 2.22.0
- g_file_unmount_mountable_with_operation_finish@Base 2.22.0
- g_filename_completer_get_completion_suffix@Base 2.16.0
- g_filename_completer_get_completions@Base 2.16.0
- g_filename_completer_get_type@Base 2.16.0
- g_filename_completer_new@Base 2.16.0
- g_filename_completer_set_dirs_only@Base 2.16.0
- g_filesystem_preview_type_get_type@Base 2.16.0
- g_filter_input_stream_get_base_stream@Base 2.16.0
- g_filter_input_stream_get_close_base_stream@Base 2.20.0
- g_filter_input_stream_get_type@Base 2.16.0
- g_filter_input_stream_set_close_base_stream@Base 2.20.0
- g_filter_output_stream_get_base_stream@Base 2.16.0
- g_filter_output_stream_get_close_base_stream@Base 2.20.0
- g_filter_output_stream_get_type@Base 2.16.0
- g_filter_output_stream_set_close_base_stream@Base 2.20.0
- g_icon_equal@Base 2.16.0
- g_icon_get_type@Base 2.16.0
- g_icon_hash@Base 2.16.0
- g_icon_new_for_string@Base 2.20.0
- g_icon_to_string@Base 2.20.0
- g_inet_address_get_family@Base 2.22.0
- g_inet_address_get_is_any@Base 2.22.0
- g_inet_address_get_is_link_local@Base 2.22.0
- g_inet_address_get_is_loopback@Base 2.22.0
- g_inet_address_get_is_mc_global@Base 2.22.0
- g_inet_address_get_is_mc_link_local@Base 2.22.0
- g_inet_address_get_is_mc_node_local@Base 2.22.0
- g_inet_address_get_is_mc_org_local@Base 2.22.0
- g_inet_address_get_is_mc_site_local@Base 2.22.0
- g_inet_address_get_is_multicast@Base 2.22.0
- g_inet_address_get_is_site_local@Base 2.22.0
- g_inet_address_get_native_size@Base 2.22.0
- g_inet_address_get_type@Base 2.22.0
- g_inet_address_new_any@Base 2.22.0
- g_inet_address_new_from_bytes@Base 2.22.0
- g_inet_address_new_from_string@Base 2.22.0
- g_inet_address_new_loopback@Base 2.22.0
- g_inet_address_to_bytes@Base 2.22.0
- g_inet_address_to_string@Base 2.22.0
- g_inet_socket_address_get_address@Base 2.22.0
- g_inet_socket_address_get_port@Base 2.22.0
- g_inet_socket_address_get_type@Base 2.22.0
- g_inet_socket_address_new@Base 2.22.0
- g_initable_get_type@Base 2.22.0
- g_initable_init@Base 2.22.0
- g_initable_new@Base 2.22.0
- g_initable_new_valist@Base 2.22.0
- g_initable_newv@Base 2.22.0
- g_input_stream_clear_pending@Base 2.16.0
- g_input_stream_close@Base 2.16.0
- g_input_stream_close_async@Base 2.16.0
- g_input_stream_close_finish@Base 2.16.0
- g_input_stream_get_type@Base 2.16.0
- g_input_stream_has_pending@Base 2.16.0
- g_input_stream_is_closed@Base 2.16.0
- g_input_stream_read@Base 2.16.0
- g_input_stream_read_all@Base 2.16.0
- g_input_stream_read_async@Base 2.16.0
- g_input_stream_read_finish@Base 2.16.0
- g_input_stream_set_pending@Base 2.16.0
- g_input_stream_skip@Base 2.16.0
- g_input_stream_skip_async@Base 2.16.0
- g_input_stream_skip_finish@Base 2.16.0
- g_io_error_enum_get_type@Base 2.16.0
- g_io_error_from_errno@Base 2.16.0
- g_io_error_quark@Base 2.16.0
- g_io_extension_get_name@Base 2.16.0
- g_io_extension_get_priority@Base 2.16.0
- g_io_extension_get_type@Base 2.16.0
- g_io_extension_point_get_extension_by_name@Base 2.16.0
- g_io_extension_point_get_extensions@Base 2.16.0
- g_io_extension_point_get_required_type@Base 2.16.0
- g_io_extension_point_implement@Base 2.16.0
- g_io_extension_point_lookup@Base 2.16.0
- g_io_extension_point_register@Base 2.16.0
- g_io_extension_point_set_required_type@Base 2.16.0
- g_io_extension_ref_class@Base 2.16.0
- g_io_module_get_type@Base 2.16.0
- g_io_module_new@Base 2.16.0
- g_io_modules_load_all_in_directory@Base 2.16.0
- g_io_scheduler_cancel_all_jobs@Base 2.16.0
- g_io_scheduler_job_send_to_mainloop@Base 2.16.0
- g_io_scheduler_job_send_to_mainloop_async@Base 2.16.0
- g_io_scheduler_push_job@Base 2.16.0
- g_io_stream_clear_pending@Base 2.22.0
- g_io_stream_close@Base 2.22.0
- g_io_stream_close_async@Base 2.22.0
- g_io_stream_close_finish@Base 2.22.0
- g_io_stream_get_input_stream@Base 2.22.0
- g_io_stream_get_output_stream@Base 2.22.0
- g_io_stream_get_type@Base 2.22.0
- g_io_stream_has_pending@Base 2.22.0
- g_io_stream_is_closed@Base 2.22.0
- g_io_stream_set_pending@Base 2.22.0
- g_loadable_icon_get_type@Base 2.16.0
- g_loadable_icon_load@Base 2.16.0
- g_loadable_icon_load_async@Base 2.16.0
- g_loadable_icon_load_finish@Base 2.16.0
- g_local_directory_monitor_get_type@Base 2.16.0
- g_local_file_monitor_get_type@Base 2.16.0
- g_memory_input_stream_add_data@Base 2.16.0
- g_memory_input_stream_get_type@Base 2.16.0
- g_memory_input_stream_new@Base 2.16.0
- g_memory_input_stream_new_from_data@Base 2.16.0
- g_memory_output_stream_get_data@Base 2.16.0
- g_memory_output_stream_get_data_size@Base 2.18.0
- g_memory_output_stream_get_size@Base 2.16.0
- g_memory_output_stream_get_type@Base 2.16.0
- g_memory_output_stream_new@Base 2.16.0
- g_mount_can_eject@Base 2.16.0
- g_mount_can_unmount@Base 2.16.0
- g_mount_eject@Base 2.16.0
- g_mount_eject_finish@Base 2.16.0
- g_mount_eject_with_operation@Base 2.22.0
- g_mount_eject_with_operation_finish@Base 2.22.0
- g_mount_get_drive@Base 2.16.0
- g_mount_get_icon@Base 2.16.0
- g_mount_get_name@Base 2.16.0
- g_mount_get_root@Base 2.16.0
- g_mount_get_type@Base 2.16.0
- g_mount_get_uuid@Base 2.16.0
- g_mount_get_volume@Base 2.16.0
- g_mount_guess_content_type@Base 2.18.0
- g_mount_guess_content_type_finish@Base 2.18.0
- g_mount_guess_content_type_sync@Base 2.18.0
- g_mount_is_shadowed@Base 2.20.0
- g_mount_mount_flags_get_type@Base 2.16.0
- g_mount_operation_get_anonymous@Base 2.16.0
- g_mount_operation_get_choice@Base 2.16.0
- g_mount_operation_get_domain@Base 2.16.0
- g_mount_operation_get_password@Base 2.16.0
- g_mount_operation_get_password_save@Base 2.16.0
- g_mount_operation_get_type@Base 2.16.0
- g_mount_operation_get_username@Base 2.16.0
- g_mount_operation_new@Base 2.16.0
- g_mount_operation_reply@Base 2.16.0
- g_mount_operation_result_get_type@Base 2.16.0
- g_mount_operation_set_anonymous@Base 2.16.0
- g_mount_operation_set_choice@Base 2.16.0
- g_mount_operation_set_domain@Base 2.16.0
- g_mount_operation_set_password@Base 2.16.0
- g_mount_operation_set_password_save@Base 2.16.0
- g_mount_operation_set_username@Base 2.16.0
- g_mount_remount@Base 2.16.0
- g_mount_remount_finish@Base 2.16.0
- g_mount_shadow@Base 2.20.0
- g_mount_unmount@Base 2.16.0
- g_mount_unmount_finish@Base 2.16.0
- g_mount_unmount_flags_get_type@Base 2.16.0
- g_mount_unmount_with_operation@Base 2.22.0
- g_mount_unmount_with_operation_finish@Base 2.22.0
- g_mount_unshadow@Base 2.20.0
- g_native_volume_monitor_get_type@Base 2.16.0
- g_network_address_get_hostname@Base 2.22.0
- g_network_address_get_port@Base 2.22.0
- g_network_address_get_type@Base 2.22.0
- g_network_address_new@Base 2.22.0
- g_network_address_parse@Base 2.22.0
- g_network_service_get_domain@Base 2.22.0
- g_network_service_get_protocol@Base 2.22.0
- g_network_service_get_service@Base 2.22.0
- g_network_service_get_type@Base 2.22.0
- g_network_service_new@Base 2.22.0
- g_output_stream_clear_pending@Base 2.16.0
- g_output_stream_close@Base 2.16.0
- g_output_stream_close_async@Base 2.16.0
- g_output_stream_close_finish@Base 2.16.0
- g_output_stream_flush@Base 2.16.0
- g_output_stream_flush_async@Base 2.16.0
- g_output_stream_flush_finish@Base 2.16.0
- g_output_stream_get_type@Base 2.16.0
- g_output_stream_has_pending@Base 2.16.0
- g_output_stream_is_closed@Base 2.16.0
- g_output_stream_set_pending@Base 2.16.0
- g_output_stream_splice@Base 2.16.0
- g_output_stream_splice_async@Base 2.16.0
- g_output_stream_splice_finish@Base 2.16.0
- g_output_stream_splice_flags_get_type@Base 2.16.0
- g_output_stream_write@Base 2.16.0
- g_output_stream_write_all@Base 2.16.0
- g_output_stream_write_async@Base 2.16.0
- g_output_stream_write_finish@Base 2.16.0
- g_password_save_get_type@Base 2.16.0
- g_resolver_error_get_type@Base 2.22.0
- g_resolver_error_quark@Base 2.22.0
- g_resolver_free_addresses@Base 2.22.0
- g_resolver_free_targets@Base 2.22.0
- g_resolver_get_default@Base 2.22.0
- g_resolver_get_type@Base 2.22.0
- g_resolver_lookup_by_address@Base 2.22.0
- g_resolver_lookup_by_address_async@Base 2.22.0
- g_resolver_lookup_by_address_finish@Base 2.22.0
- g_resolver_lookup_by_name@Base 2.22.0
- g_resolver_lookup_by_name_async@Base 2.22.0
- g_resolver_lookup_by_name_finish@Base 2.22.0
- g_resolver_lookup_service@Base 2.22.0
- g_resolver_lookup_service_async@Base 2.22.0
- g_resolver_lookup_service_finish@Base 2.22.0
- g_resolver_set_default@Base 2.22.0
- g_seekable_can_seek@Base 2.16.0
- g_seekable_can_truncate@Base 2.16.0
- g_seekable_get_type@Base 2.16.0
- g_seekable_seek@Base 2.16.0
- g_seekable_tell@Base 2.16.0
- g_seekable_truncate@Base 2.16.0
- g_simple_async_report_error_in_idle@Base 2.16.0
- g_simple_async_report_gerror_in_idle@Base 2.16.0
- g_simple_async_result_complete@Base 2.16.0
- g_simple_async_result_complete_in_idle@Base 2.16.0
- g_simple_async_result_get_op_res_gboolean@Base 2.16.0
- g_simple_async_result_get_op_res_gpointer@Base 2.16.0
- g_simple_async_result_get_op_res_gssize@Base 2.16.0
- g_simple_async_result_get_source_tag@Base 2.16.0
- g_simple_async_result_get_type@Base 2.16.0
- g_simple_async_result_is_valid@Base 2.20.0
- g_simple_async_result_new@Base 2.16.0
- g_simple_async_result_new_error@Base 2.16.0
- g_simple_async_result_new_from_error@Base 2.16.0
- g_simple_async_result_propagate_error@Base 2.16.0
- g_simple_async_result_run_in_thread@Base 2.16.0
- g_simple_async_result_set_error@Base 2.16.0
- g_simple_async_result_set_error_va@Base 2.16.0
- g_simple_async_result_set_from_error@Base 2.16.0
- g_simple_async_result_set_handle_cancellation@Base 2.16.0
- g_simple_async_result_set_op_res_gboolean@Base 2.16.0
- g_simple_async_result_set_op_res_gpointer@Base 2.16.0
- g_simple_async_result_set_op_res_gssize@Base 2.16.0
- g_socket_accept@Base 2.22.0
- g_socket_address_enumerator_get_type@Base 2.22.0
- g_socket_address_enumerator_next@Base 2.22.0
- g_socket_address_enumerator_next_async@Base 2.22.0
- g_socket_address_enumerator_next_finish@Base 2.22.0
- g_socket_address_get_family@Base 2.22.0
- g_socket_address_get_native_size@Base 2.22.0
- g_socket_address_get_type@Base 2.22.0
- g_socket_address_new_from_native@Base 2.22.0
- g_socket_address_to_native@Base 2.22.0
- g_socket_bind@Base 2.22.0
- g_socket_check_connect_result@Base 2.22.0
- g_socket_client_connect@Base 2.22.0
- g_socket_client_connect_async@Base 2.22.0
- g_socket_client_connect_finish@Base 2.22.0
- g_socket_client_connect_to_host@Base 2.22.0
- g_socket_client_connect_to_host_async@Base 2.22.0
- g_socket_client_connect_to_host_finish@Base 2.22.0
- g_socket_client_connect_to_service@Base 2.22.0
- g_socket_client_connect_to_service_async@Base 2.22.0
- g_socket_client_connect_to_service_finish@Base 2.22.0
- g_socket_client_get_family@Base 2.22.0
- g_socket_client_get_local_address@Base 2.22.0
- g_socket_client_get_protocol@Base 2.22.0
- g_socket_client_get_socket_type@Base 2.22.0
- g_socket_client_get_type@Base 2.22.0
- g_socket_client_new@Base 2.22.0
- g_socket_client_set_family@Base 2.22.0
- g_socket_client_set_local_address@Base 2.22.0
- g_socket_client_set_protocol@Base 2.22.0
- g_socket_client_set_socket_type@Base 2.22.0
- g_socket_close@Base 2.22.0
- g_socket_condition_check@Base 2.22.0
- g_socket_condition_wait@Base 2.22.0
- g_socket_connect@Base 2.22.0
- g_socket_connectable_enumerate@Base 2.22.0
- g_socket_connectable_get_type@Base 2.22.0
- g_socket_connection_factory_create_connection@Base 2.22.0
- g_socket_connection_factory_lookup_type@Base 2.22.0
- g_socket_connection_factory_register_type@Base 2.22.0
- g_socket_connection_get_local_address@Base 2.22.0
- g_socket_connection_get_remote_address@Base 2.22.0
- g_socket_connection_get_socket@Base 2.22.0
- g_socket_connection_get_type@Base 2.22.0
- g_socket_control_message_deserialize@Base 2.22.0
- g_socket_control_message_get_level@Base 2.22.0
- g_socket_control_message_get_msg_type@Base 2.22.0
- g_socket_control_message_get_size@Base 2.22.0
- g_socket_control_message_get_type@Base 2.22.0
- g_socket_control_message_serialize@Base 2.22.0
- g_socket_create_source@Base 2.22.0
- g_socket_family_get_type@Base 2.22.0
- g_socket_get_blocking@Base 2.22.0
- g_socket_get_family@Base 2.22.0
- g_socket_get_fd@Base 2.22.0
- g_socket_get_keepalive@Base 2.22.0
- g_socket_get_listen_backlog@Base 2.22.0
- g_socket_get_local_address@Base 2.22.0
- g_socket_get_protocol@Base 2.22.0
- g_socket_get_remote_address@Base 2.22.0
- g_socket_get_socket_type@Base 2.22.0
- g_socket_get_type@Base 2.22.0
- g_socket_is_closed@Base 2.22.0
- g_socket_is_connected@Base 2.22.0
- g_socket_listen@Base 2.22.0
- g_socket_listener_accept@Base 2.22.0
- g_socket_listener_accept_async@Base 2.22.0
- g_socket_listener_accept_finish@Base 2.22.0
- g_socket_listener_accept_socket@Base 2.22.0
- g_socket_listener_accept_socket_async@Base 2.22.0
- g_socket_listener_accept_socket_finish@Base 2.22.0
- g_socket_listener_add_address@Base 2.22.0
- g_socket_listener_add_inet_port@Base 2.22.0
- g_socket_listener_add_socket@Base 2.22.0
- g_socket_listener_close@Base 2.22.0
- g_socket_listener_get_type@Base 2.22.0
- g_socket_listener_new@Base 2.22.0
- g_socket_listener_set_backlog@Base 2.22.0
- g_socket_msg_flags_get_type@Base 2.22.0
- g_socket_new@Base 2.22.0
- g_socket_new_from_fd@Base 2.22.0
- g_socket_protocol_get_type@Base 2.22.0
- g_socket_receive@Base 2.22.0
- g_socket_receive_from@Base 2.22.0
- g_socket_receive_message@Base 2.22.0
- g_socket_send@Base 2.22.0
- g_socket_send_message@Base 2.22.0
- g_socket_send_to@Base 2.22.0
- g_socket_service_get_type@Base 2.22.0
- g_socket_service_is_active@Base 2.22.0
- g_socket_service_new@Base 2.22.0
- g_socket_service_start@Base 2.22.0
- g_socket_service_stop@Base 2.22.0
- g_socket_set_blocking@Base 2.22.0
- g_socket_set_keepalive@Base 2.22.0
- g_socket_set_listen_backlog@Base 2.22.0
- g_socket_shutdown@Base 2.22.0
- g_socket_speaks_ipv4@Base 2.22.0
- g_socket_type_get_type@Base 2.22.0
- g_srv_target_copy@Base 2.22.0
- g_srv_target_free@Base 2.22.0
- g_srv_target_get_hostname@Base 2.22.0
- g_srv_target_get_port@Base 2.22.0
- g_srv_target_get_priority@Base 2.22.0
- g_srv_target_get_type@Base 2.22.0
- g_srv_target_get_weight@Base 2.22.0
- g_srv_target_list_sort@Base 2.22.0
- g_srv_target_new@Base 2.22.0
- g_tcp_connection_get_graceful_disconnect@Base 2.22.0
- g_tcp_connection_get_type@Base 2.22.0
- g_tcp_connection_set_graceful_disconnect@Base 2.22.0
- g_themed_icon_append_name@Base 2.16.0
- g_themed_icon_get_names@Base 2.16.0
- g_themed_icon_get_type@Base 2.16.0
- g_themed_icon_new@Base 2.16.0
- g_themed_icon_new_from_names@Base 2.16.0
- g_themed_icon_new_with_default_fallbacks@Base 2.16.0
- g_themed_icon_prepend_name@Base 2.18.0
- g_threaded_resolver_get_type@Base 2.22.0
- g_threaded_socket_service_get_type@Base 2.22.0
- g_threaded_socket_service_new@Base 2.22.0
- g_unix_connection_get_type@Base 2.22.0
- g_unix_connection_receive_fd@Base 2.22.0
- g_unix_connection_send_fd@Base 2.22.0
- g_unix_fd_message_append_fd@Base 2.22.0
- g_unix_fd_message_get_type@Base 2.22.0
- g_unix_fd_message_new@Base 2.22.0
- g_unix_fd_message_steal_fds@Base 2.22.0
- g_unix_input_stream_get_close_fd@Base 2.20.0
- g_unix_input_stream_get_fd@Base 2.20.0
- g_unix_input_stream_get_type@Base 2.16.0
- g_unix_input_stream_new@Base 2.16.0
- g_unix_input_stream_set_close_fd@Base 2.20.0
- g_unix_is_mount_path_system_internal@Base 2.16.0
- g_unix_mount_at@Base 2.16.0
- g_unix_mount_compare@Base 2.16.0
- g_unix_mount_free@Base 2.16.0
- g_unix_mount_get_device_path@Base 2.16.0
- g_unix_mount_get_fs_type@Base 2.16.0
- g_unix_mount_get_mount_path@Base 2.16.0
- g_unix_mount_guess_can_eject@Base 2.16.0
- g_unix_mount_guess_icon@Base 2.16.0
- g_unix_mount_guess_name@Base 2.16.0
- g_unix_mount_guess_should_display@Base 2.16.0
- g_unix_mount_is_readonly@Base 2.16.0
- g_unix_mount_is_system_internal@Base 2.16.0
- g_unix_mount_monitor_get_type@Base 2.16.0
- g_unix_mount_monitor_new@Base 2.16.0
- g_unix_mount_monitor_set_rate_limit@Base 2.18.0
- g_unix_mount_point_compare@Base 2.16.0
- g_unix_mount_point_free@Base 2.16.0
- g_unix_mount_point_get_device_path@Base 2.16.0
- g_unix_mount_point_get_fs_type@Base 2.16.0
- g_unix_mount_point_get_mount_path@Base 2.16.0
- g_unix_mount_point_guess_can_eject@Base 2.16.0
- g_unix_mount_point_guess_icon@Base 2.16.0
- g_unix_mount_point_guess_name@Base 2.16.0
- g_unix_mount_point_is_loopback@Base 2.16.0
- g_unix_mount_point_is_readonly@Base 2.16.0
- g_unix_mount_point_is_user_mountable@Base 2.16.0
- g_unix_mount_points_changed_since@Base 2.16.0
- g_unix_mount_points_get@Base 2.16.0
- g_unix_mounts_changed_since@Base 2.16.0
- g_unix_mounts_get@Base 2.16.0
- g_unix_output_stream_get_close_fd@Base 2.20.0
- g_unix_output_stream_get_fd@Base 2.20.0
- g_unix_output_stream_get_type@Base 2.16.0
- g_unix_output_stream_new@Base 2.16.0
- g_unix_output_stream_set_close_fd@Base 2.20.0
- g_unix_resolver_get_type@Base 2.22.0
- g_unix_socket_address_abstract_names_supported@Base 2.22.0
- g_unix_socket_address_get_is_abstract@Base 2.22.0
- g_unix_socket_address_get_path@Base 2.22.0
- g_unix_socket_address_get_path_len@Base 2.22.0
- g_unix_socket_address_get_type@Base 2.22.0
- g_unix_socket_address_new@Base 2.22.0
- g_unix_socket_address_new_abstract@Base 2.22.0
- g_vfs_get_default@Base 2.16.0
- g_vfs_get_file_for_path@Base 2.16.0
- g_vfs_get_file_for_uri@Base 2.16.0
- g_vfs_get_local@Base 2.16.0
- g_vfs_get_supported_uri_schemes@Base 2.16.0
- g_vfs_get_type@Base 2.16.0
- g_vfs_is_active@Base 2.16.0
- g_vfs_parse_name@Base 2.16.0
- g_volume_can_eject@Base 2.16.0
- g_volume_can_mount@Base 2.16.0
- g_volume_eject@Base 2.16.0
- g_volume_eject_finish@Base 2.16.0
- g_volume_eject_with_operation@Base 2.22.0
- g_volume_eject_with_operation_finish@Base 2.22.0
- g_volume_enumerate_identifiers@Base 2.16.0
- g_volume_get_activation_root@Base 2.18.0
- g_volume_get_drive@Base 2.16.0
- g_volume_get_icon@Base 2.16.0
- g_volume_get_identifier@Base 2.16.0
- g_volume_get_mount@Base 2.16.0
- g_volume_get_name@Base 2.16.0
- g_volume_get_type@Base 2.16.0
- g_volume_get_uuid@Base 2.16.0
- g_volume_monitor_adopt_orphan_mount@Base 2.16.0
- g_volume_monitor_get@Base 2.16.0
- g_volume_monitor_get_connected_drives@Base 2.16.0
- g_volume_monitor_get_mount_for_uuid@Base 2.16.0
- g_volume_monitor_get_mounts@Base 2.16.0
- g_volume_monitor_get_type@Base 2.16.0
- g_volume_monitor_get_volume_for_uuid@Base 2.16.0
- g_volume_monitor_get_volumes@Base 2.16.0
- g_volume_mount@Base 2.16.0
- g_volume_mount_finish@Base 2.16.0
- g_volume_should_automount@Base 2.16.0
-libglib-2.0.so.0 libglib2.0-0 #MINVER#
-* Build-Depends-Package: libglib2.0-dev
- g_access@Base 2.12.0
- g_allocator_free@Base 2.12.0
- g_allocator_new@Base 2.12.0
- g_array_append_vals@Base 2.12.0
- g_array_free@Base 2.12.0
- g_array_get_element_size@Base 2.22.0
- g_array_insert_vals@Base 2.12.0
- g_array_new@Base 2.12.0
- g_array_prepend_vals@Base 2.12.0
- g_array_ref@Base 2.22.0
- g_array_remove_index@Base 2.12.0
- g_array_remove_index_fast@Base 2.12.0
- g_array_remove_range@Base 2.12.0
- g_array_set_size@Base 2.12.0
- g_array_sized_new@Base 2.12.0
- g_array_sort@Base 2.12.0
- g_array_sort_with_data@Base 2.12.0
- g_array_unref@Base 2.22.0
- g_ascii_digit_value@Base 2.12.0
- g_ascii_dtostr@Base 2.12.0
- g_ascii_formatd@Base 2.12.0
- g_ascii_strcasecmp@Base 2.12.0
- g_ascii_strdown@Base 2.12.0
- g_ascii_strncasecmp@Base 2.12.0
- g_ascii_strtod@Base 2.12.0
- g_ascii_strtoll@Base 2.12.0
- g_ascii_strtoull@Base 2.12.0
- g_ascii_strup@Base 2.12.0
- g_ascii_table@Base 2.12.0
- g_ascii_tolower@Base 2.12.0
- g_ascii_toupper@Base 2.12.0
- g_ascii_xdigit_value@Base 2.12.0
- g_assert_warning@Base 2.12.0
- g_assertion_message@Base 2.16.0
- g_assertion_message_cmpnum@Base 2.16.0
- g_assertion_message_cmpstr@Base 2.16.0
- g_assertion_message_error@Base 2.20.0
- g_assertion_message_expr@Base 2.16.0
- g_async_queue_length@Base 2.12.0
- g_async_queue_length_unlocked@Base 2.12.0
- g_async_queue_lock@Base 2.12.0
- g_async_queue_new@Base 2.12.0
- g_async_queue_new_full@Base 2.16.0
- g_async_queue_pop@Base 2.12.0
- g_async_queue_pop_unlocked@Base 2.12.0
- g_async_queue_push@Base 2.12.0
- g_async_queue_push_sorted@Base 2.12.0
- g_async_queue_push_sorted_unlocked@Base 2.12.0
- g_async_queue_push_unlocked@Base 2.12.0
- g_async_queue_ref@Base 2.12.0
- g_async_queue_ref_unlocked@Base 2.12.0
- g_async_queue_sort@Base 2.12.0
- g_async_queue_sort_unlocked@Base 2.12.0
- g_async_queue_timed_pop@Base 2.12.0
- g_async_queue_timed_pop_unlocked@Base 2.12.0
- g_async_queue_try_pop@Base 2.12.0
- g_async_queue_try_pop_unlocked@Base 2.12.0
- g_async_queue_unlock@Base 2.12.0
- g_async_queue_unref@Base 2.12.0
- g_async_queue_unref_and_unlock@Base 2.12.0
- g_atexit@Base 2.12.0
- g_atomic_int_add@Base 2.12.0
- g_atomic_int_compare_and_exchange@Base 2.12.0
- g_atomic_int_exchange_and_add@Base 2.12.0
- g_atomic_int_get@Base 2.12.0
- g_atomic_int_set@Base 2.12.0
- g_atomic_pointer_compare_and_exchange@Base 2.12.0
- g_atomic_pointer_get@Base 2.12.0
- g_atomic_pointer_set@Base 2.12.0
- g_base64_decode@Base 2.12.0
- g_base64_decode_inplace@Base 2.20.0
- g_base64_decode_step@Base 2.12.0
- g_base64_encode@Base 2.12.0
- g_base64_encode_close@Base 2.12.0
- g_base64_encode_step@Base 2.12.0
- g_basename@Base 2.12.0
- g_bit_nth_lsf@Base 2.12.0
- g_bit_nth_msf@Base 2.12.0
- g_bit_storage@Base 2.12.0
- g_blow_chunks@Base 2.12.0
- g_bookmark_file_add_application@Base 2.12.0
- g_bookmark_file_add_group@Base 2.12.0
- g_bookmark_file_error_quark@Base 2.12.0
- g_bookmark_file_free@Base 2.12.0
- g_bookmark_file_get_added@Base 2.12.0
- g_bookmark_file_get_app_info@Base 2.12.0
- g_bookmark_file_get_applications@Base 2.12.0
- g_bookmark_file_get_description@Base 2.12.0
- g_bookmark_file_get_groups@Base 2.12.0
- g_bookmark_file_get_icon@Base 2.12.0
- g_bookmark_file_get_is_private@Base 2.12.0
- g_bookmark_file_get_mime_type@Base 2.12.0
- g_bookmark_file_get_modified@Base 2.12.0
- g_bookmark_file_get_size@Base 2.12.0
- g_bookmark_file_get_title@Base 2.12.0
- g_bookmark_file_get_uris@Base 2.12.0
- g_bookmark_file_get_visited@Base 2.12.0
- g_bookmark_file_has_application@Base 2.12.0
- g_bookmark_file_has_group@Base 2.12.0
- g_bookmark_file_has_item@Base 2.12.0
- g_bookmark_file_load_from_data@Base 2.12.0
- g_bookmark_file_load_from_data_dirs@Base 2.12.0
- g_bookmark_file_load_from_file@Base 2.12.0
- g_bookmark_file_move_item@Base 2.12.0
- g_bookmark_file_new@Base 2.12.0
- g_bookmark_file_remove_application@Base 2.12.0
- g_bookmark_file_remove_group@Base 2.12.0
- g_bookmark_file_remove_item@Base 2.12.0
- g_bookmark_file_set_added@Base 2.12.0
- g_bookmark_file_set_app_info@Base 2.12.0
- g_bookmark_file_set_description@Base 2.12.0
- g_bookmark_file_set_groups@Base 2.12.0
- g_bookmark_file_set_icon@Base 2.12.0
- g_bookmark_file_set_is_private@Base 2.12.0
- g_bookmark_file_set_mime_type@Base 2.12.0
- g_bookmark_file_set_modified@Base 2.12.0
- g_bookmark_file_set_title@Base 2.12.0
- g_bookmark_file_set_visited@Base 2.12.0
- g_bookmark_file_to_data@Base 2.12.0
- g_bookmark_file_to_file@Base 2.12.0
- g_build_filename@Base 2.12.0
- g_build_filenamev@Base 2.12.0
- g_build_path@Base 2.12.0
- g_build_pathv@Base 2.12.0
- g_byte_array_append@Base 2.12.0
- g_byte_array_free@Base 2.12.0
- g_byte_array_new@Base 2.12.0
- g_byte_array_prepend@Base 2.12.0
- g_byte_array_ref@Base 2.22.0
- g_byte_array_remove_index@Base 2.12.0
- g_byte_array_remove_index_fast@Base 2.12.0
- g_byte_array_remove_range@Base 2.12.0
- g_byte_array_set_size@Base 2.12.0
- g_byte_array_sized_new@Base 2.12.0
- g_byte_array_sort@Base 2.12.0
- g_byte_array_sort_with_data@Base 2.12.0
- g_byte_array_unref@Base 2.22.0
- g_cache_destroy@Base 2.12.0
- g_cache_insert@Base 2.12.0
- g_cache_key_foreach@Base 2.12.0
- g_cache_new@Base 2.12.0
- g_cache_remove@Base 2.12.0
- g_cache_value_foreach@Base 2.12.0
- g_chdir@Base 2.12.0
- g_checksum_copy@Base 2.16.0
- g_checksum_free@Base 2.16.0
- g_checksum_get_digest@Base 2.16.0
- g_checksum_get_string@Base 2.16.0
- g_checksum_new@Base 2.16.0
- g_checksum_reset@Base 2.18.0
- g_checksum_type_get_length@Base 2.16.0
- g_checksum_update@Base 2.16.0
- g_child_watch_add@Base 2.12.0
- g_child_watch_add_full@Base 2.12.0
- g_child_watch_funcs@Base 2.12.0
- g_child_watch_source_new@Base 2.12.0
- g_chmod@Base 2.12.0
- g_clear_error@Base 2.12.0
- g_completion_add_items@Base 2.12.0
- g_completion_clear_items@Base 2.12.0
- g_completion_complete@Base 2.12.0
- g_completion_complete_utf8@Base 2.12.0
- g_completion_free@Base 2.12.0
- g_completion_new@Base 2.12.0
- g_completion_remove_items@Base 2.12.0
- g_completion_set_compare@Base 2.12.0
- g_compute_checksum_for_data@Base 2.16.0
- g_compute_checksum_for_string@Base 2.16.0
- g_convert@Base 2.12.0
- g_convert_error_quark@Base 2.12.0
- g_convert_with_fallback@Base 2.12.0
- g_convert_with_iconv@Base 2.12.0
- g_creat@Base 2.12.0
- g_datalist_clear@Base 2.12.0
- g_datalist_foreach@Base 2.12.0
- g_datalist_get_flags@Base 2.12.0
- g_datalist_id_get_data@Base 2.12.0
- g_datalist_id_remove_no_notify@Base 2.12.0
- g_datalist_id_set_data_full@Base 2.12.0
- g_datalist_init@Base 2.12.0
- g_datalist_set_flags@Base 2.12.0
- g_datalist_unset_flags@Base 2.12.0
- g_dataset_destroy@Base 2.12.0
- g_dataset_foreach@Base 2.12.0
- g_dataset_id_get_data@Base 2.12.0
- g_dataset_id_remove_no_notify@Base 2.12.0
- g_dataset_id_set_data_full@Base 2.12.0
- g_date_add_days@Base 2.12.0
- g_date_add_months@Base 2.12.0
- g_date_add_years@Base 2.12.0
- g_date_clamp@Base 2.12.0
- g_date_clear@Base 2.12.0
- g_date_compare@Base 2.12.0
- g_date_days_between@Base 2.12.0
- g_date_free@Base 2.12.0
- g_date_get_day@Base 2.12.0
- g_date_get_day_of_year@Base 2.12.0
- g_date_get_days_in_month@Base 2.12.0
- g_date_get_iso8601_week_of_year@Base 2.12.0
- g_date_get_julian@Base 2.12.0
- g_date_get_monday_week_of_year@Base 2.12.0
- g_date_get_monday_weeks_in_year@Base 2.12.0
- g_date_get_month@Base 2.12.0
- g_date_get_sunday_week_of_year@Base 2.12.0
- g_date_get_sunday_weeks_in_year@Base 2.12.0
- g_date_get_weekday@Base 2.12.0
- g_date_get_year@Base 2.12.0
- g_date_is_first_of_month@Base 2.12.0
- g_date_is_last_of_month@Base 2.12.0
- g_date_is_leap_year@Base 2.12.0
- g_date_new@Base 2.12.0
- g_date_new_dmy@Base 2.12.0
- g_date_new_julian@Base 2.12.0
- g_date_order@Base 2.12.0
- g_date_set_day@Base 2.12.0
- g_date_set_dmy@Base 2.12.0
- g_date_set_julian@Base 2.12.0
- g_date_set_month@Base 2.12.0
- g_date_set_parse@Base 2.12.0
- g_date_set_time@Base 2.12.0
- g_date_set_time_t@Base 2.12.0
- g_date_set_time_val@Base 2.12.0
- g_date_set_year@Base 2.12.0
- g_date_strftime@Base 2.12.0
- g_date_subtract_days@Base 2.12.0
- g_date_subtract_months@Base 2.12.0
- g_date_subtract_years@Base 2.12.0
- g_date_to_struct_tm@Base 2.12.0
- g_date_valid@Base 2.12.0
- g_date_valid_day@Base 2.12.0
- g_date_valid_dmy@Base 2.12.0
- g_date_valid_julian@Base 2.12.0
- g_date_valid_month@Base 2.12.0
- g_date_valid_weekday@Base 2.12.0
- g_date_valid_year@Base 2.12.0
- g_dgettext@Base 2.18.0
- g_dir_close@Base 2.12.0
- g_dir_open@Base 2.12.0
- g_dir_read_name@Base 2.12.0
- g_dir_rewind@Base 2.12.0
- g_direct_equal@Base 2.12.0
- g_direct_hash@Base 2.12.0
- g_dngettext@Base 2.18.0
- g_double_equal@Base 2.22.0
- g_double_hash@Base 2.22.0
- g_dpgettext2@Base 2.18.0
- g_dpgettext@Base 2.16.0
- g_error_copy@Base 2.12.0
- g_error_free@Base 2.12.0
- g_error_matches@Base 2.12.0
- g_error_new@Base 2.12.0
- g_error_new_literal@Base 2.12.0
- g_error_new_valist@Base 2.22.0
- g_file_error_from_errno@Base 2.12.0
- g_file_error_quark@Base 2.12.0
- g_file_get_contents@Base 2.12.0
- g_file_open_tmp@Base 2.12.0
- g_file_read_link@Base 2.12.0
- g_file_set_contents@Base 2.12.0
- g_file_test@Base 2.12.0
- g_filename_display_basename@Base 2.12.0
- g_filename_display_name@Base 2.12.0
- g_filename_from_uri@Base 2.12.0
- g_filename_from_utf8@Base 2.12.0
- g_filename_to_uri@Base 2.12.0
- g_filename_to_utf8@Base 2.12.0
- g_find_program_in_path@Base 2.12.0
- g_fopen@Base 2.12.0
- g_format_size_for_display@Base 2.16.0
- g_fprintf@Base 2.12.0
- g_free@Base 2.12.0
- g_freopen@Base 2.12.0
- g_get_application_name@Base 2.12.0
- g_get_charset@Base 2.12.0
- g_get_codeset@Base 2.12.0
- g_get_current_dir@Base 2.12.0
- g_get_current_time@Base 2.12.0
- g_get_filename_charsets@Base 2.12.0
- g_get_home_dir@Base 2.12.0
- g_get_host_name@Base 2.12.0
- g_get_language_names@Base 2.12.0
- g_get_prgname@Base 2.12.0
- g_get_real_name@Base 2.12.0
- g_get_system_config_dirs@Base 2.12.0
- g_get_system_data_dirs@Base 2.12.0
- g_get_tmp_dir@Base 2.12.0
- g_get_user_cache_dir@Base 2.12.0
- g_get_user_config_dir@Base 2.12.0
- g_get_user_data_dir@Base 2.12.0
- g_get_user_name@Base 2.12.0
- g_get_user_special_dir@Base 2.14.0
- g_getenv@Base 2.12.0
- g_hash_table_destroy@Base 2.12.0
- g_hash_table_find@Base 2.12.0
- g_hash_table_foreach@Base 2.12.0
- g_hash_table_foreach_remove@Base 2.12.0
- g_hash_table_foreach_steal@Base 2.12.0
- g_hash_table_get_keys@Base 2.14.0
- g_hash_table_get_values@Base 2.14.0
- g_hash_table_insert@Base 2.12.0
- g_hash_table_iter_get_hash_table@Base 2.16.0
- g_hash_table_iter_init@Base 2.16.0
- g_hash_table_iter_next@Base 2.16.0
- g_hash_table_iter_remove@Base 2.16.0
- g_hash_table_iter_steal@Base 2.16.0
- g_hash_table_lookup@Base 2.12.0
- g_hash_table_lookup_extended@Base 2.12.0
- g_hash_table_new@Base 2.12.0
- g_hash_table_new_full@Base 2.12.0
- g_hash_table_ref@Base 2.12.0
- g_hash_table_remove@Base 2.12.0
- g_hash_table_remove_all@Base 2.12.0
- g_hash_table_replace@Base 2.12.0
- g_hash_table_size@Base 2.12.0
- g_hash_table_steal@Base 2.12.0
- g_hash_table_steal_all@Base 2.12.0
- g_hash_table_unref@Base 2.12.0
- g_hook_alloc@Base 2.12.0
- g_hook_compare_ids@Base 2.12.0
- g_hook_destroy@Base 2.12.0
- g_hook_destroy_link@Base 2.12.0
- g_hook_find@Base 2.12.0
- g_hook_find_data@Base 2.12.0
- g_hook_find_func@Base 2.12.0
- g_hook_find_func_data@Base 2.12.0
- g_hook_first_valid@Base 2.12.0
- g_hook_free@Base 2.12.0
- g_hook_get@Base 2.12.0
- g_hook_insert_before@Base 2.12.0
- g_hook_insert_sorted@Base 2.12.0
- g_hook_list_clear@Base 2.12.0
- g_hook_list_init@Base 2.12.0
- g_hook_list_invoke@Base 2.12.0
- g_hook_list_invoke_check@Base 2.12.0
- g_hook_list_marshal@Base 2.12.0
- g_hook_list_marshal_check@Base 2.12.0
- g_hook_next_valid@Base 2.12.0
- g_hook_prepend@Base 2.12.0
- g_hook_ref@Base 2.12.0
- g_hook_unref@Base 2.12.0
- g_hostname_is_ascii_encoded@Base 2.22.0
- g_hostname_is_ip_address@Base 2.22.0
- g_hostname_is_non_ascii@Base 2.22.0
- g_hostname_to_ascii@Base 2.22.0
- g_hostname_to_unicode@Base 2.22.0
- g_iconv@Base 2.12.0
- g_iconv_close@Base 2.12.0
- g_iconv_open@Base 2.12.0
- g_idle_add@Base 2.12.0
- g_idle_add_full@Base 2.12.0
- g_idle_funcs@Base 2.12.0
- g_idle_remove_by_data@Base 2.12.0
- g_idle_source_new@Base 2.12.0
- g_int64_equal@Base 2.22.0
- g_int64_hash@Base 2.22.0
- g_int_equal@Base 2.12.0
- g_int_hash@Base 2.12.0
- g_intern_static_string@Base 2.12.0
- g_intern_string@Base 2.12.0
- g_io_add_watch@Base 2.12.0
- g_io_add_watch_full@Base 2.12.0
- g_io_channel_close@Base 2.12.0
- g_io_channel_error_from_errno@Base 2.12.0
- g_io_channel_error_quark@Base 2.12.0
- g_io_channel_flush@Base 2.12.0
- g_io_channel_get_buffer_condition@Base 2.12.0
- g_io_channel_get_buffer_size@Base 2.12.0
- g_io_channel_get_buffered@Base 2.12.0
- g_io_channel_get_close_on_unref@Base 2.12.0
- g_io_channel_get_encoding@Base 2.12.0
- g_io_channel_get_flags@Base 2.12.0
- g_io_channel_get_line_term@Base 2.12.0
- g_io_channel_init@Base 2.12.0
- g_io_channel_new_file@Base 2.12.0
- g_io_channel_read@Base 2.12.0
- g_io_channel_read_chars@Base 2.12.0
- g_io_channel_read_line@Base 2.12.0
- g_io_channel_read_line_string@Base 2.12.0
- g_io_channel_read_to_end@Base 2.12.0
- g_io_channel_read_unichar@Base 2.12.0
- g_io_channel_ref@Base 2.12.0
- g_io_channel_seek@Base 2.12.0
- g_io_channel_seek_position@Base 2.12.0
- g_io_channel_set_buffer_size@Base 2.12.0
- g_io_channel_set_buffered@Base 2.12.0
- g_io_channel_set_close_on_unref@Base 2.12.0
- g_io_channel_set_encoding@Base 2.12.0
- g_io_channel_set_flags@Base 2.12.0
- g_io_channel_set_line_term@Base 2.12.0
- g_io_channel_shutdown@Base 2.12.0
- g_io_channel_unix_get_fd@Base 2.12.0
- g_io_channel_unix_new@Base 2.12.0
- g_io_channel_unref@Base 2.12.0
- g_io_channel_write@Base 2.12.0
- g_io_channel_write_chars@Base 2.12.0
- g_io_channel_write_unichar@Base 2.12.0
- g_io_create_watch@Base 2.12.0
- g_io_watch_funcs@Base 2.12.0
- g_key_file_error_quark@Base 2.12.0
- g_key_file_free@Base 2.12.0
- g_key_file_get_boolean@Base 2.12.0
- g_key_file_get_boolean_list@Base 2.12.0
- g_key_file_get_comment@Base 2.12.0
- g_key_file_get_double@Base 2.12.0
- g_key_file_get_double_list@Base 2.12.0
- g_key_file_get_groups@Base 2.12.0
- g_key_file_get_integer@Base 2.12.0
- g_key_file_get_integer_list@Base 2.12.0
- g_key_file_get_keys@Base 2.12.0
- g_key_file_get_locale_string@Base 2.12.0
- g_key_file_get_locale_string_list@Base 2.12.0
- g_key_file_get_start_group@Base 2.12.0
- g_key_file_get_string@Base 2.12.0
- g_key_file_get_string_list@Base 2.12.0
- g_key_file_get_value@Base 2.12.0
- g_key_file_has_group@Base 2.12.0
- g_key_file_has_key@Base 2.12.0
- g_key_file_load_from_data@Base 2.12.0
- g_key_file_load_from_data_dirs@Base 2.12.0
- g_key_file_load_from_dirs@Base 2.14.0
- g_key_file_load_from_file@Base 2.12.0
- g_key_file_new@Base 2.12.0
- g_key_file_remove_comment@Base 2.12.0
- g_key_file_remove_group@Base 2.12.0
- g_key_file_remove_key@Base 2.12.0
- g_key_file_set_boolean@Base 2.12.0
- g_key_file_set_boolean_list@Base 2.12.0
- g_key_file_set_comment@Base 2.12.0
- g_key_file_set_double@Base 2.12.0
- g_key_file_set_double_list@Base 2.12.0
- g_key_file_set_integer@Base 2.12.0
- g_key_file_set_integer_list@Base 2.12.0
- g_key_file_set_list_separator@Base 2.12.0
- g_key_file_set_locale_string@Base 2.12.0
- g_key_file_set_locale_string_list@Base 2.12.0
- g_key_file_set_string@Base 2.12.0
- g_key_file_set_string_list@Base 2.12.0
- g_key_file_set_value@Base 2.12.0
- g_key_file_to_data@Base 2.12.0
- g_list_alloc@Base 2.12.0
- g_list_append@Base 2.12.0
- g_list_concat@Base 2.12.0
- g_list_copy@Base 2.12.0
- g_list_delete_link@Base 2.12.0
- g_list_find@Base 2.12.0
- g_list_find_custom@Base 2.12.0
- g_list_first@Base 2.12.0
- g_list_foreach@Base 2.12.0
- g_list_free@Base 2.12.0
- g_list_free_1@Base 2.12.0
- g_list_index@Base 2.12.0
- g_list_insert@Base 2.12.0
- g_list_insert_before@Base 2.12.0
- g_list_insert_sorted@Base 2.12.0
- g_list_insert_sorted_with_data@Base 2.12.0
- g_list_last@Base 2.12.0
- g_list_length@Base 2.12.0
- g_list_nth@Base 2.12.0
- g_list_nth_data@Base 2.12.0
- g_list_nth_prev@Base 2.12.0
- g_list_pop_allocator@Base 2.12.0
- g_list_position@Base 2.12.0
- g_list_prepend@Base 2.12.0
- g_list_push_allocator@Base 2.12.0
- g_list_remove@Base 2.12.0
- g_list_remove_all@Base 2.12.0
- g_list_remove_link@Base 2.12.0
- g_list_reverse@Base 2.12.0
- g_list_sort@Base 2.12.0
- g_list_sort_with_data@Base 2.12.0
- g_listenv@Base 2.12.0
- g_locale_from_utf8@Base 2.12.0
- g_locale_to_utf8@Base 2.12.0
- g_log@Base 2.12.0
- g_log_default_handler@Base 2.12.0
- g_log_remove_handler@Base 2.12.0
- g_log_set_always_fatal@Base 2.12.0
- g_log_set_default_handler@Base 2.12.0
- g_log_set_fatal_mask@Base 2.12.0
- g_log_set_handler@Base 2.12.0
- g_logv@Base 2.12.0
- g_lstat@Base 2.12.0
- g_main_context_acquire@Base 2.12.0
- g_main_context_add_poll@Base 2.12.0
- g_main_context_check@Base 2.12.0
- g_main_context_default@Base 2.12.0
- g_main_context_dispatch@Base 2.12.0
- g_main_context_find_source_by_funcs_user_data@Base 2.12.0
- g_main_context_find_source_by_id@Base 2.12.0
- g_main_context_find_source_by_user_data@Base 2.12.0
- g_main_context_get_poll_func@Base 2.12.0
- g_main_context_get_thread_default@Base 2.22.0
- g_main_context_is_owner@Base 2.12.0
- g_main_context_iteration@Base 2.12.0
- g_main_context_new@Base 2.12.0
- g_main_context_pending@Base 2.12.0
- g_main_context_pop_thread_default@Base 2.22.0
- g_main_context_prepare@Base 2.12.0
- g_main_context_push_thread_default@Base 2.22.0
- g_main_context_query@Base 2.12.0
- g_main_context_ref@Base 2.12.0
- g_main_context_release@Base 2.12.0
- g_main_context_remove_poll@Base 2.12.0
- g_main_context_set_poll_func@Base 2.12.0
- g_main_context_unref@Base 2.12.0
- g_main_context_wait@Base 2.12.0
- g_main_context_wakeup@Base 2.12.0
- g_main_current_source@Base 2.12.0
- g_main_depth@Base 2.12.0
- g_main_loop_get_context@Base 2.12.0
- g_main_loop_is_running@Base 2.12.0
- g_main_loop_new@Base 2.12.0
- g_main_loop_quit@Base 2.12.0
- g_main_loop_ref@Base 2.12.0
- g_main_loop_run@Base 2.12.0
- g_main_loop_unref@Base 2.12.0
- g_malloc0@Base 2.12.0
- g_malloc@Base 2.12.0
- g_mapped_file_free@Base 2.12.0
- g_mapped_file_get_contents@Base 2.12.0
- g_mapped_file_get_length@Base 2.12.0
- g_mapped_file_new@Base 2.12.0
- g_mapped_file_ref@Base 2.22.0
- g_mapped_file_unref@Base 2.22.0
- g_markup_collect_attributes@Base 2.16.0
- g_markup_error_quark@Base 2.12.0
- g_markup_escape_text@Base 2.12.0
- g_markup_parse_context_end_parse@Base 2.12.0
- g_markup_parse_context_free@Base 2.12.0
- g_markup_parse_context_get_element@Base 2.12.0
- g_markup_parse_context_get_element_stack@Base 2.16.0
- g_markup_parse_context_get_position@Base 2.12.0
- g_markup_parse_context_get_user_data@Base 2.18.0
- g_markup_parse_context_new@Base 2.12.0
- g_markup_parse_context_parse@Base 2.12.0
- g_markup_parse_context_pop@Base 2.18.0
- g_markup_parse_context_push@Base 2.18.0
- g_markup_printf_escaped@Base 2.12.0
- g_markup_vprintf_escaped@Base 2.12.0
- g_match_info_expand_references@Base 2.14.0
- g_match_info_fetch@Base 2.14.0
- g_match_info_fetch_all@Base 2.14.0
- g_match_info_fetch_named@Base 2.14.0
- g_match_info_fetch_named_pos@Base 2.14.0
- g_match_info_fetch_pos@Base 2.14.0
- g_match_info_free@Base 2.14.0
- g_match_info_get_match_count@Base 2.14.0
- g_match_info_get_regex@Base 2.14.0
- g_match_info_get_string@Base 2.14.0
- g_match_info_is_partial_match@Base 2.14.0
- g_match_info_matches@Base 2.14.0
- g_match_info_next@Base 2.14.0
- g_mem_chunk_alloc0@Base 2.12.0
- g_mem_chunk_alloc@Base 2.12.0
- g_mem_chunk_clean@Base 2.12.0
- g_mem_chunk_destroy@Base 2.12.0
- g_mem_chunk_free@Base 2.12.0
- g_mem_chunk_info@Base 2.12.0
- g_mem_chunk_new@Base 2.12.0
- g_mem_chunk_print@Base 2.12.0
- g_mem_chunk_reset@Base 2.12.0
- g_mem_gc_friendly@Base 2.12.0
- g_mem_is_system_malloc@Base 2.12.0
- g_mem_profile@Base 2.12.0
- g_mem_set_vtable@Base 2.12.0
- g_memdup@Base 2.12.0
- g_mkdir@Base 2.12.0
- g_mkdir_with_parents@Base 2.12.0
- g_mkstemp@Base 2.12.0
- g_mkstemp_full@Base 2.22.0
- g_node_child_index@Base 2.12.0
- g_node_child_position@Base 2.12.0
- g_node_children_foreach@Base 2.12.0
- g_node_copy@Base 2.12.0
- g_node_copy_deep@Base 2.12.0
- g_node_depth@Base 2.12.0
- g_node_destroy@Base 2.12.0
- g_node_find@Base 2.12.0
- g_node_find_child@Base 2.12.0
- g_node_first_sibling@Base 2.12.0
- g_node_get_root@Base 2.12.0
- g_node_insert@Base 2.12.0
- g_node_insert_after@Base 2.12.0
- g_node_insert_before@Base 2.12.0
- g_node_is_ancestor@Base 2.12.0
- g_node_last_child@Base 2.12.0
- g_node_last_sibling@Base 2.12.0
- g_node_max_height@Base 2.12.0
- g_node_n_children@Base 2.12.0
- g_node_n_nodes@Base 2.12.0
- g_node_new@Base 2.12.0
- g_node_nth_child@Base 2.12.0
- g_node_pop_allocator@Base 2.12.0
- g_node_prepend@Base 2.12.0
- g_node_push_allocator@Base 2.12.0
- g_node_reverse_children@Base 2.12.0
- g_node_traverse@Base 2.12.0
- g_node_unlink@Base 2.12.0
- g_nullify_pointer@Base 2.12.0
- g_on_error_query@Base 2.12.0
- g_on_error_stack_trace@Base 2.12.0
- g_once_impl@Base 2.12.0
- g_once_init_enter@Base 2.14.0
- g_once_init_enter_impl@Base 2.14.0
- g_once_init_leave@Base 2.14.0
- g_open@Base 2.12.0
- g_option_context_add_group@Base 2.12.0
- g_option_context_add_main_entries@Base 2.12.0
- g_option_context_free@Base 2.12.0
- g_option_context_get_description@Base 2.12.0
- g_option_context_get_help@Base 2.14.0
- g_option_context_get_help_enabled@Base 2.12.0
- g_option_context_get_ignore_unknown_options@Base 2.12.0
- g_option_context_get_main_group@Base 2.12.0
- g_option_context_get_summary@Base 2.12.0
- g_option_context_new@Base 2.12.0
- g_option_context_parse@Base 2.12.0
- g_option_context_set_description@Base 2.12.0
- g_option_context_set_help_enabled@Base 2.12.0
- g_option_context_set_ignore_unknown_options@Base 2.12.0
- g_option_context_set_main_group@Base 2.12.0
- g_option_context_set_summary@Base 2.12.0
- g_option_context_set_translate_func@Base 2.12.0
- g_option_context_set_translation_domain@Base 2.12.0
- g_option_error_quark@Base 2.12.0
- g_option_group_add_entries@Base 2.12.0
- g_option_group_free@Base 2.12.0
- g_option_group_new@Base 2.12.0
- g_option_group_set_error_hook@Base 2.12.0
- g_option_group_set_parse_hooks@Base 2.12.0
- g_option_group_set_translate_func@Base 2.12.0
- g_option_group_set_translation_domain@Base 2.12.0
- g_parse_debug_string@Base 2.12.0
- g_path_get_basename@Base 2.12.0
- g_path_get_dirname@Base 2.12.0
- g_path_is_absolute@Base 2.12.0
- g_path_skip_root@Base 2.12.0
- g_pattern_match@Base 2.12.0
- g_pattern_match_simple@Base 2.12.0
- g_pattern_match_string@Base 2.12.0
- g_pattern_spec_equal@Base 2.12.0
- g_pattern_spec_free@Base 2.12.0
- g_pattern_spec_new@Base 2.12.0
- g_poll@Base 2.20.0
- g_prefix_error@Base 2.16.0
- g_print@Base 2.12.0
- g_printerr@Base 2.12.0
- g_printf@Base 2.12.0
- g_printf_string_upper_bound@Base 2.12.0
- g_propagate_error@Base 2.12.0
- g_propagate_prefixed_error@Base 2.16.0
- g_ptr_array_add@Base 2.12.0
- g_ptr_array_foreach@Base 2.12.0
- g_ptr_array_free@Base 2.12.0
- g_ptr_array_new@Base 2.12.0
- g_ptr_array_new_with_free_func@Base 2.22.0
- g_ptr_array_ref@Base 2.22.0
- g_ptr_array_remove@Base 2.12.0
- g_ptr_array_remove_fast@Base 2.12.0
- g_ptr_array_remove_index@Base 2.12.0
- g_ptr_array_remove_index_fast@Base 2.12.0
- g_ptr_array_remove_range@Base 2.12.0
- g_ptr_array_set_free_func@Base 2.22.0
- g_ptr_array_set_size@Base 2.12.0
- g_ptr_array_sized_new@Base 2.12.0
- g_ptr_array_sort@Base 2.12.0
- g_ptr_array_sort_with_data@Base 2.12.0
- g_ptr_array_unref@Base 2.22.0
- g_qsort_with_data@Base 2.12.0
- g_quark_from_static_string@Base 2.12.0
- g_quark_from_string@Base 2.12.0
- g_quark_to_string@Base 2.12.0
- g_quark_try_string@Base 2.12.0
- g_queue_clear@Base 2.14.0
- g_queue_copy@Base 2.12.0
- g_queue_delete_link@Base 2.12.0
- g_queue_find@Base 2.12.0
- g_queue_find_custom@Base 2.12.0
- g_queue_foreach@Base 2.12.0
- g_queue_free@Base 2.12.0
- g_queue_get_length@Base 2.12.0
- g_queue_index@Base 2.12.0
- g_queue_init@Base 2.14.0
- g_queue_insert_after@Base 2.12.0
- g_queue_insert_before@Base 2.12.0
- g_queue_insert_sorted@Base 2.12.0
- g_queue_is_empty@Base 2.12.0
- g_queue_link_index@Base 2.12.0
- g_queue_new@Base 2.12.0
- g_queue_peek_head@Base 2.12.0
- g_queue_peek_head_link@Base 2.12.0
- g_queue_peek_nth@Base 2.12.0
- g_queue_peek_nth_link@Base 2.12.0
- g_queue_peek_tail@Base 2.12.0
- g_queue_peek_tail_link@Base 2.12.0
- g_queue_pop_head@Base 2.12.0
- g_queue_pop_head_link@Base 2.12.0
- g_queue_pop_nth@Base 2.12.0
- g_queue_pop_nth_link@Base 2.12.0
- g_queue_pop_tail@Base 2.12.0
- g_queue_pop_tail_link@Base 2.12.0
- g_queue_push_head@Base 2.12.0
- g_queue_push_head_link@Base 2.12.0
- g_queue_push_nth@Base 2.12.0
- g_queue_push_nth_link@Base 2.12.0
- g_queue_push_tail@Base 2.12.0
- g_queue_push_tail_link@Base 2.12.0
- g_queue_remove@Base 2.12.0
- g_queue_remove_all@Base 2.12.0
- g_queue_reverse@Base 2.12.0
- g_queue_sort@Base 2.12.0
- g_queue_unlink@Base 2.12.0
- g_rand_copy@Base 2.12.0
- g_rand_double@Base 2.12.0
- g_rand_double_range@Base 2.12.0
- g_rand_free@Base 2.12.0
- g_rand_int@Base 2.12.0
- g_rand_int_range@Base 2.12.0
- g_rand_new@Base 2.12.0
- g_rand_new_with_seed@Base 2.12.0
- g_rand_new_with_seed_array@Base 2.12.0
- g_rand_set_seed@Base 2.12.0
- g_rand_set_seed_array@Base 2.12.0
- g_random_double@Base 2.12.0
- g_random_double_range@Base 2.12.0
- g_random_int@Base 2.12.0
- g_random_int_range@Base 2.12.0
- g_random_set_seed@Base 2.12.0
- g_realloc@Base 2.12.0
- g_regex_check_replacement@Base 2.14.0
- g_regex_error_quark@Base 2.14.0
- g_regex_escape_string@Base 2.14.0
- g_regex_get_capture_count@Base 2.14.0
- g_regex_get_max_backref@Base 2.14.0
- g_regex_get_pattern@Base 2.14.0
- g_regex_get_string_number@Base 2.14.0
- g_regex_match@Base 2.14.0
- g_regex_match_all@Base 2.14.0
- g_regex_match_all_full@Base 2.14.0
- g_regex_match_full@Base 2.14.0
- g_regex_match_simple@Base 2.14.0
- g_regex_new@Base 2.14.0
- g_regex_ref@Base 2.14.0
- g_regex_replace@Base 2.14.0
- g_regex_replace_eval@Base 2.14.0
- g_regex_replace_literal@Base 2.14.0
- g_regex_split@Base 2.14.0
- g_regex_split_full@Base 2.14.0
- g_regex_split_simple@Base 2.14.0
- g_regex_unref@Base 2.14.0
- g_relation_count@Base 2.12.0
- g_relation_delete@Base 2.12.0
- g_relation_destroy@Base 2.12.0
- g_relation_exists@Base 2.12.0
- g_relation_index@Base 2.12.0
- g_relation_insert@Base 2.12.0
- g_relation_new@Base 2.12.0
- g_relation_print@Base 2.12.0
- g_relation_select@Base 2.12.0
- g_reload_user_special_dirs_cache@Base 2.22.0
- g_remove@Base 2.12.0
- g_rename@Base 2.12.0
- g_return_if_fail_warning@Base 2.12.0
- g_rmdir@Base 2.12.0
- g_scanner_cur_line@Base 2.12.0
- g_scanner_cur_position@Base 2.12.0
- g_scanner_cur_token@Base 2.12.0
- g_scanner_cur_value@Base 2.12.0
- g_scanner_destroy@Base 2.12.0
- g_scanner_eof@Base 2.12.0
- g_scanner_error@Base 2.12.0
- g_scanner_get_next_token@Base 2.12.0
- g_scanner_input_file@Base 2.12.0
- g_scanner_input_text@Base 2.12.0
- g_scanner_lookup_symbol@Base 2.12.0
- g_scanner_new@Base 2.12.0
- g_scanner_peek_next_token@Base 2.12.0
- g_scanner_scope_add_symbol@Base 2.12.0
- g_scanner_scope_foreach_symbol@Base 2.12.0
- g_scanner_scope_lookup_symbol@Base 2.12.0
- g_scanner_scope_remove_symbol@Base 2.12.0
- g_scanner_set_scope@Base 2.12.0
- g_scanner_sync_file_offset@Base 2.12.0
- g_scanner_unexp_token@Base 2.12.0
- g_scanner_warn@Base 2.12.0
- g_sequence_append@Base 2.14.0
- g_sequence_foreach@Base 2.14.0
- g_sequence_foreach_range@Base 2.14.0
- g_sequence_free@Base 2.14.0
- g_sequence_get@Base 2.14.0
- g_sequence_get_begin_iter@Base 2.14.0
- g_sequence_get_end_iter@Base 2.14.0
- g_sequence_get_iter_at_pos@Base 2.14.0
- g_sequence_get_length@Base 2.14.0
- g_sequence_insert_before@Base 2.14.0
- g_sequence_insert_sorted@Base 2.14.0
- g_sequence_insert_sorted_iter@Base 2.14.0
- g_sequence_iter_compare@Base 2.14.0
- g_sequence_iter_get_position@Base 2.14.0
- g_sequence_iter_get_sequence@Base 2.14.0
- g_sequence_iter_is_begin@Base 2.14.0
- g_sequence_iter_is_end@Base 2.14.0
- g_sequence_iter_move@Base 2.14.0
- g_sequence_iter_next@Base 2.14.0
- g_sequence_iter_prev@Base 2.14.0
- g_sequence_move@Base 2.14.0
- g_sequence_move_range@Base 2.14.0
- g_sequence_new@Base 2.14.0
- g_sequence_prepend@Base 2.14.0
- g_sequence_range_get_midpoint@Base 2.14.0
- g_sequence_remove@Base 2.14.0
- g_sequence_remove_range@Base 2.14.0
- g_sequence_search@Base 2.14.0
- g_sequence_search_iter@Base 2.14.0
- g_sequence_set@Base 2.14.0
- g_sequence_sort@Base 2.14.0
- g_sequence_sort_changed@Base 2.14.0
- g_sequence_sort_changed_iter@Base 2.14.0
- g_sequence_sort_iter@Base 2.14.0
- g_sequence_swap@Base 2.14.0
- g_set_application_name@Base 2.12.0
- g_set_error@Base 2.12.0
- g_set_error_literal@Base 2.18.0
- g_set_prgname@Base 2.12.0
- g_set_print_handler@Base 2.12.0
- g_set_printerr_handler@Base 2.12.0
- g_setenv@Base 2.12.0
- g_shell_error_quark@Base 2.12.0
- g_shell_parse_argv@Base 2.12.0
- g_shell_quote@Base 2.12.0
- g_shell_unquote@Base 2.12.0
- g_slice_alloc0@Base 2.12.0
- g_slice_alloc@Base 2.12.0
- g_slice_copy@Base 2.14.0
- g_slice_free1@Base 2.12.0
- g_slice_free_chain_with_offset@Base 2.12.0
- g_slice_get_config@Base 2.12.0
- g_slice_get_config_state@Base 2.12.0
- g_slice_set_config@Base 2.12.0
- g_slist_alloc@Base 2.12.0
- g_slist_append@Base 2.12.0
- g_slist_concat@Base 2.12.0
- g_slist_copy@Base 2.12.0
- g_slist_delete_link@Base 2.12.0
- g_slist_find@Base 2.12.0
- g_slist_find_custom@Base 2.12.0
- g_slist_foreach@Base 2.12.0
- g_slist_free@Base 2.12.0
- g_slist_free_1@Base 2.12.0
- g_slist_index@Base 2.12.0
- g_slist_insert@Base 2.12.0
- g_slist_insert_before@Base 2.12.0
- g_slist_insert_sorted@Base 2.12.0
- g_slist_insert_sorted_with_data@Base 2.12.0
- g_slist_last@Base 2.12.0
- g_slist_length@Base 2.12.0
- g_slist_nth@Base 2.12.0
- g_slist_nth_data@Base 2.12.0
- g_slist_pop_allocator@Base 2.12.0
- g_slist_position@Base 2.12.0
- g_slist_prepend@Base 2.12.0
- g_slist_push_allocator@Base 2.12.0
- g_slist_remove@Base 2.12.0
- g_slist_remove_all@Base 2.12.0
- g_slist_remove_link@Base 2.12.0
- g_slist_reverse@Base 2.12.0
- g_slist_sort@Base 2.12.0
- g_slist_sort_with_data@Base 2.12.0
- g_snprintf@Base 2.12.0
- g_source_add_poll@Base 2.12.0
- g_source_attach@Base 2.12.0
- g_source_destroy@Base 2.12.0
- g_source_get_can_recurse@Base 2.12.0
- g_source_get_context@Base 2.12.0
- g_source_get_current_time@Base 2.12.0
- g_source_get_id@Base 2.12.0
- g_source_get_priority@Base 2.12.0
- g_source_is_destroyed@Base 2.12.0
- g_source_new@Base 2.12.0
- g_source_ref@Base 2.12.0
- g_source_remove@Base 2.12.0
- g_source_remove_by_funcs_user_data@Base 2.12.0
- g_source_remove_by_user_data@Base 2.12.0
- g_source_remove_poll@Base 2.12.0
- g_source_set_callback@Base 2.12.0
- g_source_set_callback_indirect@Base 2.12.0
- g_source_set_can_recurse@Base 2.12.0
- g_source_set_funcs@Base 2.12.0
- g_source_set_priority@Base 2.12.0
- g_source_unref@Base 2.12.0
- g_spaced_primes_closest@Base 2.12.0
- g_spawn_async@Base 2.12.0
- g_spawn_async_with_pipes@Base 2.12.0
- g_spawn_close_pid@Base 2.12.0
- g_spawn_command_line_async@Base 2.12.0
- g_spawn_command_line_sync@Base 2.12.0
- g_spawn_error_quark@Base 2.12.0
- g_spawn_sync@Base 2.12.0
- g_sprintf@Base 2.12.0
- g_stat@Base 2.12.0
- g_static_mutex_free@Base 2.12.0
- g_static_mutex_get_mutex_impl@Base 2.12.0
- g_static_mutex_init@Base 2.12.0
- g_static_private_free@Base 2.12.0
- g_static_private_get@Base 2.12.0
- g_static_private_init@Base 2.12.0
- g_static_private_set@Base 2.12.0
- g_static_rec_mutex_free@Base 2.12.0
- g_static_rec_mutex_init@Base 2.12.0
- g_static_rec_mutex_lock@Base 2.12.0
- g_static_rec_mutex_lock_full@Base 2.12.0
- g_static_rec_mutex_trylock@Base 2.12.0
- g_static_rec_mutex_unlock@Base 2.12.0
- g_static_rec_mutex_unlock_full@Base 2.12.0
- g_static_rw_lock_free@Base 2.12.0
- g_static_rw_lock_init@Base 2.12.0
- g_static_rw_lock_reader_lock@Base 2.12.0
- g_static_rw_lock_reader_trylock@Base 2.12.0
- g_static_rw_lock_reader_unlock@Base 2.12.0
- g_static_rw_lock_writer_lock@Base 2.12.0
- g_static_rw_lock_writer_trylock@Base 2.12.0
- g_static_rw_lock_writer_unlock@Base 2.12.0
- g_stpcpy@Base 2.12.0
- g_str_equal@Base 2.12.0
- g_str_has_prefix@Base 2.12.0
- g_str_has_suffix@Base 2.12.0
- g_str_hash@Base 2.12.0
- g_strcanon@Base 2.12.0
- g_strcasecmp@Base 2.12.0
- g_strchomp@Base 2.12.0
- g_strchug@Base 2.12.0
- g_strcmp0@Base 2.16.0
- g_strcompress@Base 2.12.0
- g_strconcat@Base 2.12.0
- g_strdelimit@Base 2.12.0
- g_strdown@Base 2.12.0
- g_strdup@Base 2.12.0
- g_strdup_printf@Base 2.12.0
- g_strdup_vprintf@Base 2.12.0
- g_strdupv@Base 2.12.0
- g_strerror@Base 2.12.0
- g_strescape@Base 2.12.0
- g_strfreev@Base 2.12.0
- g_string_append@Base 2.12.0
- g_string_append_c@Base 2.12.0
- g_string_append_len@Base 2.12.0
- g_string_append_printf@Base 2.12.0
- g_string_append_unichar@Base 2.12.0
- g_string_append_uri_escaped@Base 2.16.0
- g_string_append_vprintf@Base 2.14.0
- g_string_ascii_down@Base 2.12.0
- g_string_ascii_up@Base 2.12.0
- g_string_assign@Base 2.12.0
- g_string_chunk_clear@Base 2.14.0
- g_string_chunk_free@Base 2.12.0
- g_string_chunk_insert@Base 2.12.0
- g_string_chunk_insert_const@Base 2.12.0
- g_string_chunk_insert_len@Base 2.12.0
- g_string_chunk_new@Base 2.12.0
- g_string_down@Base 2.12.0
- g_string_equal@Base 2.12.0
- g_string_erase@Base 2.12.0
- g_string_free@Base 2.12.0
- g_string_hash@Base 2.12.0
- g_string_insert@Base 2.12.0
- g_string_insert_c@Base 2.12.0
- g_string_insert_len@Base 2.12.0
- g_string_insert_unichar@Base 2.12.0
- g_string_new@Base 2.12.0
- g_string_new_len@Base 2.12.0
- g_string_overwrite@Base 2.14.0
- g_string_overwrite_len@Base 2.14.0
- g_string_prepend@Base 2.12.0
- g_string_prepend_c@Base 2.12.0
- g_string_prepend_len@Base 2.12.0
- g_string_prepend_unichar@Base 2.12.0
- g_string_printf@Base 2.12.0
- g_string_set_size@Base 2.12.0
- g_string_sized_new@Base 2.12.0
- g_string_truncate@Base 2.12.0
- g_string_up@Base 2.12.0
- g_string_vprintf@Base 2.14.0
- g_strip_context@Base 2.12.0
- g_strjoin@Base 2.12.0
- g_strjoinv@Base 2.12.0
- g_strlcat@Base 2.12.0
- g_strlcpy@Base 2.12.0
- g_strncasecmp@Base 2.12.0
- g_strndup@Base 2.12.0
- g_strnfill@Base 2.12.0
- g_strreverse@Base 2.12.0
- g_strrstr@Base 2.12.0
- g_strrstr_len@Base 2.12.0
- g_strsignal@Base 2.12.0
- g_strsplit@Base 2.12.0
- g_strsplit_set@Base 2.12.0
- g_strstr_len@Base 2.12.0
- g_strtod@Base 2.12.0
- g_strup@Base 2.12.0
- g_strv_length@Base 2.12.0
- g_test_add_data_func@Base 2.16.0
- g_test_add_func@Base 2.16.0
- g_test_add_vtable@Base 2.16.0
- g_test_bug@Base 2.16.0
- g_test_bug_base@Base 2.16.0
- g_test_config_vars@Base 2.16.0
- g_test_create_case@Base 2.16.0
- g_test_create_suite@Base 2.16.0
- g_test_get_root@Base 2.16.0
- g_test_init@Base 2.16.0
- g_test_log_buffer_free@Base 2.16.0
- g_test_log_buffer_new@Base 2.16.0
- g_test_log_buffer_pop@Base 2.16.0
- g_test_log_buffer_push@Base 2.16.0
- g_test_log_msg_free@Base 2.16.0
- g_test_log_set_fatal_handler@Base 2.22.0
- g_test_log_type_name@Base 2.16.0
- g_test_maximized_result@Base 2.16.0
- g_test_message@Base 2.16.0
- g_test_minimized_result@Base 2.16.0
- g_test_queue_destroy@Base 2.16.0
- g_test_queue_free@Base 2.16.0
- g_test_rand_double@Base 2.16.0
- g_test_rand_double_range@Base 2.16.0
- g_test_rand_int@Base 2.16.0
- g_test_rand_int_range@Base 2.16.0
- g_test_run@Base 2.16.0
- g_test_run_suite@Base 2.16.0
- g_test_suite_add@Base 2.16.0
- g_test_suite_add_suite@Base 2.16.0
- g_test_timer_elapsed@Base 2.16.0
- g_test_timer_last@Base 2.16.0
- g_test_timer_start@Base 2.16.0
- g_test_trap_assertions@Base 2.16.0
- g_test_trap_fork@Base 2.16.0
- g_test_trap_has_passed@Base 2.16.0
- g_test_trap_reached_timeout@Base 2.16.0
- g_thread_create_full@Base 2.12.0
- g_thread_error_quark@Base 2.12.0
- g_thread_exit@Base 2.12.0
- g_thread_foreach@Base 2.12.0
- g_thread_functions_for_glib_use@Base 2.12.0
- g_thread_get_initialized@Base 2.20.0
- g_thread_gettime@Base 2.14.0
- g_thread_init_glib@Base 2.12.0
- g_thread_join@Base 2.12.0
- g_thread_pool_free@Base 2.12.0
- g_thread_pool_get_max_idle_time@Base 2.12.0
- g_thread_pool_get_max_threads@Base 2.12.0
- g_thread_pool_get_max_unused_threads@Base 2.12.0
- g_thread_pool_get_num_threads@Base 2.12.0
- g_thread_pool_get_num_unused_threads@Base 2.12.0
- g_thread_pool_new@Base 2.12.0
- g_thread_pool_push@Base 2.12.0
- g_thread_pool_set_max_idle_time@Base 2.12.0
- g_thread_pool_set_max_threads@Base 2.12.0
- g_thread_pool_set_max_unused_threads@Base 2.12.0
- g_thread_pool_set_sort_function@Base 2.12.0
- g_thread_pool_stop_unused_threads@Base 2.12.0
- g_thread_pool_unprocessed@Base 2.12.0
- g_thread_self@Base 2.12.0
- g_thread_set_priority@Base 2.12.0
- g_thread_use_default_impl@Base 2.12.0
- g_threads_got_initialized@Base 2.12.0
- g_time_val_add@Base 2.12.0
- g_time_val_from_iso8601@Base 2.12.0
- g_time_val_to_iso8601@Base 2.12.0
- g_timeout_add@Base 2.12.0
- g_timeout_add_full@Base 2.12.0
- g_timeout_add_seconds@Base 2.14.0
- g_timeout_add_seconds_full@Base 2.14.0
- g_timeout_funcs@Base 2.12.0
- g_timeout_source_new@Base 2.12.0
- g_timeout_source_new_seconds@Base 2.14.0
- g_timer_continue@Base 2.12.0
- g_timer_destroy@Base 2.12.0
- g_timer_elapsed@Base 2.12.0
- g_timer_new@Base 2.12.0
- g_timer_reset@Base 2.12.0
- g_timer_start@Base 2.12.0
- g_timer_stop@Base 2.12.0
- g_trash_stack_height@Base 2.12.0
- g_trash_stack_peek@Base 2.12.0
- g_trash_stack_pop@Base 2.12.0
- g_trash_stack_push@Base 2.12.0
- g_tree_destroy@Base 2.12.0
- g_tree_foreach@Base 2.12.0
- g_tree_height@Base 2.12.0
- g_tree_insert@Base 2.12.0
- g_tree_lookup@Base 2.12.0
- g_tree_lookup_extended@Base 2.12.0
- g_tree_new@Base 2.12.0
- g_tree_new_full@Base 2.12.0
- g_tree_new_with_data@Base 2.12.0
- g_tree_nnodes@Base 2.12.0
- g_tree_ref@Base 2.22.0
- g_tree_remove@Base 2.12.0
- g_tree_replace@Base 2.12.0
- g_tree_search@Base 2.12.0
- g_tree_steal@Base 2.12.0
- g_tree_traverse@Base 2.12.0
- g_tree_unref@Base 2.22.0
- g_try_malloc0@Base 2.12.0
- g_try_malloc@Base 2.12.0
- g_try_realloc@Base 2.12.0
- g_tuples_destroy@Base 2.12.0
- g_tuples_index@Base 2.12.0
- g_ucs4_to_utf16@Base 2.12.0
- g_ucs4_to_utf8@Base 2.12.0
- g_unichar_break_type@Base 2.12.0
- g_unichar_combining_class@Base 2.14.0
- g_unichar_digit_value@Base 2.12.0
- g_unichar_get_mirror_char@Base 2.12.0
- g_unichar_get_script@Base 2.14.0
- g_unichar_isalnum@Base 2.12.0
- g_unichar_isalpha@Base 2.12.0
- g_unichar_iscntrl@Base 2.12.0
- g_unichar_isdefined@Base 2.12.0
- g_unichar_isdigit@Base 2.12.0
- g_unichar_isgraph@Base 2.12.0
- g_unichar_islower@Base 2.12.0
- g_unichar_ismark@Base 2.14.0
- g_unichar_isprint@Base 2.12.0
- g_unichar_ispunct@Base 2.12.0
- g_unichar_isspace@Base 2.12.0
- g_unichar_istitle@Base 2.12.0
- g_unichar_isupper@Base 2.12.0
- g_unichar_iswide@Base 2.12.0
- g_unichar_iswide_cjk@Base 2.12.0
- g_unichar_isxdigit@Base 2.12.0
- g_unichar_iszerowidth@Base 2.14.0
- g_unichar_to_utf8@Base 2.12.0
- g_unichar_tolower@Base 2.12.0
- g_unichar_totitle@Base 2.12.0
- g_unichar_toupper@Base 2.12.0
- g_unichar_type@Base 2.12.0
- g_unichar_validate@Base 2.12.0
- g_unichar_xdigit_value@Base 2.12.0
- g_unicode_canonical_decomposition@Base 2.12.0
- g_unicode_canonical_ordering@Base 2.12.0
- g_unlink@Base 2.12.0
- g_unsetenv@Base 2.12.0
- g_uri_escape_string@Base 2.16.0
- g_uri_list_extract_uris@Base 2.12.0
- g_uri_parse_scheme@Base 2.16.0
- g_uri_unescape_segment@Base 2.16.0
- g_uri_unescape_string@Base 2.16.0
- g_usleep@Base 2.12.0
- g_utf16_to_ucs4@Base 2.12.0
- g_utf16_to_utf8@Base 2.12.0
- g_utf8_casefold@Base 2.12.0
- g_utf8_collate@Base 2.12.0
- g_utf8_collate_key@Base 2.12.0
- g_utf8_collate_key_for_filename@Base 2.12.0
- g_utf8_find_next_char@Base 2.12.0
- g_utf8_find_prev_char@Base 2.12.0
- g_utf8_get_char@Base 2.12.0
- g_utf8_get_char_validated@Base 2.12.0
- g_utf8_normalize@Base 2.12.0
- g_utf8_offset_to_pointer@Base 2.12.0
- g_utf8_pointer_to_offset@Base 2.12.0
- g_utf8_prev_char@Base 2.12.0
- g_utf8_skip@Base 2.12.0
- g_utf8_strchr@Base 2.12.0
- g_utf8_strdown@Base 2.12.0
- g_utf8_strlen@Base 2.12.0
- g_utf8_strncpy@Base 2.12.0
- g_utf8_strrchr@Base 2.12.0
- g_utf8_strreverse@Base 2.12.0
- g_utf8_strup@Base 2.12.0
- g_utf8_to_ucs4@Base 2.12.0
- g_utf8_to_ucs4_fast@Base 2.12.0
- g_utf8_to_utf16@Base 2.12.0
- g_utf8_validate@Base 2.12.0
- g_utime@Base 2.18.0
- g_vasprintf@Base 2.12.0
- g_vfprintf@Base 2.12.0
- g_vprintf@Base 2.12.0
- g_vsnprintf@Base 2.12.0
- g_vsprintf@Base 2.12.0
- g_warn_message@Base 2.16.0
- glib_binary_age@Base 2.12.0
- glib_check_version@Base 2.12.0
- glib_gettext@Base 2.16.0
- glib_interface_age@Base 2.12.0
- glib_major_version@Base 2.12.0
- glib_mem_profiler_table@Base 2.12.0
- glib_micro_version@Base 2.12.0
- glib_minor_version@Base 2.12.0
- glib_on_error_halt@Base 2.12.0
-libgmodule-2.0.so.0 libglib2.0-0 #MINVER#
-* Build-Depends-Package: libglib2.0-dev
- g_module_build_path@Base 2.12.0
- g_module_close@Base 2.12.0
- g_module_error@Base 2.12.0
- g_module_make_resident@Base 2.12.0
- g_module_name@Base 2.12.0
- g_module_open@Base 2.12.0
- g_module_supported@Base 2.12.0
- g_module_symbol@Base 2.12.0
-libgobject-2.0.so.0 libglib2.0-0 #MINVER#
-* Build-Depends-Package: libglib2.0-dev
- g_array_get_type@Base 2.22.0
- g_boxed_copy@Base 2.12.0
- g_boxed_free@Base 2.12.0
- g_boxed_type_register_static@Base 2.12.0
- g_byte_array_get_type@Base 2.22.0
- g_cclosure_marshal_BOOLEAN__FLAGS@Base 2.12.0
- g_cclosure_marshal_STRING__OBJECT_POINTER@Base 2.12.0
- g_cclosure_marshal_VOID__BOOLEAN@Base 2.12.0
- g_cclosure_marshal_VOID__BOXED@Base 2.12.0
- g_cclosure_marshal_VOID__CHAR@Base 2.12.0
- g_cclosure_marshal_VOID__DOUBLE@Base 2.12.0
- g_cclosure_marshal_VOID__ENUM@Base 2.12.0
- g_cclosure_marshal_VOID__FLAGS@Base 2.12.0
- g_cclosure_marshal_VOID__FLOAT@Base 2.12.0
- g_cclosure_marshal_VOID__INT@Base 2.12.0
- g_cclosure_marshal_VOID__LONG@Base 2.12.0
- g_cclosure_marshal_VOID__OBJECT@Base 2.12.0
- g_cclosure_marshal_VOID__PARAM@Base 2.12.0
- g_cclosure_marshal_VOID__POINTER@Base 2.12.0
- g_cclosure_marshal_VOID__STRING@Base 2.12.0
- g_cclosure_marshal_VOID__UCHAR@Base 2.12.0
- g_cclosure_marshal_VOID__UINT@Base 2.12.0
- g_cclosure_marshal_VOID__UINT_POINTER@Base 2.12.0
- g_cclosure_marshal_VOID__ULONG@Base 2.12.0
- g_cclosure_marshal_VOID__VOID@Base 2.12.0
- g_cclosure_new@Base 2.12.0
- g_cclosure_new_object@Base 2.12.0
- g_cclosure_new_object_swap@Base 2.12.0
- g_cclosure_new_swap@Base 2.12.0
- g_closure_add_finalize_notifier@Base 2.12.0
- g_closure_add_invalidate_notifier@Base 2.12.0
- g_closure_add_marshal_guards@Base 2.12.0
- g_closure_get_type@Base 2.12.0
- g_closure_invalidate@Base 2.12.0
- g_closure_invoke@Base 2.12.0
- g_closure_new_object@Base 2.12.0
- g_closure_new_simple@Base 2.12.0
- g_closure_ref@Base 2.12.0
- g_closure_remove_finalize_notifier@Base 2.12.0
- g_closure_remove_invalidate_notifier@Base 2.12.0
- g_closure_set_marshal@Base 2.12.0
- g_closure_set_meta_marshal@Base 2.12.0
- g_closure_sink@Base 2.12.0
- g_closure_unref@Base 2.12.0
- g_date_get_type@Base 2.12.0
- g_enum_complete_type_info@Base 2.12.0
- g_enum_get_value@Base 2.12.0
- g_enum_get_value_by_name@Base 2.12.0
- g_enum_get_value_by_nick@Base 2.12.0
- g_enum_register_static@Base 2.12.0
- g_flags_complete_type_info@Base 2.12.0
- g_flags_get_first_value@Base 2.12.0
- g_flags_get_value_by_name@Base 2.12.0
- g_flags_get_value_by_nick@Base 2.12.0
- g_flags_register_static@Base 2.12.0
- g_gstring_get_type@Base 2.12.0
- g_gtype_get_type@Base 2.12.0
- g_hash_table_get_type@Base 2.12.0
- g_initially_unowned_get_type@Base 2.12.0
- g_io_channel_get_type@Base 2.12.0
- g_io_condition_get_type@Base 2.12.0
- g_object_add_toggle_ref@Base 2.12.0
- g_object_add_weak_pointer@Base 2.12.0
- g_object_class_find_property@Base 2.12.0
- g_object_class_install_property@Base 2.12.0
- g_object_class_list_properties@Base 2.12.0
- g_object_class_override_property@Base 2.12.0
- g_object_compat_control@Base 2.12.0
- g_object_connect@Base 2.12.0
- g_object_disconnect@Base 2.12.0
- g_object_force_floating@Base 2.12.0
- g_object_freeze_notify@Base 2.12.0
- g_object_get@Base 2.12.0
- g_object_get_data@Base 2.12.0
- g_object_get_property@Base 2.12.0
- g_object_get_qdata@Base 2.12.0
- g_object_get_type@Base 2.18.0
- g_object_get_valist@Base 2.12.0
- g_object_interface_find_property@Base 2.12.0
- g_object_interface_install_property@Base 2.12.0
- g_object_interface_list_properties@Base 2.12.0
- g_object_is_floating@Base 2.12.0
- g_object_new@Base 2.12.0
- g_object_new_valist@Base 2.12.0
- g_object_newv@Base 2.12.0
- g_object_notify@Base 2.12.0
- g_object_ref@Base 2.12.0
- g_object_ref_sink@Base 2.12.0
- g_object_remove_toggle_ref@Base 2.12.0
- g_object_remove_weak_pointer@Base 2.12.0
- g_object_run_dispose@Base 2.12.0
- g_object_set@Base 2.12.0
- g_object_set_data@Base 2.12.0
- g_object_set_data_full@Base 2.12.0
- g_object_set_property@Base 2.12.0
- g_object_set_qdata@Base 2.12.0
- g_object_set_qdata_full@Base 2.12.0
- g_object_set_valist@Base 2.12.0
- g_object_steal_data@Base 2.12.0
- g_object_steal_qdata@Base 2.12.0
- g_object_thaw_notify@Base 2.12.0
- g_object_unref@Base 2.12.0
- g_object_watch_closure@Base 2.12.0
- g_object_weak_ref@Base 2.12.0
- g_object_weak_unref@Base 2.12.0
- g_param_spec_boolean@Base 2.12.0
- g_param_spec_boxed@Base 2.12.0
- g_param_spec_char@Base 2.12.0
- g_param_spec_double@Base 2.12.0
- g_param_spec_enum@Base 2.12.0
- g_param_spec_flags@Base 2.12.0
- g_param_spec_float@Base 2.12.0
- g_param_spec_get_blurb@Base 2.12.0
- g_param_spec_get_name@Base 2.12.0
- g_param_spec_get_nick@Base 2.12.0
- g_param_spec_get_qdata@Base 2.12.0
- g_param_spec_get_redirect_target@Base 2.12.0
- g_param_spec_gtype@Base 2.12.0
- g_param_spec_int64@Base 2.12.0
- g_param_spec_int@Base 2.12.0
- g_param_spec_internal@Base 2.12.0
- g_param_spec_long@Base 2.12.0
- g_param_spec_object@Base 2.12.0
- g_param_spec_override@Base 2.12.0
- g_param_spec_param@Base 2.12.0
- g_param_spec_pointer@Base 2.12.0
- g_param_spec_pool_insert@Base 2.12.0
- g_param_spec_pool_list@Base 2.12.0
- g_param_spec_pool_list_owned@Base 2.12.0
- g_param_spec_pool_lookup@Base 2.12.0
- g_param_spec_pool_new@Base 2.12.0
- g_param_spec_pool_remove@Base 2.12.0
- g_param_spec_ref@Base 2.12.0
- g_param_spec_ref_sink@Base 2.12.0
- g_param_spec_set_qdata@Base 2.12.0
- g_param_spec_set_qdata_full@Base 2.12.0
- g_param_spec_sink@Base 2.12.0
- g_param_spec_steal_qdata@Base 2.12.0
- g_param_spec_string@Base 2.12.0
- g_param_spec_types@Base 2.12.0
- g_param_spec_uchar@Base 2.12.0
- g_param_spec_uint64@Base 2.12.0
- g_param_spec_uint@Base 2.12.0
- g_param_spec_ulong@Base 2.12.0
- g_param_spec_unichar@Base 2.12.0
- g_param_spec_unref@Base 2.12.0
- g_param_spec_value_array@Base 2.12.0
- g_param_type_register_static@Base 2.12.0
- g_param_value_convert@Base 2.12.0
- g_param_value_defaults@Base 2.12.0
- g_param_value_set_default@Base 2.12.0
- g_param_value_validate@Base 2.12.0
- g_param_values_cmp@Base 2.12.0
- g_pointer_type_register_static@Base 2.12.0
- g_ptr_array_get_type@Base 2.22.0
- g_regex_get_type@Base 2.14.0
- g_signal_accumulator_true_handled@Base 2.12.0
- g_signal_add_emission_hook@Base 2.12.0
- g_signal_chain_from_overridden@Base 2.12.0
- g_signal_chain_from_overridden_handler@Base 2.18.0
- g_signal_connect_closure@Base 2.12.0
- g_signal_connect_closure_by_id@Base 2.12.0
- g_signal_connect_data@Base 2.12.0
- g_signal_connect_object@Base 2.12.0
- g_signal_emit@Base 2.12.0
- g_signal_emit_by_name@Base 2.12.0
- g_signal_emit_valist@Base 2.12.0
- g_signal_emitv@Base 2.12.0
- g_signal_get_invocation_hint@Base 2.12.0
- g_signal_handler_block@Base 2.12.0
- g_signal_handler_disconnect@Base 2.12.0
- g_signal_handler_find@Base 2.12.0
- g_signal_handler_is_connected@Base 2.12.0
- g_signal_handler_unblock@Base 2.12.0
- g_signal_handlers_block_matched@Base 2.12.0
- g_signal_handlers_destroy@Base 2.12.0
- g_signal_handlers_disconnect_matched@Base 2.12.0
- g_signal_handlers_unblock_matched@Base 2.12.0
- g_signal_has_handler_pending@Base 2.12.0
- g_signal_list_ids@Base 2.12.0
- g_signal_lookup@Base 2.12.0
- g_signal_name@Base 2.12.0
- g_signal_new@Base 2.12.0
- g_signal_new_class_handler@Base 2.18.0
- g_signal_new_valist@Base 2.12.0
- g_signal_newv@Base 2.12.0
- g_signal_override_class_closure@Base 2.12.0
- g_signal_override_class_handler@Base 2.18.0
- g_signal_parse_name@Base 2.12.0
- g_signal_query@Base 2.12.0
- g_signal_remove_emission_hook@Base 2.12.0
- g_signal_stop_emission@Base 2.12.0
- g_signal_stop_emission_by_name@Base 2.12.0
- g_signal_type_cclosure_new@Base 2.12.0
- g_source_set_closure@Base 2.12.0
- g_strdup_value_contents@Base 2.12.0
- g_strv_get_type@Base 2.12.0
- g_type_add_class_cache_func@Base 2.12.0
- g_type_add_interface_check@Base 2.12.0
- g_type_add_interface_dynamic@Base 2.12.0
- g_type_add_interface_static@Base 2.12.0
- g_type_check_class_cast@Base 2.12.0
- g_type_check_class_is_a@Base 2.12.0
- g_type_check_instance@Base 2.12.0
- g_type_check_instance_cast@Base 2.12.0
- g_type_check_instance_is_a@Base 2.12.0
- g_type_check_is_value_type@Base 2.12.0
- g_type_check_value@Base 2.12.0
- g_type_check_value_holds@Base 2.12.0
- g_type_children@Base 2.12.0
- g_type_class_add_private@Base 2.12.0
- g_type_class_peek@Base 2.12.0
- g_type_class_peek_parent@Base 2.12.0
- g_type_class_peek_static@Base 2.12.0
- g_type_class_ref@Base 2.12.0
- g_type_class_unref@Base 2.12.0
- g_type_class_unref_uncached@Base 2.12.0
- g_type_create_instance@Base 2.12.0
- g_type_default_interface_peek@Base 2.12.0
- g_type_default_interface_ref@Base 2.12.0
- g_type_default_interface_unref@Base 2.12.0
- g_type_depth@Base 2.12.0
- g_type_free_instance@Base 2.12.0
- g_type_from_name@Base 2.12.0
- g_type_fundamental@Base 2.12.0
- g_type_fundamental_next@Base 2.12.0
- g_type_get_plugin@Base 2.12.0
- g_type_get_qdata@Base 2.12.0
- g_type_init@Base 2.12.0
- g_type_init_with_debug_flags@Base 2.12.0
- g_type_instance_get_private@Base 2.12.0
- g_type_interface_add_prerequisite@Base 2.12.0
- g_type_interface_get_plugin@Base 2.12.0
- g_type_interface_peek@Base 2.12.0
- g_type_interface_peek_parent@Base 2.12.0
- g_type_interface_prerequisites@Base 2.12.0
- g_type_interfaces@Base 2.12.0
- g_type_is_a@Base 2.12.0
- g_type_module_add_interface@Base 2.12.0
- g_type_module_get_type@Base 2.12.0
- g_type_module_register_enum@Base 2.12.0
- g_type_module_register_flags@Base 2.12.0
- g_type_module_register_type@Base 2.12.0
- g_type_module_set_name@Base 2.12.0
- g_type_module_unuse@Base 2.12.0
- g_type_module_use@Base 2.12.0
- g_type_name@Base 2.12.0
- g_type_name_from_class@Base 2.12.0
- g_type_name_from_instance@Base 2.12.0
- g_type_next_base@Base 2.12.0
- g_type_parent@Base 2.12.0
- g_type_plugin_complete_interface_info@Base 2.12.0
- g_type_plugin_complete_type_info@Base 2.12.0
- g_type_plugin_get_type@Base 2.12.0
- g_type_plugin_unuse@Base 2.12.0
- g_type_plugin_use@Base 2.12.0
- g_type_qname@Base 2.12.0
- g_type_query@Base 2.12.0
- g_type_register_dynamic@Base 2.12.0
- g_type_register_fundamental@Base 2.12.0
- g_type_register_static@Base 2.12.0
- g_type_register_static_simple@Base 2.12.0
- g_type_remove_class_cache_func@Base 2.12.0
- g_type_remove_interface_check@Base 2.12.0
- g_type_set_qdata@Base 2.12.0
- g_type_test_flags@Base 2.12.0
- g_type_value_table_peek@Base 2.12.0
- g_value_array_append@Base 2.12.0
- g_value_array_copy@Base 2.12.0
- g_value_array_free@Base 2.12.0
- g_value_array_get_nth@Base 2.12.0
- g_value_array_get_type@Base 2.12.0
- g_value_array_insert@Base 2.12.0
- g_value_array_new@Base 2.12.0
- g_value_array_prepend@Base 2.12.0
- g_value_array_remove@Base 2.12.0
- g_value_array_sort@Base 2.12.0
- g_value_array_sort_with_data@Base 2.12.0
- g_value_copy@Base 2.12.0
- g_value_dup_boxed@Base 2.12.0
- g_value_dup_object@Base 2.12.0
- g_value_dup_param@Base 2.12.0
- g_value_dup_string@Base 2.12.0
- g_value_fits_pointer@Base 2.12.0
- g_value_get_boolean@Base 2.12.0
- g_value_get_boxed@Base 2.12.0
- g_value_get_char@Base 2.12.0
- g_value_get_double@Base 2.12.0
- g_value_get_enum@Base 2.12.0
- g_value_get_flags@Base 2.12.0
- g_value_get_float@Base 2.12.0
- g_value_get_gtype@Base 2.12.0
- g_value_get_int64@Base 2.12.0
- g_value_get_int@Base 2.12.0
- g_value_get_long@Base 2.12.0
- g_value_get_object@Base 2.12.0
- g_value_get_param@Base 2.12.0
- g_value_get_pointer@Base 2.12.0
- g_value_get_string@Base 2.12.0
- g_value_get_type@Base 2.12.0
- g_value_get_uchar@Base 2.12.0
- g_value_get_uint64@Base 2.12.0
- g_value_get_uint@Base 2.12.0
- g_value_get_ulong@Base 2.12.0
- g_value_init@Base 2.12.0
- g_value_peek_pointer@Base 2.12.0
- g_value_register_transform_func@Base 2.12.0
- g_value_reset@Base 2.12.0
- g_value_set_boolean@Base 2.12.0
- g_value_set_boxed@Base 2.12.0
- g_value_set_boxed_take_ownership@Base 2.12.0
- g_value_set_char@Base 2.12.0
- g_value_set_double@Base 2.12.0
- g_value_set_enum@Base 2.12.0
- g_value_set_flags@Base 2.12.0
- g_value_set_float@Base 2.12.0
- g_value_set_gtype@Base 2.12.0
- g_value_set_instance@Base 2.12.0
- g_value_set_int64@Base 2.12.0
- g_value_set_int@Base 2.12.0
- g_value_set_long@Base 2.12.0
- g_value_set_object@Base 2.12.0
- g_value_set_object_take_ownership@Base 2.12.0
- g_value_set_param@Base 2.12.0
- g_value_set_param_take_ownership@Base 2.12.0
- g_value_set_pointer@Base 2.12.0
- g_value_set_static_boxed@Base 2.12.0
- g_value_set_static_string@Base 2.12.0
- g_value_set_string@Base 2.12.0
- g_value_set_string_take_ownership@Base 2.12.0
- g_value_set_uchar@Base 2.12.0
- g_value_set_uint64@Base 2.12.0
- g_value_set_uint@Base 2.12.0
- g_value_set_ulong@Base 2.12.0
- g_value_take_boxed@Base 2.12.0
- g_value_take_object@Base 2.12.0
- g_value_take_param@Base 2.12.0
- g_value_take_string@Base 2.12.0
- g_value_transform@Base 2.12.0
- g_value_type_compatible@Base 2.12.0
- g_value_type_transformable@Base 2.12.0
- g_value_unset@Base 2.12.0
-libgthread-2.0.so.0 libglib2.0-0 #MINVER#
-* Build-Depends-Package: libglib2.0-dev
- g_thread_init@Base 2.12.0
- g_thread_init_with_errorcheck_mutexes@Base 2.12.0
+++ /dev/null
-debian/install/deb/usr/share/locale usr/share
+++ /dev/null
-usr/share/doc/libglib2.0-0 usr/share/doc/libglib2.0-data
+++ /dev/null
-debian/install/deb/usr/lib/debug/lib*.so* usr/lib/debug
+++ /dev/null
-GLib2.0 for Debian
--------------------
-
-Static libraries issue:
-Right now glib2.0 provides some static libraries. If your application
-uses g_module* functions or other libraries uses g_module* functions and
-your application link it, Please don't statically link this libraries.
-You may get some strange proglem between static-linked application and
-dynamic-loaded modules, g_module* provides the feature for dynamically
-loading some modules.
-This is well-known bug, so please don't file a bug report.
-
-
- -- Akira TAGOH <tagoh@debian.org>, Thu, 11 Apr 2002 19:28:50 +0900
-
+++ /dev/null
-debian/install/deb/usr/include/* usr/include
-debian/install/deb/usr/lib/lib*.{la,a} usr/lib
-debian/install/deb/usr/lib/libg{object,module,thread,io}*.so usr/lib
-debian/install/deb/usr/lib/glib-2.0 usr/lib
-debian/install/deb/usr/lib/pkgconfig usr/lib
-debian/install/deb/usr/share/aclocal usr/share
-debian/install/deb/usr/share/glib-2.0/gettext usr/share/glib-2.0
-debian/install/deb/usr/share/man/man1/glib-genmarshal.1* usr/share/man/man1
-debian/install/deb/usr/share/man/man1/glib-mkenums.1* usr/share/man/man1
-debian/install/deb/usr/share/man/man1/gobject-query.1* usr/share/man/man1
-debian/install/deb/usr/share/man/man1/glib-gettextize.1* usr/share/man/man1
-debian/install/deb/usr/bin usr
+++ /dev/null
-usr/share/doc/libglib2.0-0 usr/share/doc/libglib2.0-dev
-usr/lib/libglib-2.0.so.0 usr/lib/libglib-2.0.so
+++ /dev/null
-Document: gio
-Title: GIO (GLib) Reference Manual
-Author: Damon Chaplin et al.
-Abstract: GIO is striving to provide a modern, easy-to-use VFS API that sits at
- the right level in the library stack. The goal is to overcome the shortcomings
- of GnomeVFS and provide an API that is so good that developers prefer it over
- raw POSIX calls. Among other things that means using GObject. It also means
- not cloning the POSIX API, but providing higher-level, document-centric
- interfaces.
-Section: Programming/C
-
-Format: HTML
-Index: /usr/share/doc/libglib2.0-doc/gio/index.html
-Files: /usr/share/doc/libglib2.0-doc/gio/*.html
+++ /dev/null
-Document: glib
-Title: GLib Reference Manual
-Author: Damon Chaplin et al.
-Abstract: The GLib C library is used in GTK+ and GNOME
- programs as a general-purpose set of functions for hash, tree, list,
- and string operations, which C is oddly lacking whatsoever in any
- of its standard libraries.
-Section: Programming/C
-
-Format: HTML
-Index: /usr/share/doc/libglib2.0-doc/glib/index.html
-Files: /usr/share/doc/libglib2.0-doc/glib/*.html
+++ /dev/null
-Document: gobject
-Title: GObject (GLib) Reference Manual
-Author: Damon Chaplin et al.
-Abstract: Most modern programming languages come with their own native object
- systems and additional fundamental algorithmic language constructs.
- Just as GLib serves as an implementation of such fundamental
- types and algorithms (linked lists, hash tables and so forth), the
- GLib Object System provides the required implementations of a
- flexible extensible and intentionally easy to map (into other
- languages) object oriented framework for C.
-Section: Programming/C
-
-Format: HTML
-Index: /usr/share/doc/libglib2.0-doc/gobject/index.html
-Files: /usr/share/doc/libglib2.0-doc/gobject/*.html
+++ /dev/null
-debian/install/deb/usr/share/doc/libglib2.0-doc usr/share/doc
+++ /dev/null
-usr/share/doc/libgtk2.0-doc/gtk usr/share/doc/libglib2.0-doc/gtk
-usr/share/doc/libglib2.0-doc/gio usr/share/gtk-doc/html/gio
-usr/share/doc/libglib2.0-doc/glib usr/share/gtk-doc/html/glib
-usr/share/doc/libglib2.0-doc/gobject usr/share/gtk-doc/html/gobject
+++ /dev/null
-debian/install/udeb/usr/lib/lib*.so.* usr/lib
-debian/install/udeb/usr/share/locale usr/share
+++ /dev/null
-libglib2.0-0-refdbg binary: unstripped-binary-or-object
+++ /dev/null
-# Description: If a .desktop file does not have inline translations, fall back to calling gettext.
-# Ubuntu: https://launchpad.net/bugs/3935
-# Upstream: http://bugzilla.gnome.org/show_bug.cgi?id=569829
-Index: glib2.0-2.19.5/glib/gkeyfile.c
-===================================================================
---- glib2.0-2.19.5.orig/glib/gkeyfile.c 2009-01-30 15:34:03.000000000 +0100
-+++ glib2.0-2.19.5/glib/gkeyfile.c 2009-01-30 15:34:32.000000000 +0100
-@@ -83,6 +83,7 @@
- GKeyFileFlags flags;
-
- gchar **locales;
-+ gchar *gettext_domain;
- };
-
- typedef struct _GKeyFileKeyValuePair GKeyFileKeyValuePair;
-@@ -209,6 +210,7 @@
- key_file->list_separator = ';';
- key_file->flags = 0;
- key_file->locales = g_strdupv ((gchar **)g_get_language_names ());
-+ key_file->gettext_domain = NULL;
- }
-
- static void
-@@ -228,6 +230,12 @@
- key_file->parse_buffer = NULL;
- }
-
-+ if (key_file->gettext_domain)
-+ {
-+ g_free (key_file->gettext_domain);
-+ key_file->gettext_domain = NULL;
-+ }
-+
- tmp = key_file->groups;
- while (tmp != NULL)
- {
-@@ -448,6 +456,11 @@
- return FALSE;
- }
-
-+ key_file->gettext_domain = g_key_file_get_string (key_file,
-+ G_KEY_FILE_DESKTOP_GROUP,
-+ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN,
-+ NULL);
-+
- return TRUE;
- }
-
-@@ -554,6 +567,11 @@
- return FALSE;
- }
-
-+ key_file->gettext_domain = g_key_file_get_string (key_file,
-+ G_KEY_FILE_DESKTOP_GROUP,
-+ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN,
-+ NULL);
-+
- return TRUE;
- }
-
-@@ -1662,6 +1680,8 @@
- GError *key_file_error;
- gchar **languages;
- gboolean free_languages = FALSE;
-+ gboolean try_gettext = FALSE;
-+ const gchar *msg_locale;
- gint i;
-
- g_return_val_if_fail (key_file != NULL, NULL);
-@@ -1692,6 +1712,23 @@
- free_languages = FALSE;
- }
-
-+ /* we're only interested in gettext translation if we don't have a
-+ * translation in the .desktop file itself and if the key is one of the keys
-+ * we know we want to translate: Name, GenericName, Comment. Blindly doing
-+ * this for all keys can give strange result for the icons, since the Icon is
-+ * a locale string in the spec, eg. We also only get translation in the mo
-+ * file if the requested locale is the LC_MESSAGES one. Ideally, we should do
-+ * more and change LC_MESSAGES to use the requested locale, but there's no
-+ * guarantee it's installed on the system and it might have some
-+ * side-effects. Since this is a corner case, let's ignore it. */
-+
-+ msg_locale = setlocale (LC_MESSAGES, NULL);
-+ try_gettext = msg_locale && key_file->gettext_domain &&
-+ strcmp (group_name, G_KEY_FILE_DESKTOP_GROUP) == 0 &&
-+ (strcmp (key, G_KEY_FILE_DESKTOP_KEY_NAME) == 0 ||
-+ strcmp (key, G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME) == 0 ||
-+ strcmp (key, G_KEY_FILE_DESKTOP_KEY_COMMENT) == 0);
-+
- for (i = 0; languages[i]; i++)
- {
- candidate_key = g_strdup_printf ("%s[%s]", key, languages[i]);
-@@ -1708,6 +1745,39 @@
- translated_value = NULL;
- }
-
-+ /* Fallback to gettext */
-+ if (try_gettext && !translated_value)
-+ {
-+ gchar *orig_value = g_key_file_get_string (key_file, group_name, key, NULL);
-+
-+ if (orig_value)
-+ {
-+ gboolean codeset_set;
-+ const gchar *translated;
-+ gboolean has_gettext;
-+
-+ codeset_set = bind_textdomain_codeset (key_file->gettext_domain, "UTF-8") != NULL;
-+ translated = NULL;
-+
-+ translated = g_dgettext (key_file->gettext_domain,
-+ orig_value);
-+ has_gettext = translated != orig_value;
-+
-+ g_free (orig_value);
-+
-+ if (has_gettext)
-+ {
-+ if (codeset_set)
-+ translated_value = g_strdup (translated);
-+ else
-+ translated_value = g_locale_to_utf8 (translated,
-+ -1, NULL, NULL, NULL);
-+ }
-+ else
-+ translated_value = NULL;
-+ }
-+ }
-+
- /* Fallback to untranslated key
- */
- if (!translated_value)
-Index: glib2.0-2.19.5/glib/gkeyfile.h
-===================================================================
---- glib2.0-2.19.5.orig/glib/gkeyfile.h 2009-01-30 15:34:03.000000000 +0100
-+++ glib2.0-2.19.5/glib/gkeyfile.h 2009-01-30 15:34:32.000000000 +0100
-@@ -240,6 +240,7 @@
- #define G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY "StartupNotify"
- #define G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS "StartupWMClass"
- #define G_KEY_FILE_DESKTOP_KEY_URL "URL"
-+#define G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN "X-GNOME-Gettext-Domain"
-
- #define G_KEY_FILE_DESKTOP_TYPE_APPLICATION "Application"
- #define G_KEY_FILE_DESKTOP_TYPE_LINK "Link"
+++ /dev/null
-# Description: Provide backwards compatibility for 01_gettext-desktopfiles.patch for X-{Debian,Ubuntu}-Gettext-Domain
-# UbuntuSpecific: 01_gettext-desktopfiles.patch was changed to use X-GNOME-, so this is necessary until all our .desktop files are converted
-Index: glib2.0-2.19.5/glib/gkeyfile.c
-===================================================================
---- glib2.0-2.19.5.orig/glib/gkeyfile.c 2009-01-30 15:53:09.000000000 +0100
-+++ glib2.0-2.19.5/glib/gkeyfile.c 2009-01-30 15:55:46.000000000 +0100
-@@ -460,6 +460,16 @@
- G_KEY_FILE_DESKTOP_GROUP,
- G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN,
- NULL);
-+ if (!key_file->gettext_domain)
-+ key_file->gettext_domain = g_key_file_get_string (key_file,
-+ G_KEY_FILE_DESKTOP_GROUP,
-+ "X-Ubuntu-Gettext-Domain",
-+ NULL);
-+ if (!key_file->gettext_domain)
-+ key_file->gettext_domain = g_key_file_get_string (key_file,
-+ G_KEY_FILE_DESKTOP_GROUP,
-+ "X-Debian-Gettext-Domain",
-+ NULL);
-
- return TRUE;
- }
-@@ -571,6 +581,16 @@
- G_KEY_FILE_DESKTOP_GROUP,
- G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN,
- NULL);
-+ if (!key_file->gettext_domain)
-+ key_file->gettext_domain = g_key_file_get_string (key_file,
-+ G_KEY_FILE_DESKTOP_GROUP,
-+ "X-Ubuntu-Gettext-Domain",
-+ NULL);
-+ if (!key_file->gettext_domain)
-+ key_file->gettext_domain = g_key_file_get_string (key_file,
-+ G_KEY_FILE_DESKTOP_GROUP,
-+ "X-Debian-Gettext-Domain",
-+ NULL);
-
- return TRUE;
- }
+++ /dev/null
---- glib2.0-2.18.0.orig/gio/gunixmounts.c 2008-09-02 17:09:19.000000000 +0200
-+++ glib2.0-2.18.0/gio/gunixmounts.c 2008-09-03 00:53:29.000000000 +0200
-@@ -221,6 +221,8 @@
- "/home",
- "/lib",
- "/lib64",
-+ "/live/cow",
-+ "/live/image",
- "/media",
- "/mnt",
- "/opt",
-@@ -231,7 +233,12 @@
- "/usr",
- "/usr/local",
- "/var",
-+ "/var/crash",
-+ "/var/local",
-+ "/var/log",
- "/var/log/audit", /* https://bugzilla.redhat.com/show_bug.cgi?id=333041 */
-+ "/var/mail",
-+ "/var/run",
- "/var/tmp", /* https://bugzilla.redhat.com/show_bug.cgi?id=335241 */
- "/proc",
- "/sbin",
+++ /dev/null
-Index: glib-2.18.3/docs/reference/glib/running.sgml
-===================================================================
---- glib-2.18.3.orig/docs/reference/glib/running.sgml 2008-11-26 12:01:53.559365436 +0100
-+++ glib-2.18.3/docs/reference/glib/running.sgml 2008-11-26 12:25:58.155366255 +0100
-@@ -194,6 +194,22 @@ variables like <envar>LANG</envar>, <env
- </para>
- </formalpara>
-
-+<formalpara id="G_HOME">
-+ <title><envar>G_HOME</envar></title>
-+
-+ <para>
-+ For various reasons, GLib applications ignore the <envar>HOME</envar>
-+ environment variable on Unix systems and will use the user directory
-+ as specified by the <filename>passwd</filename> entry, which is more
-+ reliable.
-+ </para>
-+ <para>
-+ The <envar>G_HOME</envar> environment variable will override any
-+ other setting for the home directory. It is not meant for daily usage,
-+ but it is useful in testing or building environments.
-+ </para>
-+</formalpara>
-+
- </refsect2>
-
- <refsect2 id="setlocale">
-Index: glib-2.18.3/glib/gutils.c
-===================================================================
---- glib-2.18.3.orig/glib/gutils.c 2008-11-26 11:50:38.607861683 +0100
-+++ glib-2.18.3/glib/gutils.c 2008-11-26 12:00:29.035360081 +0100
-@@ -1520,11 +1520,14 @@ g_get_any_init_do (void)
- }
- #endif /* !G_OS_WIN32 */
-
-+ g_home_dir = g_strdup (g_getenv ("G_HOME"));
-+
- #ifdef G_OS_WIN32
- /* We check $HOME first for Win32, though it is a last resort for Unix
- * where we prefer the results of getpwuid().
- */
-- g_home_dir = g_strdup (g_getenv ("HOME"));
-+ if (!g_home_dir)
-+ g_home_dir = g_strdup (g_getenv ("HOME"));
-
- /* Only believe HOME if it is an absolute path and exists */
- if (g_home_dir)
-@@ -1820,6 +1823,11 @@ g_get_real_name (void)
- * homedir = g_get_home_dir (<!-- -->);
- * ]|
- *
-+ * However, to allow changing this value for testing and development
-+ * purposes, the value of the <envar>G_HOME</envar> environment
-+ * variable, if set, will override the <filename>passwd</filename>
-+ * entry.
-+ *
- * Returns: the current user's home directory
- */
- G_CONST_RETURN gchar*
+++ /dev/null
---- glib/tests/threadpool-test.c.old 2008-02-12 06:11:21.000000000 +0100
-+++ glib/tests/threadpool-test.c 2008-02-12 06:11:52.000000000 +0100
-@@ -5,8 +5,8 @@
-
- #include <glib.h>
-
--#define DEBUG_MSG(x)
--/* #define DEBUG_MSG(args) g_printerr args ; g_printerr ("\n"); */
-+/* #define DEBUG_MSG(x) */
-+#define DEBUG_MSG(args) g_printerr args ; g_printerr ("\n");
-
- #define WAIT 5 /* seconds */
- #define MAX_THREADS 10
-@@ -124,10 +124,10 @@
- DEBUG_MSG (("[unused] stopping unused threads"));
- g_thread_pool_stop_unused_threads ();
-
-- DEBUG_MSG (("[unused] waiting ONE second for threads to die"));
-+ DEBUG_MSG (("[unused] waiting FIVE second for threads to die"));
-
- /* Some time for threads to die. */
-- g_usleep (G_USEC_PER_SEC);
-+ g_usleep (5 * G_USEC_PER_SEC);
-
- DEBUG_MSG (("[unused] stopped idle threads, %d remain, %d threads still exist",
- g_thread_pool_get_num_unused_threads (),
+++ /dev/null
-01_gettext-desktopfiles.patch
-02_gettext-desktopfiles-ubuntu.patch
-03_blacklist-directories.patch
-04_homedir_env.patch
-60_wait-longer-for-threads-to-die.patch
+++ /dev/null
-#!/usr/bin/make -f
-
-#DISABLE_UPDATE_UPLOADERS := 1
-#include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
-#-include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk
-
-GNOME_MODULE := glib
-
-STAMP_DIR := debian/stampdir
-
-PATCH_DIR := debian/patches
-
-# rules in this debian/rules Makefile can be built concurrently as well as
-# upstream rules in Makefile; all $(MAKE) invocations will inherit this flag,
-# if you recurse into debian/rules ($(MAKE)
-# -f debian/rules in rules), you need to pass a flag to avoid adding "-jX" when
-# the childs encounters this line
-DEB_BUILD_OPTIONS_PARALLEL ?= $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
-MAKEFLAGS += $(if $(DEB_BUILD_OPTIONS_PARALLEL),-j$(DEB_BUILD_OPTIONS_PARALLEL))
-
-# These are used for cross-compiling and for saving the configure script
-# from having to guess our platform (since we know it already)
-DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-#DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-
-# Debian architectures
-DEB_BUILD_ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
-DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
-
-
-CFLAGS += -Wall -g -O$(if $(findstring noopt,$(DEB_BUILD_OPTIONS)),0,2)
-
-# Ensure the build aborts when there are still references to undefined
-# symbols
-LDFLAGS += -Wl,-z,defs
-
-# NB: do NOT use -Wl,--as-needed to build glib; for instance the link to
-# pthread is carefully crafted to allow dlopen()ing pthread-using libs; see
-# http://mid.gmane.org/1257999019.21780.15.camel@marzipan
-
-# Make the linker work a bit harder so dynamic loading can be done faster
-LDFLAGS += -Wl,-O1
-
-APIVER := 2.0
-SONAME := 0
-SHVER := 2.24.0
-
-# package names
-SHARED_PKG := libglib$(APIVER)-$(SONAME)
-DATA_PKG := libglib$(APIVER)-data
-DEV_PKG := libglib$(APIVER)-dev
-UDEB_PKG := libglib$(APIVER)-udeb
-DOC_PKG := libglib$(APIVER)-doc
-DEBUG_PKG := $(SHARED_PKG)-dbg
-REFDBG_PKG := libglib$(APIVER)-$(SONAME)-refdbg
-
-# list of flavors we build; each gets a builddir, a configure pass (configure
-# args are defined below), a build pass, and an install pass (in two steps)
-# Note: the "deb" flavor is required
-FLAVORS := deb udeb refdbg
-
-# list of flavors to run the test suite on
-CHECK_FLAVORS := $(filter deb, $(FLAVORS))
-
-# list of arches on which testsuite failures are fatal
-# XXX testsuite failures currently disabled as testsuite fails everywhere when
-# $HOME isn't writable
-CHECK_SUPPORTED_ARCHES :=
-# CHECK_SUPPORTED_ARCHES := alpha amd64 i386 ia64 lpia m68k s390
-# testsuite is known to fail on hppa, hurd, kfreebsd-amd64, kfreebsd-i386; see
-# Debian #428674
-# testsuite is known to fail on arm, mips, mipsel, powerpc, sparc; see GNOME #481573
-
-# build dir for the current flavor; this is only expanded in flavor specific
-# targets
-# Note: dh_clean will rm -rf debian/tmp, hence all builds
-builddir = $(buildbasedir)/$*
-buildbasedir = $(CURDIR)/debian/build
-
-# install dir for the current flavor; this is only expanded in flavor specific
-# targets
-installdir = $(installbasedir)/$*
-installbasedir = $(CURDIR)/debian/install
-
-# configure flags
-common_configure_flags := \
- --prefix=/usr \
- --mandir=\$${prefix}/share/man \
- --infodir=\$${prefix}/share/info \
- --with-html-dir=\$${prefix}/share/doc/$(DOC_PKG)
-ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
- common_configure_flags += --build=$(DEB_BUILD_GNU_TYPE)
-else
- common_configure_flags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
-endif
-deb_configure_flags := $(common_configure_flags) \
- --enable-static
-udeb_configure_flags := $(common_configure_flags) \
- --disable-selinux
-refdbg_configure_flags := $(common_configure_flags) \
- --disable-visibility \
- --enable-debug=yes
-
-$(STAMP_DIR)/patch-stamp:
- dh_testdir
- # backup the original files to restore them in the clean target
- -test -r config.sub && cp config.sub config.sub.orig
- -test -r config.guess && cp config.guess config.guess.orig
- # apply patches
- QUILT_PATCHES=$(PATCH_DIR) \
- quilt --quiltrc /dev/null push -a || test $$? = 2
- -test -r /usr/share/misc/config.sub && \
- cp -f /usr/share/misc/config.sub config.sub
- -test -r /usr/share/misc/config.guess && \
- cp -f /usr/share/misc/config.guess config.guess
- -mkdir -p $(STAMP_DIR)
- touch $@
-
-patch: $(STAMP_DIR)/patch-stamp
-
-$(STAMP_DIR)/configure-stamp-%: $(STAMP_DIR)/patch-stamp
- dh_testdir
- mkdir -p $(builddir)
- cd $(builddir) && \
- CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
- $(CURDIR)/configure $($*_configure_flags)
- touch $@
- mv /usr/lib/libdl.so /usr/lib/libdl.so.tmp
- ln -sf /lib/libdl.so.2 /usr/lib/libdl.so
-
-configure: $(addprefix $(STAMP_DIR)/configure-stamp-, $(FLAVORS))
-
-$(STAMP_DIR)/build-stamp-%: $(STAMP_DIR)/configure-stamp-%
- dh_testdir
- LD_LIBRARY_PATH=$(builddir)/glib/.libs:$(builddir)/gmodule/.libs:$(builddir)/gobject/.libs:$(builddir)/gthread/.libs:$(LD_LIBRARY_PATH) \
- $(MAKE) -C $(builddir)
- touch $@
-
-build: $(addprefix $(STAMP_DIR)/build-stamp-, $(FLAVORS))
-
-maybe_ignore_check_failure = $(if $(filter ,$(CHECK_SUPPORTED_ARCHES)),-)
-
-$(STAMP_DIR)/check-stamp-%: $(STAMP_DIR)/build-stamp-%
- dh_testdir
-ifeq ($(filter $(DEB_BUILD_ARCH),$(CHECK_SUPPORTED_ARCHES)),$(DEB_BUILD_ARCH))
- # testsuite failures are fatal
- LD_LIBRARY_PATH=$(builddir)/glib/.libs:$(builddir)/gmodule/.libs:$(builddir)/gobject/.libs:$(builddir)/gthread/.libs:$(LD_LIBRARY_PATH) \
- $(MAKE) -k -C $(builddir) check
-else
- # testsuite failures are ignored
- -LD_LIBRARY_PATH=$(builddir)/glib/.libs:$(builddir)/gmodule/.libs:$(builddir)/gobject/.libs:$(builddir)/gthread/.libs:$(LD_LIBRARY_PATH) \
- $(MAKE) -k -C $(builddir) check
-endif
- touch $@
-
-check: $(addprefix $(STAMP_DIR)/check-stamp-, $(CHECK_FLAVORS))
-
-$(STAMP_DIR)/install-stamp-%: $(STAMP_DIR)/build-stamp-%
- mkdir -p $(installdir)
- $(MAKE) -C $(builddir) install DESTDIR=$(installdir)
- touch $@
-
-install: $(addprefix $(STAMP_DIR)/install-stamp-, $(FLAVORS))
-
-debian/control:
- dh_testdir
- sed \
- -e "s#@SONAME@#$(SONAME)#g" \
- -e "s#@APIVER@#$(APIVER)#g" \
- -e "s#@VERSION@#$(VERSION)#g" \
- -e "s#@SHARED_PKG@#$(SHARED_PKG)#g" \
- -e "s#@DATA_PKG@#$(DATA_PKG)#g" \
- -e "s#@DEV_PKG@#$(DEV_PKG)#g" \
- -e "s#@UDEB_PKG@#$(UDEB_PKG)#g" \
- -e "s#@DOC_PKG@#$(DOC_PKG)#g" \
- -e "s#@DEBUG_PKG@#$(DEBUG_PKG)#g" \
- -e "s#@GNOME_TEAM@#$(UPLOADERS)#g" \
- -e "s#@REFDBG_PKG@#$(REFDBG_PKG)#g" \
- $@.in >$@
-
-clean: debian/control
- dh_testdir
- dh_testroot
- # remove install and build dirs
- rm -rf $(installbasedir)
- rm -rf $(buildbasedir)
- # restore files from backup (before unpatching)
- -test -r config.sub.orig && mv -f config.sub.orig config.sub
- -test -r config.guess.orig && mv -f config.guess.orig config.guess
- # unapply patches, if any
- QUILT_PATCHES=$(PATCH_DIR) \
- quilt --quiltrc /dev/null pop -a -R || test $$? = 2
- -rm -rf .pc
- -rm -rf $(STAMP_DIR)
- dh_clean
-
-ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
-maybe_check = $(if $(findstring nocheck,$(DEB_BUILD_OPTIONS)),,check)
-else
-# can't run the testsuite when cross-compiling
-maybe_check =
-endif
-
-maybe_check =
-
-binary-indep: build $(maybe_check) install
- dh_testdir
- dh_testroot
- dh_install -i
- dh_installchangelogs -i -N$(DATA_PKG) ChangeLog
- dh_installdocs -N$(DATA_PKG) -i NEWS README
- dh_link -i
- dh_compress -i -X.sgml -X.devhelp
- dh_fixperms -i
- dh_installdeb -i
- dh_gencontrol -i
- dh_md5sums -i
- dh_builddeb -i
-
-binary-arch: build $(maybe_check) install
- dh_testdir
- dh_testroot
- dh_install -s
- # empty the dependency_libs in the *.la files
- sed -i -e "/dependency_libs/ s/'.*'/''/" debian/$(DEV_PKG)/usr/lib/*.la
- dh_installchangelogs -s -N$(DEV_PKG) -N$(DEBUG_PKG) \
- ChangeLog
- dh_installdocs -s -N$(DEV_PKG) -N$(DEBUG_PKG) NEWS README
- dh_link -s
- dh_strip -s --dbg-package=$(DEBUG_PKG) -N$(UDEB_PKG) -N$(REFDBG_PKG)
- dh_strip -p$(UDEB_PKG)
- dh_compress -s -X.sgml -X.devhelp
- dh_fixperms -s
- dh_makeshlibs -p$(SHARED_PKG) \
- -V "$(SHARED_PKG) (>= $(SHVER))" \
- --add-udeb="$(UDEB_PKG)" -- -c4
- dh_installdeb -s
- # override shlibs for libraries from this source before computing
- # dependencies of packages generated from this source; we already have
- # inter-dependencies expressed manually in the control file, we do not
- # need the shlibs to add duplicates
- sed -nr -e 's/(([^ ]+: )?([^ ]+) ([^ ]+)) .*/\1/p' \
- debian/*/DEBIAN/shlibs \
- >debian/shlibs.local
- dh_shlibdeps -s -ldebian/$(SHARED_PKG)/usr/lib
- -rm -f debian/shlibs.local
- dh_gencontrol -s
- dh_md5sums -s
- dh_builddeb -s
-
-binary: binary-indep binary-arch
-.PHONY: patch configure build check install clean binary-indep binary-arch binary debian/control
+++ /dev/null
-version=2
-http://download.gnome.org/sources/glib/([\d\.]+)[02468]/ \
- glib-(.*)\.tar\.gz \
- debian uupdate
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Migrating from POSIX to GIO</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="index.html" title="GIO Reference Manual">
-<link rel="up" href="migrating.html" title="Part III. Migrating to GIO">
-<link rel="prev" href="migrating.html" title="Part III. Migrating to GIO">
-<link rel="next" href="ch20.html" title="Migrating from GnomeVFS to GIO">
-<meta name="generator" content="GTK-Doc V1.13 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="part" href="pt01.html" title="Part I. GIO Overview">
-<link rel="chapter" href="ch01.html" title="Introduction">
-<link rel="chapter" href="ch02.html" title="Compiling GIO applications">
-<link rel="chapter" href="ch03.html" title="Running GIO applications">
-<link rel="chapter" href="extending-gio.html" title="Extending GIO">
-<link rel="part" href="pt02.html" title="Part II. API Reference">
-<link rel="chapter" href="file_ops.html" title="File Operations">
-<link rel="chapter" href="file_mon.html" title="File System Monitoring">
-<link rel="chapter" href="async.html" title="Asynchronous I/O">
-<link rel="chapter" href="conversion.html" title="Data conversion">
-<link rel="chapter" href="streaming.html" title="Streaming I/O">
-<link rel="chapter" href="types.html" title="File types and applications">
-<link rel="chapter" href="volume_mon.html" title="Volumes and Drives">
-<link rel="chapter" href="icons.html" title="Icons">
-<link rel="chapter" href="failable_initialization.html" title="Failable Initialization">
-<link rel="chapter" href="networking.html" title="Lowlevel platform-independent network support">
-<link rel="chapter" href="resolver.html" title="DNS resolution">
-<link rel="chapter" href="highlevel-socket.html" title="Highlevel network functionallity">
-<link rel="chapter" href="utils.html" title="Utilities">
-<link rel="chapter" href="extending.html" title="Extending GIO">
-<link rel="part" href="migrating.html" title="Part III. Migrating to GIO">
-<link rel="chapter" href="ch19.html" title="Migrating from POSIX to GIO">
-<link rel="chapter" href="ch20.html" title="Migrating from GnomeVFS to GIO">
-<link rel="chapter" href="gio-hierarchy.html" title="Object Hierarchy">
-<link rel="index" href="api-index-full.html" title="Index">
-<link rel="index" href="api-index-deprecated.html" title="Index of deprecated symbols">
-<link rel="index" href="api-index-2-18.html" title="Index of new symbols in 2.18">
-<link rel="index" href="api-index-2-20.html" title="Index of new symbols in 2.20">
-<link rel="index" href="api-index-2-22.html" title="Index of new symbols in 2.22">
-<link rel="index" href="api-index-2-24.html" title="Index of new symbols in 2.24">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="migrating.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="migrating.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GIO Reference Manual</th>
-<td><a accesskey="n" href="ch20.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="chapter" title="Migrating from POSIX to GIO">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="id603796"></a>Migrating from POSIX to GIO</h2></div></div></div>
-<div class="table">
-<a name="posix-vs-gio"></a><p class="title"><b>Table 4. Comparison of POSIX and GIO concepts</b></p>
-<div class="table-contents"><table summary="Comparison of POSIX and GIO concepts" border="1">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>POSIX</th>
-<th>GIO</th>
-</tr></thead>
-<tbody>
-<tr>
-<td>char *path</td>
-<td>GFile *file</td>
-</tr>
-<tr>
-<td>struct stat *buf</td>
-<td>GFileInfo *info</td>
-</tr>
-<tr>
-<td>struct statvfs *buf</td>
-<td>GFileInfo *info</td>
-</tr>
-<tr>
-<td rowspan="2">int fd</td>
-<td>GInputStream *in</td>
-</tr>
-<tr><td>GOutputStream *out</td></tr>
-<tr>
-<td>DIR *</td>
-<td>GFileEnumerator *enum</td>
-</tr>
-<tr>
-<td>fstab entry</td>
-<td>GUnixMountPoint *mount_point</td>
-</tr>
-<tr>
-<td>mtab entry</td>
-<td>GUnixMountEntry *mount_entry</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="footer">
-<hr>
- Generated by GTK-Doc V1.13</div>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Migrating from GnomeVFS to GIO</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="index.html" title="GIO Reference Manual">
-<link rel="up" href="migrating.html" title="Part III. Migrating to GIO">
-<link rel="prev" href="ch19.html" title="Migrating from POSIX to GIO">
-<link rel="next" href="ch20s02.html" title="Operations on multiple files">
-<meta name="generator" content="GTK-Doc V1.13 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="part" href="pt01.html" title="Part I. GIO Overview">
-<link rel="chapter" href="ch01.html" title="Introduction">
-<link rel="chapter" href="ch02.html" title="Compiling GIO applications">
-<link rel="chapter" href="ch03.html" title="Running GIO applications">
-<link rel="chapter" href="extending-gio.html" title="Extending GIO">
-<link rel="part" href="pt02.html" title="Part II. API Reference">
-<link rel="chapter" href="file_ops.html" title="File Operations">
-<link rel="chapter" href="file_mon.html" title="File System Monitoring">
-<link rel="chapter" href="async.html" title="Asynchronous I/O">
-<link rel="chapter" href="conversion.html" title="Data conversion">
-<link rel="chapter" href="streaming.html" title="Streaming I/O">
-<link rel="chapter" href="types.html" title="File types and applications">
-<link rel="chapter" href="volume_mon.html" title="Volumes and Drives">
-<link rel="chapter" href="icons.html" title="Icons">
-<link rel="chapter" href="failable_initialization.html" title="Failable Initialization">
-<link rel="chapter" href="networking.html" title="Lowlevel platform-independent network support">
-<link rel="chapter" href="resolver.html" title="DNS resolution">
-<link rel="chapter" href="highlevel-socket.html" title="Highlevel network functionallity">
-<link rel="chapter" href="utils.html" title="Utilities">
-<link rel="chapter" href="extending.html" title="Extending GIO">
-<link rel="part" href="migrating.html" title="Part III. Migrating to GIO">
-<link rel="chapter" href="ch19.html" title="Migrating from POSIX to GIO">
-<link rel="chapter" href="ch20.html" title="Migrating from GnomeVFS to GIO">
-<link rel="chapter" href="gio-hierarchy.html" title="Object Hierarchy">
-<link rel="index" href="api-index-full.html" title="Index">
-<link rel="index" href="api-index-deprecated.html" title="Index of deprecated symbols">
-<link rel="index" href="api-index-2-18.html" title="Index of new symbols in 2.18">
-<link rel="index" href="api-index-2-20.html" title="Index of new symbols in 2.20">
-<link rel="index" href="api-index-2-22.html" title="Index of new symbols in 2.22">
-<link rel="index" href="api-index-2-24.html" title="Index of new symbols in 2.24">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="ch19.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="migrating.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GIO Reference Manual</th>
-<td><a accesskey="n" href="ch20s02.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="chapter" title="Migrating from GnomeVFS to GIO">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="id554953"></a>Migrating from GnomeVFS to GIO</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="ch20.html#id559976">Trash handling</a></span></dt>
-<dt><span class="section"><a href="ch20s02.html">Operations on multiple files</a></span></dt>
-<dt><span class="section"><a href="ch20s03.html">Mime monitoring</a></span></dt>
-</dl></div>
-<div class="table">
-<a name="gnome-vfs-vs-gio"></a><p class="title"><b>Table 5. Comparison of GnomeVFS and GIO concepts</b></p>
-<div class="table-contents"><table summary="Comparison of GnomeVFS and GIO concepts" border="1">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>GnomeVFS</th>
-<th>GIO</th>
-</tr></thead>
-<tbody>
-<tr>
-<td>GnomeVFSURI</td>
-<td>GFile</td>
-</tr>
-<tr>
-<td>GnomeVFSFileInfo</td>
-<td>GFileInfo</td>
-</tr>
-<tr>
-<td>GnomeVFSResult</td>
-<td>GError, with G_IO_ERROR values</td>
-</tr>
-<tr>
-<td>GnomeVFSHandle & GnomeVFSAsyncHandle</td>
-<td>GInputStream or GOutputStream</td>
-</tr>
-<tr>
-<td>GnomeVFSDirectoryHandle</td>
-<td>GFileEnumerator</td>
-</tr>
-<tr>
-<td>mime type</td>
-<td>content type</td>
-</tr>
-<tr>
-<td>GnomeVFSMonitor</td>
-<td>GFileMonitor</td>
-</tr>
-<tr>
-<td>GnomeVFSVolumeMonitor</td>
-<td>GVolumeMonitor</td>
-</tr>
-<tr>
-<td>GnomeVFSVolume</td>
-<td>GMount</td>
-</tr>
-<tr>
-<td>GnomeVFSDrive</td>
-<td>GVolume</td>
-</tr>
-<tr>
-<td>-</td>
-<td>GDrive</td>
-</tr>
-<tr>
-<td>GnomeVFSContext</td>
-<td>GCancellable</td>
-</tr>
-<tr>
-<td>gnome_vfs_async_cancel</td>
-<td>g_cancellable_cancel</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break"><div class="section" title="Trash handling">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id559976"></a>Trash handling</h2></div></div></div>
-<p>
- The handling of trashed files has been changed in GIO, compared
- to gnome-vfs. gnome-vfs has a home-grown trash implementation that
- predates the freedesktop.org <a class="ulink" href="http://www.freedesktop.org/wiki/Specifications/trash-spec" target="_top">Desktop Trash Can</a> specification
- that is implemented in GIO. The location for storing trashed files
- has changed from <code class="filename">$HOME/.Trash</code> to
- <code class="filename">$HOME/.local/share/Trash</code> (or more correctly
- <code class="filename">$XDG_DATA_HOME/Trash</code>), which means that
- there is a need for migrating files that have been trashed by
- gnome-vfs to the new location.
- </p>
-<p>
- In gnome-vfs, the <code class="filename">trash://</code> scheme offering a
- merged view of all trash directories was implemented in nautilus,
- and trash-handling applications had to find and monitor all trash
- directories themselves. With GIO, the <code class="filename">trash://</code>
- implementation has been moved to gvfs and applications can simply
- monitor that location:
- </p>
-<div class="informalexample"><pre class="programlisting">
-static void
-file_changed (GFileMonitor *file_monitor,
- GFile *child,
- GFile *other_file,
- GFileMonitorEvent event_type,
- gpointer user_data)
-{
- switch (event_type)
- {
- case G_FILE_MONITOR_EVENT_DELETED:
- g_print ("'%s' removed from trash\n", g_file_get_basename (child));
- break;
- case G_FILE_MONITOR_EVENT_CREATED:
- g_print ("'%s' added to trash\n", g_file_get_basename (child));
- break;
- default: ;
- }
-}
-
-static void
-start_monitoring_trash (void)
-{
- GFile *file;
- GFileMonitor *monitor;
-
- file = g_file_new_for_uri ("trash://");
- monitor = g_file_monitor_directory (file, 0, NULL, NULL);
- g_object_unref (file);
-
- g_signal_connect (monitor, "changed", G_CALLBACK (file_changed), NULL);
-
- /* ... */
-
-}
-</pre></div>
-<p>
- GIO exposes some useful metadata about trashed files. There are
- trash::orig-path and trash::deletion-date attributes. The
- standard::icon attribute of the <code class="filename">trash://</code>
- itself provides a suitable icon for displaying the trash can on
- the desktop. If you are using this icon, make sure to monitor
- this attribute for changes, since the icon may be updated to
- reflect that state of the trash can.
- </p>
-<p>
- Moving a file to the trash is much simpler with GIO. Instead of
- using <a href="/usr/share/gtk-doc/html/gnome-vfs-2.0/gnome-vfs-2.0-gnome-vfs-directory-find-ops.html#gnome-vfs-find-directory"><code class="function">gnome_vfs_find_directory()</code></a> with <code class="literal">GNOME_VFS_DIRECTORY_KIND_TRASH</code>
- to find out where to move the trashed file, just use the <a class="link" href="GFile.html#g-file-trash" title="g_file_trash ()"><code class="function">g_file_trash()</code></a>
- function.
- </p>
-</div>
-</div>
-<div class="footer">
-<hr>
- Generated by GTK-Doc V1.13</div>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Operations on multiple files</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="index.html" title="GIO Reference Manual">
-<link rel="up" href="ch20.html" title="Migrating from GnomeVFS to GIO">
-<link rel="prev" href="ch20.html" title="Migrating from GnomeVFS to GIO">
-<link rel="next" href="ch20s03.html" title="Mime monitoring">
-<meta name="generator" content="GTK-Doc V1.13 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="part" href="pt01.html" title="Part I. GIO Overview">
-<link rel="chapter" href="ch01.html" title="Introduction">
-<link rel="chapter" href="ch02.html" title="Compiling GIO applications">
-<link rel="chapter" href="ch03.html" title="Running GIO applications">
-<link rel="chapter" href="extending-gio.html" title="Extending GIO">
-<link rel="part" href="pt02.html" title="Part II. API Reference">
-<link rel="chapter" href="file_ops.html" title="File Operations">
-<link rel="chapter" href="file_mon.html" title="File System Monitoring">
-<link rel="chapter" href="async.html" title="Asynchronous I/O">
-<link rel="chapter" href="conversion.html" title="Data conversion">
-<link rel="chapter" href="streaming.html" title="Streaming I/O">
-<link rel="chapter" href="types.html" title="File types and applications">
-<link rel="chapter" href="volume_mon.html" title="Volumes and Drives">
-<link rel="chapter" href="icons.html" title="Icons">
-<link rel="chapter" href="failable_initialization.html" title="Failable Initialization">
-<link rel="chapter" href="networking.html" title="Lowlevel platform-independent network support">
-<link rel="chapter" href="resolver.html" title="DNS resolution">
-<link rel="chapter" href="highlevel-socket.html" title="Highlevel network functionallity">
-<link rel="chapter" href="utils.html" title="Utilities">
-<link rel="chapter" href="extending.html" title="Extending GIO">
-<link rel="part" href="migrating.html" title="Part III. Migrating to GIO">
-<link rel="chapter" href="ch19.html" title="Migrating from POSIX to GIO">
-<link rel="chapter" href="ch20.html" title="Migrating from GnomeVFS to GIO">
-<link rel="chapter" href="gio-hierarchy.html" title="Object Hierarchy">
-<link rel="index" href="api-index-full.html" title="Index">
-<link rel="index" href="api-index-deprecated.html" title="Index of deprecated symbols">
-<link rel="index" href="api-index-2-18.html" title="Index of new symbols in 2.18">
-<link rel="index" href="api-index-2-20.html" title="Index of new symbols in 2.20">
-<link rel="index" href="api-index-2-22.html" title="Index of new symbols in 2.22">
-<link rel="index" href="api-index-2-24.html" title="Index of new symbols in 2.24">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="ch20.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch20.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GIO Reference Manual</th>
-<td><a accesskey="n" href="ch20s03.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="section" title="Operations on multiple files">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id756406"></a>Operations on multiple files</h2></div></div></div>
-<p>
- gnome-vfs has the dreaded <a href="/usr/share/gtk-doc/html/gnome-vfs-2.0/gnome-vfs-2.0-gnome-vfs-xfer.html#gnome-vfs-xfer-uri-list"><code class="function">gnome_vfs_xfer_uri_list()</code></a> function which
- has tons of options and offers the equivalent of cp, mv, ln, mkdir
- and rm at the same time.
- </p>
-<p>
- GIO offers a much simpler I/O scheduler functionality instead, that
- lets you schedule a function to be called in a separate thread, or
- if threads are not available, as an idle in the mainloop.
- See <a class="link" href="gio-GIOScheduler.html#g-io-scheduler-push-job" title="g_io_scheduler_push_job ()"><code class="function">g_io_scheduler_push_job()</code></a>.
- </p>
-</div>
-<div class="footer">
-<hr>
- Generated by GTK-Doc V1.13</div>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Mime monitoring</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="index.html" title="GIO Reference Manual">
-<link rel="up" href="ch20.html" title="Migrating from GnomeVFS to GIO">
-<link rel="prev" href="ch20s02.html" title="Operations on multiple files">
-<link rel="next" href="gio-hierarchy.html" title="Object Hierarchy">
-<meta name="generator" content="GTK-Doc V1.13 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="part" href="pt01.html" title="Part I. GIO Overview">
-<link rel="chapter" href="ch01.html" title="Introduction">
-<link rel="chapter" href="ch02.html" title="Compiling GIO applications">
-<link rel="chapter" href="ch03.html" title="Running GIO applications">
-<link rel="chapter" href="extending-gio.html" title="Extending GIO">
-<link rel="part" href="pt02.html" title="Part II. API Reference">
-<link rel="chapter" href="file_ops.html" title="File Operations">
-<link rel="chapter" href="file_mon.html" title="File System Monitoring">
-<link rel="chapter" href="async.html" title="Asynchronous I/O">
-<link rel="chapter" href="conversion.html" title="Data conversion">
-<link rel="chapter" href="streaming.html" title="Streaming I/O">
-<link rel="chapter" href="types.html" title="File types and applications">
-<link rel="chapter" href="volume_mon.html" title="Volumes and Drives">
-<link rel="chapter" href="icons.html" title="Icons">
-<link rel="chapter" href="failable_initialization.html" title="Failable Initialization">
-<link rel="chapter" href="networking.html" title="Lowlevel platform-independent network support">
-<link rel="chapter" href="resolver.html" title="DNS resolution">
-<link rel="chapter" href="highlevel-socket.html" title="Highlevel network functionallity">
-<link rel="chapter" href="utils.html" title="Utilities">
-<link rel="chapter" href="extending.html" title="Extending GIO">
-<link rel="part" href="migrating.html" title="Part III. Migrating to GIO">
-<link rel="chapter" href="ch19.html" title="Migrating from POSIX to GIO">
-<link rel="chapter" href="ch20.html" title="Migrating from GnomeVFS to GIO">
-<link rel="chapter" href="gio-hierarchy.html" title="Object Hierarchy">
-<link rel="index" href="api-index-full.html" title="Index">
-<link rel="index" href="api-index-deprecated.html" title="Index of deprecated symbols">
-<link rel="index" href="api-index-2-18.html" title="Index of new symbols in 2.18">
-<link rel="index" href="api-index-2-20.html" title="Index of new symbols in 2.20">
-<link rel="index" href="api-index-2-22.html" title="Index of new symbols in 2.22">
-<link rel="index" href="api-index-2-24.html" title="Index of new symbols in 2.24">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="ch20s02.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="ch20.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GIO Reference Manual</th>
-<td><a accesskey="n" href="gio-hierarchy.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="section" title="Mime monitoring">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id568779"></a>Mime monitoring</h2></div></div></div>
-<p>
- gnome-vfs offered a way to monitor the association between mime types
- and default handlers for changes, with the <a href="/usr/share/gtk-doc/html/gnome-vfs-2.0/gnome-vfs-2.0-gnome-vfs-mime-monitor.html#GnomeVFSMIMEMonitor"><span class="type">GnomeVFSMIMEMonitor</span></a> object.
- GIO does not offer a replacement for this functionality at this time,
- since we have not found a compelling use case where
- <a href="/usr/share/gtk-doc/html/gnome-vfs-2.0/gnome-vfs-2.0-gnome-vfs-mime-monitor.html#GnomeVFSMIMEMonitor"><span class="type">GnomeVFSMIMEMonitor</span></a> was used. If you think you have such a use
- case, please report it at
- <a class="ulink" href="http://bugzilla.gnome.org" target="_top">bugzilla.gnome.org</a>.
- </p>
-</div>
-<div class="footer">
-<hr>
- Generated by GTK-Doc V1.13</div>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>GSrvTarget</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="index.html" title="GIO Reference Manual">
-<link rel="up" href="resolver.html" title="DNS resolution">
-<link rel="prev" href="GNetworkService.html" title="GNetworkService">
-<link rel="next" href="highlevel-socket.html" title="Highlevel network functionallity">
-<meta name="generator" content="GTK-Doc V1.13 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="part" href="pt01.html" title="Part I. GIO Overview">
-<link rel="chapter" href="ch01.html" title="Introduction">
-<link rel="chapter" href="ch02.html" title="Compiling GIO applications">
-<link rel="chapter" href="ch03.html" title="Running GIO applications">
-<link rel="chapter" href="extending-gio.html" title="Extending GIO">
-<link rel="part" href="pt02.html" title="Part II. API Reference">
-<link rel="chapter" href="file_ops.html" title="File Operations">
-<link rel="chapter" href="file_mon.html" title="File System Monitoring">
-<link rel="chapter" href="async.html" title="Asynchronous I/O">
-<link rel="chapter" href="conversion.html" title="Data conversion">
-<link rel="chapter" href="streaming.html" title="Streaming I/O">
-<link rel="chapter" href="types.html" title="File types and applications">
-<link rel="chapter" href="volume_mon.html" title="Volumes and Drives">
-<link rel="chapter" href="icons.html" title="Icons">
-<link rel="chapter" href="failable_initialization.html" title="Failable Initialization">
-<link rel="chapter" href="networking.html" title="Lowlevel platform-independent network support">
-<link rel="chapter" href="resolver.html" title="DNS resolution">
-<link rel="chapter" href="highlevel-socket.html" title="Highlevel network functionallity">
-<link rel="chapter" href="utils.html" title="Utilities">
-<link rel="chapter" href="extending.html" title="Extending GIO">
-<link rel="part" href="migrating.html" title="Part III. Migrating to GIO">
-<link rel="chapter" href="ch19.html" title="Migrating from POSIX to GIO">
-<link rel="chapter" href="ch20.html" title="Migrating from GnomeVFS to GIO">
-<link rel="chapter" href="gio-hierarchy.html" title="Object Hierarchy">
-<link rel="index" href="api-index-full.html" title="Index">
-<link rel="index" href="api-index-deprecated.html" title="Index of deprecated symbols">
-<link rel="index" href="api-index-2-18.html" title="Index of new symbols in 2.18">
-<link rel="index" href="api-index-2-20.html" title="Index of new symbols in 2.20">
-<link rel="index" href="api-index-2-22.html" title="Index of new symbols in 2.22">
-<link rel="index" href="api-index-2-24.html" title="Index of new symbols in 2.24">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="GNetworkService.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="resolver.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GIO Reference Manual</th>
-<td><a accesskey="n" href="highlevel-socket.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#gio-GSrvTarget.synopsis" class="shortcut">Top</a>
- |
- <a href="#gio-GSrvTarget.description" class="shortcut">Description</a>
-</td></tr>
-</table>
-<div class="refentry" title="GSrvTarget">
-<a name="gio-GSrvTarget"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="gio-GSrvTarget.top_of_page"></a>GSrvTarget</span></h2>
-<p>GSrvTarget — DNS SRV record target</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsynopsisdiv" title="Synopsis">
-<a name="gio-GSrvTarget.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include <gio/gio.h>
-
- <a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget">GSrvTarget</a>;
-<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> * <a class="link" href="gio-GSrvTarget.html#g-srv-target-new" title="g_srv_target_new ()">g_srv_target_new</a> (const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *hostname,
- <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> port,
- <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> priority,
- <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> weight);
-<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> * <a class="link" href="gio-GSrvTarget.html#g-srv-target-copy" title="g_srv_target_copy ()">g_srv_target_copy</a> (<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> *target);
-<span class="returnvalue">void</span> <a class="link" href="gio-GSrvTarget.html#g-srv-target-free" title="g_srv_target_free ()">g_srv_target_free</a> (<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> *target);
-const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="gio-GSrvTarget.html#g-srv-target-get-hostname" title="g_srv_target_get_hostname ()">g_srv_target_get_hostname</a> (<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> *target);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> <a class="link" href="gio-GSrvTarget.html#g-srv-target-get-port" title="g_srv_target_get_port ()">g_srv_target_get_port</a> (<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> *target);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> <a class="link" href="gio-GSrvTarget.html#g-srv-target-get-priority" title="g_srv_target_get_priority ()">g_srv_target_get_priority</a> (<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> *target);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> <a class="link" href="gio-GSrvTarget.html#g-srv-target-get-weight" title="g_srv_target_get_weight ()">g_srv_target_get_weight</a> (<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> *target);
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="gio-GSrvTarget.html#g-srv-target-list-sort" title="g_srv_target_list_sort ()">g_srv_target_list_sort</a> (<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *targets);
-</pre>
-</div>
-<div class="refsect1" title="Description">
-<a name="gio-GSrvTarget.description"></a><h2>Description</h2>
-<p>
-SRV (service) records are used by some network protocols to provide
-service-specific aliasing and load-balancing. For example, XMPP
-(Jabber) uses SRV records to locate the XMPP server for a domain;
-rather than connecting directly to "example.com" or assuming a
-specific server hostname like "xmpp.example.com", an XMPP client
-would look up the "xmpp-client" SRV record for "example.com", and
-then connect to whatever host was pointed to by that record.
-</p>
-<p>
-You can use <a class="link" href="GResolver.html#g-resolver-lookup-service" title="g_resolver_lookup_service ()"><code class="function">g_resolver_lookup_service()</code></a> or
-<a class="link" href="GResolver.html#g-resolver-lookup-service-async" title="g_resolver_lookup_service_async ()"><code class="function">g_resolver_lookup_service_async()</code></a> to find the <a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="type">GSrvTarget</span></a>s
-for a given service. However, if you are simply planning to connect
-to the remote service, you can use <a class="link" href="GNetworkService.html" title="GNetworkService"><span class="type">GNetworkService</span></a>'s
-<a class="link" href="GSocketConnectable.html" title="GSocketConnectable"><span class="type">GSocketConnectable</span></a> interface and not need to worry about
-<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="type">GSrvTarget</span></a> at all.</p>
-</div>
-<div class="refsect1" title="Details">
-<a name="gio-GSrvTarget.details"></a><h2>Details</h2>
-<div class="refsect2" title="GSrvTarget">
-<a name="GSrvTarget"></a><h3>GSrvTarget</h3>
-<pre class="programlisting">typedef struct _GSrvTarget GSrvTarget;</pre>
-<p>
-A single target host/port that a network service is running on.</p>
-</div>
-<hr>
-<div class="refsect2" title="g_srv_target_new ()">
-<a name="g-srv-target-new"></a><h3>g_srv_target_new ()</h3>
-<pre class="programlisting"><a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> * g_srv_target_new (const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *hostname,
- <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> port,
- <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> priority,
- <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> weight);</pre>
-<p>
-Creates a new <a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="type">GSrvTarget</span></a> with the given parameters.
-</p>
-<p>
-You should not need to use this; normally <a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="type">GSrvTarget</span></a>s are
-created by <a class="link" href="GResolver.html" title="GResolver"><span class="type">GResolver</span></a>.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>hostname</code></em> :</span></p></td>
-<td> the host that the service is running on
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>port</code></em> :</span></p></td>
-<td> the port that the service is running on
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>priority</code></em> :</span></p></td>
-<td> the target's priority
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>weight</code></em> :</span></p></td>
-<td> the target's weight
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> a new <a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="type">GSrvTarget</span></a>.
-
-</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 2.22</p>
-</div>
-<hr>
-<div class="refsect2" title="g_srv_target_copy ()">
-<a name="g-srv-target-copy"></a><h3>g_srv_target_copy ()</h3>
-<pre class="programlisting"><a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> * g_srv_target_copy (<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> *target);</pre>
-<p>
-Copies <em class="parameter"><code>target</code></em></p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>target</code></em> :</span></p></td>
-<td> a <a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="type">GSrvTarget</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> a copy of <em class="parameter"><code>target</code></em>
-
-</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 2.22</p>
-</div>
-<hr>
-<div class="refsect2" title="g_srv_target_free ()">
-<a name="g-srv-target-free"></a><h3>g_srv_target_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_srv_target_free (<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> *target);</pre>
-<p>
-Frees <em class="parameter"><code>target</code></em></p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>target</code></em> :</span></p></td>
-<td> a <a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="type">GSrvTarget</span></a>
-</td>
-</tr></tbody>
-</table></div>
-<p class="since">Since 2.22</p>
-</div>
-<hr>
-<div class="refsect2" title="g_srv_target_get_hostname ()">
-<a name="g-srv-target-get-hostname"></a><h3>g_srv_target_get_hostname ()</h3>
-<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * g_srv_target_get_hostname (<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> *target);</pre>
-<p>
-Gets <em class="parameter"><code>target</code></em>'s hostname (in ASCII form; if you are going to present
-this to the user, you should use <a href="http://library.gnome.org/devel/glib/unstable/glib-Hostname-Utilities.html#g-hostname-is-ascii-encoded"><code class="function">g_hostname_is_ascii_encoded()</code></a> to
-check if it contains encoded Unicode segments, and use
-<a href="http://library.gnome.org/devel/glib/unstable/glib-Hostname-Utilities.html#g-hostname-to-unicode"><code class="function">g_hostname_to_unicode()</code></a> to convert it if it does.)</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>target</code></em> :</span></p></td>
-<td> a <a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="type">GSrvTarget</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> <em class="parameter"><code>target</code></em>'s hostname
-
-</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 2.22</p>
-</div>
-<hr>
-<div class="refsect2" title="g_srv_target_get_port ()">
-<a name="g-srv-target-get-port"></a><h3>g_srv_target_get_port ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> g_srv_target_get_port (<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> *target);</pre>
-<p>
-Gets <em class="parameter"><code>target</code></em>'s port</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>target</code></em> :</span></p></td>
-<td> a <a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="type">GSrvTarget</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> <em class="parameter"><code>target</code></em>'s port
-
-</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 2.22</p>
-</div>
-<hr>
-<div class="refsect2" title="g_srv_target_get_priority ()">
-<a name="g-srv-target-get-priority"></a><h3>g_srv_target_get_priority ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> g_srv_target_get_priority (<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> *target);</pre>
-<p>
-Gets <em class="parameter"><code>target</code></em>'s priority. You should not need to look at this;
-<a class="link" href="GResolver.html" title="GResolver"><span class="type">GResolver</span></a> already sorts the targets according to the algorithm in
-RFC 2782.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>target</code></em> :</span></p></td>
-<td> a <a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="type">GSrvTarget</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> <em class="parameter"><code>target</code></em>'s priority
-
-</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 2.22</p>
-</div>
-<hr>
-<div class="refsect2" title="g_srv_target_get_weight ()">
-<a name="g-srv-target-get-weight"></a><h3>g_srv_target_get_weight ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a> g_srv_target_get_weight (<a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="returnvalue">GSrvTarget</span></a> *target);</pre>
-<p>
-Gets <em class="parameter"><code>target</code></em>'s weight. You should not need to look at this;
-<a class="link" href="GResolver.html" title="GResolver"><span class="type">GResolver</span></a> already sorts the targets according to the algorithm in
-RFC 2782.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>target</code></em> :</span></p></td>
-<td> a <a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="type">GSrvTarget</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> <em class="parameter"><code>target</code></em>'s weight
-
-</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 2.22</p>
-</div>
-<hr>
-<div class="refsect2" title="g_srv_target_list_sort ()">
-<a name="g-srv-target-list-sort"></a><h3>g_srv_target_list_sort ()</h3>
-<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * g_srv_target_list_sort (<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *targets);</pre>
-<p>
-Sorts <em class="parameter"><code>targets</code></em> in place according to the algorithm in RFC 2782.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>targets</code></em> :</span></p></td>
-<td> a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="gio-GSrvTarget.html#GSrvTarget" title="GSrvTarget"><span class="type">GSrvTarget</span></a>
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> the head of the sorted list.
-
-</td>
-</tr>
-</tbody>
-</table></div>
-<p class="since">Since 2.22</p>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>
- Generated by GTK-Doc V1.13</div>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
-<book xmlns="http://www.devhelp.net/book" title="GIO Reference Manual" link="index.html" author="" name="gio">
- <chapters>
- <sub name="GIO Overview" link="pt01.html">
- <sub name="Introduction" link="ch01.html"/>
- <sub name="Compiling GIO applications" link="ch02.html"/>
- <sub name="Running GIO applications" link="ch03.html"/>
- <sub name="Extending GIO" link="extending-gio.html"/>
- </sub>
- <sub name="API Reference" link="pt02.html">
- <sub name="File Operations" link="file_ops.html">
- <sub name="GFile" link="GFile.html"/>
- <sub name="GFileAttribute" link="gio-GFileAttribute.html"/>
- <sub name="GFileInfo" link="GFileInfo.html"/>
- <sub name="GFileEnumerator" link="GFileEnumerator.html"/>
- <sub name="GIOError" link="gio-GIOError.html"/>
- <sub name="GMountOperation" link="GMountOperation.html"/>
- </sub>
- <sub name="File System Monitoring" link="file_mon.html">
- <sub name="GFileMonitor" link="GFileMonitor.html"/>
- </sub>
- <sub name="Asynchronous I/O" link="async.html">
- <sub name="GCancellable" link="GCancellable.html"/>
- <sub name="GAsyncResult" link="GAsyncResult.html"/>
- <sub name="GIOScheduler" link="gio-GIOScheduler.html"/>
- <sub name="GSimpleAsyncResult" link="GSimpleAsyncResult.html"/>
- </sub>
- <sub name="Data conversion" link="conversion.html">
- <sub name="GConverter" link="GConverter.html"/>
- <sub name="GCharsetConverter" link="GCharsetConverter.html"/>
- <sub name="GZlibCompressor" link="GZlibCompressor.html"/>
- <sub name="GZlibDecompressor" link="GZlibDecompressor.html"/>
- </sub>
- <sub name="Streaming I/O" link="streaming.html">
- <sub name="GSeekable" link="GSeekable.html"/>
- <sub name="GInputStream" link="GInputStream.html"/>
- <sub name="GOutputStream" link="GOutputStream.html"/>
- <sub name="GIOStream" link="GIOStream.html"/>
- <sub name="GFileInputStream" link="GFileInputStream.html"/>
- <sub name="GFileOutputStream" link="GFileOutputStream.html"/>
- <sub name="GFileIOStream" link="GFileIOStream.html"/>
- <sub name="GFileDescriptorBased" link="GFileDescriptorBased.html"/>
- <sub name="GFilterInputStream" link="GFilterInputStream.html"/>
- <sub name="GFilterOutputStream" link="GFilterOutputStream.html"/>
- <sub name="GMemoryInputStream" link="GMemoryInputStream.html"/>
- <sub name="GMemoryOutputStream" link="GMemoryOutputStream.html"/>
- <sub name="GBufferedInputStream" link="GBufferedInputStream.html"/>
- <sub name="GBufferedOutputStream" link="GBufferedOutputStream.html"/>
- <sub name="GDataInputStream" link="GDataInputStream.html"/>
- <sub name="GDataOutputStream" link="GDataOutputStream.html"/>
- <sub name="GUnixInputStream" link="GUnixInputStream.html"/>
- <sub name="GUnixOutputStream" link="GUnixOutputStream.html"/>
- <sub name="GConverterInputstream" link="gio-GConverterInputstream.html"/>
- <sub name="GConverterOutputstream" link="gio-GConverterOutputstream.html"/>
- </sub>
- <sub name="File types and applications" link="types.html">
- <sub name="GContentType" link="gio-GContentType.html"/>
- <sub name="GAppInfo" link="GAppInfo.html"/>
- <sub name="Desktop file based GAppInfo" link="gio-Desktop-file-based-GAppInfo.html"/>
- </sub>
- <sub name="Volumes and Drives" link="volume_mon.html">
- <sub name="GVolumeMonitor" link="GVolumeMonitor.html"/>
- <sub name="GVolume" link="GVolume.html"/>
- <sub name="GMount" link="GMount.html"/>
- <sub name="GDrive" link="GDrive.html"/>
- <sub name="Unix Mounts" link="gio-Unix-Mounts.html"/>
- </sub>
- <sub name="Icons" link="icons.html">
- <sub name="GIcon" link="GIcon.html"/>
- <sub name="GFileIcon" link="GFileIcon.html"/>
- <sub name="GLoadableIcon" link="GLoadableIcon.html"/>
- <sub name="GThemedIcon" link="GThemedIcon.html"/>
- <sub name="GEmblemedIcon" link="GEmblemedIcon.html"/>
- <sub name="GEmblem" link="GEmblem.html"/>
- </sub>
- <sub name="Failable Initialization" link="failable_initialization.html">
- <sub name="GInitable" link="GInitable.html"/>
- <sub name="GAsyncInitable" link="GAsyncInitable.html"/>
- </sub>
- <sub name="Lowlevel platform-independent network support" link="networking.html">
- <sub name="GSocket" link="GSocket.html"/>
- <sub name="GInetAddress" link="GInetAddress.html"/>
- <sub name="GSocketAddress" link="GSocketAddress.html"/>
- <sub name="GInetSocketAddress" link="GInetSocketAddress.html"/>
- <sub name="GUnixSocketAddress" link="GUnixSocketAddress.html"/>
- <sub name="GSocketControlMessage" link="GSocketControlMessage.html"/>
- <sub name="GUnixFDList" link="GUnixFDList.html"/>
- <sub name="GUnixFDMessage" link="GUnixFDMessage.html"/>
- </sub>
- <sub name="DNS resolution" link="resolver.html">
- <sub name="GResolver" link="GResolver.html"/>
- <sub name="GSocketConnectable" link="GSocketConnectable.html"/>
- <sub name="GNetworkAddress" link="GNetworkAddress.html"/>
- <sub name="GNetworkService" link="GNetworkService.html"/>
- <sub name="GSrvTarget" link="gio-GSrvTarget.html"/>
- </sub>
- <sub name="Highlevel network functionallity" link="highlevel-socket.html">
- <sub name="GSocketClient" link="GSocketClient.html"/>
- <sub name="GSocketConnection" link="GSocketConnection.html"/>
- <sub name="GSocketListener" link="GSocketListener.html"/>
- <sub name="GSocketService" link="GSocketService.html"/>
- <sub name="GThreadedSocketService" link="GThreadedSocketService.html"/>
- </sub>
- <sub name="Utilities" link="utils.html">
- <sub name="GFilenameCompleter" link="GFilenameCompleter.html"/>
- </sub>
- <sub name="Extending GIO" link="extending.html">
- <sub name="GVfs" link="GVfs.html"/>
- <sub name="GIOModule" link="GIOModule.html"/>
- <sub name="Extension Points" link="gio-Extension-Points.html"/>
- </sub>
- </sub>
- <sub name="Migrating to GIO" link="migrating.html">
- <sub name="Migrating from POSIX to GIO" link="ch19.html"/>
- <sub name="Migrating from GnomeVFS to GIO" link="ch20.html">
- <sub name="Trash handling" link="ch20.html#id559976"/>
- <sub name="Operations on multiple files" link="ch20s02.html"/>
- <sub name="Mime monitoring" link="ch20s03.html"/>
- </sub>
- </sub>
- <sub name="Object Hierarchy" link="gio-hierarchy.html"/>
- <sub name="Index" link="api-index-full.html"/>
- <sub name="Index of deprecated symbols" link="api-index-deprecated.html"/>
- <sub name="Index of new symbols in 2.18" link="api-index-2-18.html"/>
- <sub name="Index of new symbols in 2.20" link="api-index-2-20.html"/>
- <sub name="Index of new symbols in 2.22" link="api-index-2-22.html"/>
- <sub name="Index of new symbols in 2.24" link="api-index-2-24.html"/>
- </chapters>
- <functions>
- <function name="GFile" link="GFile.html#GFile-struct"/>
- <function name="GFileIface" link="GFile.html#GFileIface"/>
- <function name="enum GFileQueryInfoFlags" link="GFile.html#GFileQueryInfoFlags"/>
- <function name="enum GFileCreateFlags" link="GFile.html#GFileCreateFlags"/>
- <function name="enum GFileCopyFlags" link="GFile.html#GFileCopyFlags"/>
- <function name="enum GFileMonitorFlags" link="GFile.html#GFileMonitorFlags"/>
- <function name="enum GFilesystemPreviewType" link="GFile.html#GFilesystemPreviewType"/>
- <function name="GFileProgressCallback ()" link="GFile.html#GFileProgressCallback"/>
- <function name="GFileReadMoreCallback ()" link="GFile.html#GFileReadMoreCallback"/>
- <function name="g_file_new_for_path ()" link="GFile.html#g-file-new-for-path"/>
- <function name="g_file_new_for_uri ()" link="GFile.html#g-file-new-for-uri"/>
- <function name="g_file_new_for_commandline_arg ()" link="GFile.html#g-file-new-for-commandline-arg"/>
- <function name="g_file_parse_name ()" link="GFile.html#g-file-parse-name"/>
- <function name="g_file_dup ()" link="GFile.html#g-file-dup"/>
- <function name="g_file_hash ()" link="GFile.html#g-file-hash"/>
- <function name="g_file_equal ()" link="GFile.html#g-file-equal"/>
- <function name="g_file_get_basename ()" link="GFile.html#g-file-get-basename"/>
- <function name="g_file_get_path ()" link="GFile.html#g-file-get-path"/>
- <function name="g_file_get_uri ()" link="GFile.html#g-file-get-uri"/>
- <function name="g_file_get_parse_name ()" link="GFile.html#g-file-get-parse-name"/>
- <function name="g_file_get_parent ()" link="GFile.html#g-file-get-parent"/>
- <function name="g_file_has_parent ()" link="GFile.html#g-file-has-parent"/>
- <function name="g_file_get_child ()" link="GFile.html#g-file-get-child"/>
- <function name="g_file_get_child_for_display_name ()" link="GFile.html#g-file-get-child-for-display-name"/>
- <function name="g_file_has_prefix ()" link="GFile.html#g-file-has-prefix"/>
- <function name="g_file_get_relative_path ()" link="GFile.html#g-file-get-relative-path"/>
- <function name="g_file_resolve_relative_path ()" link="GFile.html#g-file-resolve-relative-path"/>
- <function name="g_file_is_native ()" link="GFile.html#g-file-is-native"/>
- <function name="g_file_has_uri_scheme ()" link="GFile.html#g-file-has-uri-scheme"/>
- <function name="g_file_get_uri_scheme ()" link="GFile.html#g-file-get-uri-scheme"/>
- <function name="g_file_read ()" link="GFile.html#g-file-read"/>
- <function name="g_file_read_async ()" link="GFile.html#g-file-read-async"/>
- <function name="g_file_read_finish ()" link="GFile.html#g-file-read-finish"/>
- <function name="g_file_append_to ()" link="GFile.html#g-file-append-to"/>
- <function name="g_file_create ()" link="GFile.html#g-file-create"/>
- <function name="g_file_replace ()" link="GFile.html#g-file-replace"/>
- <function name="g_file_append_to_async ()" link="GFile.html#g-file-append-to-async"/>
- <function name="g_file_append_to_finish ()" link="GFile.html#g-file-append-to-finish"/>
- <function name="g_file_create_async ()" link="GFile.html#g-file-create-async"/>
- <function name="g_file_create_finish ()" link="GFile.html#g-file-create-finish"/>
- <function name="g_file_replace_async ()" link="GFile.html#g-file-replace-async"/>
- <function name="g_file_replace_finish ()" link="GFile.html#g-file-replace-finish"/>
- <function name="g_file_query_info ()" link="GFile.html#g-file-query-info"/>
- <function name="g_file_query_info_async ()" link="GFile.html#g-file-query-info-async"/>
- <function name="g_file_query_info_finish ()" link="GFile.html#g-file-query-info-finish"/>
- <function name="g_file_query_exists ()" link="GFile.html#g-file-query-exists"/>
- <function name="g_file_query_file_type ()" link="GFile.html#g-file-query-file-type"/>
- <function name="g_file_query_filesystem_info ()" link="GFile.html#g-file-query-filesystem-info"/>
- <function name="g_file_query_filesystem_info_async ()" link="GFile.html#g-file-query-filesystem-info-async"/>
- <function name="g_file_query_filesystem_info_finish ()" link="GFile.html#g-file-query-filesystem-info-finish"/>
- <function name="g_file_query_default_handler ()" link="GFile.html#g-file-query-default-handler"/>
- <function name="g_file_find_enclosing_mount ()" link="GFile.html#g-file-find-enclosing-mount"/>
- <function name="g_file_find_enclosing_mount_async ()" link="GFile.html#g-file-find-enclosing-mount-async"/>
- <function name="g_file_find_enclosing_mount_finish ()" link="GFile.html#g-file-find-enclosing-mount-finish"/>
- <function name="g_file_enumerate_children ()" link="GFile.html#g-file-enumerate-children"/>
- <function name="g_file_enumerate_children_async ()" link="GFile.html#g-file-enumerate-children-async"/>
- <function name="g_file_enumerate_children_finish ()" link="GFile.html#g-file-enumerate-children-finish"/>
- <function name="g_file_set_display_name ()" link="GFile.html#g-file-set-display-name"/>
- <function name="g_file_set_display_name_async ()" link="GFile.html#g-file-set-display-name-async"/>
- <function name="g_file_set_display_name_finish ()" link="GFile.html#g-file-set-display-name-finish"/>
- <function name="g_file_delete ()" link="GFile.html#g-file-delete"/>
- <function name="g_file_trash ()" link="GFile.html#g-file-trash"/>
- <function name="g_file_copy ()" link="GFile.html#g-file-copy"/>
- <function name="g_file_copy_async ()" link="GFile.html#g-file-copy-async"/>
- <function name="g_file_copy_finish ()" link="GFile.html#g-file-copy-finish"/>
- <function name="g_file_move ()" link="GFile.html#g-file-move"/>
- <function name="g_file_make_directory ()" link="GFile.html#g-file-make-directory"/>
- <function name="g_file_make_directory_with_parents ()" link="GFile.html#g-file-make-directory-with-parents"/>
- <function name="g_file_make_symbolic_link ()" link="GFile.html#g-file-make-symbolic-link"/>
- <function name="g_file_query_settable_attributes ()" link="GFile.html#g-file-query-settable-attributes"/>
- <function name="g_file_query_writable_namespaces ()" link="GFile.html#g-file-query-writable-namespaces"/>
- <function name="g_file_set_attribute ()" link="GFile.html#g-file-set-attribute"/>
- <function name="g_file_set_attributes_from_info ()" link="GFile.html#g-file-set-attributes-from-info"/>
- <function name="g_file_set_attributes_async ()" link="GFile.html#g-file-set-attributes-async"/>
- <function name="g_file_set_attributes_finish ()" link="GFile.html#g-file-set-attributes-finish"/>
- <function name="g_file_set_attribute_string ()" link="GFile.html#g-file-set-attribute-string"/>
- <function name="g_file_set_attribute_byte_string ()" link="GFile.html#g-file-set-attribute-byte-string"/>
- <function name="g_file_set_attribute_uint32 ()" link="GFile.html#g-file-set-attribute-uint32"/>
- <function name="g_file_set_attribute_int32 ()" link="GFile.html#g-file-set-attribute-int32"/>
- <function name="g_file_set_attribute_uint64 ()" link="GFile.html#g-file-set-attribute-uint64"/>
- <function name="g_file_set_attribute_int64 ()" link="GFile.html#g-file-set-attribute-int64"/>
- <function name="g_file_mount_mountable ()" link="GFile.html#g-file-mount-mountable"/>
- <function name="g_file_mount_mountable_finish ()" link="GFile.html#g-file-mount-mountable-finish"/>
- <function name="g_file_unmount_mountable ()" link="GFile.html#g-file-unmount-mountable"/>
- <function name="g_file_unmount_mountable_finish ()" link="GFile.html#g-file-unmount-mountable-finish"/>
- <function name="g_file_unmount_mountable_with_operation ()" link="GFile.html#g-file-unmount-mountable-with-operation"/>
- <function name="g_file_unmount_mountable_with_operation_finish ()" link="GFile.html#g-file-unmount-mountable-with-operation-finish"/>
- <function name="g_file_eject_mountable ()" link="GFile.html#g-file-eject-mountable"/>
- <function name="g_file_eject_mountable_finish ()" link="GFile.html#g-file-eject-mountable-finish"/>
- <function name="g_file_eject_mountable_with_operation ()" link="GFile.html#g-file-eject-mountable-with-operation"/>
- <function name="g_file_eject_mountable_with_operation_finish ()" link="GFile.html#g-file-eject-mountable-with-operation-finish"/>
- <function name="g_file_start_mountable ()" link="GFile.html#g-file-start-mountable"/>
- <function name="g_file_start_mountable_finish ()" link="GFile.html#g-file-start-mountable-finish"/>
- <function name="g_file_stop_mountable ()" link="GFile.html#g-file-stop-mountable"/>
- <function name="g_file_stop_mountable_finish ()" link="GFile.html#g-file-stop-mountable-finish"/>
- <function name="g_file_poll_mountable ()" link="GFile.html#g-file-poll-mountable"/>
- <function name="g_file_poll_mountable_finish ()" link="GFile.html#g-file-poll-mountable-finish"/>
- <function name="g_file_mount_enclosing_volume ()" link="GFile.html#g-file-mount-enclosing-volume"/>
- <function name="g_file_mount_enclosing_volume_finish ()" link="GFile.html#g-file-mount-enclosing-volume-finish"/>
- <function name="g_file_monitor_directory ()" link="GFile.html#g-file-monitor-directory"/>
- <function name="g_file_monitor_file ()" link="GFile.html#g-file-monitor-file"/>
- <function name="g_file_monitor ()" link="GFile.html#g-file-monitor"/>
- <function name="g_file_load_contents ()" link="GFile.html#g-file-load-contents"/>
- <function name="g_file_load_contents_async ()" link="GFile.html#g-file-load-contents-async"/>
- <function name="g_file_load_contents_finish ()" link="GFile.html#g-file-load-contents-finish"/>
- <function name="g_file_load_partial_contents_async ()" link="GFile.html#g-file-load-partial-contents-async"/>
- <function name="g_file_load_partial_contents_finish ()" link="GFile.html#g-file-load-partial-contents-finish"/>
- <function name="g_file_replace_contents ()" link="GFile.html#g-file-replace-contents"/>
- <function name="g_file_replace_contents_async ()" link="GFile.html#g-file-replace-contents-async"/>
- <function name="g_file_replace_contents_finish ()" link="GFile.html#g-file-replace-contents-finish"/>
- <function name="g_file_copy_attributes ()" link="GFile.html#g-file-copy-attributes"/>
- <function name="g_file_create_readwrite ()" link="GFile.html#g-file-create-readwrite"/>
- <function name="g_file_create_readwrite_async ()" link="GFile.html#g-file-create-readwrite-async"/>
- <function name="g_file_create_readwrite_finish ()" link="GFile.html#g-file-create-readwrite-finish"/>
- <function name="g_file_open_readwrite ()" link="GFile.html#g-file-open-readwrite"/>
- <function name="g_file_open_readwrite_async ()" link="GFile.html#g-file-open-readwrite-async"/>
- <function name="g_file_open_readwrite_finish ()" link="GFile.html#g-file-open-readwrite-finish"/>
- <function name="g_file_replace_readwrite ()" link="GFile.html#g-file-replace-readwrite"/>
- <function name="g_file_replace_readwrite_async ()" link="GFile.html#g-file-replace-readwrite-async"/>
- <function name="g_file_replace_readwrite_finish ()" link="GFile.html#g-file-replace-readwrite-finish"/>
- <function name="g_file_supports_thread_contexts ()" link="GFile.html#g-file-supports-thread-contexts"/>
- <function name="enum GFileAttributeType" link="gio-GFileAttribute.html#GFileAttributeType"/>
- <function name="enum GFileAttributeInfoFlags" link="gio-GFileAttribute.html#GFileAttributeInfoFlags"/>
- <function name="enum GFileAttributeStatus" link="gio-GFileAttribute.html#GFileAttributeStatus"/>
- <function name="GFileAttributeInfo" link="gio-GFileAttribute.html#GFileAttributeInfo"/>
- <function name="GFileAttributeInfoList" link="gio-GFileAttribute.html#GFileAttributeInfoList"/>
- <function name="g_file_attribute_info_list_new ()" link="gio-GFileAttribute.html#g-file-attribute-info-list-new"/>
- <function name="g_file_attribute_info_list_ref ()" link="gio-GFileAttribute.html#g-file-attribute-info-list-ref"/>
- <function name="g_file_attribute_info_list_unref ()" link="gio-GFileAttribute.html#g-file-attribute-info-list-unref"/>
- <function name="g_file_attribute_info_list_dup ()" link="gio-GFileAttribute.html#g-file-attribute-info-list-dup"/>
- <function name="g_file_attribute_info_list_lookup ()" link="gio-GFileAttribute.html#g-file-attribute-info-list-lookup"/>
- <function name="g_file_attribute_info_list_add ()" link="gio-GFileAttribute.html#g-file-attribute-info-list-add"/>
- <function name="GFileAttributeMatcher" link="GFileInfo.html#GFileAttributeMatcher"/>
- <function name="enum GFileType" link="GFileInfo.html#GFileType"/>
- <function name="GFileInfo" link="GFileInfo.html#GFileInfo-struct"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_TYPE" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-TYPE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-IS-HIDDEN:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-IS-BACKUP:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-IS-SYMLINK:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-IS-VIRTUAL:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_NAME" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-NAME:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-DISPLAY-NAME:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-EDIT-NAME:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_COPY_NAME" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-COPY-NAME:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_ICON" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-ICON:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-CONTENT-TYPE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-FAST-CONTENT-TYPE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_SIZE" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-SIZE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-ALLOCATED-SIZE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-SYMLINK-TARGET:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_TARGET_URI" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-TARGET-URI:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-SORT-ORDER:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_ETAG_VALUE" link="GFileInfo.html#G-FILE-ATTRIBUTE-ETAG-VALUE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_ID_FILE" link="GFileInfo.html#G-FILE-ATTRIBUTE-ID-FILE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_ID_FILESYSTEM" link="GFileInfo.html#G-FILE-ATTRIBUTE-ID-FILESYSTEM:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_ACCESS_CAN_READ" link="GFileInfo.html#G-FILE-ATTRIBUTE-ACCESS-CAN-READ:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE" link="GFileInfo.html#G-FILE-ATTRIBUTE-ACCESS-CAN-WRITE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE" link="GFileInfo.html#G-FILE-ATTRIBUTE-ACCESS-CAN-EXECUTE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE" link="GFileInfo.html#G-FILE-ATTRIBUTE-ACCESS-CAN-DELETE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH" link="GFileInfo.html#G-FILE-ATTRIBUTE-ACCESS-CAN-TRASH:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME" link="GFileInfo.html#G-FILE-ATTRIBUTE-ACCESS-CAN-RENAME:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT" link="GFileInfo.html#G-FILE-ATTRIBUTE-MOUNTABLE-CAN-MOUNT:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT" link="GFileInfo.html#G-FILE-ATTRIBUTE-MOUNTABLE-CAN-UNMOUNT:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT" link="GFileInfo.html#G-FILE-ATTRIBUTE-MOUNTABLE-CAN-EJECT:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE" link="GFileInfo.html#G-FILE-ATTRIBUTE-MOUNTABLE-UNIX-DEVICE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE" link="GFileInfo.html#G-FILE-ATTRIBUTE-MOUNTABLE-UNIX-DEVICE-FILE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI" link="GFileInfo.html#G-FILE-ATTRIBUTE-MOUNTABLE-HAL-UDI:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL" link="GFileInfo.html#G-FILE-ATTRIBUTE-MOUNTABLE-CAN-POLL:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC" link="GFileInfo.html#G-FILE-ATTRIBUTE-MOUNTABLE-IS-MEDIA-CHECK-AUTOMATIC:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START" link="GFileInfo.html#G-FILE-ATTRIBUTE-MOUNTABLE-CAN-START:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED" link="GFileInfo.html#G-FILE-ATTRIBUTE-MOUNTABLE-CAN-START-DEGRADED:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP" link="GFileInfo.html#G-FILE-ATTRIBUTE-MOUNTABLE-CAN-STOP:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE" link="GFileInfo.html#G-FILE-ATTRIBUTE-MOUNTABLE-START-STOP-TYPE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_TIME_MODIFIED" link="GFileInfo.html#G-FILE-ATTRIBUTE-TIME-MODIFIED:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC" link="GFileInfo.html#G-FILE-ATTRIBUTE-TIME-MODIFIED-USEC:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_TIME_ACCESS" link="GFileInfo.html#G-FILE-ATTRIBUTE-TIME-ACCESS:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_TIME_ACCESS_USEC" link="GFileInfo.html#G-FILE-ATTRIBUTE-TIME-ACCESS-USEC:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_TIME_CHANGED" link="GFileInfo.html#G-FILE-ATTRIBUTE-TIME-CHANGED:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_TIME_CHANGED_USEC" link="GFileInfo.html#G-FILE-ATTRIBUTE-TIME-CHANGED-USEC:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_TIME_CREATED" link="GFileInfo.html#G-FILE-ATTRIBUTE-TIME-CREATED:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_TIME_CREATED_USEC" link="GFileInfo.html#G-FILE-ATTRIBUTE-TIME-CREATED-USEC:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_UNIX_DEVICE" link="GFileInfo.html#G-FILE-ATTRIBUTE-UNIX-DEVICE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_UNIX_INODE" link="GFileInfo.html#G-FILE-ATTRIBUTE-UNIX-INODE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_UNIX_MODE" link="GFileInfo.html#G-FILE-ATTRIBUTE-UNIX-MODE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_UNIX_NLINK" link="GFileInfo.html#G-FILE-ATTRIBUTE-UNIX-NLINK:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_UNIX_UID" link="GFileInfo.html#G-FILE-ATTRIBUTE-UNIX-UID:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_UNIX_GID" link="GFileInfo.html#G-FILE-ATTRIBUTE-UNIX-GID:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_UNIX_RDEV" link="GFileInfo.html#G-FILE-ATTRIBUTE-UNIX-RDEV:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE" link="GFileInfo.html#G-FILE-ATTRIBUTE-UNIX-BLOCK-SIZE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_UNIX_BLOCKS" link="GFileInfo.html#G-FILE-ATTRIBUTE-UNIX-BLOCKS:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT" link="GFileInfo.html#G-FILE-ATTRIBUTE-UNIX-IS-MOUNTPOINT:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE" link="GFileInfo.html#G-FILE-ATTRIBUTE-DOS-IS-ARCHIVE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_DOS_IS_SYSTEM" link="GFileInfo.html#G-FILE-ATTRIBUTE-DOS-IS-SYSTEM:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_OWNER_USER" link="GFileInfo.html#G-FILE-ATTRIBUTE-OWNER-USER:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_OWNER_USER_REAL" link="GFileInfo.html#G-FILE-ATTRIBUTE-OWNER-USER-REAL:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_OWNER_GROUP" link="GFileInfo.html#G-FILE-ATTRIBUTE-OWNER-GROUP:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_THUMBNAIL_PATH" link="GFileInfo.html#G-FILE-ATTRIBUTE-THUMBNAIL-PATH:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_THUMBNAILING_FAILED" link="GFileInfo.html#G-FILE-ATTRIBUTE-THUMBNAILING-FAILED:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_PREVIEW_ICON" link="GFileInfo.html#G-FILE-ATTRIBUTE-PREVIEW-ICON:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_FILESYSTEM_SIZE" link="GFileInfo.html#G-FILE-ATTRIBUTE-FILESYSTEM-SIZE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_FILESYSTEM_FREE" link="GFileInfo.html#G-FILE-ATTRIBUTE-FILESYSTEM-FREE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_FILESYSTEM_TYPE" link="GFileInfo.html#G-FILE-ATTRIBUTE-FILESYSTEM-TYPE:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_FILESYSTEM_READONLY" link="GFileInfo.html#G-FILE-ATTRIBUTE-FILESYSTEM-READONLY:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_GVFS_BACKEND" link="GFileInfo.html#G-FILE-ATTRIBUTE-GVFS-BACKEND:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_SELINUX_CONTEXT" link="GFileInfo.html#G-FILE-ATTRIBUTE-SELINUX-CONTEXT:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT" link="GFileInfo.html#G-FILE-ATTRIBUTE-TRASH-ITEM-COUNT:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW" link="GFileInfo.html#G-FILE-ATTRIBUTE-FILESYSTEM-USE-PREVIEW:CAPS"/>
- <function name="G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION" link="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-DESCRIPTION:CAPS"/>
- <function name="g_file_info_new ()" link="GFileInfo.html#g-file-info-new"/>
- <function name="g_file_info_dup ()" link="GFileInfo.html#g-file-info-dup"/>
- <function name="g_file_info_copy_into ()" link="GFileInfo.html#g-file-info-copy-into"/>
- <function name="g_file_info_has_attribute ()" link="GFileInfo.html#g-file-info-has-attribute"/>
- <function name="g_file_info_has_namespace ()" link="GFileInfo.html#g-file-info-has-namespace"/>
- <function name="g_file_info_list_attributes ()" link="GFileInfo.html#g-file-info-list-attributes"/>
- <function name="g_file_info_get_attribute_type ()" link="GFileInfo.html#g-file-info-get-attribute-type"/>
- <function name="g_file_info_remove_attribute ()" link="GFileInfo.html#g-file-info-remove-attribute"/>
- <function name="g_file_info_get_attribute_as_string ()" link="GFileInfo.html#g-file-info-get-attribute-as-string"/>
- <function name="g_file_info_get_attribute_data ()" link="GFileInfo.html#g-file-info-get-attribute-data"/>
- <function name="g_file_info_get_attribute_status ()" link="GFileInfo.html#g-file-info-get-attribute-status"/>
- <function name="g_file_info_get_attribute_string ()" link="GFileInfo.html#g-file-info-get-attribute-string"/>
- <function name="g_file_info_get_attribute_stringv ()" link="GFileInfo.html#g-file-info-get-attribute-stringv"/>
- <function name="g_file_info_get_attribute_byte_string ()" link="GFileInfo.html#g-file-info-get-attribute-byte-string"/>
- <function name="g_file_info_get_attribute_boolean ()" link="GFileInfo.html#g-file-info-get-attribute-boolean"/>
- <function name="g_file_info_get_attribute_uint32 ()" link="GFileInfo.html#g-file-info-get-attribute-uint32"/>
- <function name="g_file_info_get_attribute_int32 ()" link="GFileInfo.html#g-file-info-get-attribute-int32"/>
- <function name="g_file_info_get_attribute_uint64 ()" link="GFileInfo.html#g-file-info-get-attribute-uint64"/>
- <function name="g_file_info_get_attribute_int64 ()" link="GFileInfo.html#g-file-info-get-attribute-int64"/>
- <function name="g_file_info_get_attribute_object ()" link="GFileInfo.html#g-file-info-get-attribute-object"/>
- <function name="g_file_info_set_attribute ()" link="GFileInfo.html#g-file-info-set-attribute"/>
- <function name="g_file_info_set_attribute_status ()" link="GFileInfo.html#g-file-info-set-attribute-status"/>
- <function name="g_file_info_set_attribute_string ()" link="GFileInfo.html#g-file-info-set-attribute-string"/>
- <function name="g_file_info_set_attribute_stringv ()" link="GFileInfo.html#g-file-info-set-attribute-stringv"/>
- <function name="g_file_info_set_attribute_byte_string ()" link="GFileInfo.html#g-file-info-set-attribute-byte-string"/>
- <function name="g_file_info_set_attribute_boolean ()" link="GFileInfo.html#g-file-info-set-attribute-boolean"/>
- <function name="g_file_info_set_attribute_uint32 ()" link="GFileInfo.html#g-file-info-set-attribute-uint32"/>
- <function name="g_file_info_set_attribute_int32 ()" link="GFileInfo.html#g-file-info-set-attribute-int32"/>
- <function name="g_file_info_set_attribute_uint64 ()" link="GFileInfo.html#g-file-info-set-attribute-uint64"/>
- <function name="g_file_info_set_attribute_int64 ()" link="GFileInfo.html#g-file-info-set-attribute-int64"/>
- <function name="g_file_info_set_attribute_object ()" link="GFileInfo.html#g-file-info-set-attribute-object"/>
- <function name="g_file_info_clear_status ()" link="GFileInfo.html#g-file-info-clear-status"/>
- <function name="g_file_info_get_file_type ()" link="GFileInfo.html#g-file-info-get-file-type"/>
- <function name="g_file_info_get_is_hidden ()" link="GFileInfo.html#g-file-info-get-is-hidden"/>
- <function name="g_file_info_get_is_backup ()" link="GFileInfo.html#g-file-info-get-is-backup"/>
- <function name="g_file_info_get_is_symlink ()" link="GFileInfo.html#g-file-info-get-is-symlink"/>
- <function name="g_file_info_get_name ()" link="GFileInfo.html#g-file-info-get-name"/>
- <function name="g_file_info_get_display_name ()" link="GFileInfo.html#g-file-info-get-display-name"/>
- <function name="g_file_info_get_edit_name ()" link="GFileInfo.html#g-file-info-get-edit-name"/>
- <function name="g_file_info_get_icon ()" link="GFileInfo.html#g-file-info-get-icon"/>
- <function name="g_file_info_get_content_type ()" link="GFileInfo.html#g-file-info-get-content-type"/>
- <function name="g_file_info_get_size ()" link="GFileInfo.html#g-file-info-get-size"/>
- <function name="g_file_info_get_modification_time ()" link="GFileInfo.html#g-file-info-get-modification-time"/>
- <function name="g_file_info_get_symlink_target ()" link="GFileInfo.html#g-file-info-get-symlink-target"/>
- <function name="g_file_info_get_etag ()" link="GFileInfo.html#g-file-info-get-etag"/>
- <function name="g_file_info_get_sort_order ()" link="GFileInfo.html#g-file-info-get-sort-order"/>
- <function name="g_file_info_set_attribute_mask ()" link="GFileInfo.html#g-file-info-set-attribute-mask"/>
- <function name="g_file_info_unset_attribute_mask ()" link="GFileInfo.html#g-file-info-unset-attribute-mask"/>
- <function name="g_file_info_set_file_type ()" link="GFileInfo.html#g-file-info-set-file-type"/>
- <function name="g_file_info_set_is_hidden ()" link="GFileInfo.html#g-file-info-set-is-hidden"/>
- <function name="g_file_info_set_is_symlink ()" link="GFileInfo.html#g-file-info-set-is-symlink"/>
- <function name="g_file_info_set_name ()" link="GFileInfo.html#g-file-info-set-name"/>
- <function name="g_file_info_set_display_name ()" link="GFileInfo.html#g-file-info-set-display-name"/>
- <function name="g_file_info_set_edit_name ()" link="GFileInfo.html#g-file-info-set-edit-name"/>
- <function name="g_file_info_set_icon ()" link="GFileInfo.html#g-file-info-set-icon"/>
- <function name="g_file_info_set_content_type ()" link="GFileInfo.html#g-file-info-set-content-type"/>
- <function name="g_file_info_set_size ()" link="GFileInfo.html#g-file-info-set-size"/>
- <function name="g_file_info_set_modification_time ()" link="GFileInfo.html#g-file-info-set-modification-time"/>
- <function name="g_file_info_set_symlink_target ()" link="GFileInfo.html#g-file-info-set-symlink-target"/>
- <function name="g_file_info_set_sort_order ()" link="GFileInfo.html#g-file-info-set-sort-order"/>
- <function name="g_file_attribute_matcher_new ()" link="GFileInfo.html#g-file-attribute-matcher-new"/>
- <function name="g_file_attribute_matcher_ref ()" link="GFileInfo.html#g-file-attribute-matcher-ref"/>
- <function name="g_file_attribute_matcher_unref ()" link="GFileInfo.html#g-file-attribute-matcher-unref"/>
- <function name="g_file_attribute_matcher_matches ()" link="GFileInfo.html#g-file-attribute-matcher-matches"/>
- <function name="g_file_attribute_matcher_matches_only ()" link="GFileInfo.html#g-file-attribute-matcher-matches-only"/>
- <function name="g_file_attribute_matcher_enumerate_namespace ()" link="GFileInfo.html#g-file-attribute-matcher-enumerate-namespace"/>
- <function name="g_file_attribute_matcher_enumerate_next ()" link="GFileInfo.html#g-file-attribute-matcher-enumerate-next"/>
- <function name="GFileEnumerator" link="GFileEnumerator.html#GFileEnumerator-struct"/>
- <function name="g_file_enumerator_next_file ()" link="GFileEnumerator.html#g-file-enumerator-next-file"/>
- <function name="g_file_enumerator_close ()" link="GFileEnumerator.html#g-file-enumerator-close"/>
- <function name="g_file_enumerator_next_files_async ()" link="GFileEnumerator.html#g-file-enumerator-next-files-async"/>
- <function name="g_file_enumerator_next_files_finish ()" link="GFileEnumerator.html#g-file-enumerator-next-files-finish"/>
- <function name="g_file_enumerator_close_async ()" link="GFileEnumerator.html#g-file-enumerator-close-async"/>
- <function name="g_file_enumerator_close_finish ()" link="GFileEnumerator.html#g-file-enumerator-close-finish"/>
- <function name="g_file_enumerator_is_closed ()" link="GFileEnumerator.html#g-file-enumerator-is-closed"/>
- <function name="g_file_enumerator_has_pending ()" link="GFileEnumerator.html#g-file-enumerator-has-pending"/>
- <function name="g_file_enumerator_set_pending ()" link="GFileEnumerator.html#g-file-enumerator-set-pending"/>
- <function name="g_file_enumerator_get_container ()" link="GFileEnumerator.html#g-file-enumerator-get-container"/>
- <function name="The "container" property" link="GFileEnumerator.html#GFileEnumerator--container"/>
- <function name="G_IO_ERROR" link="gio-GIOError.html#G-IO-ERROR:CAPS"/>
- <function name="enum GIOErrorEnum" link="gio-GIOError.html#GIOErrorEnum"/>
- <function name="g_io_error_from_errno ()" link="gio-GIOError.html#g-io-error-from-errno"/>
- <function name="enum GAskPasswordFlags" link="GMountOperation.html#GAskPasswordFlags"/>
- <function name="enum GPasswordSave" link="GMountOperation.html#GPasswordSave"/>
- <function name="GMountOperation" link="GMountOperation.html#GMountOperation-struct"/>
- <function name="enum GMountOperationResult" link="GMountOperation.html#GMountOperationResult"/>
- <function name="g_mount_operation_new ()" link="GMountOperation.html#g-mount-operation-new"/>
- <function name="g_mount_operation_get_username ()" link="GMountOperation.html#g-mount-operation-get-username"/>
- <function name="g_mount_operation_set_username ()" link="GMountOperation.html#g-mount-operation-set-username"/>
- <function name="g_mount_operation_get_password ()" link="GMountOperation.html#g-mount-operation-get-password"/>
- <function name="g_mount_operation_set_password ()" link="GMountOperation.html#g-mount-operation-set-password"/>
- <function name="g_mount_operation_get_anonymous ()" link="GMountOperation.html#g-mount-operation-get-anonymous"/>
- <function name="g_mount_operation_set_anonymous ()" link="GMountOperation.html#g-mount-operation-set-anonymous"/>
- <function name="g_mount_operation_get_domain ()" link="GMountOperation.html#g-mount-operation-get-domain"/>
- <function name="g_mount_operation_set_domain ()" link="GMountOperation.html#g-mount-operation-set-domain"/>
- <function name="g_mount_operation_get_password_save ()" link="GMountOperation.html#g-mount-operation-get-password-save"/>
- <function name="g_mount_operation_set_password_save ()" link="GMountOperation.html#g-mount-operation-set-password-save"/>
- <function name="g_mount_operation_get_choice ()" link="GMountOperation.html#g-mount-operation-get-choice"/>
- <function name="g_mount_operation_set_choice ()" link="GMountOperation.html#g-mount-operation-set-choice"/>
- <function name="g_mount_operation_reply ()" link="GMountOperation.html#g-mount-operation-reply"/>
- <function name="The "anonymous" property" link="GMountOperation.html#GMountOperation--anonymous"/>
- <function name="The "choice" property" link="GMountOperation.html#GMountOperation--choice"/>
- <function name="The "domain" property" link="GMountOperation.html#GMountOperation--domain"/>
- <function name="The "password" property" link="GMountOperation.html#GMountOperation--password"/>
- <function name="The "password-save" property" link="GMountOperation.html#GMountOperation--password-save"/>
- <function name="The "username" property" link="GMountOperation.html#GMountOperation--username"/>
- <function name="The "aborted" signal" link="GMountOperation.html#GMountOperation-aborted"/>
- <function name="The "ask-password" signal" link="GMountOperation.html#GMountOperation-ask-password"/>
- <function name="The "ask-question" signal" link="GMountOperation.html#GMountOperation-ask-question"/>
- <function name="The "reply" signal" link="GMountOperation.html#GMountOperation-reply"/>
- <function name="The "show-processes" signal" link="GMountOperation.html#GMountOperation-show-processes"/>
- <function name="enum GFileMonitorEvent" link="GFileMonitor.html#GFileMonitorEvent"/>
- <function name="GFileMonitor" link="GFileMonitor.html#GFileMonitor-struct"/>
- <function name="g_file_monitor_cancel ()" link="GFileMonitor.html#g-file-monitor-cancel"/>
- <function name="g_file_monitor_is_cancelled ()" link="GFileMonitor.html#g-file-monitor-is-cancelled"/>
- <function name="g_file_monitor_set_rate_limit ()" link="GFileMonitor.html#g-file-monitor-set-rate-limit"/>
- <function name="g_file_monitor_emit_event ()" link="GFileMonitor.html#g-file-monitor-emit-event"/>
- <function name="The "cancelled" property" link="GFileMonitor.html#GFileMonitor--cancelled"/>
- <function name="The "rate-limit" property" link="GFileMonitor.html#GFileMonitor--rate-limit"/>
- <function name="The "changed" signal" link="GFileMonitor.html#GFileMonitor-changed"/>
- <function name="GCancellable" link="GCancellable.html#GCancellable-struct"/>
- <function name="g_cancellable_new ()" link="GCancellable.html#g-cancellable-new"/>
- <function name="g_cancellable_is_cancelled ()" link="GCancellable.html#g-cancellable-is-cancelled"/>
- <function name="g_cancellable_set_error_if_cancelled ()" link="GCancellable.html#g-cancellable-set-error-if-cancelled"/>
- <function name="g_cancellable_get_fd ()" link="GCancellable.html#g-cancellable-get-fd"/>
- <function name="g_cancellable_make_pollfd ()" link="GCancellable.html#g-cancellable-make-pollfd"/>
- <function name="g_cancellable_release_fd ()" link="GCancellable.html#g-cancellable-release-fd"/>
- <function name="g_cancellable_get_current ()" link="GCancellable.html#g-cancellable-get-current"/>
- <function name="g_cancellable_pop_current ()" link="GCancellable.html#g-cancellable-pop-current"/>
- <function name="g_cancellable_push_current ()" link="GCancellable.html#g-cancellable-push-current"/>
- <function name="g_cancellable_reset ()" link="GCancellable.html#g-cancellable-reset"/>
- <function name="g_cancellable_connect ()" link="GCancellable.html#g-cancellable-connect"/>
- <function name="g_cancellable_disconnect ()" link="GCancellable.html#g-cancellable-disconnect"/>
- <function name="g_cancellable_cancel ()" link="GCancellable.html#g-cancellable-cancel"/>
- <function name="The "cancelled" signal" link="GCancellable.html#GCancellable-cancelled"/>
- <function name="GAsyncResult" link="GAsyncResult.html#GAsyncResult-struct"/>
- <function name="GAsyncResultIface" link="GAsyncResult.html#GAsyncResultIface"/>
- <function name="GAsyncReadyCallback ()" link="GAsyncResult.html#GAsyncReadyCallback"/>
- <function name="g_async_result_get_user_data ()" link="GAsyncResult.html#g-async-result-get-user-data"/>
- <function name="g_async_result_get_source_object ()" link="GAsyncResult.html#g-async-result-get-source-object"/>
- <function name="GIOSchedulerJob" link="gio-GIOScheduler.html#GIOSchedulerJob"/>
- <function name="GIOSchedulerJobFunc ()" link="gio-GIOScheduler.html#GIOSchedulerJobFunc"/>
- <function name="g_io_scheduler_push_job ()" link="gio-GIOScheduler.html#g-io-scheduler-push-job"/>
- <function name="g_io_scheduler_cancel_all_jobs ()" link="gio-GIOScheduler.html#g-io-scheduler-cancel-all-jobs"/>
- <function name="g_io_scheduler_job_send_to_mainloop ()" link="gio-GIOScheduler.html#g-io-scheduler-job-send-to-mainloop"/>
- <function name="g_io_scheduler_job_send_to_mainloop_async ()" link="gio-GIOScheduler.html#g-io-scheduler-job-send-to-mainloop-async"/>
- <function name="GSimpleAsyncResult" link="GSimpleAsyncResult.html#GSimpleAsyncResult-struct"/>
- <function name="GSimpleAsyncThreadFunc ()" link="GSimpleAsyncResult.html#GSimpleAsyncThreadFunc"/>
- <function name="g_simple_async_result_new ()" link="GSimpleAsyncResult.html#g-simple-async-result-new"/>
- <function name="g_simple_async_result_new_error ()" link="GSimpleAsyncResult.html#g-simple-async-result-new-error"/>
- <function name="g_simple_async_result_new_from_error ()" link="GSimpleAsyncResult.html#g-simple-async-result-new-from-error"/>
- <function name="g_simple_async_result_set_op_res_gpointer ()" link="GSimpleAsyncResult.html#g-simple-async-result-set-op-res-gpointer"/>
- <function name="g_simple_async_result_get_op_res_gpointer ()" link="GSimpleAsyncResult.html#g-simple-async-result-get-op-res-gpointer"/>
- <function name="g_simple_async_result_set_op_res_gssize ()" link="GSimpleAsyncResult.html#g-simple-async-result-set-op-res-gssize"/>
- <function name="g_simple_async_result_get_op_res_gssize ()" link="GSimpleAsyncResult.html#g-simple-async-result-get-op-res-gssize"/>
- <function name="g_simple_async_result_set_op_res_gboolean ()" link="GSimpleAsyncResult.html#g-simple-async-result-set-op-res-gboolean"/>
- <function name="g_simple_async_result_get_op_res_gboolean ()" link="GSimpleAsyncResult.html#g-simple-async-result-get-op-res-gboolean"/>
- <function name="g_simple_async_result_get_source_tag ()" link="GSimpleAsyncResult.html#g-simple-async-result-get-source-tag"/>
- <function name="g_simple_async_result_is_valid ()" link="GSimpleAsyncResult.html#g-simple-async-result-is-valid"/>
- <function name="g_simple_async_result_set_handle_cancellation ()" link="GSimpleAsyncResult.html#g-simple-async-result-set-handle-cancellation"/>
- <function name="g_simple_async_result_complete ()" link="GSimpleAsyncResult.html#g-simple-async-result-complete"/>
- <function name="g_simple_async_result_complete_in_idle ()" link="GSimpleAsyncResult.html#g-simple-async-result-complete-in-idle"/>
- <function name="g_simple_async_result_run_in_thread ()" link="GSimpleAsyncResult.html#g-simple-async-result-run-in-thread"/>
- <function name="g_simple_async_result_set_from_error ()" link="GSimpleAsyncResult.html#g-simple-async-result-set-from-error"/>
- <function name="g_simple_async_result_propagate_error ()" link="GSimpleAsyncResult.html#g-simple-async-result-propagate-error"/>
- <function name="g_simple_async_result_set_error ()" link="GSimpleAsyncResult.html#g-simple-async-result-set-error"/>
- <function name="g_simple_async_result_set_error_va ()" link="GSimpleAsyncResult.html#g-simple-async-result-set-error-va"/>
- <function name="g_simple_async_report_error_in_idle ()" link="GSimpleAsyncResult.html#g-simple-async-report-error-in-idle"/>
- <function name="g_simple_async_report_gerror_in_idle ()" link="GSimpleAsyncResult.html#g-simple-async-report-gerror-in-idle"/>
- <function name="GConverter" link="GConverter.html#GConverter-struct"/>
- <function name="GConverterIface" link="GConverter.html#GConverterIface"/>
- <function name="enum GConverterResult" link="GConverter.html#GConverterResult"/>
- <function name="g_converter_convert ()" link="GConverter.html#g-converter-convert"/>
- <function name="g_converter_reset ()" link="GConverter.html#g-converter-reset"/>
- <function name="GCharsetConverter" link="GCharsetConverter.html#GCharsetConverter-struct"/>
- <function name="g_charset_converter_new ()" link="GCharsetConverter.html#g-charset-converter-new"/>
- <function name="g_charset_converter_set_use_fallback ()" link="GCharsetConverter.html#g-charset-converter-set-use-fallback"/>
- <function name="g_charset_converter_get_use_fallback ()" link="GCharsetConverter.html#g-charset-converter-get-use-fallback"/>
- <function name="g_charset_converter_get_num_fallbacks ()" link="GCharsetConverter.html#g-charset-converter-get-num-fallbacks"/>
- <function name="The "from-charset" property" link="GCharsetConverter.html#GCharsetConverter--from-charset"/>
- <function name="The "to-charset" property" link="GCharsetConverter.html#GCharsetConverter--to-charset"/>
- <function name="The "use-fallback" property" link="GCharsetConverter.html#GCharsetConverter--use-fallback"/>
- <function name="GZlibCompressor" link="GZlibCompressor.html#GZlibCompressor-struct"/>
- <function name="enum GZlibCompressorFormat" link="GZlibCompressor.html#GZlibCompressorFormat"/>
- <function name="g_zlib_compressor_new ()" link="GZlibCompressor.html#g-zlib-compressor-new"/>
- <function name="The "format" property" link="GZlibCompressor.html#GZlibCompressor--format"/>
- <function name="The "level" property" link="GZlibCompressor.html#GZlibCompressor--level"/>
- <function name="GZlibDecompressor" link="GZlibDecompressor.html#GZlibDecompressor-struct"/>
- <function name="g_zlib_decompressor_new ()" link="GZlibDecompressor.html#g-zlib-decompressor-new"/>
- <function name="The "format" property" link="GZlibDecompressor.html#GZlibDecompressor--format"/>
- <function name="GSeekable" link="GSeekable.html#GSeekable-struct"/>
- <function name="GSeekableIface" link="GSeekable.html#GSeekableIface"/>
- <function name="g_seekable_tell ()" link="GSeekable.html#g-seekable-tell"/>
- <function name="g_seekable_can_seek ()" link="GSeekable.html#g-seekable-can-seek"/>
- <function name="g_seekable_seek ()" link="GSeekable.html#g-seekable-seek"/>
- <function name="g_seekable_can_truncate ()" link="GSeekable.html#g-seekable-can-truncate"/>
- <function name="g_seekable_truncate ()" link="GSeekable.html#g-seekable-truncate"/>
- <function name="GInputStream" link="GInputStream.html#GInputStream-struct"/>
- <function name="g_input_stream_read ()" link="GInputStream.html#g-input-stream-read"/>
- <function name="g_input_stream_read_all ()" link="GInputStream.html#g-input-stream-read-all"/>
- <function name="g_input_stream_skip ()" link="GInputStream.html#g-input-stream-skip"/>
- <function name="g_input_stream_close ()" link="GInputStream.html#g-input-stream-close"/>
- <function name="g_input_stream_read_async ()" link="GInputStream.html#g-input-stream-read-async"/>
- <function name="g_input_stream_read_finish ()" link="GInputStream.html#g-input-stream-read-finish"/>
- <function name="g_input_stream_skip_async ()" link="GInputStream.html#g-input-stream-skip-async"/>
- <function name="g_input_stream_skip_finish ()" link="GInputStream.html#g-input-stream-skip-finish"/>
- <function name="g_input_stream_close_async ()" link="GInputStream.html#g-input-stream-close-async"/>
- <function name="g_input_stream_close_finish ()" link="GInputStream.html#g-input-stream-close-finish"/>
- <function name="g_input_stream_is_closed ()" link="GInputStream.html#g-input-stream-is-closed"/>
- <function name="g_input_stream_has_pending ()" link="GInputStream.html#g-input-stream-has-pending"/>
- <function name="g_input_stream_set_pending ()" link="GInputStream.html#g-input-stream-set-pending"/>
- <function name="g_input_stream_clear_pending ()" link="GInputStream.html#g-input-stream-clear-pending"/>
- <function name="enum GOutputStreamSpliceFlags" link="GOutputStream.html#GOutputStreamSpliceFlags"/>
- <function name="GOutputStream" link="GOutputStream.html#GOutputStream-struct"/>
- <function name="g_output_stream_write ()" link="GOutputStream.html#g-output-stream-write"/>
- <function name="g_output_stream_write_all ()" link="GOutputStream.html#g-output-stream-write-all"/>
- <function name="g_output_stream_splice ()" link="GOutputStream.html#g-output-stream-splice"/>
- <function name="g_output_stream_flush ()" link="GOutputStream.html#g-output-stream-flush"/>
- <function name="g_output_stream_close ()" link="GOutputStream.html#g-output-stream-close"/>
- <function name="g_output_stream_write_async ()" link="GOutputStream.html#g-output-stream-write-async"/>
- <function name="g_output_stream_write_finish ()" link="GOutputStream.html#g-output-stream-write-finish"/>
- <function name="g_output_stream_splice_async ()" link="GOutputStream.html#g-output-stream-splice-async"/>
- <function name="g_output_stream_splice_finish ()" link="GOutputStream.html#g-output-stream-splice-finish"/>
- <function name="g_output_stream_flush_async ()" link="GOutputStream.html#g-output-stream-flush-async"/>
- <function name="g_output_stream_flush_finish ()" link="GOutputStream.html#g-output-stream-flush-finish"/>
- <function name="g_output_stream_close_async ()" link="GOutputStream.html#g-output-stream-close-async"/>
- <function name="g_output_stream_close_finish ()" link="GOutputStream.html#g-output-stream-close-finish"/>
- <function name="g_output_stream_is_closing ()" link="GOutputStream.html#g-output-stream-is-closing"/>
- <function name="g_output_stream_is_closed ()" link="GOutputStream.html#g-output-stream-is-closed"/>
- <function name="g_output_stream_has_pending ()" link="GOutputStream.html#g-output-stream-has-pending"/>
- <function name="g_output_stream_set_pending ()" link="GOutputStream.html#g-output-stream-set-pending"/>
- <function name="g_output_stream_clear_pending ()" link="GOutputStream.html#g-output-stream-clear-pending"/>
- <function name="GIOStream" link="GIOStream.html#GIOStream-struct"/>
- <function name="g_io_stream_get_input_stream ()" link="GIOStream.html#g-io-stream-get-input-stream"/>
- <function name="g_io_stream_get_output_stream ()" link="GIOStream.html#g-io-stream-get-output-stream"/>
- <function name="g_io_stream_close ()" link="GIOStream.html#g-io-stream-close"/>
- <function name="g_io_stream_close_async ()" link="GIOStream.html#g-io-stream-close-async"/>
- <function name="g_io_stream_close_finish ()" link="GIOStream.html#g-io-stream-close-finish"/>
- <function name="g_io_stream_is_closed ()" link="GIOStream.html#g-io-stream-is-closed"/>
- <function name="g_io_stream_has_pending ()" link="GIOStream.html#g-io-stream-has-pending"/>
- <function name="g_io_stream_set_pending ()" link="GIOStream.html#g-io-stream-set-pending"/>
- <function name="g_io_stream_clear_pending ()" link="GIOStream.html#g-io-stream-clear-pending"/>
- <function name="The "closed" property" link="GIOStream.html#GIOStream--closed"/>
- <function name="The "input-stream" property" link="GIOStream.html#GIOStream--input-stream"/>
- <function name="The "output-stream" property" link="GIOStream.html#GIOStream--output-stream"/>
- <function name="GFileInputStream" link="GFileInputStream.html#GFileInputStream-struct"/>
- <function name="g_file_input_stream_query_info ()" link="GFileInputStream.html#g-file-input-stream-query-info"/>
- <function name="g_file_input_stream_query_info_async ()" link="GFileInputStream.html#g-file-input-stream-query-info-async"/>
- <function name="g_file_input_stream_query_info_finish ()" link="GFileInputStream.html#g-file-input-stream-query-info-finish"/>
- <function name="GFileOutputStream" link="GFileOutputStream.html#GFileOutputStream-struct"/>
- <function name="g_file_output_stream_query_info ()" link="GFileOutputStream.html#g-file-output-stream-query-info"/>
- <function name="g_file_output_stream_query_info_async ()" link="GFileOutputStream.html#g-file-output-stream-query-info-async"/>
- <function name="g_file_output_stream_query_info_finish ()" link="GFileOutputStream.html#g-file-output-stream-query-info-finish"/>
- <function name="g_file_output_stream_get_etag ()" link="GFileOutputStream.html#g-file-output-stream-get-etag"/>
- <function name="GFileIOStream" link="GFileIOStream.html#GFileIOStream-struct"/>
- <function name="g_file_io_stream_get_etag ()" link="GFileIOStream.html#g-file-io-stream-get-etag"/>
- <function name="g_file_io_stream_query_info ()" link="GFileIOStream.html#g-file-io-stream-query-info"/>
- <function name="g_file_io_stream_query_info_async ()" link="GFileIOStream.html#g-file-io-stream-query-info-async"/>
- <function name="g_file_io_stream_query_info_finish ()" link="GFileIOStream.html#g-file-io-stream-query-info-finish"/>
- <function name="GFileDescriptorBased" link="GFileDescriptorBased.html#GFileDescriptorBased-struct"/>
- <function name="g_file_descriptor_based_get_fd ()" link="GFileDescriptorBased.html#g-file-descriptor-based-get-fd"/>
- <function name="GFilterInputStream" link="GFilterInputStream.html#GFilterInputStream-struct"/>
- <function name="g_filter_input_stream_get_base_stream ()" link="GFilterInputStream.html#g-filter-input-stream-get-base-stream"/>
- <function name="g_filter_input_stream_get_close_base_stream ()" link="GFilterInputStream.html#g-filter-input-stream-get-close-base-stream"/>
- <function name="g_filter_input_stream_set_close_base_stream ()" link="GFilterInputStream.html#g-filter-input-stream-set-close-base-stream"/>
- <function name="The "base-stream" property" link="GFilterInputStream.html#GFilterInputStream--base-stream"/>
- <function name="The "close-base-stream" property" link="GFilterInputStream.html#GFilterInputStream--close-base-stream"/>
- <function name="GFilterOutputStream" link="GFilterOutputStream.html#GFilterOutputStream-struct"/>
- <function name="g_filter_output_stream_get_base_stream ()" link="GFilterOutputStream.html#g-filter-output-stream-get-base-stream"/>
- <function name="g_filter_output_stream_get_close_base_stream ()" link="GFilterOutputStream.html#g-filter-output-stream-get-close-base-stream"/>
- <function name="g_filter_output_stream_set_close_base_stream ()" link="GFilterOutputStream.html#g-filter-output-stream-set-close-base-stream"/>
- <function name="The "base-stream" property" link="GFilterOutputStream.html#GFilterOutputStream--base-stream"/>
- <function name="The "close-base-stream" property" link="GFilterOutputStream.html#GFilterOutputStream--close-base-stream"/>
- <function name="GMemoryInputStream" link="GMemoryInputStream.html#GMemoryInputStream-struct"/>
- <function name="g_memory_input_stream_new ()" link="GMemoryInputStream.html#g-memory-input-stream-new"/>
- <function name="g_memory_input_stream_new_from_data ()" link="GMemoryInputStream.html#g-memory-input-stream-new-from-data"/>
- <function name="g_memory_input_stream_add_data ()" link="GMemoryInputStream.html#g-memory-input-stream-add-data"/>
- <function name="GReallocFunc ()" link="GMemoryOutputStream.html#GReallocFunc"/>
- <function name="GMemoryOutputStream" link="GMemoryOutputStream.html#GMemoryOutputStream-struct"/>
- <function name="g_memory_output_stream_new ()" link="GMemoryOutputStream.html#g-memory-output-stream-new"/>
- <function name="g_memory_output_stream_get_data ()" link="GMemoryOutputStream.html#g-memory-output-stream-get-data"/>
- <function name="g_memory_output_stream_get_size ()" link="GMemoryOutputStream.html#g-memory-output-stream-get-size"/>
- <function name="g_memory_output_stream_get_data_size ()" link="GMemoryOutputStream.html#g-memory-output-stream-get-data-size"/>
- <function name="The "data" property" link="GMemoryOutputStream.html#GMemoryOutputStream--data"/>
- <function name="The "data-size" property" link="GMemoryOutputStream.html#GMemoryOutputStream--data-size"/>
- <function name="The "destroy-function" property" link="GMemoryOutputStream.html#GMemoryOutputStream--destroy-function"/>
- <function name="The "realloc-function" property" link="GMemoryOutputStream.html#GMemoryOutputStream--realloc-function"/>
- <function name="The "size" property" link="GMemoryOutputStream.html#GMemoryOutputStream--size"/>
- <function name="GBufferedInputStream" link="GBufferedInputStream.html#GBufferedInputStream-struct"/>
- <function name="g_buffered_input_stream_new ()" link="GBufferedInputStream.html#g-buffered-input-stream-new"/>
- <function name="g_buffered_input_stream_new_sized ()" link="GBufferedInputStream.html#g-buffered-input-stream-new-sized"/>
- <function name="g_buffered_input_stream_get_buffer_size ()" link="GBufferedInputStream.html#g-buffered-input-stream-get-buffer-size"/>
- <function name="g_buffered_input_stream_set_buffer_size ()" link="GBufferedInputStream.html#g-buffered-input-stream-set-buffer-size"/>
- <function name="g_buffered_input_stream_get_available ()" link="GBufferedInputStream.html#g-buffered-input-stream-get-available"/>
- <function name="g_buffered_input_stream_peek_buffer ()" link="GBufferedInputStream.html#g-buffered-input-stream-peek-buffer"/>
- <function name="g_buffered_input_stream_peek ()" link="GBufferedInputStream.html#g-buffered-input-stream-peek"/>
- <function name="g_buffered_input_stream_fill ()" link="GBufferedInputStream.html#g-buffered-input-stream-fill"/>
- <function name="g_buffered_input_stream_fill_async ()" link="GBufferedInputStream.html#g-buffered-input-stream-fill-async"/>
- <function name="g_buffered_input_stream_fill_finish ()" link="GBufferedInputStream.html#g-buffered-input-stream-fill-finish"/>
- <function name="g_buffered_input_stream_read_byte ()" link="GBufferedInputStream.html#g-buffered-input-stream-read-byte"/>
- <function name="The "buffer-size" property" link="GBufferedInputStream.html#GBufferedInputStream--buffer-size"/>
- <function name="GBufferedOutputStream" link="GBufferedOutputStream.html#GBufferedOutputStream-struct"/>
- <function name="g_buffered_output_stream_new ()" link="GBufferedOutputStream.html#g-buffered-output-stream-new"/>
- <function name="g_buffered_output_stream_new_sized ()" link="GBufferedOutputStream.html#g-buffered-output-stream-new-sized"/>
- <function name="g_buffered_output_stream_get_buffer_size ()" link="GBufferedOutputStream.html#g-buffered-output-stream-get-buffer-size"/>
- <function name="g_buffered_output_stream_set_buffer_size ()" link="GBufferedOutputStream.html#g-buffered-output-stream-set-buffer-size"/>
- <function name="g_buffered_output_stream_get_auto_grow ()" link="GBufferedOutputStream.html#g-buffered-output-stream-get-auto-grow"/>
- <function name="g_buffered_output_stream_set_auto_grow ()" link="GBufferedOutputStream.html#g-buffered-output-stream-set-auto-grow"/>
- <function name="The "auto-grow" property" link="GBufferedOutputStream.html#GBufferedOutputStream--auto-grow"/>
- <function name="The "buffer-size" property" link="GBufferedOutputStream.html#GBufferedOutputStream--buffer-size"/>
- <function name="GDataInputStream" link="GDataInputStream.html#GDataInputStream-struct"/>
- <function name="enum GDataStreamByteOrder" link="GDataInputStream.html#GDataStreamByteOrder"/>
- <function name="enum GDataStreamNewlineType" link="GDataInputStream.html#GDataStreamNewlineType"/>
- <function name="g_data_input_stream_new ()" link="GDataInputStream.html#g-data-input-stream-new"/>
- <function name="g_data_input_stream_set_byte_order ()" link="GDataInputStream.html#g-data-input-stream-set-byte-order"/>
- <function name="g_data_input_stream_get_byte_order ()" link="GDataInputStream.html#g-data-input-stream-get-byte-order"/>
- <function name="g_data_input_stream_set_newline_type ()" link="GDataInputStream.html#g-data-input-stream-set-newline-type"/>
- <function name="g_data_input_stream_get_newline_type ()" link="GDataInputStream.html#g-data-input-stream-get-newline-type"/>
- <function name="g_data_input_stream_read_byte ()" link="GDataInputStream.html#g-data-input-stream-read-byte"/>
- <function name="g_data_input_stream_read_int16 ()" link="GDataInputStream.html#g-data-input-stream-read-int16"/>
- <function name="g_data_input_stream_read_uint16 ()" link="GDataInputStream.html#g-data-input-stream-read-uint16"/>
- <function name="g_data_input_stream_read_int32 ()" link="GDataInputStream.html#g-data-input-stream-read-int32"/>
- <function name="g_data_input_stream_read_uint32 ()" link="GDataInputStream.html#g-data-input-stream-read-uint32"/>
- <function name="g_data_input_stream_read_int64 ()" link="GDataInputStream.html#g-data-input-stream-read-int64"/>
- <function name="g_data_input_stream_read_uint64 ()" link="GDataInputStream.html#g-data-input-stream-read-uint64"/>
- <function name="g_data_input_stream_read_line ()" link="GDataInputStream.html#g-data-input-stream-read-line"/>
- <function name="g_data_input_stream_read_line_async ()" link="GDataInputStream.html#g-data-input-stream-read-line-async"/>
- <function name="g_data_input_stream_read_line_finish ()" link="GDataInputStream.html#g-data-input-stream-read-line-finish"/>
- <function name="g_data_input_stream_read_until ()" link="GDataInputStream.html#g-data-input-stream-read-until"/>
- <function name="g_data_input_stream_read_until_async ()" link="GDataInputStream.html#g-data-input-stream-read-until-async"/>
- <function name="g_data_input_stream_read_until_finish ()" link="GDataInputStream.html#g-data-input-stream-read-until-finish"/>
- <function name="The "byte-order" property" link="GDataInputStream.html#GDataInputStream--byte-order"/>
- <function name="The "newline-type" property" link="GDataInputStream.html#GDataInputStream--newline-type"/>
- <function name="GDataOutputStream" link="GDataOutputStream.html#GDataOutputStream-struct"/>
- <function name="g_data_output_stream_new ()" link="GDataOutputStream.html#g-data-output-stream-new"/>
- <function name="g_data_output_stream_set_byte_order ()" link="GDataOutputStream.html#g-data-output-stream-set-byte-order"/>
- <function name="g_data_output_stream_get_byte_order ()" link="GDataOutputStream.html#g-data-output-stream-get-byte-order"/>
- <function name="g_data_output_stream_put_byte ()" link="GDataOutputStream.html#g-data-output-stream-put-byte"/>
- <function name="g_data_output_stream_put_int16 ()" link="GDataOutputStream.html#g-data-output-stream-put-int16"/>
- <function name="g_data_output_stream_put_uint16 ()" link="GDataOutputStream.html#g-data-output-stream-put-uint16"/>
- <function name="g_data_output_stream_put_int32 ()" link="GDataOutputStream.html#g-data-output-stream-put-int32"/>
- <function name="g_data_output_stream_put_uint32 ()" link="GDataOutputStream.html#g-data-output-stream-put-uint32"/>
- <function name="g_data_output_stream_put_int64 ()" link="GDataOutputStream.html#g-data-output-stream-put-int64"/>
- <function name="g_data_output_stream_put_uint64 ()" link="GDataOutputStream.html#g-data-output-stream-put-uint64"/>
- <function name="g_data_output_stream_put_string ()" link="GDataOutputStream.html#g-data-output-stream-put-string"/>
- <function name="The "byte-order" property" link="GDataOutputStream.html#GDataOutputStream--byte-order"/>
- <function name="GUnixInputStream" link="GUnixInputStream.html#GUnixInputStream-struct"/>
- <function name="g_unix_input_stream_new ()" link="GUnixInputStream.html#g-unix-input-stream-new"/>
- <function name="g_unix_input_stream_set_close_fd ()" link="GUnixInputStream.html#g-unix-input-stream-set-close-fd"/>
- <function name="g_unix_input_stream_get_close_fd ()" link="GUnixInputStream.html#g-unix-input-stream-get-close-fd"/>
- <function name="g_unix_input_stream_get_fd ()" link="GUnixInputStream.html#g-unix-input-stream-get-fd"/>
- <function name="The "close-fd" property" link="GUnixInputStream.html#GUnixInputStream--close-fd"/>
- <function name="The "fd" property" link="GUnixInputStream.html#GUnixInputStream--fd"/>
- <function name="GUnixOutputStream" link="GUnixOutputStream.html#GUnixOutputStream-struct"/>
- <function name="g_unix_output_stream_new ()" link="GUnixOutputStream.html#g-unix-output-stream-new"/>
- <function name="g_unix_output_stream_set_close_fd ()" link="GUnixOutputStream.html#g-unix-output-stream-set-close-fd"/>
- <function name="g_unix_output_stream_get_close_fd ()" link="GUnixOutputStream.html#g-unix-output-stream-get-close-fd"/>
- <function name="g_unix_output_stream_get_fd ()" link="GUnixOutputStream.html#g-unix-output-stream-get-fd"/>
- <function name="The "close-fd" property" link="GUnixOutputStream.html#GUnixOutputStream--close-fd"/>
- <function name="The "fd" property" link="GUnixOutputStream.html#GUnixOutputStream--fd"/>
- <function name="GConverterInputStream" link="gio-GConverterInputstream.html#GConverterInputStream-struct"/>
- <function name="g_converter_input_stream_new ()" link="gio-GConverterInputstream.html#g-converter-input-stream-new"/>
- <function name="g_converter_input_stream_get_converter ()" link="gio-GConverterInputstream.html#g-converter-input-stream-get-converter"/>
- <function name="The "converter" property" link="gio-GConverterInputstream.html#GConverterInputStream--converter"/>
- <function name="GConverterOutputStream" link="gio-GConverterOutputstream.html#GConverterOutputStream-struct"/>
- <function name="g_converter_output_stream_new ()" link="gio-GConverterOutputstream.html#g-converter-output-stream-new"/>
- <function name="g_converter_output_stream_get_converter ()" link="gio-GConverterOutputstream.html#g-converter-output-stream-get-converter"/>
- <function name="The "converter" property" link="gio-GConverterOutputstream.html#GConverterOutputStream--converter"/>
- <function name="g_content_type_equals ()" link="gio-GContentType.html#g-content-type-equals"/>
- <function name="g_content_type_is_a ()" link="gio-GContentType.html#g-content-type-is-a"/>
- <function name="g_content_type_is_unknown ()" link="gio-GContentType.html#g-content-type-is-unknown"/>
- <function name="g_content_type_get_description ()" link="gio-GContentType.html#g-content-type-get-description"/>
- <function name="g_content_type_get_mime_type ()" link="gio-GContentType.html#g-content-type-get-mime-type"/>
- <function name="g_content_type_get_icon ()" link="gio-GContentType.html#g-content-type-get-icon"/>
- <function name="g_content_type_can_be_executable ()" link="gio-GContentType.html#g-content-type-can-be-executable"/>
- <function name="g_content_type_from_mime_type ()" link="gio-GContentType.html#g-content-type-from-mime-type"/>
- <function name="g_content_type_guess ()" link="gio-GContentType.html#g-content-type-guess"/>
- <function name="g_content_type_guess_for_tree ()" link="gio-GContentType.html#g-content-type-guess-for-tree"/>
- <function name="g_content_types_get_registered ()" link="gio-GContentType.html#g-content-types-get-registered"/>
- <function name="enum GAppInfoCreateFlags" link="GAppInfo.html#GAppInfoCreateFlags"/>
- <function name="GAppInfo" link="GAppInfo.html#GAppInfo-struct"/>
- <function name="GAppInfoIface" link="GAppInfo.html#GAppInfoIface"/>
- <function name="GAppLaunchContext" link="GAppInfo.html#GAppLaunchContext-struct"/>
- <function name="g_app_info_create_from_commandline ()" link="GAppInfo.html#g-app-info-create-from-commandline"/>
- <function name="g_app_info_dup ()" link="GAppInfo.html#g-app-info-dup"/>
- <function name="g_app_info_equal ()" link="GAppInfo.html#g-app-info-equal"/>
- <function name="g_app_info_get_id ()" link="GAppInfo.html#g-app-info-get-id"/>
- <function name="g_app_info_get_name ()" link="GAppInfo.html#g-app-info-get-name"/>
- <function name="g_app_info_get_display_name ()" link="GAppInfo.html#g-app-info-get-display-name"/>
- <function name="g_app_info_get_description ()" link="GAppInfo.html#g-app-info-get-description"/>
- <function name="g_app_info_get_executable ()" link="GAppInfo.html#g-app-info-get-executable"/>
- <function name="g_app_info_get_commandline ()" link="GAppInfo.html#g-app-info-get-commandline"/>
- <function name="g_app_info_get_icon ()" link="GAppInfo.html#g-app-info-get-icon"/>
- <function name="g_app_info_launch ()" link="GAppInfo.html#g-app-info-launch"/>
- <function name="g_app_info_supports_files ()" link="GAppInfo.html#g-app-info-supports-files"/>
- <function name="g_app_info_supports_uris ()" link="GAppInfo.html#g-app-info-supports-uris"/>
- <function name="g_app_info_launch_uris ()" link="GAppInfo.html#g-app-info-launch-uris"/>
- <function name="g_app_info_should_show ()" link="GAppInfo.html#g-app-info-should-show"/>
- <function name="g_app_info_can_delete ()" link="GAppInfo.html#g-app-info-can-delete"/>
- <function name="g_app_info_delete ()" link="GAppInfo.html#g-app-info-delete"/>
- <function name="g_app_info_reset_type_associations ()" link="GAppInfo.html#g-app-info-reset-type-associations"/>
- <function name="g_app_info_set_as_default_for_type ()" link="GAppInfo.html#g-app-info-set-as-default-for-type"/>
- <function name="g_app_info_set_as_default_for_extension ()" link="GAppInfo.html#g-app-info-set-as-default-for-extension"/>
- <function name="g_app_info_add_supports_type ()" link="GAppInfo.html#g-app-info-add-supports-type"/>
- <function name="g_app_info_can_remove_supports_type ()" link="GAppInfo.html#g-app-info-can-remove-supports-type"/>
- <function name="g_app_info_remove_supports_type ()" link="GAppInfo.html#g-app-info-remove-supports-type"/>
- <function name="g_app_info_get_all ()" link="GAppInfo.html#g-app-info-get-all"/>
- <function name="g_app_info_get_all_for_type ()" link="GAppInfo.html#g-app-info-get-all-for-type"/>
- <function name="g_app_info_get_default_for_type ()" link="GAppInfo.html#g-app-info-get-default-for-type"/>
- <function name="g_app_info_get_default_for_uri_scheme ()" link="GAppInfo.html#g-app-info-get-default-for-uri-scheme"/>
- <function name="g_app_info_launch_default_for_uri ()" link="GAppInfo.html#g-app-info-launch-default-for-uri"/>
- <function name="g_app_launch_context_get_display ()" link="GAppInfo.html#g-app-launch-context-get-display"/>
- <function name="g_app_launch_context_get_startup_notify_id ()" link="GAppInfo.html#g-app-launch-context-get-startup-notify-id"/>
- <function name="g_app_launch_context_launch_failed ()" link="GAppInfo.html#g-app-launch-context-launch-failed"/>
- <function name="g_app_launch_context_new ()" link="GAppInfo.html#g-app-launch-context-new"/>
- <function name="GDesktopAppInfo" link="gio-Desktop-file-based-GAppInfo.html#GDesktopAppInfo-struct"/>
- <function name="g_desktop_app_info_new_from_filename ()" link="gio-Desktop-file-based-GAppInfo.html#g-desktop-app-info-new-from-filename"/>
- <function name="g_desktop_app_info_new_from_keyfile ()" link="gio-Desktop-file-based-GAppInfo.html#g-desktop-app-info-new-from-keyfile"/>
- <function name="g_desktop_app_info_new ()" link="gio-Desktop-file-based-GAppInfo.html#g-desktop-app-info-new"/>
- <function name="g_desktop_app_info_get_filename ()" link="gio-Desktop-file-based-GAppInfo.html#g-desktop-app-info-get-filename"/>
- <function name="g_desktop_app_info_get_is_hidden ()" link="gio-Desktop-file-based-GAppInfo.html#g-desktop-app-info-get-is-hidden"/>
- <function name="g_desktop_app_info_set_desktop_env ()" link="gio-Desktop-file-based-GAppInfo.html#g-desktop-app-info-set-desktop-env"/>
- <function name="GDesktopAppInfoLookup" link="gio-Desktop-file-based-GAppInfo.html#GDesktopAppInfoLookup-struct"/>
- <function name="G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME" link="gio-Desktop-file-based-GAppInfo.html#G-DESKTOP-APP-INFO-LOOKUP-EXTENSION-POINT-NAME:CAPS"/>
- <function name="g_desktop_app_info_lookup_get_default_for_uri_scheme ()" link="gio-Desktop-file-based-GAppInfo.html#g-desktop-app-info-lookup-get-default-for-uri-scheme"/>
- <function name="GVolumeMonitor" link="GVolumeMonitor.html#GVolumeMonitor-struct"/>
- <function name="G_VOLUME_MONITOR_EXTENSION_POINT_NAME" link="GVolumeMonitor.html#G-VOLUME-MONITOR-EXTENSION-POINT-NAME:CAPS"/>
- <function name="g_volume_monitor_get ()" link="GVolumeMonitor.html#g-volume-monitor-get"/>
- <function name="g_volume_monitor_get_connected_drives ()" link="GVolumeMonitor.html#g-volume-monitor-get-connected-drives"/>
- <function name="g_volume_monitor_get_volumes ()" link="GVolumeMonitor.html#g-volume-monitor-get-volumes"/>
- <function name="g_volume_monitor_get_mounts ()" link="GVolumeMonitor.html#g-volume-monitor-get-mounts"/>
- <function name="g_volume_monitor_adopt_orphan_mount ()" link="GVolumeMonitor.html#g-volume-monitor-adopt-orphan-mount"/>
- <function name="g_volume_monitor_get_mount_for_uuid ()" link="GVolumeMonitor.html#g-volume-monitor-get-mount-for-uuid"/>
- <function name="g_volume_monitor_get_volume_for_uuid ()" link="GVolumeMonitor.html#g-volume-monitor-get-volume-for-uuid"/>
- <function name="The "drive-changed" signal" link="GVolumeMonitor.html#GVolumeMonitor-drive-changed"/>
- <function name="The "drive-connected" signal" link="GVolumeMonitor.html#GVolumeMonitor-drive-connected"/>
- <function name="The "drive-disconnected" signal" link="GVolumeMonitor.html#GVolumeMonitor-drive-disconnected"/>
- <function name="The "drive-eject-button" signal" link="GVolumeMonitor.html#GVolumeMonitor-drive-eject-button"/>
- <function name="The "drive-stop-button" signal" link="GVolumeMonitor.html#GVolumeMonitor-drive-stop-button"/>
- <function name="The "mount-added" signal" link="GVolumeMonitor.html#GVolumeMonitor-mount-added"/>
- <function name="The "mount-changed" signal" link="GVolumeMonitor.html#GVolumeMonitor-mount-changed"/>
- <function name="The "mount-pre-unmount" signal" link="GVolumeMonitor.html#GVolumeMonitor-mount-pre-unmount"/>
- <function name="The "mount-removed" signal" link="GVolumeMonitor.html#GVolumeMonitor-mount-removed"/>
- <function name="The "volume-added" signal" link="GVolumeMonitor.html#GVolumeMonitor-volume-added"/>
- <function name="The "volume-changed" signal" link="GVolumeMonitor.html#GVolumeMonitor-volume-changed"/>
- <function name="The "volume-removed" signal" link="GVolumeMonitor.html#GVolumeMonitor-volume-removed"/>
- <function name="GVolume" link="GVolume.html#GVolume-struct"/>
- <function name="GVolumeIface" link="GVolume.html#GVolumeIface"/>
- <function name="g_volume_get_name ()" link="GVolume.html#g-volume-get-name"/>
- <function name="g_volume_get_uuid ()" link="GVolume.html#g-volume-get-uuid"/>
- <function name="g_volume_get_icon ()" link="GVolume.html#g-volume-get-icon"/>
- <function name="g_volume_get_drive ()" link="GVolume.html#g-volume-get-drive"/>
- <function name="g_volume_get_mount ()" link="GVolume.html#g-volume-get-mount"/>
- <function name="g_volume_can_mount ()" link="GVolume.html#g-volume-can-mount"/>
- <function name="g_volume_should_automount ()" link="GVolume.html#g-volume-should-automount"/>
- <function name="g_volume_get_activation_root ()" link="GVolume.html#g-volume-get-activation-root"/>
- <function name="g_volume_mount ()" link="GVolume.html#g-volume-mount"/>
- <function name="g_volume_mount_finish ()" link="GVolume.html#g-volume-mount-finish"/>
- <function name="g_volume_can_eject ()" link="GVolume.html#g-volume-can-eject"/>
- <function name="g_volume_eject ()" link="GVolume.html#g-volume-eject"/>
- <function name="g_volume_eject_finish ()" link="GVolume.html#g-volume-eject-finish"/>
- <function name="g_volume_eject_with_operation ()" link="GVolume.html#g-volume-eject-with-operation"/>
- <function name="g_volume_eject_with_operation_finish ()" link="GVolume.html#g-volume-eject-with-operation-finish"/>
- <function name="G_VOLUME_IDENTIFIER_KIND_HAL_UDI" link="GVolume.html#G-VOLUME-IDENTIFIER-KIND-HAL-UDI:CAPS"/>
- <function name="G_VOLUME_IDENTIFIER_KIND_LABEL" link="GVolume.html#G-VOLUME-IDENTIFIER-KIND-LABEL:CAPS"/>
- <function name="G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT" link="GVolume.html#G-VOLUME-IDENTIFIER-KIND-NFS-MOUNT:CAPS"/>
- <function name="G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE" link="GVolume.html#G-VOLUME-IDENTIFIER-KIND-UNIX-DEVICE:CAPS"/>
- <function name="G_VOLUME_IDENTIFIER_KIND_UUID" link="GVolume.html#G-VOLUME-IDENTIFIER-KIND-UUID:CAPS"/>
- <function name="g_volume_enumerate_identifiers ()" link="GVolume.html#g-volume-enumerate-identifiers"/>
- <function name="g_volume_get_identifier ()" link="GVolume.html#g-volume-get-identifier"/>
- <function name="The "changed" signal" link="GVolume.html#GVolume-changed"/>
- <function name="The "removed" signal" link="GVolume.html#GVolume-removed"/>
- <function name="GMount" link="GMount.html#GMount-struct"/>
- <function name="GMountIface" link="GMount.html#GMountIface"/>
- <function name="g_mount_get_name ()" link="GMount.html#g-mount-get-name"/>
- <function name="g_mount_get_uuid ()" link="GMount.html#g-mount-get-uuid"/>
- <function name="g_mount_get_icon ()" link="GMount.html#g-mount-get-icon"/>
- <function name="g_mount_get_drive ()" link="GMount.html#g-mount-get-drive"/>
- <function name="g_mount_get_root ()" link="GMount.html#g-mount-get-root"/>
- <function name="g_mount_get_volume ()" link="GMount.html#g-mount-get-volume"/>
- <function name="g_mount_get_default_location ()" link="GMount.html#g-mount-get-default-location"/>
- <function name="g_mount_can_unmount ()" link="GMount.html#g-mount-can-unmount"/>
- <function name="enum GMountMountFlags" link="GMount.html#GMountMountFlags"/>
- <function name="enum GMountUnmountFlags" link="GMount.html#GMountUnmountFlags"/>
- <function name="g_mount_unmount ()" link="GMount.html#g-mount-unmount"/>
- <function name="g_mount_unmount_finish ()" link="GMount.html#g-mount-unmount-finish"/>
- <function name="g_mount_unmount_with_operation ()" link="GMount.html#g-mount-unmount-with-operation"/>
- <function name="g_mount_unmount_with_operation_finish ()" link="GMount.html#g-mount-unmount-with-operation-finish"/>
- <function name="g_mount_remount ()" link="GMount.html#g-mount-remount"/>
- <function name="g_mount_remount_finish ()" link="GMount.html#g-mount-remount-finish"/>
- <function name="g_mount_can_eject ()" link="GMount.html#g-mount-can-eject"/>
- <function name="g_mount_eject ()" link="GMount.html#g-mount-eject"/>
- <function name="g_mount_eject_finish ()" link="GMount.html#g-mount-eject-finish"/>
- <function name="g_mount_eject_with_operation ()" link="GMount.html#g-mount-eject-with-operation"/>
- <function name="g_mount_eject_with_operation_finish ()" link="GMount.html#g-mount-eject-with-operation-finish"/>
- <function name="g_mount_guess_content_type ()" link="GMount.html#g-mount-guess-content-type"/>
- <function name="g_mount_guess_content_type_finish ()" link="GMount.html#g-mount-guess-content-type-finish"/>
- <function name="g_mount_guess_content_type_sync ()" link="GMount.html#g-mount-guess-content-type-sync"/>
- <function name="g_mount_is_shadowed ()" link="GMount.html#g-mount-is-shadowed"/>
- <function name="g_mount_shadow ()" link="GMount.html#g-mount-shadow"/>
- <function name="g_mount_unshadow ()" link="GMount.html#g-mount-unshadow"/>
- <function name="The "changed" signal" link="GMount.html#GMount-changed"/>
- <function name="The "pre-unmount" signal" link="GMount.html#GMount-pre-unmount"/>
- <function name="The "unmounted" signal" link="GMount.html#GMount-unmounted"/>
- <function name="GDrive" link="GDrive.html#GDrive-struct"/>
- <function name="GDriveIface" link="GDrive.html#GDriveIface"/>
- <function name="enum GDriveStartFlags" link="GDrive.html#GDriveStartFlags"/>
- <function name="enum GDriveStartStopType" link="GDrive.html#GDriveStartStopType"/>
- <function name="g_drive_get_name ()" link="GDrive.html#g-drive-get-name"/>
- <function name="g_drive_get_icon ()" link="GDrive.html#g-drive-get-icon"/>
- <function name="g_drive_has_volumes ()" link="GDrive.html#g-drive-has-volumes"/>
- <function name="g_drive_get_volumes ()" link="GDrive.html#g-drive-get-volumes"/>
- <function name="g_drive_can_eject ()" link="GDrive.html#g-drive-can-eject"/>
- <function name="g_drive_get_start_stop_type ()" link="GDrive.html#g-drive-get-start-stop-type"/>
- <function name="g_drive_can_start ()" link="GDrive.html#g-drive-can-start"/>
- <function name="g_drive_can_start_degraded ()" link="GDrive.html#g-drive-can-start-degraded"/>
- <function name="g_drive_can_stop ()" link="GDrive.html#g-drive-can-stop"/>
- <function name="g_drive_can_poll_for_media ()" link="GDrive.html#g-drive-can-poll-for-media"/>
- <function name="g_drive_poll_for_media ()" link="GDrive.html#g-drive-poll-for-media"/>
- <function name="g_drive_poll_for_media_finish ()" link="GDrive.html#g-drive-poll-for-media-finish"/>
- <function name="g_drive_has_media ()" link="GDrive.html#g-drive-has-media"/>
- <function name="g_drive_is_media_check_automatic ()" link="GDrive.html#g-drive-is-media-check-automatic"/>
- <function name="g_drive_is_media_removable ()" link="GDrive.html#g-drive-is-media-removable"/>
- <function name="g_drive_eject ()" link="GDrive.html#g-drive-eject"/>
- <function name="g_drive_eject_finish ()" link="GDrive.html#g-drive-eject-finish"/>
- <function name="g_drive_eject_with_operation ()" link="GDrive.html#g-drive-eject-with-operation"/>
- <function name="g_drive_eject_with_operation_finish ()" link="GDrive.html#g-drive-eject-with-operation-finish"/>
- <function name="g_drive_start ()" link="GDrive.html#g-drive-start"/>
- <function name="g_drive_start_finish ()" link="GDrive.html#g-drive-start-finish"/>
- <function name="g_drive_stop ()" link="GDrive.html#g-drive-stop"/>
- <function name="g_drive_stop_finish ()" link="GDrive.html#g-drive-stop-finish"/>
- <function name="g_drive_enumerate_identifiers ()" link="GDrive.html#g-drive-enumerate-identifiers"/>
- <function name="g_drive_get_identifier ()" link="GDrive.html#g-drive-get-identifier"/>
- <function name="The "changed" signal" link="GDrive.html#GDrive-changed"/>
- <function name="The "disconnected" signal" link="GDrive.html#GDrive-disconnected"/>
- <function name="The "eject-button" signal" link="GDrive.html#GDrive-eject-button"/>
- <function name="The "stop-button" signal" link="GDrive.html#GDrive-stop-button"/>
- <function name="GUnixMount" link="gio-Unix-Mounts.html#GUnixMount"/>
- <function name="GUnixMountPoint" link="gio-Unix-Mounts.html#GUnixMountPoint"/>
- <function name="GUnixMountEntry" link="gio-Unix-Mounts.html#GUnixMountEntry"/>
- <function name="GUnixMountMonitor" link="gio-Unix-Mounts.html#GUnixMountMonitor-struct"/>
- <function name="g_unix_mount_free ()" link="gio-Unix-Mounts.html#g-unix-mount-free"/>
- <function name="g_unix_mount_compare ()" link="gio-Unix-Mounts.html#g-unix-mount-compare"/>
- <function name="g_unix_mount_get_mount_path ()" link="gio-Unix-Mounts.html#g-unix-mount-get-mount-path"/>
- <function name="g_unix_mount_get_device_path ()" link="gio-Unix-Mounts.html#g-unix-mount-get-device-path"/>
- <function name="g_unix_mount_get_fs_type ()" link="gio-Unix-Mounts.html#g-unix-mount-get-fs-type"/>
- <function name="g_unix_mount_is_readonly ()" link="gio-Unix-Mounts.html#g-unix-mount-is-readonly"/>
- <function name="g_unix_mount_is_system_internal ()" link="gio-Unix-Mounts.html#g-unix-mount-is-system-internal"/>
- <function name="g_unix_mount_guess_icon ()" link="gio-Unix-Mounts.html#g-unix-mount-guess-icon"/>
- <function name="g_unix_mount_guess_name ()" link="gio-Unix-Mounts.html#g-unix-mount-guess-name"/>
- <function name="g_unix_mount_guess_can_eject ()" link="gio-Unix-Mounts.html#g-unix-mount-guess-can-eject"/>
- <function name="g_unix_mount_guess_should_display ()" link="gio-Unix-Mounts.html#g-unix-mount-guess-should-display"/>
- <function name="g_unix_mount_point_free ()" link="gio-Unix-Mounts.html#g-unix-mount-point-free"/>
- <function name="g_unix_mount_point_compare ()" link="gio-Unix-Mounts.html#g-unix-mount-point-compare"/>
- <function name="g_unix_mount_point_get_mount_path ()" link="gio-Unix-Mounts.html#g-unix-mount-point-get-mount-path"/>
- <function name="g_unix_mount_point_get_device_path ()" link="gio-Unix-Mounts.html#g-unix-mount-point-get-device-path"/>
- <function name="g_unix_mount_point_get_fs_type ()" link="gio-Unix-Mounts.html#g-unix-mount-point-get-fs-type"/>
- <function name="g_unix_mount_point_is_readonly ()" link="gio-Unix-Mounts.html#g-unix-mount-point-is-readonly"/>
- <function name="g_unix_mount_point_is_user_mountable ()" link="gio-Unix-Mounts.html#g-unix-mount-point-is-user-mountable"/>
- <function name="g_unix_mount_point_is_loopback ()" link="gio-Unix-Mounts.html#g-unix-mount-point-is-loopback"/>
- <function name="g_unix_mount_point_guess_icon ()" link="gio-Unix-Mounts.html#g-unix-mount-point-guess-icon"/>
- <function name="g_unix_mount_point_guess_name ()" link="gio-Unix-Mounts.html#g-unix-mount-point-guess-name"/>
- <function name="g_unix_mount_point_guess_can_eject ()" link="gio-Unix-Mounts.html#g-unix-mount-point-guess-can-eject"/>
- <function name="g_unix_mount_points_get ()" link="gio-Unix-Mounts.html#g-unix-mount-points-get"/>
- <function name="g_unix_mounts_get ()" link="gio-Unix-Mounts.html#g-unix-mounts-get"/>
- <function name="g_unix_mount_at ()" link="gio-Unix-Mounts.html#g-unix-mount-at"/>
- <function name="g_unix_mounts_changed_since ()" link="gio-Unix-Mounts.html#g-unix-mounts-changed-since"/>
- <function name="g_unix_mount_points_changed_since ()" link="gio-Unix-Mounts.html#g-unix-mount-points-changed-since"/>
- <function name="g_unix_mount_monitor_new ()" link="gio-Unix-Mounts.html#g-unix-mount-monitor-new"/>
- <function name="g_unix_mount_monitor_set_rate_limit ()" link="gio-Unix-Mounts.html#g-unix-mount-monitor-set-rate-limit"/>
- <function name="g_unix_is_mount_path_system_internal ()" link="gio-Unix-Mounts.html#g-unix-is-mount-path-system-internal"/>
- <function name="The "mountpoints-changed" signal" link="gio-Unix-Mounts.html#GUnixMountMonitor-mountpoints-changed"/>
- <function name="The "mounts-changed" signal" link="gio-Unix-Mounts.html#GUnixMountMonitor-mounts-changed"/>
- <function name="GIcon" link="GIcon.html#GIcon-struct"/>
- <function name="GIconIface" link="GIcon.html#GIconIface"/>
- <function name="g_icon_hash ()" link="GIcon.html#g-icon-hash"/>
- <function name="g_icon_equal ()" link="GIcon.html#g-icon-equal"/>
- <function name="g_icon_to_string ()" link="GIcon.html#g-icon-to-string"/>
- <function name="g_icon_new_for_string ()" link="GIcon.html#g-icon-new-for-string"/>
- <function name="GFileIcon" link="GFileIcon.html#GFileIcon-struct"/>
- <function name="g_file_icon_new ()" link="GFileIcon.html#g-file-icon-new"/>
- <function name="g_file_icon_get_file ()" link="GFileIcon.html#g-file-icon-get-file"/>
- <function name="The "file" property" link="GFileIcon.html#GFileIcon--file"/>
- <function name="GLoadableIcon" link="GLoadableIcon.html#GLoadableIcon-struct"/>
- <function name="GLoadableIconIface" link="GLoadableIcon.html#GLoadableIconIface"/>
- <function name="g_loadable_icon_load ()" link="GLoadableIcon.html#g-loadable-icon-load"/>
- <function name="g_loadable_icon_load_async ()" link="GLoadableIcon.html#g-loadable-icon-load-async"/>
- <function name="g_loadable_icon_load_finish ()" link="GLoadableIcon.html#g-loadable-icon-load-finish"/>
- <function name="GThemedIcon" link="GThemedIcon.html#GThemedIcon-struct"/>
- <function name="g_themed_icon_new ()" link="GThemedIcon.html#g-themed-icon-new"/>
- <function name="g_themed_icon_new_from_names ()" link="GThemedIcon.html#g-themed-icon-new-from-names"/>
- <function name="g_themed_icon_new_with_default_fallbacks ()" link="GThemedIcon.html#g-themed-icon-new-with-default-fallbacks"/>
- <function name="g_themed_icon_prepend_name ()" link="GThemedIcon.html#g-themed-icon-prepend-name"/>
- <function name="g_themed_icon_append_name ()" link="GThemedIcon.html#g-themed-icon-append-name"/>
- <function name="g_themed_icon_get_names ()" link="GThemedIcon.html#g-themed-icon-get-names"/>
- <function name="The "name" property" link="GThemedIcon.html#GThemedIcon--name"/>
- <function name="The "names" property" link="GThemedIcon.html#GThemedIcon--names"/>
- <function name="The "use-default-fallbacks" property" link="GThemedIcon.html#GThemedIcon--use-default-fallbacks"/>
- <function name="GEmblemedIcon" link="GEmblemedIcon.html#GEmblemedIcon-struct"/>
- <function name="g_emblemed_icon_new ()" link="GEmblemedIcon.html#g-emblemed-icon-new"/>
- <function name="g_emblemed_icon_get_icon ()" link="GEmblemedIcon.html#g-emblemed-icon-get-icon"/>
- <function name="g_emblemed_icon_get_emblems ()" link="GEmblemedIcon.html#g-emblemed-icon-get-emblems"/>
- <function name="g_emblemed_icon_add_emblem ()" link="GEmblemedIcon.html#g-emblemed-icon-add-emblem"/>
- <function name="GEmblem" link="GEmblem.html#GEmblem-struct"/>
- <function name="enum GEmblemOrigin" link="GEmblem.html#GEmblemOrigin"/>
- <function name="g_emblem_new ()" link="GEmblem.html#g-emblem-new"/>
- <function name="g_emblem_new_with_origin ()" link="GEmblem.html#g-emblem-new-with-origin"/>
- <function name="g_emblem_get_icon ()" link="GEmblem.html#g-emblem-get-icon"/>
- <function name="g_emblem_get_origin ()" link="GEmblem.html#g-emblem-get-origin"/>
- <function name="The "icon" property" link="GEmblem.html#GEmblem--icon"/>
- <function name="The "origin" property" link="GEmblem.html#GEmblem--origin"/>
- <function name="GInitable" link="GInitable.html#GInitable-struct"/>
- <function name="GInitableIface" link="GInitable.html#GInitableIface"/>
- <function name="g_initable_init ()" link="GInitable.html#g-initable-init"/>
- <function name="g_initable_new ()" link="GInitable.html#g-initable-new"/>
- <function name="g_initable_new_valist ()" link="GInitable.html#g-initable-new-valist"/>
- <function name="g_initable_newv ()" link="GInitable.html#g-initable-newv"/>
- <function name="GAsyncInitable" link="GAsyncInitable.html#GAsyncInitable-struct"/>
- <function name="GAsyncInitableIface" link="GAsyncInitable.html#GAsyncInitableIface"/>
- <function name="g_async_initable_init_async ()" link="GAsyncInitable.html#g-async-initable-init-async"/>
- <function name="g_async_initable_init_finish ()" link="GAsyncInitable.html#g-async-initable-init-finish"/>
- <function name="g_async_initable_new_async ()" link="GAsyncInitable.html#g-async-initable-new-async"/>
- <function name="g_async_initable_new_finish ()" link="GAsyncInitable.html#g-async-initable-new-finish"/>
- <function name="g_async_initable_new_valist_async ()" link="GAsyncInitable.html#g-async-initable-new-valist-async"/>
- <function name="g_async_initable_newv_async ()" link="GAsyncInitable.html#g-async-initable-newv-async"/>
- <function name="GSocket" link="GSocket.html#GSocket-struct"/>
- <function name="GSocketSourceFunc ()" link="GSocket.html#GSocketSourceFunc"/>
- <function name="enum GSocketType" link="GSocket.html#GSocketType"/>
- <function name="enum GSocketProtocol" link="GSocket.html#GSocketProtocol"/>
- <function name="enum GSocketMsgFlags" link="GSocket.html#GSocketMsgFlags"/>
- <function name="GInputVector" link="GSocket.html#GInputVector"/>
- <function name="GOutputVector" link="GSocket.html#GOutputVector"/>
- <function name="g_socket_new ()" link="GSocket.html#g-socket-new"/>
- <function name="g_socket_new_from_fd ()" link="GSocket.html#g-socket-new-from-fd"/>
- <function name="g_socket_bind ()" link="GSocket.html#g-socket-bind"/>
- <function name="g_socket_listen ()" link="GSocket.html#g-socket-listen"/>
- <function name="g_socket_accept ()" link="GSocket.html#g-socket-accept"/>
- <function name="g_socket_connect ()" link="GSocket.html#g-socket-connect"/>
- <function name="g_socket_check_connect_result ()" link="GSocket.html#g-socket-check-connect-result"/>
- <function name="g_socket_receive ()" link="GSocket.html#g-socket-receive"/>
- <function name="g_socket_receive_from ()" link="GSocket.html#g-socket-receive-from"/>
- <function name="g_socket_receive_message ()" link="GSocket.html#g-socket-receive-message"/>
- <function name="g_socket_send ()" link="GSocket.html#g-socket-send"/>
- <function name="g_socket_send_to ()" link="GSocket.html#g-socket-send-to"/>
- <function name="g_socket_send_message ()" link="GSocket.html#g-socket-send-message"/>
- <function name="g_socket_close ()" link="GSocket.html#g-socket-close"/>
- <function name="g_socket_is_closed ()" link="GSocket.html#g-socket-is-closed"/>
- <function name="g_socket_shutdown ()" link="GSocket.html#g-socket-shutdown"/>
- <function name="g_socket_is_connected ()" link="GSocket.html#g-socket-is-connected"/>
- <function name="g_socket_create_source ()" link="GSocket.html#g-socket-create-source"/>
- <function name="g_socket_condition_check ()" link="GSocket.html#g-socket-condition-check"/>
- <function name="g_socket_condition_wait ()" link="GSocket.html#g-socket-condition-wait"/>
- <function name="g_socket_set_listen_backlog ()" link="GSocket.html#g-socket-set-listen-backlog"/>
- <function name="g_socket_get_listen_backlog ()" link="GSocket.html#g-socket-get-listen-backlog"/>
- <function name="g_socket_get_blocking ()" link="GSocket.html#g-socket-get-blocking"/>
- <function name="g_socket_set_blocking ()" link="GSocket.html#g-socket-set-blocking"/>
- <function name="g_socket_get_keepalive ()" link="GSocket.html#g-socket-get-keepalive"/>
- <function name="g_socket_set_keepalive ()" link="GSocket.html#g-socket-set-keepalive"/>
- <function name="g_socket_get_family ()" link="GSocket.html#g-socket-get-family"/>
- <function name="g_socket_get_fd ()" link="GSocket.html#g-socket-get-fd"/>
- <function name="g_socket_get_local_address ()" link="GSocket.html#g-socket-get-local-address"/>
- <function name="g_socket_get_protocol ()" link="GSocket.html#g-socket-get-protocol"/>
- <function name="g_socket_get_remote_address ()" link="GSocket.html#g-socket-get-remote-address"/>
- <function name="g_socket_get_socket_type ()" link="GSocket.html#g-socket-get-socket-type"/>
- <function name="g_socket_speaks_ipv4 ()" link="GSocket.html#g-socket-speaks-ipv4"/>
- <function name="The "blocking" property" link="GSocket.html#GSocket--blocking"/>
- <function name="The "family" property" link="GSocket.html#GSocket--family"/>
- <function name="The "fd" property" link="GSocket.html#GSocket--fd"/>
- <function name="The "keepalive" property" link="GSocket.html#GSocket--keepalive"/>
- <function name="The "listen-backlog" property" link="GSocket.html#GSocket--listen-backlog"/>
- <function name="The "local-address" property" link="GSocket.html#GSocket--local-address"/>
- <function name="The "protocol" property" link="GSocket.html#GSocket--protocol"/>
- <function name="The "remote-address" property" link="GSocket.html#GSocket--remote-address"/>
- <function name="The "type" property" link="GSocket.html#GSocket--type"/>
- <function name="GInetAddress" link="GInetAddress.html#GInetAddress-struct"/>
- <function name="g_inet_address_new_from_string ()" link="GInetAddress.html#g-inet-address-new-from-string"/>
- <function name="g_inet_address_new_from_bytes ()" link="GInetAddress.html#g-inet-address-new-from-bytes"/>
- <function name="g_inet_address_new_any ()" link="GInetAddress.html#g-inet-address-new-any"/>
- <function name="g_inet_address_new_loopback ()" link="GInetAddress.html#g-inet-address-new-loopback"/>
- <function name="g_inet_address_to_bytes ()" link="GInetAddress.html#g-inet-address-to-bytes"/>
- <function name="g_inet_address_get_native_size ()" link="GInetAddress.html#g-inet-address-get-native-size"/>
- <function name="g_inet_address_to_string ()" link="GInetAddress.html#g-inet-address-to-string"/>
- <function name="g_inet_address_get_family ()" link="GInetAddress.html#g-inet-address-get-family"/>
- <function name="g_inet_address_get_is_any ()" link="GInetAddress.html#g-inet-address-get-is-any"/>
- <function name="g_inet_address_get_is_loopback ()" link="GInetAddress.html#g-inet-address-get-is-loopback"/>
- <function name="g_inet_address_get_is_link_local ()" link="GInetAddress.html#g-inet-address-get-is-link-local"/>
- <function name="g_inet_address_get_is_site_local ()" link="GInetAddress.html#g-inet-address-get-is-site-local"/>
- <function name="g_inet_address_get_is_multicast ()" link="GInetAddress.html#g-inet-address-get-is-multicast"/>
- <function name="g_inet_address_get_is_mc_link_local ()" link="GInetAddress.html#g-inet-address-get-is-mc-link-local"/>
- <function name="g_inet_address_get_is_mc_node_local ()" link="GInetAddress.html#g-inet-address-get-is-mc-node-local"/>
- <function name="g_inet_address_get_is_mc_site_local ()" link="GInetAddress.html#g-inet-address-get-is-mc-site-local"/>
- <function name="g_inet_address_get_is_mc_org_local ()" link="GInetAddress.html#g-inet-address-get-is-mc-org-local"/>
- <function name="g_inet_address_get_is_mc_global ()" link="GInetAddress.html#g-inet-address-get-is-mc-global"/>
- <function name="The "bytes" property" link="GInetAddress.html#GInetAddress--bytes"/>
- <function name="The "family" property" link="GInetAddress.html#GInetAddress--family"/>
- <function name="The "is-any" property" link="GInetAddress.html#GInetAddress--is-any"/>
- <function name="The "is-link-local" property" link="GInetAddress.html#GInetAddress--is-link-local"/>
- <function name="The "is-loopback" property" link="GInetAddress.html#GInetAddress--is-loopback"/>
- <function name="The "is-mc-global" property" link="GInetAddress.html#GInetAddress--is-mc-global"/>
- <function name="The "is-mc-link-local" property" link="GInetAddress.html#GInetAddress--is-mc-link-local"/>
- <function name="The "is-mc-node-local" property" link="GInetAddress.html#GInetAddress--is-mc-node-local"/>
- <function name="The "is-mc-org-local" property" link="GInetAddress.html#GInetAddress--is-mc-org-local"/>
- <function name="The "is-mc-site-local" property" link="GInetAddress.html#GInetAddress--is-mc-site-local"/>
- <function name="The "is-multicast" property" link="GInetAddress.html#GInetAddress--is-multicast"/>
- <function name="The "is-site-local" property" link="GInetAddress.html#GInetAddress--is-site-local"/>
- <function name="GSocketAddress" link="GSocketAddress.html#GSocketAddress-struct"/>
- <function name="enum GSocketFamily" link="GSocketAddress.html#GSocketFamily"/>
- <function name="g_socket_address_new_from_native ()" link="GSocketAddress.html#g-socket-address-new-from-native"/>
- <function name="g_socket_address_get_family ()" link="GSocketAddress.html#g-socket-address-get-family"/>
- <function name="g_socket_address_to_native ()" link="GSocketAddress.html#g-socket-address-to-native"/>
- <function name="g_socket_address_get_native_size ()" link="GSocketAddress.html#g-socket-address-get-native-size"/>
- <function name="The "family" property" link="GSocketAddress.html#GSocketAddress--family"/>
- <function name="GInetSocketAddress" link="GInetSocketAddress.html#GInetSocketAddress-struct"/>
- <function name="g_inet_socket_address_new ()" link="GInetSocketAddress.html#g-inet-socket-address-new"/>
- <function name="g_inet_socket_address_get_address ()" link="GInetSocketAddress.html#g-inet-socket-address-get-address"/>
- <function name="g_inet_socket_address_get_port ()" link="GInetSocketAddress.html#g-inet-socket-address-get-port"/>
- <function name="The "address" property" link="GInetSocketAddress.html#GInetSocketAddress--address"/>
- <function name="The "port" property" link="GInetSocketAddress.html#GInetSocketAddress--port"/>
- <function name="GUnixSocketAddress" link="GUnixSocketAddress.html#GUnixSocketAddress-struct"/>
- <function name="g_unix_socket_address_new ()" link="GUnixSocketAddress.html#g-unix-socket-address-new"/>
- <function name="g_unix_socket_address_new_abstract ()" link="GUnixSocketAddress.html#g-unix-socket-address-new-abstract"/>
- <function name="g_unix_socket_address_get_is_abstract ()" link="GUnixSocketAddress.html#g-unix-socket-address-get-is-abstract"/>
- <function name="g_unix_socket_address_get_path ()" link="GUnixSocketAddress.html#g-unix-socket-address-get-path"/>
- <function name="g_unix_socket_address_get_path_len ()" link="GUnixSocketAddress.html#g-unix-socket-address-get-path-len"/>
- <function name="g_unix_socket_address_abstract_names_supported ()" link="GUnixSocketAddress.html#g-unix-socket-address-abstract-names-supported"/>
- <function name="The "abstract" property" link="GUnixSocketAddress.html#GUnixSocketAddress--abstract"/>
- <function name="The "path" property" link="GUnixSocketAddress.html#GUnixSocketAddress--path"/>
- <function name="The "path-as-array" property" link="GUnixSocketAddress.html#GUnixSocketAddress--path-as-array"/>
- <function name="GSocketControlMessage" link="GSocketControlMessage.html#GSocketControlMessage-struct"/>
- <function name="g_socket_control_message_deserialize ()" link="GSocketControlMessage.html#g-socket-control-message-deserialize"/>
- <function name="g_socket_control_message_get_level ()" link="GSocketControlMessage.html#g-socket-control-message-get-level"/>
- <function name="g_socket_control_message_get_msg_type ()" link="GSocketControlMessage.html#g-socket-control-message-get-msg-type"/>
- <function name="g_socket_control_message_get_size ()" link="GSocketControlMessage.html#g-socket-control-message-get-size"/>
- <function name="g_socket_control_message_serialize ()" link="GSocketControlMessage.html#g-socket-control-message-serialize"/>
- <function name="GUnixFDList" link="GUnixFDList.html#GUnixFDList-struct"/>
- <function name="g_unix_fd_list_new_from_array ()" link="GUnixFDList.html#g-unix-fd-list-new-from-array"/>
- <function name="g_unix_fd_list_new ()" link="GUnixFDList.html#g-unix-fd-list-new"/>
- <function name="g_unix_fd_list_get_length ()" link="GUnixFDList.html#g-unix-fd-list-get-length"/>
- <function name="g_unix_fd_list_get ()" link="GUnixFDList.html#g-unix-fd-list-get"/>
- <function name="g_unix_fd_list_peek_fds ()" link="GUnixFDList.html#g-unix-fd-list-peek-fds"/>
- <function name="g_unix_fd_list_steal_fds ()" link="GUnixFDList.html#g-unix-fd-list-steal-fds"/>
- <function name="g_unix_fd_list_append ()" link="GUnixFDList.html#g-unix-fd-list-append"/>
- <function name="GUnixFDMessage" link="GUnixFDMessage.html#GUnixFDMessage-struct"/>
- <function name="g_unix_fd_message_new_with_fd_list ()" link="GUnixFDMessage.html#g-unix-fd-message-new-with-fd-list"/>
- <function name="g_unix_fd_message_new ()" link="GUnixFDMessage.html#g-unix-fd-message-new"/>
- <function name="g_unix_fd_message_get_fd_list ()" link="GUnixFDMessage.html#g-unix-fd-message-get-fd-list"/>
- <function name="g_unix_fd_message_append_fd ()" link="GUnixFDMessage.html#g-unix-fd-message-append-fd"/>
- <function name="g_unix_fd_message_steal_fds ()" link="GUnixFDMessage.html#g-unix-fd-message-steal-fds"/>
- <function name="The "fd-list" property" link="GUnixFDMessage.html#GUnixFDMessage--fd-list"/>
- <function name="GResolver" link="GResolver.html#GResolver-struct"/>
- <function name="g_resolver_get_default ()" link="GResolver.html#g-resolver-get-default"/>
- <function name="g_resolver_set_default ()" link="GResolver.html#g-resolver-set-default"/>
- <function name="g_resolver_lookup_by_name ()" link="GResolver.html#g-resolver-lookup-by-name"/>
- <function name="g_resolver_lookup_by_name_async ()" link="GResolver.html#g-resolver-lookup-by-name-async"/>
- <function name="g_resolver_lookup_by_name_finish ()" link="GResolver.html#g-resolver-lookup-by-name-finish"/>
- <function name="g_resolver_free_addresses ()" link="GResolver.html#g-resolver-free-addresses"/>
- <function name="g_resolver_lookup_by_address ()" link="GResolver.html#g-resolver-lookup-by-address"/>
- <function name="g_resolver_lookup_by_address_async ()" link="GResolver.html#g-resolver-lookup-by-address-async"/>
- <function name="g_resolver_lookup_by_address_finish ()" link="GResolver.html#g-resolver-lookup-by-address-finish"/>
- <function name="g_resolver_lookup_service ()" link="GResolver.html#g-resolver-lookup-service"/>
- <function name="g_resolver_lookup_service_async ()" link="GResolver.html#g-resolver-lookup-service-async"/>
- <function name="g_resolver_lookup_service_finish ()" link="GResolver.html#g-resolver-lookup-service-finish"/>
- <function name="g_resolver_free_targets ()" link="GResolver.html#g-resolver-free-targets"/>
- <function name="G_RESOLVER_ERROR" link="GResolver.html#G-RESOLVER-ERROR:CAPS"/>
- <function name="enum GResolverError" link="GResolver.html#GResolverError"/>
- <function name="The "reload" signal" link="GResolver.html#GResolver-reload"/>
- <function name="GSocketConnectable" link="GSocketConnectable.html#GSocketConnectable-struct"/>
- <function name="GSocketConnectableIface" link="GSocketConnectable.html#GSocketConnectableIface"/>
- <function name="g_socket_connectable_enumerate ()" link="GSocketConnectable.html#g-socket-connectable-enumerate"/>
- <function name="GSocketAddressEnumerator" link="GSocketConnectable.html#GSocketAddressEnumerator-struct"/>
- <function name="g_socket_address_enumerator_next ()" link="GSocketConnectable.html#g-socket-address-enumerator-next"/>
- <function name="g_socket_address_enumerator_next_async ()" link="GSocketConnectable.html#g-socket-address-enumerator-next-async"/>
- <function name="g_socket_address_enumerator_next_finish ()" link="GSocketConnectable.html#g-socket-address-enumerator-next-finish"/>
- <function name="GNetworkAddress" link="GNetworkAddress.html#GNetworkAddress-struct"/>
- <function name="g_network_address_new ()" link="GNetworkAddress.html#g-network-address-new"/>
- <function name="g_network_address_get_hostname ()" link="GNetworkAddress.html#g-network-address-get-hostname"/>
- <function name="g_network_address_get_port ()" link="GNetworkAddress.html#g-network-address-get-port"/>
- <function name="g_network_address_parse ()" link="GNetworkAddress.html#g-network-address-parse"/>
- <function name="The "hostname" property" link="GNetworkAddress.html#GNetworkAddress--hostname"/>
- <function name="The "port" property" link="GNetworkAddress.html#GNetworkAddress--port"/>
- <function name="GNetworkService" link="GNetworkService.html#GNetworkService-struct"/>
- <function name="g_network_service_new ()" link="GNetworkService.html#g-network-service-new"/>
- <function name="g_network_service_get_service ()" link="GNetworkService.html#g-network-service-get-service"/>
- <function name="g_network_service_get_protocol ()" link="GNetworkService.html#g-network-service-get-protocol"/>
- <function name="g_network_service_get_domain ()" link="GNetworkService.html#g-network-service-get-domain"/>
- <function name="The "domain" property" link="GNetworkService.html#GNetworkService--domain"/>
- <function name="The "protocol" property" link="GNetworkService.html#GNetworkService--protocol"/>
- <function name="The "service" property" link="GNetworkService.html#GNetworkService--service"/>
- <function name="GSrvTarget" link="gio-GSrvTarget.html#GSrvTarget"/>
- <function name="g_srv_target_new ()" link="gio-GSrvTarget.html#g-srv-target-new"/>
- <function name="g_srv_target_copy ()" link="gio-GSrvTarget.html#g-srv-target-copy"/>
- <function name="g_srv_target_free ()" link="gio-GSrvTarget.html#g-srv-target-free"/>
- <function name="g_srv_target_get_hostname ()" link="gio-GSrvTarget.html#g-srv-target-get-hostname"/>
- <function name="g_srv_target_get_port ()" link="gio-GSrvTarget.html#g-srv-target-get-port"/>
- <function name="g_srv_target_get_priority ()" link="gio-GSrvTarget.html#g-srv-target-get-priority"/>
- <function name="g_srv_target_get_weight ()" link="gio-GSrvTarget.html#g-srv-target-get-weight"/>
- <function name="g_srv_target_list_sort ()" link="gio-GSrvTarget.html#g-srv-target-list-sort"/>
- <function name="GSocketClient" link="GSocketClient.html#GSocketClient-struct"/>
- <function name="g_socket_client_new ()" link="GSocketClient.html#g-socket-client-new"/>
- <function name="g_socket_client_connect ()" link="GSocketClient.html#g-socket-client-connect"/>
- <function name="g_socket_client_connect_async ()" link="GSocketClient.html#g-socket-client-connect-async"/>
- <function name="g_socket_client_connect_finish ()" link="GSocketClient.html#g-socket-client-connect-finish"/>
- <function name="g_socket_client_connect_to_host ()" link="GSocketClient.html#g-socket-client-connect-to-host"/>
- <function name="g_socket_client_connect_to_host_async ()" link="GSocketClient.html#g-socket-client-connect-to-host-async"/>
- <function name="g_socket_client_connect_to_host_finish ()" link="GSocketClient.html#g-socket-client-connect-to-host-finish"/>
- <function name="g_socket_client_connect_to_service ()" link="GSocketClient.html#g-socket-client-connect-to-service"/>
- <function name="g_socket_client_connect_to_service_async ()" link="GSocketClient.html#g-socket-client-connect-to-service-async"/>
- <function name="g_socket_client_connect_to_service_finish ()" link="GSocketClient.html#g-socket-client-connect-to-service-finish"/>
- <function name="g_socket_client_set_family ()" link="GSocketClient.html#g-socket-client-set-family"/>
- <function name="g_socket_client_set_local_address ()" link="GSocketClient.html#g-socket-client-set-local-address"/>
- <function name="g_socket_client_set_protocol ()" link="GSocketClient.html#g-socket-client-set-protocol"/>
- <function name="g_socket_client_set_socket_type ()" link="GSocketClient.html#g-socket-client-set-socket-type"/>
- <function name="g_socket_client_get_family ()" link="GSocketClient.html#g-socket-client-get-family"/>
- <function name="g_socket_client_get_local_address ()" link="GSocketClient.html#g-socket-client-get-local-address"/>
- <function name="g_socket_client_get_protocol ()" link="GSocketClient.html#g-socket-client-get-protocol"/>
- <function name="g_socket_client_get_socket_type ()" link="GSocketClient.html#g-socket-client-get-socket-type"/>
- <function name="The "family" property" link="GSocketClient.html#GSocketClient--family"/>
- <function name="The "local-address" property" link="GSocketClient.html#GSocketClient--local-address"/>
- <function name="The "protocol" property" link="GSocketClient.html#GSocketClient--protocol"/>
- <function name="The "type" property" link="GSocketClient.html#GSocketClient--type"/>
- <function name="GSocketConnection" link="GSocketConnection.html#GSocketConnection-struct"/>
- <function name="g_socket_connection_get_local_address ()" link="GSocketConnection.html#g-socket-connection-get-local-address"/>
- <function name="g_socket_connection_get_remote_address ()" link="GSocketConnection.html#g-socket-connection-get-remote-address"/>
- <function name="g_socket_connection_get_socket ()" link="GSocketConnection.html#g-socket-connection-get-socket"/>
- <function name="GTcpConnection" link="GSocketConnection.html#GTcpConnection-struct"/>
- <function name="g_tcp_connection_set_graceful_disconnect ()" link="GSocketConnection.html#g-tcp-connection-set-graceful-disconnect"/>
- <function name="g_tcp_connection_get_graceful_disconnect ()" link="GSocketConnection.html#g-tcp-connection-get-graceful-disconnect"/>
- <function name="GUnixConnection" link="GSocketConnection.html#GUnixConnection-struct"/>
- <function name="g_unix_connection_receive_fd ()" link="GSocketConnection.html#g-unix-connection-receive-fd"/>
- <function name="g_unix_connection_send_fd ()" link="GSocketConnection.html#g-unix-connection-send-fd"/>
- <function name="g_socket_connection_factory_create_connection ()" link="GSocketConnection.html#g-socket-connection-factory-create-connection"/>
- <function name="g_socket_connection_factory_lookup_type ()" link="GSocketConnection.html#g-socket-connection-factory-lookup-type"/>
- <function name="g_socket_connection_factory_register_type ()" link="GSocketConnection.html#g-socket-connection-factory-register-type"/>
- <function name="The "socket" property" link="GSocketConnection.html#GSocketConnection--socket"/>
- <function name="The "graceful-disconnect" property" link="GSocketConnection.html#GTcpConnection--graceful-disconnect"/>
- <function name="GSocketListener" link="GSocketListener.html#GSocketListener-struct"/>
- <function name="g_socket_listener_new ()" link="GSocketListener.html#g-socket-listener-new"/>
- <function name="g_socket_listener_add_socket ()" link="GSocketListener.html#g-socket-listener-add-socket"/>
- <function name="g_socket_listener_add_address ()" link="GSocketListener.html#g-socket-listener-add-address"/>
- <function name="g_socket_listener_add_inet_port ()" link="GSocketListener.html#g-socket-listener-add-inet-port"/>
- <function name="g_socket_listener_add_any_inet_port ()" link="GSocketListener.html#g-socket-listener-add-any-inet-port"/>
- <function name="g_socket_listener_accept ()" link="GSocketListener.html#g-socket-listener-accept"/>
- <function name="g_socket_listener_accept_async ()" link="GSocketListener.html#g-socket-listener-accept-async"/>
- <function name="g_socket_listener_accept_finish ()" link="GSocketListener.html#g-socket-listener-accept-finish"/>
- <function name="g_socket_listener_accept_socket ()" link="GSocketListener.html#g-socket-listener-accept-socket"/>
- <function name="g_socket_listener_accept_socket_async ()" link="GSocketListener.html#g-socket-listener-accept-socket-async"/>
- <function name="g_socket_listener_accept_socket_finish ()" link="GSocketListener.html#g-socket-listener-accept-socket-finish"/>
- <function name="g_socket_listener_close ()" link="GSocketListener.html#g-socket-listener-close"/>
- <function name="g_socket_listener_set_backlog ()" link="GSocketListener.html#g-socket-listener-set-backlog"/>
- <function name="The "listen-backlog" property" link="GSocketListener.html#GSocketListener--listen-backlog"/>
- <function name="GSocketService" link="GSocketService.html#GSocketService-struct"/>
- <function name="g_socket_service_new ()" link="GSocketService.html#g-socket-service-new"/>
- <function name="g_socket_service_start ()" link="GSocketService.html#g-socket-service-start"/>
- <function name="g_socket_service_stop ()" link="GSocketService.html#g-socket-service-stop"/>
- <function name="g_socket_service_is_active ()" link="GSocketService.html#g-socket-service-is-active"/>
- <function name="The "incoming" signal" link="GSocketService.html#GSocketService-incoming"/>
- <function name="GThreadedSocketService" link="GThreadedSocketService.html#GThreadedSocketService-struct"/>
- <function name="g_threaded_socket_service_new ()" link="GThreadedSocketService.html#g-threaded-socket-service-new"/>
- <function name="The "max-threads" property" link="GThreadedSocketService.html#GThreadedSocketService--max-threads"/>
- <function name="The "run" signal" link="GThreadedSocketService.html#GThreadedSocketService-run"/>
- <function name="GFilenameCompleter" link="GFilenameCompleter.html#GFilenameCompleter-struct"/>
- <function name="g_filename_completer_new ()" link="GFilenameCompleter.html#g-filename-completer-new"/>
- <function name="g_filename_completer_get_completion_suffix ()" link="GFilenameCompleter.html#g-filename-completer-get-completion-suffix"/>
- <function name="g_filename_completer_get_completions ()" link="GFilenameCompleter.html#g-filename-completer-get-completions"/>
- <function name="g_filename_completer_set_dirs_only ()" link="GFilenameCompleter.html#g-filename-completer-set-dirs-only"/>
- <function name="The "got-completion-data" signal" link="GFilenameCompleter.html#GFilenameCompleter-got-completion-data"/>
- <function name="GVfs" link="GVfs.html#GVfs-struct"/>
- <function name="G_VFS_EXTENSION_POINT_NAME" link="GVfs.html#G-VFS-EXTENSION-POINT-NAME:CAPS"/>
- <function name="g_vfs_get_file_for_path ()" link="GVfs.html#g-vfs-get-file-for-path"/>
- <function name="g_vfs_get_file_for_uri ()" link="GVfs.html#g-vfs-get-file-for-uri"/>
- <function name="g_vfs_parse_name ()" link="GVfs.html#g-vfs-parse-name"/>
- <function name="g_vfs_get_default ()" link="GVfs.html#g-vfs-get-default"/>
- <function name="g_vfs_get_local ()" link="GVfs.html#g-vfs-get-local"/>
- <function name="g_vfs_is_active ()" link="GVfs.html#g-vfs-is-active"/>
- <function name="g_vfs_get_supported_uri_schemes ()" link="GVfs.html#g-vfs-get-supported-uri-schemes"/>
- <function name="GIOModule" link="GIOModule.html#GIOModule-struct"/>
- <function name="g_io_module_new ()" link="GIOModule.html#g-io-module-new"/>
- <function name="g_io_modules_load_all_in_directory ()" link="GIOModule.html#g-io-modules-load-all-in-directory"/>
- <function name="g_io_modules_scan_all_in_directory ()" link="GIOModule.html#g-io-modules-scan-all-in-directory"/>
- <function name="g_io_module_load ()" link="GIOModule.html#g-io-module-load"/>
- <function name="g_io_module_unload ()" link="GIOModule.html#g-io-module-unload"/>
- <function name="g_io_module_query ()" link="GIOModule.html#g-io-module-query"/>
- <function name="GIOExtension" link="gio-Extension-Points.html#GIOExtension"/>
- <function name="GIOExtensionPoint" link="gio-Extension-Points.html#GIOExtensionPoint"/>
- <function name="g_io_extension_get_name ()" link="gio-Extension-Points.html#g-io-extension-get-name"/>
- <function name="g_io_extension_get_priority ()" link="gio-Extension-Points.html#g-io-extension-get-priority"/>
- <function name="g_io_extension_get_type ()" link="gio-Extension-Points.html#g-io-extension-get-type"/>
- <function name="g_io_extension_point_get_extension_by_name ()" link="gio-Extension-Points.html#g-io-extension-point-get-extension-by-name"/>
- <function name="g_io_extension_point_get_extensions ()" link="gio-Extension-Points.html#g-io-extension-point-get-extensions"/>
- <function name="g_io_extension_point_get_required_type ()" link="gio-Extension-Points.html#g-io-extension-point-get-required-type"/>
- <function name="g_io_extension_point_implement ()" link="gio-Extension-Points.html#g-io-extension-point-implement"/>
- <function name="g_io_extension_point_lookup ()" link="gio-Extension-Points.html#g-io-extension-point-lookup"/>
- <function name="g_io_extension_point_register ()" link="gio-Extension-Points.html#g-io-extension-point-register"/>
- <function name="g_io_extension_point_set_required_type ()" link="gio-Extension-Points.html#g-io-extension-point-set-required-type"/>
- <function name="g_io_extension_ref_class ()" link="gio-Extension-Points.html#g-io-extension-ref-class"/>
- </functions>
-</book>
+++ /dev/null
-<part id="migrating">
- <title>Migrating to GIO</title>
-
- <chapter>
- <title>Migrating from POSIX to GIO</title>
-
- <table id="posix-vs-gio">
- <title>Comparison of POSIX and GIO concepts</title>
- <tgroup cols="2">
- <thead>
- <row><entry>POSIX</entry><entry>GIO</entry></row>
- </thead>
- <tbody>
- <row><entry>char *path</entry><entry>GFile *file</entry></row>
- <row><entry>struct stat *buf</entry><entry>GFileInfo *info</entry></row>
- <row><entry>struct statvfs *buf</entry><entry>GFileInfo *info</entry></row>
- <row><entry morerows="1">int fd</entry><entry>GInputStream *in</entry></row>
- <row><entry>GOutputStream *out</entry></row>
- <row><entry>DIR *</entry><entry>GFileEnumerator *enum</entry></row>
- <row><entry>fstab entry</entry><entry>GUnixMountPoint *mount_point</entry></row>
- <row><entry>mtab entry</entry><entry>GUnixMountEntry *mount_entry</entry></row>
- </tbody>
- </tgroup>
- </table>
-
- </chapter>
-
- <chapter>
- <title>Migrating from GnomeVFS to GIO</title>
-
- <table id="gnome-vfs-vs-gio">
- <title>Comparison of GnomeVFS and GIO concepts</title>
- <tgroup cols="2">
- <thead>
- <row><entry>GnomeVFS</entry><entry>GIO</entry></row>
- </thead>
- <tbody>
- <row><entry>GnomeVFSURI</entry><entry>GFile</entry></row>
- <row><entry>GnomeVFSFileInfo</entry><entry>GFileInfo</entry></row>
- <row><entry>GnomeVFSResult</entry><entry>GError, with G_IO_ERROR values</entry></row>
- <row><entry>GnomeVFSHandle & GnomeVFSAsyncHandle</entry><entry>GInputStream or GOutputStream</entry></row>
- <row><entry>GnomeVFSDirectoryHandle</entry><entry>GFileEnumerator</entry></row>
- <row><entry>mime type</entry><entry>content type</entry></row>
- <row><entry>GnomeVFSMonitor</entry><entry>GFileMonitor</entry></row>
- <row><entry>GnomeVFSVolumeMonitor</entry><entry>GVolumeMonitor</entry></row>
- <row><entry>GnomeVFSVolume</entry><entry>GMount</entry></row>
- <row><entry>GnomeVFSDrive</entry><entry>GVolume</entry></row>
- <row><entry>-</entry><entry>GDrive</entry></row>
- <row><entry>GnomeVFSContext</entry><entry>GCancellable</entry></row>
- <row><entry>gnome_vfs_async_cancel</entry><entry>g_cancellable_cancel</entry></row>
- </tbody>
- </tgroup>
- </table>
-
- <section>
- <title>Trash handling</title>
-
- <para>
- The handling of trashed files has been changed in GIO, compared
- to gnome-vfs. gnome-vfs has a home-grown trash implementation that
- predates the freedesktop.org <ulink url="http://www.freedesktop.org/wiki/Specifications/trash-spec">Desktop Trash Can</ulink> specification
- that is implemented in GIO. The location for storing trashed files
- has changed from <filename>$HOME/.Trash</filename> to
- <filename>$HOME/.local/share/Trash</filename> (or more correctly
- <filename>$XDG_DATA_HOME/Trash</filename>), which means that
- there is a need for migrating files that have been trashed by
- gnome-vfs to the new location.
- </para>
- <para>
- In gnome-vfs, the <filename>trash://</filename> scheme offering a
- merged view of all trash directories was implemented in nautilus,
- and trash-handling applications had to find and monitor all trash
- directories themselves. With GIO, the <filename>trash://</filename>
- implementation has been moved to gvfs and applications can simply
- monitor that location:
- </para>
-<informalexample><programlisting>
-static void
-file_changed (GFileMonitor *file_monitor,
- GFile *child,
- GFile *other_file,
- GFileMonitorEvent event_type,
- gpointer user_data)
-{
- switch (event_type)
- {
- case G_FILE_MONITOR_EVENT_DELETED:
- g_print ("'%s' removed from trash\n", g_file_get_basename (child));
- break;
- case G_FILE_MONITOR_EVENT_CREATED:
- g_print ("'%s' added to trash\n", g_file_get_basename (child));
- break;
- default: ;
- }
-}
-
-static void
-start_monitoring_trash (void)
-{
- GFile *file;
- GFileMonitor *monitor;
-
- file = g_file_new_for_uri ("trash://");
- monitor = g_file_monitor_directory (file, 0, NULL, NULL);
- g_object_unref (file);
-
- g_signal_connect (monitor, "changed", G_CALLBACK (file_changed), NULL);
-
- /* ... */
-
-}
-</programlisting></informalexample>
- <para>
- GIO exposes some useful metadata about trashed files. There are
- trash::orig-path and trash::deletion-date attributes. The
- standard::icon attribute of the <filename>trash://</filename>
- itself provides a suitable icon for displaying the trash can on
- the desktop. If you are using this icon, make sure to monitor
- this attribute for changes, since the icon may be updated to
- reflect that state of the trash can.
- </para>
- <para>
- Moving a file to the trash is much simpler with GIO. Instead of
- using gnome_vfs_find_directory() with %GNOME_VFS_DIRECTORY_KIND_TRASH
- to find out where to move the trashed file, just use the g_file_trash()
- function.
- </para>
- </section>
-
- <section>
- <title>Operations on multiple files</title>
-
- <para>
- gnome-vfs has the dreaded gnome_vfs_xfer_uri_list() function which
- has tons of options and offers the equivalent of cp, mv, ln, mkdir
- and rm at the same time.
- </para>
- <para>
- GIO offers a much simpler I/O scheduler functionality instead, that
- lets you schedule a function to be called in a separate thread, or
- if threads are not available, as an idle in the mainloop.
- See g_io_scheduler_push_job().
- </para>
-
- </section>
-
- <section>
- <title>Mime monitoring</title>
-
- <para>
- gnome-vfs offered a way to monitor the association between mime types
- and default handlers for changes, with the #GnomeVFSMIMEMonitor object.
- GIO does not offer a replacement for this functionality at this time,
- since we have not found a compelling use case where
- #GnomeVFSMIMEMonitor was used. If you think you have such a use
- case, please report it at
- <ulink url="http://bugzilla.gnome.org">bugzilla.gnome.org</ulink>.
- </para>
- </section>
- </chapter>
-
-</part>
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Extension Points
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GIOExtension ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GIOExtensionPoint ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_io_extension_get_name ##### -->
-<para>
-
-</para>
-
-@extension:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_extension_get_priority ##### -->
-<para>
-
-</para>
-
-@extension:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_extension_get_type ##### -->
-<para>
-
-</para>
-
-@extension:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_extension_point_get_extension_by_name ##### -->
-<para>
-
-</para>
-
-@extension_point:
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_extension_point_get_extensions ##### -->
-<para>
-
-</para>
-
-@extension_point:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_extension_point_get_required_type ##### -->
-<para>
-
-</para>
-
-@extension_point:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_extension_point_implement ##### -->
-<para>
-
-</para>
-
-@extension_point_name:
-@type:
-@extension_name:
-@priority:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_extension_point_lookup ##### -->
-<para>
-
-</para>
-
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_extension_point_register ##### -->
-<para>
-
-</para>
-
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_extension_point_set_required_type ##### -->
-<para>
-
-</para>
-
-@extension_point:
-@type:
-
-
-<!-- ##### FUNCTION g_io_extension_ref_class ##### -->
-<para>
-
-</para>
-
-@extension:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GAppInfo
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### ENUM GAppInfoCreateFlags ##### -->
-<para>
-
-</para>
-
-@G_APP_INFO_CREATE_NONE:
-@G_APP_INFO_CREATE_NEEDS_TERMINAL:
-@G_APP_INFO_CREATE_SUPPORTS_URIS:
-
-<!-- ##### STRUCT GAppInfo ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GAppInfoIface ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@dup:
-@equal:
-@get_id:
-@get_name:
-@get_description:
-@get_executable:
-@get_icon:
-@launch:
-@supports_uris:
-@supports_files:
-@launch_uris:
-@should_show:
-@set_as_default_for_type:
-@set_as_default_for_extension:
-@add_supports_type:
-@can_remove_supports_type:
-@remove_supports_type:
-@can_delete:
-@do_delete:
-@get_commandline:
-@get_display_name:
-
-<!-- ##### STRUCT GAppLaunchContext ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_app_info_create_from_commandline ##### -->
-<para>
-
-</para>
-
-@commandline:
-@application_name:
-@flags:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_dup ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_equal ##### -->
-<para>
-
-</para>
-
-@appinfo1:
-@appinfo2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_get_id ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_get_name ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_get_display_name ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_get_description ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_get_executable ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_get_commandline ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_get_icon ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_launch ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@files:
-@launch_context:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_supports_files ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_supports_uris ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_launch_uris ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@uris:
-@launch_context:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_should_show ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_can_delete ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_delete ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_reset_type_associations ##### -->
-<para>
-
-</para>
-
-@content_type:
-
-
-<!-- ##### FUNCTION g_app_info_set_as_default_for_type ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@content_type:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_set_as_default_for_extension ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@extension:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_add_supports_type ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@content_type:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_can_remove_supports_type ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_remove_supports_type ##### -->
-<para>
-
-</para>
-
-@appinfo:
-@content_type:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_get_all ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_get_all_for_type ##### -->
-<para>
-
-</para>
-
-@content_type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_get_default_for_type ##### -->
-<para>
-
-</para>
-
-@content_type:
-@must_support_uris:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_get_default_for_uri_scheme ##### -->
-<para>
-
-</para>
-
-@uri_scheme:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_info_launch_default_for_uri ##### -->
-<para>
-
-</para>
-
-@uri:
-@launch_context:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_launch_context_get_display ##### -->
-<para>
-
-</para>
-
-@context:
-@info:
-@files:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_launch_context_get_startup_notify_id ##### -->
-<para>
-
-</para>
-
-@context:
-@info:
-@files:
-@Returns:
-
-
-<!-- ##### FUNCTION g_app_launch_context_launch_failed ##### -->
-<para>
-
-</para>
-
-@context:
-@startup_notify_id:
-
-
-<!-- ##### FUNCTION g_app_launch_context_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GAsyncInitable
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GAsyncInitable ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GAsyncInitableIface ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@init_async:
-@init_finish:
-
-<!-- ##### FUNCTION g_async_initable_init_async ##### -->
-<para>
-
-</para>
-
-@initable:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_async_initable_init_finish ##### -->
-<para>
-
-</para>
-
-@initable:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_initable_new_async ##### -->
-<para>
-
-</para>
-
-@object_type:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-@first_property_name:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_async_initable_new_finish ##### -->
-<para>
-
-</para>
-
-@initable:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_initable_new_valist_async ##### -->
-<para>
-
-</para>
-
-@object_type:
-@first_property_name:
-@var_args:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_async_initable_newv_async ##### -->
-<para>
-
-</para>
-
-@object_type:
-@n_parameters:
-@parameters:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GAsyncResult
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GAsyncResult ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GAsyncResultIface ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@get_user_data:
-@get_source_object:
-
-<!-- ##### USER_FUNCTION GAsyncReadyCallback ##### -->
-<para>
-
-</para>
-
-@source_object:
-@res:
-@user_data:
-
-
-<!-- ##### FUNCTION g_async_result_get_user_data ##### -->
-<para>
-
-</para>
-
-@res:
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_result_get_source_object ##### -->
-<para>
-
-</para>
-
-@res:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GBufferedInputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GBufferedInputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GBufferedInputStream:buffer-size ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_buffered_input_stream_new ##### -->
-<para>
-
-</para>
-
-@base_stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_buffered_input_stream_new_sized ##### -->
-<para>
-
-</para>
-
-@base_stream:
-@size:
-@Returns:
-
-
-<!-- ##### FUNCTION g_buffered_input_stream_get_buffer_size ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_buffered_input_stream_set_buffer_size ##### -->
-<para>
-
-</para>
-
-@stream:
-@size:
-
-
-<!-- ##### FUNCTION g_buffered_input_stream_get_available ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_buffered_input_stream_peek_buffer ##### -->
-<para>
-
-</para>
-
-@stream:
-@count:
-@Returns:
-
-
-<!-- ##### FUNCTION g_buffered_input_stream_peek ##### -->
-<para>
-
-</para>
-
-@stream:
-@buffer:
-@offset:
-@count:
-@Returns:
-
-
-<!-- ##### FUNCTION g_buffered_input_stream_fill ##### -->
-<para>
-
-</para>
-
-@stream:
-@count:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_buffered_input_stream_fill_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@count:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_buffered_input_stream_fill_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_buffered_input_stream_read_byte ##### -->
-<para>
-
-</para>
-
-@stream:
-@cancellable:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GBufferedOutputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GBufferedOutputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GBufferedOutputStream:auto-grow ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GBufferedOutputStream:buffer-size ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_buffered_output_stream_new ##### -->
-<para>
-
-</para>
-
-@base_stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_buffered_output_stream_new_sized ##### -->
-<para>
-
-</para>
-
-@base_stream:
-@size:
-@Returns:
-
-
-<!-- ##### FUNCTION g_buffered_output_stream_get_buffer_size ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_buffered_output_stream_set_buffer_size ##### -->
-<para>
-
-</para>
-
-@stream:
-@size:
-
-
-<!-- ##### FUNCTION g_buffered_output_stream_get_auto_grow ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_buffered_output_stream_set_auto_grow ##### -->
-<para>
-
-</para>
-
-@stream:
-@auto_grow:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GCancellable
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GCancellable ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GCancellable::cancelled ##### -->
-<para>
-
-</para>
-
-@gcancellable: the object which received the signal.
-
-<!-- ##### FUNCTION g_cancellable_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_cancellable_is_cancelled ##### -->
-<para>
-
-</para>
-
-@cancellable:
-@Returns:
-
-
-<!-- ##### FUNCTION g_cancellable_set_error_if_cancelled ##### -->
-<para>
-
-</para>
-
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_cancellable_get_fd ##### -->
-<para>
-
-</para>
-
-@cancellable:
-@Returns:
-
-
-<!-- ##### FUNCTION g_cancellable_make_pollfd ##### -->
-<para>
-
-</para>
-
-@cancellable:
-@pollfd:
-@Returns:
-
-
-<!-- ##### FUNCTION g_cancellable_release_fd ##### -->
-<para>
-
-</para>
-
-@cancellable:
-
-
-<!-- ##### FUNCTION g_cancellable_get_current ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_cancellable_pop_current ##### -->
-<para>
-
-</para>
-
-@cancellable:
-
-
-<!-- ##### FUNCTION g_cancellable_push_current ##### -->
-<para>
-
-</para>
-
-@cancellable:
-
-
-<!-- ##### FUNCTION g_cancellable_reset ##### -->
-<para>
-
-</para>
-
-@cancellable:
-
-
-<!-- ##### FUNCTION g_cancellable_connect ##### -->
-<para>
-
-</para>
-
-@cancellable:
-@callback:
-@data:
-@data_destroy_func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_cancellable_disconnect ##### -->
-<para>
-
-</para>
-
-@cancellable:
-@handler_id:
-
-
-<!-- ##### FUNCTION g_cancellable_cancel ##### -->
-<para>
-
-</para>
-
-@cancellable:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GCharsetConverter
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GCharsetConverter ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GCharsetConverter:from-charset ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GCharsetConverter:to-charset ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GCharsetConverter:use-fallback ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_charset_converter_new ##### -->
-<para>
-
-</para>
-
-@to_charset:
-@from_charset:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_charset_converter_set_use_fallback ##### -->
-<para>
-
-</para>
-
-@converter:
-@use_fallback:
-
-
-<!-- ##### FUNCTION g_charset_converter_get_use_fallback ##### -->
-<para>
-
-</para>
-
-@converter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_charset_converter_get_num_fallbacks ##### -->
-<para>
-
-</para>
-
-@converter:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GContentType
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### FUNCTION g_content_type_equals ##### -->
-<para>
-
-</para>
-
-@type1:
-@type2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_content_type_is_a ##### -->
-<para>
-
-</para>
-
-@type:
-@supertype:
-@Returns:
-
-
-<!-- ##### FUNCTION g_content_type_is_unknown ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_content_type_get_description ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_content_type_get_mime_type ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_content_type_get_icon ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_content_type_can_be_executable ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_content_type_from_mime_type ##### -->
-<para>
-
-</para>
-
-@mime_type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_content_type_guess ##### -->
-<para>
-
-</para>
-
-@filename:
-@data:
-@data_size:
-@result_uncertain:
-@Returns:
-
-
-<!-- ##### FUNCTION g_content_type_guess_for_tree ##### -->
-<para>
-
-</para>
-
-@root:
-@Returns:
-
-
-<!-- ##### FUNCTION g_content_types_get_registered ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GConverter
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GConverter ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GConverterIface ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@convert:
-@reset:
-
-<!-- ##### ENUM GConverterResult ##### -->
-<para>
-
-</para>
-
-@G_CONVERTER_ERROR:
-@G_CONVERTER_CONVERTED:
-@G_CONVERTER_FINISHED:
-@G_CONVERTER_FLUSHED:
-
-<!-- ##### FUNCTION g_converter_convert ##### -->
-<para>
-
-</para>
-
-@converter:
-@inbuf:
-@inbuf_size:
-@outbuf:
-@outbuf_size:
-@flags:
-@bytes_read:
-@bytes_written:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_converter_reset ##### -->
-<para>
-
-</para>
-
-@converter:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GConverterInputstream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GConverterInputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GConverterInputStream:converter ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_converter_input_stream_new ##### -->
-<para>
-
-</para>
-
-@base_stream:
-@converter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_converter_input_stream_get_converter ##### -->
-<para>
-
-</para>
-
-@converter_stream:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GConverterOutputstream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GConverterOutputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GConverterOutputStream:converter ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_converter_output_stream_new ##### -->
-<para>
-
-</para>
-
-@base_stream:
-@converter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_converter_output_stream_get_converter ##### -->
-<para>
-
-</para>
-
-@converter_stream:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GDataInputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GDataInputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GDataInputStream:byte-order ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GDataInputStream:newline-type ##### -->
-<para>
-
-</para>
-
-<!-- ##### ENUM GDataStreamByteOrder ##### -->
-<para>
-
-</para>
-
-@G_DATA_STREAM_BYTE_ORDER_BIG_ENDIAN:
-@G_DATA_STREAM_BYTE_ORDER_LITTLE_ENDIAN:
-@G_DATA_STREAM_BYTE_ORDER_HOST_ENDIAN:
-
-<!-- ##### ENUM GDataStreamNewlineType ##### -->
-<para>
-
-</para>
-
-@G_DATA_STREAM_NEWLINE_TYPE_LF:
-@G_DATA_STREAM_NEWLINE_TYPE_CR:
-@G_DATA_STREAM_NEWLINE_TYPE_CR_LF:
-@G_DATA_STREAM_NEWLINE_TYPE_ANY:
-
-<!-- ##### FUNCTION g_data_input_stream_new ##### -->
-<para>
-
-</para>
-
-@base_stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_input_stream_set_byte_order ##### -->
-<para>
-
-</para>
-
-@stream:
-@order:
-
-
-<!-- ##### FUNCTION g_data_input_stream_get_byte_order ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_input_stream_set_newline_type ##### -->
-<para>
-
-</para>
-
-@stream:
-@type:
-
-
-<!-- ##### FUNCTION g_data_input_stream_get_newline_type ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_input_stream_read_byte ##### -->
-<para>
-
-</para>
-
-@stream:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_input_stream_read_int16 ##### -->
-<para>
-
-</para>
-
-@stream:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_input_stream_read_uint16 ##### -->
-<para>
-
-</para>
-
-@stream:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_input_stream_read_int32 ##### -->
-<para>
-
-</para>
-
-@stream:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_input_stream_read_uint32 ##### -->
-<para>
-
-</para>
-
-@stream:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_input_stream_read_int64 ##### -->
-<para>
-
-</para>
-
-@stream:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_input_stream_read_uint64 ##### -->
-<para>
-
-</para>
-
-@stream:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_input_stream_read_line ##### -->
-<para>
-
-</para>
-
-@stream:
-@length:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_input_stream_read_line_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_data_input_stream_read_line_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_input_stream_read_until ##### -->
-<para>
-
-</para>
-
-@stream:
-@stop_chars:
-@length:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_input_stream_read_until_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@stop_chars:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_data_input_stream_read_until_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@length:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GDataOutputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GDataOutputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GDataOutputStream:byte-order ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_data_output_stream_new ##### -->
-<para>
-
-</para>
-
-@base_stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_output_stream_set_byte_order ##### -->
-<para>
-
-</para>
-
-@stream:
-@order:
-
-
-<!-- ##### FUNCTION g_data_output_stream_get_byte_order ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_output_stream_put_byte ##### -->
-<para>
-
-</para>
-
-@stream:
-@data:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_output_stream_put_int16 ##### -->
-<para>
-
-</para>
-
-@stream:
-@data:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_output_stream_put_uint16 ##### -->
-<para>
-
-</para>
-
-@stream:
-@data:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_output_stream_put_int32 ##### -->
-<para>
-
-</para>
-
-@stream:
-@data:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_output_stream_put_uint32 ##### -->
-<para>
-
-</para>
-
-@stream:
-@data:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_output_stream_put_int64 ##### -->
-<para>
-
-</para>
-
-@stream:
-@data:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_output_stream_put_uint64 ##### -->
-<para>
-
-</para>
-
-@stream:
-@data:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_data_output_stream_put_string ##### -->
-<para>
-
-</para>
-
-@stream:
-@str:
-@cancellable:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Desktop file based GAppInfo
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GDesktopAppInfo ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_desktop_app_info_new_from_filename ##### -->
-<para>
-
-</para>
-
-@filename:
-@Returns:
-
-
-<!-- ##### FUNCTION g_desktop_app_info_new_from_keyfile ##### -->
-<para>
-
-</para>
-
-@key_file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_desktop_app_info_new ##### -->
-<para>
-
-</para>
-
-@desktop_id:
-@Returns:
-
-
-<!-- ##### FUNCTION g_desktop_app_info_get_filename ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_desktop_app_info_get_is_hidden ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_desktop_app_info_set_desktop_env ##### -->
-<para>
-
-</para>
-
-@desktop_env:
-
-
-<!-- ##### STRUCT GDesktopAppInfoLookup ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_desktop_app_info_lookup_get_default_for_uri_scheme ##### -->
-<para>
-
-</para>
-
-@lookup:
-@uri_scheme:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GDrive
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GDrive ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GDrive::changed ##### -->
-<para>
-
-</para>
-
-@gdrive: the object which received the signal.
-
-<!-- ##### SIGNAL GDrive::disconnected ##### -->
-<para>
-
-</para>
-
-@gdrive: the object which received the signal.
-
-<!-- ##### SIGNAL GDrive::eject-button ##### -->
-<para>
-
-</para>
-
-@gdrive: the object which received the signal.
-
-<!-- ##### SIGNAL GDrive::stop-button ##### -->
-<para>
-
-</para>
-
-@gdrive: the object which received the signal.
-
-<!-- ##### STRUCT GDriveIface ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@changed:
-@disconnected:
-@eject_button:
-@get_name:
-@get_icon:
-@has_volumes:
-@get_volumes:
-@is_media_removable:
-@has_media:
-@is_media_check_automatic:
-@can_eject:
-@can_poll_for_media:
-@eject:
-@eject_finish:
-@poll_for_media:
-@poll_for_media_finish:
-@get_identifier:
-@enumerate_identifiers:
-@get_start_stop_type:
-@can_start:
-@can_start_degraded:
-@start:
-@start_finish:
-@can_stop:
-@stop:
-@stop_finish:
-@stop_button:
-@eject_with_operation:
-@eject_with_operation_finish:
-
-<!-- ##### ENUM GDriveStartFlags ##### -->
-<para>
-
-</para>
-
-@G_DRIVE_START_NONE:
-
-<!-- ##### ENUM GDriveStartStopType ##### -->
-<para>
-
-</para>
-
-@G_DRIVE_START_STOP_TYPE_UNKNOWN:
-@G_DRIVE_START_STOP_TYPE_SHUTDOWN:
-@G_DRIVE_START_STOP_TYPE_NETWORK:
-@G_DRIVE_START_STOP_TYPE_MULTIDISK:
-@G_DRIVE_START_STOP_TYPE_PASSWORD:
-
-<!-- ##### FUNCTION g_drive_get_name ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_get_icon ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_has_volumes ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_get_volumes ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_can_eject ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_get_start_stop_type ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_can_start ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_can_start_degraded ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_can_stop ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_can_poll_for_media ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_poll_for_media ##### -->
-<para>
-
-</para>
-
-@drive:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_drive_poll_for_media_finish ##### -->
-<para>
-
-</para>
-
-@drive:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_has_media ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_is_media_check_automatic ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_is_media_removable ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_eject ##### -->
-<para>
-
-</para>
-
-@drive:
-@flags:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_drive_eject_finish ##### -->
-<para>
-
-</para>
-
-@drive:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_eject_with_operation ##### -->
-<para>
-
-</para>
-
-@drive:
-@flags:
-@mount_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_drive_eject_with_operation_finish ##### -->
-<para>
-
-</para>
-
-@drive:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_start ##### -->
-<para>
-
-</para>
-
-@drive:
-@flags:
-@mount_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_drive_start_finish ##### -->
-<para>
-
-</para>
-
-@drive:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_stop ##### -->
-<para>
-
-</para>
-
-@drive:
-@flags:
-@mount_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_drive_stop_finish ##### -->
-<para>
-
-</para>
-
-@drive:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_enumerate_identifiers ##### -->
-<para>
-
-</para>
-
-@drive:
-@Returns:
-
-
-<!-- ##### FUNCTION g_drive_get_identifier ##### -->
-<para>
-
-</para>
-
-@drive:
-@kind:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GEmblem
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GEmblem ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GEmblem:icon ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GEmblem:origin ##### -->
-<para>
-
-</para>
-
-<!-- ##### ENUM GEmblemOrigin ##### -->
-<para>
-
-</para>
-
-@G_EMBLEM_ORIGIN_UNKNOWN:
-@G_EMBLEM_ORIGIN_DEVICE:
-@G_EMBLEM_ORIGIN_LIVEMETADATA:
-@G_EMBLEM_ORIGIN_TAG:
-
-<!-- ##### FUNCTION g_emblem_new ##### -->
-<para>
-
-</para>
-
-@icon:
-@Returns:
-
-
-<!-- ##### FUNCTION g_emblem_new_with_origin ##### -->
-<para>
-
-</para>
-
-@icon:
-@origin:
-@Returns:
-
-
-<!-- ##### FUNCTION g_emblem_get_icon ##### -->
-<para>
-
-</para>
-
-@emblem:
-@Returns:
-
-
-<!-- ##### FUNCTION g_emblem_get_origin ##### -->
-<para>
-
-</para>
-
-@emblem:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GEmblemedIcon
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GEmblemedIcon ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_emblemed_icon_new ##### -->
-<para>
-
-</para>
-
-@icon:
-@emblem:
-@Returns:
-
-
-<!-- ##### FUNCTION g_emblemed_icon_get_icon ##### -->
-<para>
-
-</para>
-
-@emblemed:
-@Returns:
-
-
-<!-- ##### FUNCTION g_emblemed_icon_get_emblems ##### -->
-<para>
-
-</para>
-
-@emblemed:
-@Returns:
-
-
-<!-- ##### FUNCTION g_emblemed_icon_add_emblem ##### -->
-<para>
-
-</para>
-
-@emblemed:
-@emblem:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GFile
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GFile ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GFileIface ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@dup:
-@hash:
-@equal:
-@is_native:
-@has_uri_scheme:
-@get_uri_scheme:
-@get_basename:
-@get_path:
-@get_uri:
-@get_parse_name:
-@get_parent:
-@prefix_matches:
-@get_relative_path:
-@resolve_relative_path:
-@get_child_for_display_name:
-@enumerate_children:
-@enumerate_children_async:
-@enumerate_children_finish:
-@query_info:
-@query_info_async:
-@query_info_finish:
-@query_filesystem_info:
-@query_filesystem_info_async:
-@query_filesystem_info_finish:
-@find_enclosing_mount:
-@find_enclosing_mount_async:
-@find_enclosing_mount_finish:
-@set_display_name:
-@set_display_name_async:
-@set_display_name_finish:
-@query_settable_attributes:
-@_query_settable_attributes_async:
-@_query_settable_attributes_finish:
-@query_writable_namespaces:
-@_query_writable_namespaces_async:
-@_query_writable_namespaces_finish:
-@set_attribute:
-@set_attributes_from_info:
-@set_attributes_async:
-@set_attributes_finish:
-@read_fn:
-@read_async:
-@read_finish:
-@append_to:
-@append_to_async:
-@append_to_finish:
-@create:
-@create_async:
-@create_finish:
-@replace:
-@replace_async:
-@replace_finish:
-@delete_file:
-@_delete_file_async:
-@_delete_file_finish:
-@trash:
-@_trash_async:
-@_trash_finish:
-@make_directory:
-@_make_directory_async:
-@_make_directory_finish:
-@make_symbolic_link:
-@_make_symbolic_link_async:
-@_make_symbolic_link_finish:
-@copy:
-@copy_async:
-@copy_finish:
-@move:
-@_move_async:
-@_move_finish:
-@mount_mountable:
-@mount_mountable_finish:
-@unmount_mountable:
-@unmount_mountable_finish:
-@eject_mountable:
-@eject_mountable_finish:
-@mount_enclosing_volume:
-@mount_enclosing_volume_finish:
-@monitor_dir:
-@monitor_file:
-@open_readwrite:
-@open_readwrite_async:
-@open_readwrite_finish:
-@create_readwrite:
-@create_readwrite_async:
-@create_readwrite_finish:
-@replace_readwrite:
-@replace_readwrite_async:
-@replace_readwrite_finish:
-@start_mountable:
-@start_mountable_finish:
-@stop_mountable:
-@stop_mountable_finish:
-@supports_thread_contexts:
-@unmount_mountable_with_operation:
-@unmount_mountable_with_operation_finish:
-@eject_mountable_with_operation:
-@eject_mountable_with_operation_finish:
-@poll_mountable:
-@poll_mountable_finish:
-
-<!-- ##### ENUM GFileQueryInfoFlags ##### -->
-<para>
-
-</para>
-
-@G_FILE_QUERY_INFO_NONE:
-@G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS:
-
-<!-- ##### ENUM GFileCreateFlags ##### -->
-<para>
-
-</para>
-
-@G_FILE_CREATE_NONE:
-@G_FILE_CREATE_PRIVATE:
-@G_FILE_CREATE_REPLACE_DESTINATION:
-
-<!-- ##### ENUM GFileCopyFlags ##### -->
-<para>
-
-</para>
-
-@G_FILE_COPY_NONE:
-@G_FILE_COPY_OVERWRITE:
-@G_FILE_COPY_BACKUP:
-@G_FILE_COPY_NOFOLLOW_SYMLINKS:
-@G_FILE_COPY_ALL_METADATA:
-@G_FILE_COPY_NO_FALLBACK_FOR_MOVE:
-@G_FILE_COPY_TARGET_DEFAULT_PERMS:
-
-<!-- ##### ENUM GFileMonitorFlags ##### -->
-<para>
-
-</para>
-
-@G_FILE_MONITOR_NONE:
-@G_FILE_MONITOR_WATCH_MOUNTS:
-@G_FILE_MONITOR_SEND_MOVED:
-
-<!-- ##### ENUM GFilesystemPreviewType ##### -->
-<para>
-
-</para>
-
-@G_FILESYSTEM_PREVIEW_TYPE_IF_ALWAYS:
-@G_FILESYSTEM_PREVIEW_TYPE_IF_LOCAL:
-@G_FILESYSTEM_PREVIEW_TYPE_NEVER:
-
-<!-- ##### USER_FUNCTION GFileProgressCallback ##### -->
-<para>
-
-</para>
-
-@current_num_bytes:
-@total_num_bytes:
-@user_data:
-
-
-<!-- ##### USER_FUNCTION GFileReadMoreCallback ##### -->
-<para>
-
-</para>
-
-@file_contents:
-@file_size:
-@callback_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_new_for_path ##### -->
-<para>
-
-</para>
-
-@path:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_new_for_uri ##### -->
-<para>
-
-</para>
-
-@uri:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_new_for_commandline_arg ##### -->
-<para>
-
-</para>
-
-@arg:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_parse_name ##### -->
-<para>
-
-</para>
-
-@parse_name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_dup ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_hash ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_equal ##### -->
-<para>
-
-</para>
-
-@file1:
-@file2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_get_basename ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_get_path ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_get_uri ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_get_parse_name ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_get_parent ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_has_parent ##### -->
-<para>
-
-</para>
-
-@file:
-@parent:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_get_child ##### -->
-<para>
-
-</para>
-
-@file:
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_get_child_for_display_name ##### -->
-<para>
-
-</para>
-
-@file:
-@display_name:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_has_prefix ##### -->
-<para>
-
-</para>
-
-@file:
-@prefix:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_get_relative_path ##### -->
-<para>
-
-</para>
-
-@parent:
-@descendant:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_resolve_relative_path ##### -->
-<para>
-
-</para>
-
-@file:
-@relative_path:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_is_native ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_has_uri_scheme ##### -->
-<para>
-
-</para>
-
-@file:
-@uri_scheme:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_get_uri_scheme ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_read ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_read_async ##### -->
-<para>
-
-</para>
-
-@file:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_read_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_append_to ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_create ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_replace ##### -->
-<para>
-
-</para>
-
-@file:
-@etag:
-@make_backup:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_append_to_async ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_append_to_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_create_async ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_create_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_replace_async ##### -->
-<para>
-
-</para>
-
-@file:
-@etag:
-@make_backup:
-@flags:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_replace_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_query_info ##### -->
-<para>
-
-</para>
-
-@file:
-@attributes:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_query_info_async ##### -->
-<para>
-
-</para>
-
-@file:
-@attributes:
-@flags:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_query_info_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_query_exists ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_query_file_type ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@cancellable:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_query_filesystem_info ##### -->
-<para>
-
-</para>
-
-@file:
-@attributes:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_query_filesystem_info_async ##### -->
-<para>
-
-</para>
-
-@file:
-@attributes:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_query_filesystem_info_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_query_default_handler ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_find_enclosing_mount ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_find_enclosing_mount_async ##### -->
-<para>
-
-</para>
-
-@file:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_find_enclosing_mount_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_enumerate_children ##### -->
-<para>
-
-</para>
-
-@file:
-@attributes:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_enumerate_children_async ##### -->
-<para>
-
-</para>
-
-@file:
-@attributes:
-@flags:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_enumerate_children_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_set_display_name ##### -->
-<para>
-
-</para>
-
-@file:
-@display_name:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_set_display_name_async ##### -->
-<para>
-
-</para>
-
-@file:
-@display_name:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_set_display_name_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_delete ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_trash ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_copy ##### -->
-<para>
-
-</para>
-
-@source:
-@destination:
-@flags:
-@cancellable:
-@progress_callback:
-@progress_callback_data:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_copy_async ##### -->
-<para>
-
-</para>
-
-@source:
-@destination:
-@flags:
-@io_priority:
-@cancellable:
-@progress_callback:
-@progress_callback_data:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_copy_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_move ##### -->
-<para>
-
-</para>
-
-@source:
-@destination:
-@flags:
-@cancellable:
-@progress_callback:
-@progress_callback_data:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_make_directory ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_make_directory_with_parents ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_make_symbolic_link ##### -->
-<para>
-
-</para>
-
-@file:
-@symlink_value:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_query_settable_attributes ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_query_writable_namespaces ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_set_attribute ##### -->
-<para>
-
-</para>
-
-@file:
-@attribute:
-@type:
-@value_p:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_set_attributes_from_info ##### -->
-<para>
-
-</para>
-
-@file:
-@info:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_set_attributes_async ##### -->
-<para>
-
-</para>
-
-@file:
-@info:
-@flags:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_set_attributes_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@result:
-@info:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_set_attribute_string ##### -->
-<para>
-
-</para>
-
-@file:
-@attribute:
-@value:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_set_attribute_byte_string ##### -->
-<para>
-
-</para>
-
-@file:
-@attribute:
-@value:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_set_attribute_uint32 ##### -->
-<para>
-
-</para>
-
-@file:
-@attribute:
-@value:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_set_attribute_int32 ##### -->
-<para>
-
-</para>
-
-@file:
-@attribute:
-@value:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_set_attribute_uint64 ##### -->
-<para>
-
-</para>
-
-@file:
-@attribute:
-@value:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_set_attribute_int64 ##### -->
-<para>
-
-</para>
-
-@file:
-@attribute:
-@value:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_mount_mountable ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@mount_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_mount_mountable_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_unmount_mountable ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_unmount_mountable_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_unmount_mountable_with_operation ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@mount_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_unmount_mountable_with_operation_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_eject_mountable ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_eject_mountable_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_eject_mountable_with_operation ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@mount_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_eject_mountable_with_operation_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_start_mountable ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@start_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_start_mountable_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_stop_mountable ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@mount_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_stop_mountable_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_poll_mountable ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_poll_mountable_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_mount_enclosing_volume ##### -->
-<para>
-
-</para>
-
-@location:
-@flags:
-@mount_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_mount_enclosing_volume_finish ##### -->
-<para>
-
-</para>
-
-@location:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_monitor_directory ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_monitor_file ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_monitor ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_load_contents ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@contents:
-@length:
-@etag_out:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_load_contents_async ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_load_contents_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@contents:
-@length:
-@etag_out:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_load_partial_contents_async ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@read_more_callback:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_load_partial_contents_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@contents:
-@length:
-@etag_out:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_replace_contents ##### -->
-<para>
-
-</para>
-
-@file:
-@contents:
-@length:
-@etag:
-@make_backup:
-@flags:
-@new_etag:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_replace_contents_async ##### -->
-<para>
-
-</para>
-
-@file:
-@contents:
-@length:
-@etag:
-@make_backup:
-@flags:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_replace_contents_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@new_etag:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_copy_attributes ##### -->
-<para>
-
-</para>
-
-@source:
-@destination:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_create_readwrite ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_create_readwrite_async ##### -->
-<para>
-
-</para>
-
-@file:
-@flags:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_create_readwrite_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_open_readwrite ##### -->
-<para>
-
-</para>
-
-@file:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_open_readwrite_async ##### -->
-<para>
-
-</para>
-
-@file:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_open_readwrite_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_replace_readwrite ##### -->
-<para>
-
-</para>
-
-@file:
-@etag:
-@make_backup:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_replace_readwrite_async ##### -->
-<para>
-
-</para>
-
-@file:
-@etag:
-@make_backup:
-@flags:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_replace_readwrite_finish ##### -->
-<para>
-
-</para>
-
-@file:
-@res:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_supports_thread_contexts ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GFileAttribute
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### ENUM GFileAttributeType ##### -->
-<para>
-
-</para>
-
-@G_FILE_ATTRIBUTE_TYPE_INVALID:
-@G_FILE_ATTRIBUTE_TYPE_STRING:
-@G_FILE_ATTRIBUTE_TYPE_BYTE_STRING:
-@G_FILE_ATTRIBUTE_TYPE_BOOLEAN:
-@G_FILE_ATTRIBUTE_TYPE_UINT32:
-@G_FILE_ATTRIBUTE_TYPE_INT32:
-@G_FILE_ATTRIBUTE_TYPE_UINT64:
-@G_FILE_ATTRIBUTE_TYPE_INT64:
-@G_FILE_ATTRIBUTE_TYPE_OBJECT:
-@G_FILE_ATTRIBUTE_TYPE_STRINGV:
-
-<!-- ##### ENUM GFileAttributeInfoFlags ##### -->
-<para>
-
-</para>
-
-@G_FILE_ATTRIBUTE_INFO_NONE:
-@G_FILE_ATTRIBUTE_INFO_COPY_WITH_FILE:
-@G_FILE_ATTRIBUTE_INFO_COPY_WHEN_MOVED:
-
-<!-- ##### ENUM GFileAttributeStatus ##### -->
-<para>
-
-</para>
-
-@G_FILE_ATTRIBUTE_STATUS_UNSET:
-@G_FILE_ATTRIBUTE_STATUS_SET:
-@G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING:
-
-<!-- ##### STRUCT GFileAttributeInfo ##### -->
-<para>
-
-</para>
-
-@name:
-@type:
-@flags:
-
-<!-- ##### STRUCT GFileAttributeInfoList ##### -->
-<para>
-
-</para>
-
-@infos:
-@n_infos:
-
-<!-- ##### FUNCTION g_file_attribute_info_list_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_attribute_info_list_ref ##### -->
-<para>
-
-</para>
-
-@list:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_attribute_info_list_unref ##### -->
-<para>
-
-</para>
-
-@list:
-
-
-<!-- ##### FUNCTION g_file_attribute_info_list_dup ##### -->
-<para>
-
-</para>
-
-@list:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_attribute_info_list_lookup ##### -->
-<para>
-
-</para>
-
-@list:
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_attribute_info_list_add ##### -->
-<para>
-
-</para>
-
-@list:
-@name:
-@type:
-@flags:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GFileDescriptorBased
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GFileDescriptorBased ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_file_descriptor_based_get_fd ##### -->
-<para>
-
-</para>
-
-@fd_based:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GFileEnumerator
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GFileEnumerator ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GFileEnumerator:container ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_file_enumerator_next_file ##### -->
-<para>
-
-</para>
-
-@enumerator:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_enumerator_close ##### -->
-<para>
-
-</para>
-
-@enumerator:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_enumerator_next_files_async ##### -->
-<para>
-
-</para>
-
-@enumerator:
-@num_files:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_enumerator_next_files_finish ##### -->
-<para>
-
-</para>
-
-@enumerator:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_enumerator_close_async ##### -->
-<para>
-
-</para>
-
-@enumerator:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_enumerator_close_finish ##### -->
-<para>
-
-</para>
-
-@enumerator:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_enumerator_is_closed ##### -->
-<para>
-
-</para>
-
-@enumerator:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_enumerator_has_pending ##### -->
-<para>
-
-</para>
-
-@enumerator:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_enumerator_set_pending ##### -->
-<para>
-
-</para>
-
-@enumerator:
-@pending:
-
-
-<!-- ##### FUNCTION g_file_enumerator_get_container ##### -->
-<para>
-
-</para>
-
-@enumerator:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GFileIcon
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GFileIcon ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GFileIcon:file ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_file_icon_new ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_icon_get_file ##### -->
-<para>
-
-</para>
-
-@icon:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GFileInfo
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GFileAttributeMatcher ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ENUM GFileType ##### -->
-<para>
-
-</para>
-
-@G_FILE_TYPE_UNKNOWN:
-@G_FILE_TYPE_REGULAR:
-@G_FILE_TYPE_DIRECTORY:
-@G_FILE_TYPE_SYMBOLIC_LINK:
-@G_FILE_TYPE_SPECIAL:
-@G_FILE_TYPE_SHORTCUT:
-@G_FILE_TYPE_MOUNTABLE:
-
-<!-- ##### STRUCT GFileInfo ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_TYPE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_IS_VIRTUAL ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_NAME ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_COPY_NAME ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_ICON ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_SIZE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_TARGET_URI ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_ETAG_VALUE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_ID_FILE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_ID_FILESYSTEM ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_ACCESS_CAN_READ ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_ACCESS_CAN_WRITE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_ACCESS_CAN_DELETE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_ACCESS_CAN_TRASH ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_ACCESS_CAN_RENAME ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_MOUNTABLE_CAN_MOUNT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_MOUNTABLE_CAN_UNMOUNT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_MOUNTABLE_CAN_EJECT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_MOUNTABLE_UNIX_DEVICE_FILE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_MOUNTABLE_HAL_UDI ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_MOUNTABLE_CAN_POLL ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_MOUNTABLE_IS_MEDIA_CHECK_AUTOMATIC ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_MOUNTABLE_CAN_START_DEGRADED ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_MOUNTABLE_CAN_STOP ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_MOUNTABLE_START_STOP_TYPE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_TIME_MODIFIED ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_TIME_ACCESS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_TIME_ACCESS_USEC ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_TIME_CHANGED ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_TIME_CHANGED_USEC ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_TIME_CREATED ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_TIME_CREATED_USEC ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_UNIX_DEVICE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_UNIX_INODE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_UNIX_MODE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_UNIX_NLINK ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_UNIX_UID ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_UNIX_GID ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_UNIX_RDEV ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_UNIX_BLOCK_SIZE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_UNIX_BLOCKS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_UNIX_IS_MOUNTPOINT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_DOS_IS_ARCHIVE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_DOS_IS_SYSTEM ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_OWNER_USER ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_OWNER_USER_REAL ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_OWNER_GROUP ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_THUMBNAIL_PATH ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_THUMBNAILING_FAILED ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_PREVIEW_ICON ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_FILESYSTEM_SIZE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_FILESYSTEM_FREE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_FILESYSTEM_TYPE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_FILESYSTEM_READONLY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_GVFS_BACKEND ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_SELINUX_CONTEXT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_FILE_ATTRIBUTE_STANDARD_DESCRIPTION ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_file_info_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_dup ##### -->
-<para>
-
-</para>
-
-@other:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_copy_into ##### -->
-<para>
-
-</para>
-
-@src_info:
-@dest_info:
-
-
-<!-- ##### FUNCTION g_file_info_has_attribute ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_has_namespace ##### -->
-<para>
-
-</para>
-
-@info:
-@name_space:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_list_attributes ##### -->
-<para>
-
-</para>
-
-@info:
-@name_space:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_attribute_type ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_remove_attribute ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-
-
-<!-- ##### FUNCTION g_file_info_get_attribute_as_string ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_attribute_data ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@type:
-@value_pp:
-@status:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_attribute_status ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_attribute_string ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_attribute_stringv ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_attribute_byte_string ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_attribute_boolean ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_attribute_uint32 ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_attribute_int32 ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_attribute_uint64 ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_attribute_int64 ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_attribute_object ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_set_attribute ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@type:
-@value_p:
-
-
-<!-- ##### FUNCTION g_file_info_set_attribute_status ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@status:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_set_attribute_string ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@attr_value:
-
-
-<!-- ##### FUNCTION g_file_info_set_attribute_stringv ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@attr_value:
-
-
-<!-- ##### FUNCTION g_file_info_set_attribute_byte_string ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@attr_value:
-
-
-<!-- ##### FUNCTION g_file_info_set_attribute_boolean ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@attr_value:
-
-
-<!-- ##### FUNCTION g_file_info_set_attribute_uint32 ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@attr_value:
-
-
-<!-- ##### FUNCTION g_file_info_set_attribute_int32 ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@attr_value:
-
-
-<!-- ##### FUNCTION g_file_info_set_attribute_uint64 ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@attr_value:
-
-
-<!-- ##### FUNCTION g_file_info_set_attribute_int64 ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@attr_value:
-
-
-<!-- ##### FUNCTION g_file_info_set_attribute_object ##### -->
-<para>
-
-</para>
-
-@info:
-@attribute:
-@attr_value:
-
-
-<!-- ##### FUNCTION g_file_info_clear_status ##### -->
-<para>
-
-</para>
-
-@info:
-
-
-<!-- ##### FUNCTION g_file_info_get_file_type ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_is_hidden ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_is_backup ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_is_symlink ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_name ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_display_name ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_edit_name ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_icon ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_content_type ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_size ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_modification_time ##### -->
-<para>
-
-</para>
-
-@info:
-@result:
-
-
-<!-- ##### FUNCTION g_file_info_get_symlink_target ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_etag ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_get_sort_order ##### -->
-<para>
-
-</para>
-
-@info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_info_set_attribute_mask ##### -->
-<para>
-
-</para>
-
-@info:
-@mask:
-
-
-<!-- ##### FUNCTION g_file_info_unset_attribute_mask ##### -->
-<para>
-
-</para>
-
-@info:
-
-
-<!-- ##### FUNCTION g_file_info_set_file_type ##### -->
-<para>
-
-</para>
-
-@info:
-@type:
-
-
-<!-- ##### FUNCTION g_file_info_set_is_hidden ##### -->
-<para>
-
-</para>
-
-@info:
-@is_hidden:
-
-
-<!-- ##### FUNCTION g_file_info_set_is_symlink ##### -->
-<para>
-
-</para>
-
-@info:
-@is_symlink:
-
-
-<!-- ##### FUNCTION g_file_info_set_name ##### -->
-<para>
-
-</para>
-
-@info:
-@name:
-
-
-<!-- ##### FUNCTION g_file_info_set_display_name ##### -->
-<para>
-
-</para>
-
-@info:
-@display_name:
-
-
-<!-- ##### FUNCTION g_file_info_set_edit_name ##### -->
-<para>
-
-</para>
-
-@info:
-@edit_name:
-
-
-<!-- ##### FUNCTION g_file_info_set_icon ##### -->
-<para>
-
-</para>
-
-@info:
-@icon:
-
-
-<!-- ##### FUNCTION g_file_info_set_content_type ##### -->
-<para>
-
-</para>
-
-@info:
-@content_type:
-
-
-<!-- ##### FUNCTION g_file_info_set_size ##### -->
-<para>
-
-</para>
-
-@info:
-@size:
-
-
-<!-- ##### FUNCTION g_file_info_set_modification_time ##### -->
-<para>
-
-</para>
-
-@info:
-@mtime:
-
-
-<!-- ##### FUNCTION g_file_info_set_symlink_target ##### -->
-<para>
-
-</para>
-
-@info:
-@symlink_target:
-
-
-<!-- ##### FUNCTION g_file_info_set_sort_order ##### -->
-<para>
-
-</para>
-
-@info:
-@sort_order:
-
-
-<!-- ##### FUNCTION g_file_attribute_matcher_new ##### -->
-<para>
-
-</para>
-
-@attributes:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_attribute_matcher_ref ##### -->
-<para>
-
-</para>
-
-@matcher:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_attribute_matcher_unref ##### -->
-<para>
-
-</para>
-
-@matcher:
-
-
-<!-- ##### FUNCTION g_file_attribute_matcher_matches ##### -->
-<para>
-
-</para>
-
-@matcher:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_attribute_matcher_matches_only ##### -->
-<para>
-
-</para>
-
-@matcher:
-@attribute:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_attribute_matcher_enumerate_namespace ##### -->
-<para>
-
-</para>
-
-@matcher:
-@ns:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_attribute_matcher_enumerate_next ##### -->
-<para>
-
-</para>
-
-@matcher:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GFileInputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GFileInputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_file_input_stream_query_info ##### -->
-<para>
-
-</para>
-
-@stream:
-@attributes:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_input_stream_query_info_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@attributes:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_input_stream_query_info_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GFileIOStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GFileIOStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_file_io_stream_get_etag ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_io_stream_query_info ##### -->
-<para>
-
-</para>
-
-@stream:
-@attributes:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_io_stream_query_info_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@attributes:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_io_stream_query_info_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GFileMonitor
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### ENUM GFileMonitorEvent ##### -->
-<para>
-
-</para>
-
-@G_FILE_MONITOR_EVENT_CHANGED:
-@G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT:
-@G_FILE_MONITOR_EVENT_DELETED:
-@G_FILE_MONITOR_EVENT_CREATED:
-@G_FILE_MONITOR_EVENT_ATTRIBUTE_CHANGED:
-@G_FILE_MONITOR_EVENT_PRE_UNMOUNT:
-@G_FILE_MONITOR_EVENT_UNMOUNTED:
-@G_FILE_MONITOR_EVENT_MOVED:
-
-<!-- ##### STRUCT GFileMonitor ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GFileMonitor::changed ##### -->
-<para>
-
-</para>
-
-@gfilemonitor: the object which received the signal.
-@arg1:
-@arg2:
-@arg3:
-
-<!-- ##### ARG GFileMonitor:cancelled ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GFileMonitor:rate-limit ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_file_monitor_cancel ##### -->
-<para>
-
-</para>
-
-@monitor:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_monitor_is_cancelled ##### -->
-<para>
-
-</para>
-
-@monitor:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_monitor_set_rate_limit ##### -->
-<para>
-
-</para>
-
-@monitor:
-@limit_msecs:
-
-
-<!-- ##### FUNCTION g_file_monitor_emit_event ##### -->
-<para>
-
-</para>
-
-@monitor:
-@child:
-@other_file:
-@event_type:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GFilenameCompleter
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GFilenameCompleter ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GFilenameCompleter::got-completion-data ##### -->
-<para>
-
-</para>
-
-@gfilenamecompleter: the object which received the signal.
-
-<!-- ##### FUNCTION g_filename_completer_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_filename_completer_get_completion_suffix ##### -->
-<para>
-
-</para>
-
-@completer:
-@initial_text:
-@Returns:
-
-
-<!-- ##### FUNCTION g_filename_completer_get_completions ##### -->
-<para>
-
-</para>
-
-@completer:
-@initial_text:
-@Returns:
-
-
-<!-- ##### FUNCTION g_filename_completer_set_dirs_only ##### -->
-<para>
-
-</para>
-
-@completer:
-@dirs_only:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GFileOutputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GFileOutputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_file_output_stream_query_info ##### -->
-<para>
-
-</para>
-
-@stream:
-@attributes:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_output_stream_query_info_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@attributes:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_file_output_stream_query_info_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_output_stream_get_etag ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GFilterInputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GFilterInputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GFilterInputStream:base-stream ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GFilterInputStream:close-base-stream ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_filter_input_stream_get_base_stream ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_filter_input_stream_get_close_base_stream ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_filter_input_stream_set_close_base_stream ##### -->
-<para>
-
-</para>
-
-@stream:
-@close_base:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GFilterOutputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GFilterOutputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GFilterOutputStream:base-stream ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GFilterOutputStream:close-base-stream ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_filter_output_stream_get_base_stream ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_filter_output_stream_get_close_base_stream ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_filter_output_stream_set_close_base_stream ##### -->
-<para>
-
-</para>
-
-@stream:
-@close_base:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GIcon
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GIcon ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GIconIface ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@hash:
-@equal:
-@to_tokens:
-@from_tokens:
-
-<!-- ##### FUNCTION g_icon_hash ##### -->
-<para>
-
-</para>
-
-@icon:
-@Returns:
-
-
-<!-- ##### FUNCTION g_icon_equal ##### -->
-<para>
-
-</para>
-
-@icon1:
-@icon2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_icon_to_string ##### -->
-<para>
-
-</para>
-
-@icon:
-@Returns:
-
-
-<!-- ##### FUNCTION g_icon_new_for_string ##### -->
-<para>
-
-</para>
-
-@str:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GInetAddress
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GInetAddress ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GInetAddress:bytes ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GInetAddress:family ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GInetAddress:is-any ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GInetAddress:is-link-local ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GInetAddress:is-loopback ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GInetAddress:is-mc-global ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GInetAddress:is-mc-link-local ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GInetAddress:is-mc-node-local ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GInetAddress:is-mc-org-local ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GInetAddress:is-mc-site-local ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GInetAddress:is-multicast ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GInetAddress:is-site-local ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_inet_address_new_from_string ##### -->
-<para>
-
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_new_from_bytes ##### -->
-<para>
-
-</para>
-
-@bytes:
-@family:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_new_any ##### -->
-<para>
-
-</para>
-
-@family:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_new_loopback ##### -->
-<para>
-
-</para>
-
-@family:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_to_bytes ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_get_native_size ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_to_string ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_get_family ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_get_is_any ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_get_is_loopback ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_get_is_link_local ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_get_is_site_local ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_get_is_multicast ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_get_is_mc_link_local ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_get_is_mc_node_local ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_get_is_mc_site_local ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_get_is_mc_org_local ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_address_get_is_mc_global ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GInetSocketAddress
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GInetSocketAddress ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GInetSocketAddress:address ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GInetSocketAddress:port ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_inet_socket_address_new ##### -->
-<para>
-
-</para>
-
-@address:
-@port:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_socket_address_get_address ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_inet_socket_address_get_port ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GInitable
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GInitable ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GInitableIface ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@init:
-
-<!-- ##### FUNCTION g_initable_init ##### -->
-<para>
-
-</para>
-
-@initable:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_initable_new ##### -->
-<para>
-
-</para>
-
-@object_type:
-@cancellable:
-@error:
-@first_property_name:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_initable_new_valist ##### -->
-<para>
-
-</para>
-
-@object_type:
-@first_property_name:
-@var_args:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_initable_newv ##### -->
-<para>
-
-</para>
-
-@object_type:
-@n_parameters:
-@parameters:
-@cancellable:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GInputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GInputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_input_stream_read ##### -->
-<para>
-
-</para>
-
-@stream:
-@buffer:
-@count:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_input_stream_read_all ##### -->
-<para>
-
-</para>
-
-@stream:
-@buffer:
-@count:
-@bytes_read:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_input_stream_skip ##### -->
-<para>
-
-</para>
-
-@stream:
-@count:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_input_stream_close ##### -->
-<para>
-
-</para>
-
-@stream:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_input_stream_read_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@buffer:
-@count:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_input_stream_read_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_input_stream_skip_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@count:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_input_stream_skip_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_input_stream_close_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_input_stream_close_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_input_stream_is_closed ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_input_stream_has_pending ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_input_stream_set_pending ##### -->
-<para>
-
-</para>
-
-@stream:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_input_stream_clear_pending ##### -->
-<para>
-
-</para>
-
-@stream:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GIOError
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_IO_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### ENUM GIOErrorEnum ##### -->
-<para>
-
-</para>
-
-@G_IO_ERROR_FAILED:
-@G_IO_ERROR_NOT_FOUND:
-@G_IO_ERROR_EXISTS:
-@G_IO_ERROR_IS_DIRECTORY:
-@G_IO_ERROR_NOT_DIRECTORY:
-@G_IO_ERROR_NOT_EMPTY:
-@G_IO_ERROR_NOT_REGULAR_FILE:
-@G_IO_ERROR_NOT_SYMBOLIC_LINK:
-@G_IO_ERROR_NOT_MOUNTABLE_FILE:
-@G_IO_ERROR_FILENAME_TOO_LONG:
-@G_IO_ERROR_INVALID_FILENAME:
-@G_IO_ERROR_TOO_MANY_LINKS:
-@G_IO_ERROR_NO_SPACE:
-@G_IO_ERROR_INVALID_ARGUMENT:
-@G_IO_ERROR_PERMISSION_DENIED:
-@G_IO_ERROR_NOT_SUPPORTED:
-@G_IO_ERROR_NOT_MOUNTED:
-@G_IO_ERROR_ALREADY_MOUNTED:
-@G_IO_ERROR_CLOSED:
-@G_IO_ERROR_CANCELLED:
-@G_IO_ERROR_PENDING:
-@G_IO_ERROR_READ_ONLY:
-@G_IO_ERROR_CANT_CREATE_BACKUP:
-@G_IO_ERROR_WRONG_ETAG:
-@G_IO_ERROR_TIMED_OUT:
-@G_IO_ERROR_WOULD_RECURSE:
-@G_IO_ERROR_BUSY:
-@G_IO_ERROR_WOULD_BLOCK:
-@G_IO_ERROR_HOST_NOT_FOUND:
-@G_IO_ERROR_WOULD_MERGE:
-@G_IO_ERROR_FAILED_HANDLED:
-@G_IO_ERROR_TOO_MANY_OPEN_FILES:
-@G_IO_ERROR_NOT_INITIALIZED:
-@G_IO_ERROR_ADDRESS_IN_USE:
-@G_IO_ERROR_PARTIAL_INPUT:
-@G_IO_ERROR_INVALID_DATA:
-
-<!-- ##### FUNCTION g_io_error_from_errno ##### -->
-<para>
-
-</para>
-
-@err_no:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GIOModule
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GIOModule ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_io_module_new ##### -->
-<para>
-
-</para>
-
-@filename:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_modules_load_all_in_directory ##### -->
-<para>
-
-</para>
-
-@dirname:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_modules_scan_all_in_directory ##### -->
-<para>
-
-</para>
-
-@dirname:
-
-
-<!-- ##### FUNCTION g_io_module_load ##### -->
-<para>
-
-</para>
-
-@module:
-
-
-<!-- ##### FUNCTION g_io_module_unload ##### -->
-<para>
-
-</para>
-
-@module:
-
-
-<!-- ##### FUNCTION g_io_module_query ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GIOScheduler
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GIOSchedulerJob ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### USER_FUNCTION GIOSchedulerJobFunc ##### -->
-<para>
-
-</para>
-
-@job:
-@cancellable:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_scheduler_push_job ##### -->
-<para>
-
-</para>
-
-@job_func:
-@user_data:
-@notify:
-@io_priority:
-@cancellable:
-
-
-<!-- ##### FUNCTION g_io_scheduler_cancel_all_jobs ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_io_scheduler_job_send_to_mainloop ##### -->
-<para>
-
-</para>
-
-@job:
-@func:
-@user_data:
-@notify:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_scheduler_job_send_to_mainloop_async ##### -->
-<para>
-
-</para>
-
-@job:
-@func:
-@user_data:
-@notify:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GIOStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GIOStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GIOStream:closed ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GIOStream:input-stream ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GIOStream:output-stream ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_io_stream_get_input_stream ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_stream_get_output_stream ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_stream_close ##### -->
-<para>
-
-</para>
-
-@stream:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_stream_close_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_io_stream_close_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_stream_is_closed ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_stream_has_pending ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_stream_set_pending ##### -->
-<para>
-
-</para>
-
-@stream:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_stream_clear_pending ##### -->
-<para>
-
-</para>
-
-@stream:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GLoadableIcon
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GLoadableIcon ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GLoadableIconIface ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@load:
-@load_async:
-@load_finish:
-
-<!-- ##### FUNCTION g_loadable_icon_load ##### -->
-<para>
-
-</para>
-
-@icon:
-@size:
-@type:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_loadable_icon_load_async ##### -->
-<para>
-
-</para>
-
-@icon:
-@size:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_loadable_icon_load_finish ##### -->
-<para>
-
-</para>
-
-@icon:
-@res:
-@type:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GMemoryInputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GMemoryInputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_memory_input_stream_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_memory_input_stream_new_from_data ##### -->
-<para>
-
-</para>
-
-@data:
-@len:
-@destroy:
-@Returns:
-
-
-<!-- ##### FUNCTION g_memory_input_stream_add_data ##### -->
-<para>
-
-</para>
-
-@stream:
-@data:
-@len:
-@destroy:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GMemoryOutputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### USER_FUNCTION GReallocFunc ##### -->
-<para>
-
-</para>
-
-@data:
-@size:
-@Returns:
-
-
-<!-- ##### STRUCT GMemoryOutputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GMemoryOutputStream:data ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GMemoryOutputStream:data-size ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GMemoryOutputStream:destroy-function ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GMemoryOutputStream:realloc-function ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GMemoryOutputStream:size ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_memory_output_stream_new ##### -->
-<para>
-
-</para>
-
-@data:
-@size:
-@realloc_function:
-@destroy_function:
-@Returns:
-
-
-<!-- ##### FUNCTION g_memory_output_stream_get_data ##### -->
-<para>
-
-</para>
-
-@ostream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_memory_output_stream_get_size ##### -->
-<para>
-
-</para>
-
-@ostream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_memory_output_stream_get_data_size ##### -->
-<para>
-
-</para>
-
-@ostream:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GMount
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GMount ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GMount::changed ##### -->
-<para>
-
-</para>
-
-@gmount: the object which received the signal.
-
-<!-- ##### SIGNAL GMount::pre-unmount ##### -->
-<para>
-
-</para>
-
-@gmount: the object which received the signal.
-
-<!-- ##### SIGNAL GMount::unmounted ##### -->
-<para>
-
-</para>
-
-@gmount: the object which received the signal.
-
-<!-- ##### STRUCT GMountIface ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@changed:
-@unmounted:
-@get_root:
-@get_name:
-@get_icon:
-@get_uuid:
-@get_volume:
-@get_drive:
-@can_unmount:
-@can_eject:
-@unmount:
-@unmount_finish:
-@eject:
-@eject_finish:
-@remount:
-@remount_finish:
-@guess_content_type:
-@guess_content_type_finish:
-@guess_content_type_sync:
-@pre_unmount:
-@unmount_with_operation:
-@unmount_with_operation_finish:
-@eject_with_operation:
-@eject_with_operation_finish:
-@get_default_location:
-
-<!-- ##### FUNCTION g_mount_get_name ##### -->
-<para>
-
-</para>
-
-@mount:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_get_uuid ##### -->
-<para>
-
-</para>
-
-@mount:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_get_icon ##### -->
-<para>
-
-</para>
-
-@mount:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_get_drive ##### -->
-<para>
-
-</para>
-
-@mount:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_get_root ##### -->
-<para>
-
-</para>
-
-@mount:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_get_volume ##### -->
-<para>
-
-</para>
-
-@mount:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_get_default_location ##### -->
-<para>
-
-</para>
-
-@mount:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_can_unmount ##### -->
-<para>
-
-</para>
-
-@mount:
-@Returns:
-
-
-<!-- ##### ENUM GMountMountFlags ##### -->
-<para>
-
-</para>
-
-@G_MOUNT_MOUNT_NONE:
-
-<!-- ##### ENUM GMountUnmountFlags ##### -->
-<para>
-
-</para>
-
-@G_MOUNT_UNMOUNT_NONE:
-@G_MOUNT_UNMOUNT_FORCE:
-
-<!-- ##### FUNCTION g_mount_unmount ##### -->
-<para>
-
-</para>
-
-@mount:
-@flags:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_mount_unmount_finish ##### -->
-<para>
-
-</para>
-
-@mount:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_unmount_with_operation ##### -->
-<para>
-
-</para>
-
-@mount:
-@flags:
-@mount_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_mount_unmount_with_operation_finish ##### -->
-<para>
-
-</para>
-
-@mount:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_remount ##### -->
-<para>
-
-</para>
-
-@mount:
-@flags:
-@mount_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_mount_remount_finish ##### -->
-<para>
-
-</para>
-
-@mount:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_can_eject ##### -->
-<para>
-
-</para>
-
-@mount:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_eject ##### -->
-<para>
-
-</para>
-
-@mount:
-@flags:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_mount_eject_finish ##### -->
-<para>
-
-</para>
-
-@mount:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_eject_with_operation ##### -->
-<para>
-
-</para>
-
-@mount:
-@flags:
-@mount_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_mount_eject_with_operation_finish ##### -->
-<para>
-
-</para>
-
-@mount:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_guess_content_type ##### -->
-<para>
-
-</para>
-
-@mount:
-@force_rescan:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_mount_guess_content_type_finish ##### -->
-<para>
-
-</para>
-
-@mount:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_guess_content_type_sync ##### -->
-<para>
-
-</para>
-
-@mount:
-@force_rescan:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_is_shadowed ##### -->
-<para>
-
-</para>
-
-@mount:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_shadow ##### -->
-<para>
-
-</para>
-
-@mount:
-
-
-<!-- ##### FUNCTION g_mount_unshadow ##### -->
-<para>
-
-</para>
-
-@mount:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GMountOperation
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### ENUM GAskPasswordFlags ##### -->
-<para>
-
-</para>
-
-@G_ASK_PASSWORD_NEED_PASSWORD:
-@G_ASK_PASSWORD_NEED_USERNAME:
-@G_ASK_PASSWORD_NEED_DOMAIN:
-@G_ASK_PASSWORD_SAVING_SUPPORTED:
-@G_ASK_PASSWORD_ANONYMOUS_SUPPORTED:
-
-<!-- ##### ENUM GPasswordSave ##### -->
-<para>
-
-</para>
-
-@G_PASSWORD_SAVE_NEVER:
-@G_PASSWORD_SAVE_FOR_SESSION:
-@G_PASSWORD_SAVE_PERMANENTLY:
-
-<!-- ##### STRUCT GMountOperation ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GMountOperation::aborted ##### -->
-<para>
-
-</para>
-
-@gmountoperation: the object which received the signal.
-
-<!-- ##### SIGNAL GMountOperation::ask-password ##### -->
-<para>
-
-</para>
-
-@gmountoperation: the object which received the signal.
-@arg1:
-@arg2:
-@arg3:
-@arg4:
-
-<!-- ##### SIGNAL GMountOperation::ask-question ##### -->
-<para>
-
-</para>
-
-@gmountoperation: the object which received the signal.
-@arg1:
-@arg2:
-
-<!-- ##### SIGNAL GMountOperation::reply ##### -->
-<para>
-
-</para>
-
-@gmountoperation: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GMountOperation::show-processes ##### -->
-<para>
-
-</para>
-
-@gmountoperation: the object which received the signal.
-@arg1:
-@arg2:
-@arg3:
-
-<!-- ##### ARG GMountOperation:anonymous ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GMountOperation:choice ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GMountOperation:domain ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GMountOperation:password ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GMountOperation:password-save ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GMountOperation:username ##### -->
-<para>
-
-</para>
-
-<!-- ##### ENUM GMountOperationResult ##### -->
-<para>
-
-</para>
-
-@G_MOUNT_OPERATION_HANDLED:
-@G_MOUNT_OPERATION_ABORTED:
-@G_MOUNT_OPERATION_UNHANDLED:
-
-<!-- ##### FUNCTION g_mount_operation_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_operation_get_username ##### -->
-<para>
-
-</para>
-
-@op:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_operation_set_username ##### -->
-<para>
-
-</para>
-
-@op:
-@username:
-
-
-<!-- ##### FUNCTION g_mount_operation_get_password ##### -->
-<para>
-
-</para>
-
-@op:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_operation_set_password ##### -->
-<para>
-
-</para>
-
-@op:
-@password:
-
-
-<!-- ##### FUNCTION g_mount_operation_get_anonymous ##### -->
-<para>
-
-</para>
-
-@op:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_operation_set_anonymous ##### -->
-<para>
-
-</para>
-
-@op:
-@anonymous:
-
-
-<!-- ##### FUNCTION g_mount_operation_get_domain ##### -->
-<para>
-
-</para>
-
-@op:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_operation_set_domain ##### -->
-<para>
-
-</para>
-
-@op:
-@domain:
-
-
-<!-- ##### FUNCTION g_mount_operation_get_password_save ##### -->
-<para>
-
-</para>
-
-@op:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_operation_set_password_save ##### -->
-<para>
-
-</para>
-
-@op:
-@save:
-
-
-<!-- ##### FUNCTION g_mount_operation_get_choice ##### -->
-<para>
-
-</para>
-
-@op:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mount_operation_set_choice ##### -->
-<para>
-
-</para>
-
-@op:
-@choice:
-
-
-<!-- ##### FUNCTION g_mount_operation_reply ##### -->
-<para>
-
-</para>
-
-@op:
-@result:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GNetworkAddress
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GNetworkAddress ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GNetworkAddress:hostname ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GNetworkAddress:port ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_network_address_new ##### -->
-<para>
-
-</para>
-
-@hostname:
-@port:
-@Returns:
-
-
-<!-- ##### FUNCTION g_network_address_get_hostname ##### -->
-<para>
-
-</para>
-
-@addr:
-@Returns:
-
-
-<!-- ##### FUNCTION g_network_address_get_port ##### -->
-<para>
-
-</para>
-
-@addr:
-@Returns:
-
-
-<!-- ##### FUNCTION g_network_address_parse ##### -->
-<para>
-
-</para>
-
-@host_and_port:
-@default_port:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GNetworkService
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GNetworkService ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GNetworkService:domain ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GNetworkService:protocol ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GNetworkService:service ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_network_service_new ##### -->
-<para>
-
-</para>
-
-@service:
-@protocol:
-@domain:
-@Returns:
-
-
-<!-- ##### FUNCTION g_network_service_get_service ##### -->
-<para>
-
-</para>
-
-@srv:
-@Returns:
-
-
-<!-- ##### FUNCTION g_network_service_get_protocol ##### -->
-<para>
-
-</para>
-
-@srv:
-@Returns:
-
-
-<!-- ##### FUNCTION g_network_service_get_domain ##### -->
-<para>
-
-</para>
-
-@srv:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GOutputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### ENUM GOutputStreamSpliceFlags ##### -->
-<para>
-
-</para>
-
-@G_OUTPUT_STREAM_SPLICE_NONE:
-@G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE:
-@G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET:
-
-<!-- ##### STRUCT GOutputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_output_stream_write ##### -->
-<para>
-
-</para>
-
-@stream:
-@buffer:
-@count:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_output_stream_write_all ##### -->
-<para>
-
-</para>
-
-@stream:
-@buffer:
-@count:
-@bytes_written:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_output_stream_splice ##### -->
-<para>
-
-</para>
-
-@stream:
-@source:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_output_stream_flush ##### -->
-<para>
-
-</para>
-
-@stream:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_output_stream_close ##### -->
-<para>
-
-</para>
-
-@stream:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_output_stream_write_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@buffer:
-@count:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_output_stream_write_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_output_stream_splice_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@source:
-@flags:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_output_stream_splice_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_output_stream_flush_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_output_stream_flush_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_output_stream_close_async ##### -->
-<para>
-
-</para>
-
-@stream:
-@io_priority:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_output_stream_close_finish ##### -->
-<para>
-
-</para>
-
-@stream:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_output_stream_is_closing ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_output_stream_is_closed ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_output_stream_has_pending ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_output_stream_set_pending ##### -->
-<para>
-
-</para>
-
-@stream:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_output_stream_clear_pending ##### -->
-<para>
-
-</para>
-
-@stream:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GResolver
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GResolver ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GResolver::reload ##### -->
-<para>
-
-</para>
-
-@gresolver: the object which received the signal.
-
-<!-- ##### FUNCTION g_resolver_get_default ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_resolver_set_default ##### -->
-<para>
-
-</para>
-
-@resolver:
-
-
-<!-- ##### FUNCTION g_resolver_lookup_by_name ##### -->
-<para>
-
-</para>
-
-@resolver:
-@hostname:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_resolver_lookup_by_name_async ##### -->
-<para>
-
-</para>
-
-@resolver:
-@hostname:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_resolver_lookup_by_name_finish ##### -->
-<para>
-
-</para>
-
-@resolver:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_resolver_free_addresses ##### -->
-<para>
-
-</para>
-
-@addresses:
-
-
-<!-- ##### FUNCTION g_resolver_lookup_by_address ##### -->
-<para>
-
-</para>
-
-@resolver:
-@address:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_resolver_lookup_by_address_async ##### -->
-<para>
-
-</para>
-
-@resolver:
-@address:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_resolver_lookup_by_address_finish ##### -->
-<para>
-
-</para>
-
-@resolver:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_resolver_lookup_service ##### -->
-<para>
-
-</para>
-
-@resolver:
-@service:
-@protocol:
-@domain:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_resolver_lookup_service_async ##### -->
-<para>
-
-</para>
-
-@resolver:
-@service:
-@protocol:
-@domain:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_resolver_lookup_service_finish ##### -->
-<para>
-
-</para>
-
-@resolver:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_resolver_free_targets ##### -->
-<para>
-
-</para>
-
-@targets:
-
-
-<!-- ##### MACRO G_RESOLVER_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### ENUM GResolverError ##### -->
-<para>
-
-</para>
-
-@G_RESOLVER_ERROR_NOT_FOUND:
-@G_RESOLVER_ERROR_TEMPORARY_FAILURE:
-@G_RESOLVER_ERROR_INTERNAL:
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GSeekable
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSeekable ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GSeekableIface ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@tell:
-@can_seek:
-@seek:
-@can_truncate:
-@truncate_fn:
-
-<!-- ##### FUNCTION g_seekable_tell ##### -->
-<para>
-
-</para>
-
-@seekable:
-@Returns:
-
-
-<!-- ##### FUNCTION g_seekable_can_seek ##### -->
-<para>
-
-</para>
-
-@seekable:
-@Returns:
-
-
-<!-- ##### FUNCTION g_seekable_seek ##### -->
-<para>
-
-</para>
-
-@seekable:
-@offset:
-@type:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_seekable_can_truncate ##### -->
-<para>
-
-</para>
-
-@seekable:
-@Returns:
-
-
-<!-- ##### FUNCTION g_seekable_truncate ##### -->
-<para>
-
-</para>
-
-@seekable:
-@offset:
-@cancellable:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GSimpleAsyncResult
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSimpleAsyncResult ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### USER_FUNCTION GSimpleAsyncThreadFunc ##### -->
-<para>
-
-</para>
-
-@res:
-@object:
-@cancellable:
-
-
-<!-- ##### FUNCTION g_simple_async_result_new ##### -->
-<para>
-
-</para>
-
-@source_object:
-@callback:
-@user_data:
-@source_tag:
-@Returns:
-
-
-<!-- ##### FUNCTION g_simple_async_result_new_error ##### -->
-<para>
-
-</para>
-
-@source_object:
-@callback:
-@user_data:
-@domain:
-@code:
-@format:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_simple_async_result_new_from_error ##### -->
-<para>
-
-</para>
-
-@source_object:
-@callback:
-@user_data:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_simple_async_result_set_op_res_gpointer ##### -->
-<para>
-
-</para>
-
-@simple:
-@op_res:
-@destroy_op_res:
-
-
-<!-- ##### FUNCTION g_simple_async_result_get_op_res_gpointer ##### -->
-<para>
-
-</para>
-
-@simple:
-@Returns:
-
-
-<!-- ##### FUNCTION g_simple_async_result_set_op_res_gssize ##### -->
-<para>
-
-</para>
-
-@simple:
-@op_res:
-
-
-<!-- ##### FUNCTION g_simple_async_result_get_op_res_gssize ##### -->
-<para>
-
-</para>
-
-@simple:
-@Returns:
-
-
-<!-- ##### FUNCTION g_simple_async_result_set_op_res_gboolean ##### -->
-<para>
-
-</para>
-
-@simple:
-@op_res:
-
-
-<!-- ##### FUNCTION g_simple_async_result_get_op_res_gboolean ##### -->
-<para>
-
-</para>
-
-@simple:
-@Returns:
-
-
-<!-- ##### FUNCTION g_simple_async_result_get_source_tag ##### -->
-<para>
-
-</para>
-
-@simple:
-@Returns:
-
-
-<!-- ##### FUNCTION g_simple_async_result_is_valid ##### -->
-<para>
-
-</para>
-
-@result:
-@source:
-@source_tag:
-@Returns:
-
-
-<!-- ##### FUNCTION g_simple_async_result_set_handle_cancellation ##### -->
-<para>
-
-</para>
-
-@simple:
-@handle_cancellation:
-
-
-<!-- ##### FUNCTION g_simple_async_result_complete ##### -->
-<para>
-
-</para>
-
-@simple:
-
-
-<!-- ##### FUNCTION g_simple_async_result_complete_in_idle ##### -->
-<para>
-
-</para>
-
-@simple:
-
-
-<!-- ##### FUNCTION g_simple_async_result_run_in_thread ##### -->
-<para>
-
-</para>
-
-@simple:
-@func:
-@io_priority:
-@cancellable:
-
-
-<!-- ##### FUNCTION g_simple_async_result_set_from_error ##### -->
-<para>
-
-</para>
-
-@simple:
-@error:
-
-
-<!-- ##### FUNCTION g_simple_async_result_propagate_error ##### -->
-<para>
-
-</para>
-
-@simple:
-@dest:
-@Returns:
-
-
-<!-- ##### FUNCTION g_simple_async_result_set_error ##### -->
-<para>
-
-</para>
-
-@simple:
-@domain:
-@code:
-@format:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_simple_async_result_set_error_va ##### -->
-<para>
-
-</para>
-
-@simple:
-@domain:
-@code:
-@format:
-@args:
-
-
-<!-- ##### FUNCTION g_simple_async_report_error_in_idle ##### -->
-<para>
-
-</para>
-
-@object:
-@callback:
-@user_data:
-@domain:
-@code:
-@format:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_simple_async_report_gerror_in_idle ##### -->
-<para>
-
-</para>
-
-@object:
-@callback:
-@user_data:
-@error:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GSocket
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSocket ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GSocket:blocking ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GSocket:family ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GSocket:fd ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GSocket:keepalive ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GSocket:listen-backlog ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GSocket:local-address ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GSocket:protocol ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GSocket:remote-address ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GSocket:type ##### -->
-<para>
-
-</para>
-
-<!-- ##### USER_FUNCTION GSocketSourceFunc ##### -->
-<para>
-
-</para>
-
-@socket:
-@condition:
-@user_data:
-@Returns:
-
-
-<!-- ##### ENUM GSocketType ##### -->
-<para>
-
-</para>
-
-@G_SOCKET_TYPE_INVALID:
-@G_SOCKET_TYPE_STREAM:
-@G_SOCKET_TYPE_DATAGRAM:
-@G_SOCKET_TYPE_SEQPACKET:
-
-<!-- ##### ENUM GSocketProtocol ##### -->
-<para>
-
-</para>
-
-@G_SOCKET_PROTOCOL_UNKNOWN:
-@G_SOCKET_PROTOCOL_DEFAULT:
-@G_SOCKET_PROTOCOL_TCP:
-@G_SOCKET_PROTOCOL_UDP:
-@G_SOCKET_PROTOCOL_SCTP:
-
-<!-- ##### ENUM GSocketMsgFlags ##### -->
-<para>
-
-</para>
-
-@G_SOCKET_MSG_NONE:
-@G_SOCKET_MSG_OOB:
-@G_SOCKET_MSG_PEEK:
-@G_SOCKET_MSG_DONTROUTE:
-
-<!-- ##### STRUCT GInputVector ##### -->
-<para>
-
-</para>
-
-@buffer:
-@size:
-
-<!-- ##### STRUCT GOutputVector ##### -->
-<para>
-
-</para>
-
-@buffer:
-@size:
-
-<!-- ##### FUNCTION g_socket_new ##### -->
-<para>
-
-</para>
-
-@family:
-@type:
-@protocol:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_new_from_fd ##### -->
-<para>
-
-</para>
-
-@fd:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_bind ##### -->
-<para>
-
-</para>
-
-@socket:
-@address:
-@allow_reuse:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_listen ##### -->
-<para>
-
-</para>
-
-@socket:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_accept ##### -->
-<para>
-
-</para>
-
-@socket:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_connect ##### -->
-<para>
-
-</para>
-
-@socket:
-@address:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_check_connect_result ##### -->
-<para>
-
-</para>
-
-@socket:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_receive ##### -->
-<para>
-
-</para>
-
-@socket:
-@buffer:
-@size:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_receive_from ##### -->
-<para>
-
-</para>
-
-@socket:
-@address:
-@buffer:
-@size:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_receive_message ##### -->
-<para>
-
-</para>
-
-@socket:
-@address:
-@vectors:
-@num_vectors:
-@messages:
-@num_messages:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_send ##### -->
-<para>
-
-</para>
-
-@socket:
-@buffer:
-@size:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_send_to ##### -->
-<para>
-
-</para>
-
-@socket:
-@address:
-@buffer:
-@size:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_send_message ##### -->
-<para>
-
-</para>
-
-@socket:
-@address:
-@vectors:
-@num_vectors:
-@messages:
-@num_messages:
-@flags:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_close ##### -->
-<para>
-
-</para>
-
-@socket:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_is_closed ##### -->
-<para>
-
-</para>
-
-@socket:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_shutdown ##### -->
-<para>
-
-</para>
-
-@socket:
-@shutdown_read:
-@shutdown_write:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_is_connected ##### -->
-<para>
-
-</para>
-
-@socket:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_create_source ##### -->
-<para>
-
-</para>
-
-@socket:
-@condition:
-@cancellable:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_condition_check ##### -->
-<para>
-
-</para>
-
-@socket:
-@condition:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_condition_wait ##### -->
-<para>
-
-</para>
-
-@socket:
-@condition:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_set_listen_backlog ##### -->
-<para>
-
-</para>
-
-@socket:
-@backlog:
-
-
-<!-- ##### FUNCTION g_socket_get_listen_backlog ##### -->
-<para>
-
-</para>
-
-@socket:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_get_blocking ##### -->
-<para>
-
-</para>
-
-@socket:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_set_blocking ##### -->
-<para>
-
-</para>
-
-@socket:
-@blocking:
-
-
-<!-- ##### FUNCTION g_socket_get_keepalive ##### -->
-<para>
-
-</para>
-
-@socket:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_set_keepalive ##### -->
-<para>
-
-</para>
-
-@socket:
-@keepalive:
-
-
-<!-- ##### FUNCTION g_socket_get_family ##### -->
-<para>
-
-</para>
-
-@socket:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_get_fd ##### -->
-<para>
-
-</para>
-
-@socket:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_get_local_address ##### -->
-<para>
-
-</para>
-
-@socket:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_get_protocol ##### -->
-<para>
-
-</para>
-
-@socket:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_get_remote_address ##### -->
-<para>
-
-</para>
-
-@socket:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_get_socket_type ##### -->
-<para>
-
-</para>
-
-@socket:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_speaks_ipv4 ##### -->
-<para>
-
-</para>
-
-@socket:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GSocketAddress
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSocketAddress ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GSocketAddress:family ##### -->
-<para>
-
-</para>
-
-<!-- ##### ENUM GSocketFamily ##### -->
-<para>
-
-</para>
-
-@G_SOCKET_FAMILY_INVALID:
-@G_SOCKET_FAMILY_UNIX:
-@G_SOCKET_FAMILY_IPV4:
-@G_SOCKET_FAMILY_IPV6:
-
-<!-- ##### FUNCTION g_socket_address_new_from_native ##### -->
-<para>
-
-</para>
-
-@native:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_address_get_family ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_address_to_native ##### -->
-<para>
-
-</para>
-
-@address:
-@dest:
-@destlen:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_address_get_native_size ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GSocketClient
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSocketClient ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GSocketClient:family ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GSocketClient:local-address ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GSocketClient:protocol ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GSocketClient:type ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_socket_client_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_client_connect ##### -->
-<para>
-
-</para>
-
-@client:
-@connectable:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_client_connect_async ##### -->
-<para>
-
-</para>
-
-@client:
-@connectable:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_socket_client_connect_finish ##### -->
-<para>
-
-</para>
-
-@client:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_client_connect_to_host ##### -->
-<para>
-
-</para>
-
-@client:
-@host_and_port:
-@default_port:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_client_connect_to_host_async ##### -->
-<para>
-
-</para>
-
-@client:
-@host_and_port:
-@default_port:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_socket_client_connect_to_host_finish ##### -->
-<para>
-
-</para>
-
-@client:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_client_connect_to_service ##### -->
-<para>
-
-</para>
-
-@client:
-@domain:
-@service:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_client_connect_to_service_async ##### -->
-<para>
-
-</para>
-
-@client:
-@domain:
-@service:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_socket_client_connect_to_service_finish ##### -->
-<para>
-
-</para>
-
-@client:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_client_set_family ##### -->
-<para>
-
-</para>
-
-@client:
-@family:
-
-
-<!-- ##### FUNCTION g_socket_client_set_local_address ##### -->
-<para>
-
-</para>
-
-@client:
-@address:
-
-
-<!-- ##### FUNCTION g_socket_client_set_protocol ##### -->
-<para>
-
-</para>
-
-@client:
-@protocol:
-
-
-<!-- ##### FUNCTION g_socket_client_set_socket_type ##### -->
-<para>
-
-</para>
-
-@client:
-@type:
-
-
-<!-- ##### FUNCTION g_socket_client_get_family ##### -->
-<para>
-
-</para>
-
-@client:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_client_get_local_address ##### -->
-<para>
-
-</para>
-
-@client:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_client_get_protocol ##### -->
-<para>
-
-</para>
-
-@client:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_client_get_socket_type ##### -->
-<para>
-
-</para>
-
-@client:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GSocketConnectable
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSocketConnectable ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GSocketConnectableIface ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@enumerate:
-
-<!-- ##### FUNCTION g_socket_connectable_enumerate ##### -->
-<para>
-
-</para>
-
-@connectable:
-@Returns:
-
-
-<!-- ##### STRUCT GSocketAddressEnumerator ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_socket_address_enumerator_next ##### -->
-<para>
-
-</para>
-
-@enumerator:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_address_enumerator_next_async ##### -->
-<para>
-
-</para>
-
-@enumerator:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_socket_address_enumerator_next_finish ##### -->
-<para>
-
-</para>
-
-@enumerator:
-@result:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GSocketConnection
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSocketConnection ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GSocketConnection:socket ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_socket_connection_get_local_address ##### -->
-<para>
-
-</para>
-
-@connection:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_connection_get_remote_address ##### -->
-<para>
-
-</para>
-
-@connection:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_connection_get_socket ##### -->
-<para>
-
-</para>
-
-@connection:
-@Returns:
-
-
-<!-- ##### STRUCT GTcpConnection ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GTcpConnection:graceful-disconnect ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_tcp_connection_set_graceful_disconnect ##### -->
-<para>
-
-</para>
-
-@connection:
-@graceful_disconnect:
-
-
-<!-- ##### FUNCTION g_tcp_connection_get_graceful_disconnect ##### -->
-<para>
-
-</para>
-
-@connection:
-@Returns:
-
-
-<!-- ##### STRUCT GUnixConnection ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_unix_connection_receive_fd ##### -->
-<para>
-
-</para>
-
-@connection:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_connection_send_fd ##### -->
-<para>
-
-</para>
-
-@connection:
-@fd:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_connection_factory_create_connection ##### -->
-<para>
-
-</para>
-
-@socket:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_connection_factory_lookup_type ##### -->
-<para>
-
-</para>
-
-@family:
-@type:
-@protocol_id:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_connection_factory_register_type ##### -->
-<para>
-
-</para>
-
-@g_type:
-@family:
-@type:
-@protocol:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GSocketControlMessage
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSocketControlMessage ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_socket_control_message_deserialize ##### -->
-<para>
-
-</para>
-
-@level:
-@type:
-@size:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_control_message_get_level ##### -->
-<para>
-
-</para>
-
-@message:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_control_message_get_msg_type ##### -->
-<para>
-
-</para>
-
-@message:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_control_message_get_size ##### -->
-<para>
-
-</para>
-
-@message:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_control_message_serialize ##### -->
-<para>
-
-</para>
-
-@message:
-@data:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GSocketListener
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSocketListener ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GSocketListener:listen-backlog ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_socket_listener_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_listener_add_socket ##### -->
-<para>
-
-</para>
-
-@listener:
-@socket:
-@source_object:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_listener_add_address ##### -->
-<para>
-
-</para>
-
-@listener:
-@address:
-@type:
-@protocol:
-@source_object:
-@effective_address:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_listener_add_inet_port ##### -->
-<para>
-
-</para>
-
-@listener:
-@port:
-@source_object:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_listener_add_any_inet_port ##### -->
-<para>
-
-</para>
-
-@listener:
-@source_object:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_listener_accept ##### -->
-<para>
-
-</para>
-
-@listener:
-@source_object:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_listener_accept_async ##### -->
-<para>
-
-</para>
-
-@listener:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_socket_listener_accept_finish ##### -->
-<para>
-
-</para>
-
-@listener:
-@result:
-@source_object:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_listener_accept_socket ##### -->
-<para>
-
-</para>
-
-@listener:
-@source_object:
-@cancellable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_listener_accept_socket_async ##### -->
-<para>
-
-</para>
-
-@listener:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_socket_listener_accept_socket_finish ##### -->
-<para>
-
-</para>
-
-@listener:
-@result:
-@source_object:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_listener_close ##### -->
-<para>
-
-</para>
-
-@listener:
-
-
-<!-- ##### FUNCTION g_socket_listener_set_backlog ##### -->
-<para>
-
-</para>
-
-@listener:
-@listen_backlog:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GSocketService
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSocketService ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GSocketService::incoming ##### -->
-<para>
-
-</para>
-
-@gsocketservice: the object which received the signal.
-@arg1:
-@arg2:
-@Returns:
-
-<!-- ##### FUNCTION g_socket_service_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_socket_service_start ##### -->
-<para>
-
-</para>
-
-@service:
-
-
-<!-- ##### FUNCTION g_socket_service_stop ##### -->
-<para>
-
-</para>
-
-@service:
-
-
-<!-- ##### FUNCTION g_socket_service_is_active ##### -->
-<para>
-
-</para>
-
-@service:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GSrvTarget
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSrvTarget ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_srv_target_new ##### -->
-<para>
-
-</para>
-
-@hostname:
-@port:
-@priority:
-@weight:
-@Returns:
-
-
-<!-- ##### FUNCTION g_srv_target_copy ##### -->
-<para>
-
-</para>
-
-@target:
-@Returns:
-
-
-<!-- ##### FUNCTION g_srv_target_free ##### -->
-<para>
-
-</para>
-
-@target:
-
-
-<!-- ##### FUNCTION g_srv_target_get_hostname ##### -->
-<para>
-
-</para>
-
-@target:
-@Returns:
-
-
-<!-- ##### FUNCTION g_srv_target_get_port ##### -->
-<para>
-
-</para>
-
-@target:
-@Returns:
-
-
-<!-- ##### FUNCTION g_srv_target_get_priority ##### -->
-<para>
-
-</para>
-
-@target:
-@Returns:
-
-
-<!-- ##### FUNCTION g_srv_target_get_weight ##### -->
-<para>
-
-</para>
-
-@target:
-@Returns:
-
-
-<!-- ##### FUNCTION g_srv_target_list_sort ##### -->
-<para>
-
-</para>
-
-@targets:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GThemedIcon
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GThemedIcon ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GThemedIcon:name ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GThemedIcon:names ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GThemedIcon:use-default-fallbacks ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_themed_icon_new ##### -->
-<para>
-
-</para>
-
-@iconname:
-@Returns:
-
-
-<!-- ##### FUNCTION g_themed_icon_new_from_names ##### -->
-<para>
-
-</para>
-
-@iconnames:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_themed_icon_new_with_default_fallbacks ##### -->
-<para>
-
-</para>
-
-@iconname:
-@Returns:
-
-
-<!-- ##### FUNCTION g_themed_icon_prepend_name ##### -->
-<para>
-
-</para>
-
-@icon:
-@iconname:
-
-
-<!-- ##### FUNCTION g_themed_icon_append_name ##### -->
-<para>
-
-</para>
-
-@icon:
-@iconname:
-
-
-<!-- ##### FUNCTION g_themed_icon_get_names ##### -->
-<para>
-
-</para>
-
-@icon:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GThreadedSocketService
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GThreadedSocketService ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GThreadedSocketService::run ##### -->
-<para>
-
-</para>
-
-@gthreadedsocketservice: the object which received the signal.
-@arg1:
-@arg2:
-@Returns:
-
-<!-- ##### ARG GThreadedSocketService:max-threads ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_threaded_socket_service_new ##### -->
-<para>
-
-</para>
-
-@max_threads:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GUnixFDList
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GUnixFDList ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_unix_fd_list_new_from_array ##### -->
-<para>
-
-</para>
-
-@fds:
-@n_fds:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_fd_list_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_fd_list_get_length ##### -->
-<para>
-
-</para>
-
-@list:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_fd_list_get ##### -->
-<para>
-
-</para>
-
-@list:
-@index_:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_fd_list_peek_fds ##### -->
-<para>
-
-</para>
-
-@list:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_fd_list_steal_fds ##### -->
-<para>
-
-</para>
-
-@list:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_fd_list_append ##### -->
-<para>
-
-</para>
-
-@list:
-@fd:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GUnixFDMessage
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GUnixFDMessage ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GUnixFDMessage:fd-list ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_unix_fd_message_new_with_fd_list ##### -->
-<para>
-
-</para>
-
-@fd_list:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_fd_message_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_fd_message_get_fd_list ##### -->
-<para>
-
-</para>
-
-@message:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_fd_message_append_fd ##### -->
-<para>
-
-</para>
-
-@message:
-@fd:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_fd_message_steal_fds ##### -->
-<para>
-
-</para>
-
-@message:
-@length:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GUnixInputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GUnixInputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GUnixInputStream:close-fd ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GUnixInputStream:fd ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_unix_input_stream_new ##### -->
-<para>
-
-</para>
-
-@fd:
-@close_fd:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_input_stream_set_close_fd ##### -->
-<para>
-
-</para>
-
-@stream:
-@close_fd:
-
-
-<!-- ##### FUNCTION g_unix_input_stream_get_close_fd ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_input_stream_get_fd ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Unix Mounts
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GUnixMount ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GUnixMountPoint ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GUnixMountEntry ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GUnixMountMonitor ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GUnixMountMonitor::mountpoints-changed ##### -->
-<para>
-
-</para>
-
-@gunixmountmonitor: the object which received the signal.
-
-<!-- ##### SIGNAL GUnixMountMonitor::mounts-changed ##### -->
-<para>
-
-</para>
-
-@gunixmountmonitor: the object which received the signal.
-
-<!-- ##### FUNCTION g_unix_mount_free ##### -->
-<para>
-
-</para>
-
-@mount_entry:
-
-
-<!-- ##### FUNCTION g_unix_mount_compare ##### -->
-<para>
-
-</para>
-
-@mount1:
-@mount2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_get_mount_path ##### -->
-<para>
-
-</para>
-
-@mount_entry:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_get_device_path ##### -->
-<para>
-
-</para>
-
-@mount_entry:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_get_fs_type ##### -->
-<para>
-
-</para>
-
-@mount_entry:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_is_readonly ##### -->
-<para>
-
-</para>
-
-@mount_entry:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_is_system_internal ##### -->
-<para>
-
-</para>
-
-@mount_entry:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_guess_icon ##### -->
-<para>
-
-</para>
-
-@mount_entry:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_guess_name ##### -->
-<para>
-
-</para>
-
-@mount_entry:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_guess_can_eject ##### -->
-<para>
-
-</para>
-
-@mount_entry:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_guess_should_display ##### -->
-<para>
-
-</para>
-
-@mount_entry:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_point_free ##### -->
-<para>
-
-</para>
-
-@mount_point:
-
-
-<!-- ##### FUNCTION g_unix_mount_point_compare ##### -->
-<para>
-
-</para>
-
-@mount1:
-@mount2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_point_get_mount_path ##### -->
-<para>
-
-</para>
-
-@mount_point:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_point_get_device_path ##### -->
-<para>
-
-</para>
-
-@mount_point:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_point_get_fs_type ##### -->
-<para>
-
-</para>
-
-@mount_point:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_point_is_readonly ##### -->
-<para>
-
-</para>
-
-@mount_point:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_point_is_user_mountable ##### -->
-<para>
-
-</para>
-
-@mount_point:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_point_is_loopback ##### -->
-<para>
-
-</para>
-
-@mount_point:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_point_guess_icon ##### -->
-<para>
-
-</para>
-
-@mount_point:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_point_guess_name ##### -->
-<para>
-
-</para>
-
-@mount_point:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_point_guess_can_eject ##### -->
-<para>
-
-</para>
-
-@mount_point:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_points_get ##### -->
-<para>
-
-</para>
-
-@time_read:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mounts_get ##### -->
-<para>
-
-</para>
-
-@time_read:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_at ##### -->
-<para>
-
-</para>
-
-@mount_path:
-@time_read:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mounts_changed_since ##### -->
-<para>
-
-</para>
-
-@time:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_points_changed_since ##### -->
-<para>
-
-</para>
-
-@time:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_monitor_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_mount_monitor_set_rate_limit ##### -->
-<para>
-
-</para>
-
-@mount_monitor:
-@limit_msec:
-
-
-<!-- ##### FUNCTION g_unix_is_mount_path_system_internal ##### -->
-<para>
-
-</para>
-
-@mount_path:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GUnixOutputStream
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GUnixOutputStream ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GUnixOutputStream:close-fd ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GUnixOutputStream:fd ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_unix_output_stream_new ##### -->
-<para>
-
-</para>
-
-@fd:
-@close_fd:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_output_stream_set_close_fd ##### -->
-<para>
-
-</para>
-
-@stream:
-@close_fd:
-
-
-<!-- ##### FUNCTION g_unix_output_stream_get_close_fd ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_output_stream_get_fd ##### -->
-<para>
-
-</para>
-
-@stream:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GUnixSocketAddress
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GUnixSocketAddress ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GUnixSocketAddress:abstract ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GUnixSocketAddress:path ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GUnixSocketAddress:path-as-array ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_unix_socket_address_new ##### -->
-<para>
-
-</para>
-
-@path:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_socket_address_new_abstract ##### -->
-<para>
-
-</para>
-
-@path:
-@path_len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_socket_address_get_is_abstract ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_socket_address_get_path ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_socket_address_get_path_len ##### -->
-<para>
-
-</para>
-
-@address:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unix_socket_address_abstract_names_supported ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GVfs
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GVfs ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_VFS_EXTENSION_POINT_NAME ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_vfs_get_file_for_path ##### -->
-<para>
-
-</para>
-
-@vfs:
-@path:
-@Returns:
-
-
-<!-- ##### FUNCTION g_vfs_get_file_for_uri ##### -->
-<para>
-
-</para>
-
-@vfs:
-@uri:
-@Returns:
-
-
-<!-- ##### FUNCTION g_vfs_parse_name ##### -->
-<para>
-
-</para>
-
-@vfs:
-@parse_name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_vfs_get_default ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_vfs_get_local ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_vfs_is_active ##### -->
-<para>
-
-</para>
-
-@vfs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_vfs_get_supported_uri_schemes ##### -->
-<para>
-
-</para>
-
-@vfs:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GVolume
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GVolume ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GVolume::changed ##### -->
-<para>
-
-</para>
-
-@gvolume: the object which received the signal.
-
-<!-- ##### SIGNAL GVolume::removed ##### -->
-<para>
-
-</para>
-
-@gvolume: the object which received the signal.
-
-<!-- ##### STRUCT GVolumeIface ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@changed:
-@removed:
-@get_name:
-@get_icon:
-@get_uuid:
-@get_drive:
-@get_mount:
-@can_mount:
-@can_eject:
-@mount_fn:
-@mount_finish:
-@eject:
-@eject_finish:
-@get_identifier:
-@enumerate_identifiers:
-@should_automount:
-@get_activation_root:
-@eject_with_operation:
-@eject_with_operation_finish:
-
-<!-- ##### FUNCTION g_volume_get_name ##### -->
-<para>
-
-</para>
-
-@volume:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_get_uuid ##### -->
-<para>
-
-</para>
-
-@volume:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_get_icon ##### -->
-<para>
-
-</para>
-
-@volume:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_get_drive ##### -->
-<para>
-
-</para>
-
-@volume:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_get_mount ##### -->
-<para>
-
-</para>
-
-@volume:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_can_mount ##### -->
-<para>
-
-</para>
-
-@volume:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_should_automount ##### -->
-<para>
-
-</para>
-
-@volume:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_get_activation_root ##### -->
-<para>
-
-</para>
-
-@volume:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_mount ##### -->
-<para>
-
-</para>
-
-@volume:
-@flags:
-@mount_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_volume_mount_finish ##### -->
-<para>
-
-</para>
-
-@volume:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_can_eject ##### -->
-<para>
-
-</para>
-
-@volume:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_eject ##### -->
-<para>
-
-</para>
-
-@volume:
-@flags:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_volume_eject_finish ##### -->
-<para>
-
-</para>
-
-@volume:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_eject_with_operation ##### -->
-<para>
-
-</para>
-
-@volume:
-@flags:
-@mount_operation:
-@cancellable:
-@callback:
-@user_data:
-
-
-<!-- ##### FUNCTION g_volume_eject_with_operation_finish ##### -->
-<para>
-
-</para>
-
-@volume:
-@result:
-@error:
-@Returns:
-
-
-<!-- ##### MACRO G_VOLUME_IDENTIFIER_KIND_HAL_UDI ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VOLUME_IDENTIFIER_KIND_LABEL ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VOLUME_IDENTIFIER_KIND_NFS_MOUNT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VOLUME_IDENTIFIER_KIND_UUID ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_volume_enumerate_identifiers ##### -->
-<para>
-
-</para>
-
-@volume:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_get_identifier ##### -->
-<para>
-
-</para>
-
-@volume:
-@kind:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GVolumeMonitor
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GVolumeMonitor ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GVolumeMonitor::drive-changed ##### -->
-<para>
-
-</para>
-
-@gvolumemonitor: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GVolumeMonitor::drive-connected ##### -->
-<para>
-
-</para>
-
-@gvolumemonitor: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GVolumeMonitor::drive-disconnected ##### -->
-<para>
-
-</para>
-
-@gvolumemonitor: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GVolumeMonitor::drive-eject-button ##### -->
-<para>
-
-</para>
-
-@gvolumemonitor: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GVolumeMonitor::drive-stop-button ##### -->
-<para>
-
-</para>
-
-@gvolumemonitor: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GVolumeMonitor::mount-added ##### -->
-<para>
-
-</para>
-
-@gvolumemonitor: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GVolumeMonitor::mount-changed ##### -->
-<para>
-
-</para>
-
-@gvolumemonitor: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GVolumeMonitor::mount-pre-unmount ##### -->
-<para>
-
-</para>
-
-@gvolumemonitor: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GVolumeMonitor::mount-removed ##### -->
-<para>
-
-</para>
-
-@gvolumemonitor: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GVolumeMonitor::volume-added ##### -->
-<para>
-
-</para>
-
-@gvolumemonitor: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GVolumeMonitor::volume-changed ##### -->
-<para>
-
-</para>
-
-@gvolumemonitor: the object which received the signal.
-@arg1:
-
-<!-- ##### SIGNAL GVolumeMonitor::volume-removed ##### -->
-<para>
-
-</para>
-
-@gvolumemonitor: the object which received the signal.
-@arg1:
-
-<!-- ##### MACRO G_VOLUME_MONITOR_EXTENSION_POINT_NAME ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_volume_monitor_get ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_monitor_get_connected_drives ##### -->
-<para>
-
-</para>
-
-@volume_monitor:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_monitor_get_volumes ##### -->
-<para>
-
-</para>
-
-@volume_monitor:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_monitor_get_mounts ##### -->
-<para>
-
-</para>
-
-@volume_monitor:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_monitor_adopt_orphan_mount ##### -->
-<para>
-
-</para>
-
-@mount:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_monitor_get_mount_for_uuid ##### -->
-<para>
-
-</para>
-
-@volume_monitor:
-@uuid:
-@Returns:
-
-
-<!-- ##### FUNCTION g_volume_monitor_get_volume_for_uuid ##### -->
-<para>
-
-</para>
-
-@volume_monitor:
-@uuid:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GZlibCompressor
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GZlibCompressor ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GZlibCompressor:format ##### -->
-<para>
-
-</para>
-
-<!-- ##### ARG GZlibCompressor:level ##### -->
-<para>
-
-</para>
-
-<!-- ##### ENUM GZlibCompressorFormat ##### -->
-<para>
-
-</para>
-
-@G_ZLIB_COMPRESSOR_FORMAT_ZLIB:
-@G_ZLIB_COMPRESSOR_FORMAT_GZIP:
-@G_ZLIB_COMPRESSOR_FORMAT_RAW:
-
-<!-- ##### FUNCTION g_zlib_compressor_new ##### -->
-<para>
-
-</para>
-
-@format:
-@level:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GZlibDecompressor
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GZlibDecompressor ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ARG GZlibDecompressor:format ##### -->
-<para>
-
-</para>
-
-<!-- ##### FUNCTION g_zlib_decompressor_new ##### -->
-<para>
-
-</para>
-
-@format:
-@Returns:
-
-
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Limits of Basic Types</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="index.html" title="GLib Reference Manual">
-<link rel="up" href="glib-fundamentals.html" title="GLib Fundamentals">
-<link rel="prev" href="glib-Basic-Types.html" title="Basic Types">
-<link rel="next" href="glib-Standard-Macros.html" title="Standard Macros">
-<meta name="generator" content="GTK-Doc V1.13 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="chapter" href="glib.html" title="GLib Overview">
-<link rel="chapter" href="glib-fundamentals.html" title="GLib Fundamentals">
-<link rel="chapter" href="glib-core.html" title="GLib Core Application Support">
-<link rel="chapter" href="glib-utilities.html" title="GLib Utilities">
-<link rel="chapter" href="glib-data-types.html" title="GLib Data Types">
-<link rel="chapter" href="tools.html" title="GLib Tools">
-<link rel="index" href="api-index-full.html" title="Index">
-<link rel="index" href="api-index-deprecated.html" title="Index of deprecated symbols">
-<link rel="index" href="api-index-2-2.html" title="Index of new symbols in 2.2">
-<link rel="index" href="api-index-2-4.html" title="Index of new symbols in 2.4">
-<link rel="index" href="api-index-2-6.html" title="Index of new symbols in 2.6">
-<link rel="index" href="api-index-2-8.html" title="Index of new symbols in 2.8">
-<link rel="index" href="api-index-2-10.html" title="Index of new symbols in 2.10">
-<link rel="index" href="api-index-2-12.html" title="Index of new symbols in 2.12">
-<link rel="index" href="api-index-2-14.html" title="Index of new symbols in 2.14">
-<link rel="index" href="api-index-2-16.html" title="Index of new symbols in 2.16">
-<link rel="index" href="api-index-2-18.html" title="Index of new symbols in 2.18">
-<link rel="index" href="api-index-2-20.html" title="Index of new symbols in 2.20">
-<link rel="index" href="api-index-2-22.html" title="Index of new symbols in 2.22">
-<link rel="index" href="api-index-2-24.html" title="Index of new symbols in 2.24">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="glib-Basic-Types.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="glib-fundamentals.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GLib Reference Manual</th>
-<td><a accesskey="n" href="glib-Standard-Macros.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#glib-Limits-of-Basic-Types.synopsis" class="shortcut">Top</a>
- |
- <a href="#glib-Limits-of-Basic-Types.description" class="shortcut">Description</a>
-</td></tr>
-</table>
-<div class="refentry" title="Limits of Basic Types">
-<a name="glib-Limits-of-Basic-Types"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="glib-Limits-of-Basic-Types.top_of_page"></a>Limits of Basic Types</span></h2>
-<p>Limits of Basic Types — portable method of determining the limits of the standard types</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsynopsisdiv" title="Synopsis">
-<a name="glib-Limits-of-Basic-Types.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include <glib.h>
-
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MININT:CAPS" title="G_MININT">G_MININT</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXINT:CAPS" title="G_MAXINT">G_MAXINT</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXUINT:CAPS" title="G_MAXUINT">G_MAXUINT</a>
-
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MINSHORT:CAPS" title="G_MINSHORT">G_MINSHORT</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXSHORT:CAPS" title="G_MAXSHORT">G_MAXSHORT</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXUSHORT:CAPS" title="G_MAXUSHORT">G_MAXUSHORT</a>
-
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MINLONG:CAPS" title="G_MINLONG">G_MINLONG</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXLONG:CAPS" title="G_MAXLONG">G_MAXLONG</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXULONG:CAPS" title="G_MAXULONG">G_MAXULONG</a>
-
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MININT8:CAPS" title="G_MININT8">G_MININT8</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXINT8:CAPS" title="G_MAXINT8">G_MAXINT8</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXUINT8:CAPS" title="G_MAXUINT8">G_MAXUINT8</a>
-
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MININT16:CAPS" title="G_MININT16">G_MININT16</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXINT16:CAPS" title="G_MAXINT16">G_MAXINT16</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXUINT16:CAPS" title="G_MAXUINT16">G_MAXUINT16</a>
-
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MININT32:CAPS" title="G_MININT32">G_MININT32</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXINT32:CAPS" title="G_MAXINT32">G_MAXINT32</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXUINT32:CAPS" title="G_MAXUINT32">G_MAXUINT32</a>
-
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MININT64:CAPS" title="G_MININT64">G_MININT64</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXINT64:CAPS" title="G_MAXINT64">G_MAXINT64</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXUINT64:CAPS" title="G_MAXUINT64">G_MAXUINT64</a>
-
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXSIZE:CAPS" title="G_MAXSIZE">G_MAXSIZE</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MINSSIZE:CAPS" title="G_MINSSIZE">G_MINSSIZE</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXSSIZE:CAPS" title="G_MAXSSIZE">G_MAXSSIZE</a>
-
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MINOFFSET:CAPS" title="G_MINOFFSET">G_MINOFFSET</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXOFFSET:CAPS" title="G_MAXOFFSET">G_MAXOFFSET</a>
-
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MINFLOAT:CAPS" title="G_MINFLOAT">G_MINFLOAT</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXFLOAT:CAPS" title="G_MAXFLOAT">G_MAXFLOAT</a>
-
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MINDOUBLE:CAPS" title="G_MINDOUBLE">G_MINDOUBLE</a>
-#define <a class="link" href="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE:CAPS" title="G_MAXDOUBLE">G_MAXDOUBLE</a>
-</pre>
-</div>
-<div class="refsect1" title="Description">
-<a name="glib-Limits-of-Basic-Types.description"></a><h2>Description</h2>
-<p>
-These macros provide a portable method to determine the limits of some of
-the standard integer and floating point types.
-</p>
-</div>
-<div class="refsect1" title="Details">
-<a name="glib-Limits-of-Basic-Types.details"></a><h2>Details</h2>
-<div class="refsect2" title="G_MININT">
-<a name="G-MININT:CAPS"></a><h3>G_MININT</h3>
-<pre class="programlisting">#define G_MININT INT_MIN
-</pre>
-<p>
-The minimum value which can be held in a <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXINT">
-<a name="G-MAXINT:CAPS"></a><h3>G_MAXINT</h3>
-<pre class="programlisting">#define G_MAXINT INT_MAX
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXUINT">
-<a name="G-MAXUINT:CAPS"></a><h3>G_MAXUINT</h3>
-<pre class="programlisting">#define G_MAXUINT UINT_MAX
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MINSHORT">
-<a name="G-MINSHORT:CAPS"></a><h3>G_MINSHORT</h3>
-<pre class="programlisting">#define G_MINSHORT SHRT_MIN
-</pre>
-<p>
-The minimum value which can be held in a <a class="link" href="glib-Basic-Types.html#gshort" title="gshort"><span class="type">gshort</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXSHORT">
-<a name="G-MAXSHORT:CAPS"></a><h3>G_MAXSHORT</h3>
-<pre class="programlisting">#define G_MAXSHORT SHRT_MAX
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#gshort" title="gshort"><span class="type">gshort</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXUSHORT">
-<a name="G-MAXUSHORT:CAPS"></a><h3>G_MAXUSHORT</h3>
-<pre class="programlisting">#define G_MAXUSHORT USHRT_MAX
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#gushort" title="gushort"><span class="type">gushort</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MINLONG">
-<a name="G-MINLONG:CAPS"></a><h3>G_MINLONG</h3>
-<pre class="programlisting">#define G_MINLONG LONG_MIN
-</pre>
-<p>
-The minimum value which can be held in a <a class="link" href="glib-Basic-Types.html#glong" title="glong"><span class="type">glong</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXLONG">
-<a name="G-MAXLONG:CAPS"></a><h3>G_MAXLONG</h3>
-<pre class="programlisting">#define G_MAXLONG LONG_MAX
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#glong" title="glong"><span class="type">glong</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXULONG">
-<a name="G-MAXULONG:CAPS"></a><h3>G_MAXULONG</h3>
-<pre class="programlisting">#define G_MAXULONG ULONG_MAX
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#gulong" title="gulong"><span class="type">gulong</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MININT8">
-<a name="G-MININT8:CAPS"></a><h3>G_MININT8</h3>
-<pre class="programlisting">#define G_MININT8 ((gint8) 0x80)
-</pre>
-<p>
-The minimum value which can be held in a <a class="link" href="glib-Basic-Types.html#gint8" title="gint8"><span class="type">gint8</span></a>.
-</p>
-<p class="since">Since 2.4</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXINT8">
-<a name="G-MAXINT8:CAPS"></a><h3>G_MAXINT8</h3>
-<pre class="programlisting">#define G_MAXINT8 ((gint8) 0x7f)
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#gint8" title="gint8"><span class="type">gint8</span></a>.
-</p>
-<p class="since">Since 2.4</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXUINT8">
-<a name="G-MAXUINT8:CAPS"></a><h3>G_MAXUINT8</h3>
-<pre class="programlisting">#define G_MAXUINT8 ((guint8) 0xff)
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#guint8" title="guint8"><span class="type">guint8</span></a>.
-</p>
-<p class="since">Since 2.4</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MININT16">
-<a name="G-MININT16:CAPS"></a><h3>G_MININT16</h3>
-<pre class="programlisting">#define G_MININT16 ((gint16) 0x8000)
-</pre>
-<p>
-The minimum value which can be held in a <a class="link" href="glib-Basic-Types.html#gint16" title="gint16"><span class="type">gint16</span></a>.
-</p>
-<p class="since">Since 2.4</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXINT16">
-<a name="G-MAXINT16:CAPS"></a><h3>G_MAXINT16</h3>
-<pre class="programlisting">#define G_MAXINT16 ((gint16) 0x7fff)
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#gint16" title="gint16"><span class="type">gint16</span></a>.
-</p>
-<p class="since">Since 2.4</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXUINT16">
-<a name="G-MAXUINT16:CAPS"></a><h3>G_MAXUINT16</h3>
-<pre class="programlisting">#define G_MAXUINT16 ((guint16) 0xffff)
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#guint16" title="guint16"><span class="type">guint16</span></a>.
-</p>
-<p class="since">Since 2.4</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MININT32">
-<a name="G-MININT32:CAPS"></a><h3>G_MININT32</h3>
-<pre class="programlisting">#define G_MININT32 ((gint32) 0x80000000)
-</pre>
-<p>
-The minimum value which can be held in a <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a>.
-</p>
-<p class="since">Since 2.4</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXINT32">
-<a name="G-MAXINT32:CAPS"></a><h3>G_MAXINT32</h3>
-<pre class="programlisting">#define G_MAXINT32 ((gint32) 0x7fffffff)
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#gint32" title="gint32"><span class="type">gint32</span></a>.
-</p>
-<p class="since">Since 2.4</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXUINT32">
-<a name="G-MAXUINT32:CAPS"></a><h3>G_MAXUINT32</h3>
-<pre class="programlisting">#define G_MAXUINT32 ((guint32) 0xffffffff)
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#guint32" title="guint32"><span class="type">guint32</span></a>.
-</p>
-<p class="since">Since 2.4</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MININT64">
-<a name="G-MININT64:CAPS"></a><h3>G_MININT64</h3>
-<pre class="programlisting">#define G_MININT64 ((gint64) G_GINT64_CONSTANT(0x8000000000000000))
-</pre>
-<p>
-The minimum value which can be held in a <a class="link" href="glib-Basic-Types.html#gint64" title="gint64"><span class="type">gint64</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXINT64">
-<a name="G-MAXINT64:CAPS"></a><h3>G_MAXINT64</h3>
-<pre class="programlisting">#define G_MAXINT64 G_GINT64_CONSTANT(0x7fffffffffffffff)
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#gint64" title="gint64"><span class="type">gint64</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXUINT64">
-<a name="G-MAXUINT64:CAPS"></a><h3>G_MAXUINT64</h3>
-<pre class="programlisting">#define G_MAXUINT64 G_GINT64_CONSTANT(0xffffffffffffffffU)
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#guint64" title="guint64"><span class="type">guint64</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXSIZE">
-<a name="G-MAXSIZE:CAPS"></a><h3>G_MAXSIZE</h3>
-<pre class="programlisting">#define G_MAXSIZE G_MAXULONG
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a>.
-</p>
-<p class="since">Since 2.4</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MINSSIZE">
-<a name="G-MINSSIZE:CAPS"></a><h3>G_MINSSIZE</h3>
-<pre class="programlisting">#define G_MINSSIZE G_MINLONG
-</pre>
-<p>
-The minimum value which can be held in a <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a>.
-</p>
-<p class="since">Since 2.14</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXSSIZE">
-<a name="G-MAXSSIZE:CAPS"></a><h3>G_MAXSSIZE</h3>
-<pre class="programlisting">#define G_MAXSSIZE G_MAXLONG
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a>.
-</p>
-<p class="since">Since 2.14</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MINOFFSET">
-<a name="G-MINOFFSET:CAPS"></a><h3>G_MINOFFSET</h3>
-<pre class="programlisting">#define G_MINOFFSET G_MININT64
-</pre>
-<p>
-The minimum value which can be held in a <a class="link" href="glib-Basic-Types.html#goffset" title="goffset"><span class="type">goffset</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXOFFSET">
-<a name="G-MAXOFFSET:CAPS"></a><h3>G_MAXOFFSET</h3>
-<pre class="programlisting">#define G_MAXOFFSET G_MAXINT64
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#goffset" title="goffset"><span class="type">goffset</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MINFLOAT">
-<a name="G-MINFLOAT:CAPS"></a><h3>G_MINFLOAT</h3>
-<pre class="programlisting">#define G_MINFLOAT FLT_MIN
-</pre>
-<p>
-The minimum positive value which can be held in a <a class="link" href="glib-Basic-Types.html#gfloat" title="gfloat"><span class="type">gfloat</span></a>.
-</p>
-<p>
-If you are interested in the smallest value which can be held in a <a class="link" href="glib-Basic-Types.html#gfloat" title="gfloat"><span class="type">gfloat</span></a>,
-use -G_MAX_FLOAT.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXFLOAT">
-<a name="G-MAXFLOAT:CAPS"></a><h3>G_MAXFLOAT</h3>
-<pre class="programlisting">#define G_MAXFLOAT FLT_MAX
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#gfloat" title="gfloat"><span class="type">gfloat</span></a>.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MINDOUBLE">
-<a name="G-MINDOUBLE:CAPS"></a><h3>G_MINDOUBLE</h3>
-<pre class="programlisting">#define G_MINDOUBLE DBL_MIN
-</pre>
-<p>
-The minimum positive value which can be held in a <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a>.
-</p>
-<p>
-If you are interested in the smallest value which can be held in a <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a>,
-use -G_MAXDOUBLE.
-</p>
-</div>
-<hr>
-<div class="refsect2" title="G_MAXDOUBLE">
-<a name="G-MAXDOUBLE:CAPS"></a><h3>G_MAXDOUBLE</h3>
-<pre class="programlisting">#define G_MAXDOUBLE DBL_MAX
-</pre>
-<p>
-The maximum value which can be held in a <a class="link" href="glib-Basic-Types.html#gdouble" title="gdouble"><span class="type">gdouble</span></a>.
-</p>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>
- Generated by GTK-Doc V1.13</div>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Memory Allocators</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="index.html" title="GLib Reference Manual">
-<link rel="up" href="glib-data-types.html" title="GLib Data Types">
-<link rel="prev" href="glib-Caches.html" title="Caches">
-<link rel="next" href="glib-GVariantType.html" title="GVariantType">
-<meta name="generator" content="GTK-Doc V1.13 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="chapter" href="glib.html" title="GLib Overview">
-<link rel="chapter" href="glib-fundamentals.html" title="GLib Fundamentals">
-<link rel="chapter" href="glib-core.html" title="GLib Core Application Support">
-<link rel="chapter" href="glib-utilities.html" title="GLib Utilities">
-<link rel="chapter" href="glib-data-types.html" title="GLib Data Types">
-<link rel="chapter" href="tools.html" title="GLib Tools">
-<link rel="index" href="api-index-full.html" title="Index">
-<link rel="index" href="api-index-deprecated.html" title="Index of deprecated symbols">
-<link rel="index" href="api-index-2-2.html" title="Index of new symbols in 2.2">
-<link rel="index" href="api-index-2-4.html" title="Index of new symbols in 2.4">
-<link rel="index" href="api-index-2-6.html" title="Index of new symbols in 2.6">
-<link rel="index" href="api-index-2-8.html" title="Index of new symbols in 2.8">
-<link rel="index" href="api-index-2-10.html" title="Index of new symbols in 2.10">
-<link rel="index" href="api-index-2-12.html" title="Index of new symbols in 2.12">
-<link rel="index" href="api-index-2-14.html" title="Index of new symbols in 2.14">
-<link rel="index" href="api-index-2-16.html" title="Index of new symbols in 2.16">
-<link rel="index" href="api-index-2-18.html" title="Index of new symbols in 2.18">
-<link rel="index" href="api-index-2-20.html" title="Index of new symbols in 2.20">
-<link rel="index" href="api-index-2-22.html" title="Index of new symbols in 2.22">
-<link rel="index" href="api-index-2-24.html" title="Index of new symbols in 2.24">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="glib-Caches.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="glib-data-types.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GLib Reference Manual</th>
-<td><a accesskey="n" href="glib-GVariantType.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#glib-Memory-Allocators.synopsis" class="shortcut">Top</a>
- |
- <a href="#glib-Memory-Allocators.description" class="shortcut">Description</a>
-</td></tr>
-</table>
-<div class="refentry" title="Memory Allocators">
-<a name="glib-Memory-Allocators"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="glib-Memory-Allocators.top_of_page"></a>Memory Allocators</span></h2>
-<p>Memory Allocators — deprecated way to allocate chunks of memory for
- GList, GSList and GNode</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsynopsisdiv" title="Synopsis">
-<a name="glib-Memory-Allocators.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include <glib.h>
-
- <a class="link" href="glib-Memory-Allocators.html#GAllocator" title="GAllocator">GAllocator</a>;
-<a class="link" href="glib-Memory-Allocators.html#GAllocator" title="GAllocator"><span class="returnvalue">GAllocator</span></a>* <a class="link" href="glib-Memory-Allocators.html#g-allocator-new" title="g_allocator_new ()">g_allocator_new</a> (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *name,
- <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> n_preallocs);
-<span class="returnvalue">void</span> <a class="link" href="glib-Memory-Allocators.html#g-allocator-free" title="g_allocator_free ()">g_allocator_free</a> (<a class="link" href="glib-Memory-Allocators.html#GAllocator" title="GAllocator"><span class="returnvalue">GAllocator</span></a> *allocator);
-</pre>
-</div>
-<div class="refsect1" title="Description">
-<a name="glib-Memory-Allocators.description"></a><h2>Description</h2>
-<p>
-Prior to 2.10, <a class="link" href="glib-Memory-Allocators.html#GAllocator" title="GAllocator"><span class="type">GAllocator</span></a> was used as an efficient way to allocate
-small pieces of memory for use with the <a class="link" href="glib-Doubly-Linked-Lists.html#GList" title="GList"><span class="type">GList</span></a>, <a class="link" href="glib-Singly-Linked-Lists.html#GSList" title="GSList"><span class="type">GSList</span></a> and <a class="link" href="glib-N-ary-Trees.html#GNode" title="GNode"><span class="type">GNode</span></a>
-data structures. Since 2.10, it has been completely replaced by the
-<a class="link" href="glib-Memory-Slices.html" title="Memory Slices">slice allocator</a> and
-deprecated.</p>
-</div>
-<div class="refsect1" title="Details">
-<a name="glib-Memory-Allocators.details"></a><h2>Details</h2>
-<div class="refsect2" title="GAllocator">
-<a name="GAllocator"></a><h3>GAllocator</h3>
-<pre class="programlisting">typedef struct _GAllocator GAllocator;</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">GAllocator</code> is deprecated and should not be used in newly-written code.</p>
-</div>
-<p>
-The <a class="link" href="glib-Memory-Allocators.html#GAllocator" title="GAllocator"><span class="type">GAllocator</span></a> struct contains private data. and should only be
-accessed using the following functions.</p>
-</div>
-<hr>
-<div class="refsect2" title="g_allocator_new ()">
-<a name="g-allocator-new"></a><h3>g_allocator_new ()</h3>
-<pre class="programlisting"><a class="link" href="glib-Memory-Allocators.html#GAllocator" title="GAllocator"><span class="returnvalue">GAllocator</span></a>* g_allocator_new (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *name,
- <a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="returnvalue">guint</span></a> n_preallocs);</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_allocator_new</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use the <a class="link" href="glib-Memory-Slices.html" title="Memory Slices">slice
- allocator</a> instead</p>
-</div>
-<p>
-Creates a new <a class="link" href="glib-Memory-Allocators.html#GAllocator" title="GAllocator"><span class="type">GAllocator</span></a>.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td> the name of the <a class="link" href="glib-Memory-Allocators.html#GAllocator" title="GAllocator"><span class="type">GAllocator</span></a>. This name is used to set the
- name of the <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a> used by the <a class="link" href="glib-Memory-Allocators.html#GAllocator" title="GAllocator"><span class="type">GAllocator</span></a>, and is only
- used for debugging.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>n_preallocs</code></em> :</span></p></td>
-<td> the number of elements in each block of memory
- allocated. Larger blocks mean less calls to
- <a class="link" href="glib-Memory-Allocation.html#g-malloc" title="g_malloc ()"><code class="function">g_malloc()</code></a>, but some memory may be wasted. (GLib uses
- 128 elements per block by default.) The value must be
- between 1 and 65535.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> a new <a class="link" href="glib-Memory-Allocators.html#GAllocator" title="GAllocator"><span class="type">GAllocator</span></a>.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" title="g_allocator_free ()">
-<a name="g-allocator-free"></a><h3>g_allocator_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_allocator_free (<a class="link" href="glib-Memory-Allocators.html#GAllocator" title="GAllocator"><span class="returnvalue">GAllocator</span></a> *allocator);</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_allocator_free</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use the <a class="link" href="glib-Memory-Slices.html" title="Memory Slices">slice
- allocator</a> instead</p>
-</div>
-<p>
-Frees all of the memory allocated by the <a class="link" href="glib-Memory-Allocators.html#GAllocator" title="GAllocator"><span class="type">GAllocator</span></a>.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>allocator</code></em> :</span></p></td>
-<td> a <a class="link" href="glib-Memory-Allocators.html#GAllocator" title="GAllocator"><span class="type">GAllocator</span></a>.
-</td>
-</tr></tbody>
-</table></div>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>
- Generated by GTK-Doc V1.13</div>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Memory Chunks</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
-<link rel="home" href="index.html" title="GLib Reference Manual">
-<link rel="up" href="glib-data-types.html" title="GLib Data Types">
-<link rel="prev" href="glib-Memory-Slices.html" title="Memory Slices">
-<link rel="next" href="glib-Doubly-Linked-Lists.html" title="Doubly-Linked Lists">
-<meta name="generator" content="GTK-Doc V1.13 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-<link rel="chapter" href="glib.html" title="GLib Overview">
-<link rel="chapter" href="glib-fundamentals.html" title="GLib Fundamentals">
-<link rel="chapter" href="glib-core.html" title="GLib Core Application Support">
-<link rel="chapter" href="glib-utilities.html" title="GLib Utilities">
-<link rel="chapter" href="glib-data-types.html" title="GLib Data Types">
-<link rel="chapter" href="tools.html" title="GLib Tools">
-<link rel="index" href="api-index-full.html" title="Index">
-<link rel="index" href="api-index-deprecated.html" title="Index of deprecated symbols">
-<link rel="index" href="api-index-2-2.html" title="Index of new symbols in 2.2">
-<link rel="index" href="api-index-2-4.html" title="Index of new symbols in 2.4">
-<link rel="index" href="api-index-2-6.html" title="Index of new symbols in 2.6">
-<link rel="index" href="api-index-2-8.html" title="Index of new symbols in 2.8">
-<link rel="index" href="api-index-2-10.html" title="Index of new symbols in 2.10">
-<link rel="index" href="api-index-2-12.html" title="Index of new symbols in 2.12">
-<link rel="index" href="api-index-2-14.html" title="Index of new symbols in 2.14">
-<link rel="index" href="api-index-2-16.html" title="Index of new symbols in 2.16">
-<link rel="index" href="api-index-2-18.html" title="Index of new symbols in 2.18">
-<link rel="index" href="api-index-2-20.html" title="Index of new symbols in 2.20">
-<link rel="index" href="api-index-2-22.html" title="Index of new symbols in 2.22">
-<link rel="index" href="api-index-2-24.html" title="Index of new symbols in 2.24">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-<tr valign="middle">
-<td><a accesskey="p" href="glib-Memory-Slices.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
-<td><a accesskey="u" href="glib-data-types.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<th width="100%" align="center">GLib Reference Manual</th>
-<td><a accesskey="n" href="glib-Doubly-Linked-Lists.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
-</tr>
-<tr><td colspan="5" class="shortcuts">
-<a href="#glib-Memory-Chunks.synopsis" class="shortcut">Top</a>
- |
- <a href="#glib-Memory-Chunks.description" class="shortcut">Description</a>
-</td></tr>
-</table>
-<div class="refentry" title="Memory Chunks">
-<a name="glib-Memory-Chunks"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="glib-Memory-Chunks.top_of_page"></a>Memory Chunks</span></h2>
-<p>Memory Chunks — deprecated way to allocate groups of equal-sized
- chunks of memory</p>
-</td>
-<td valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsynopsisdiv" title="Synopsis">
-<a name="glib-Memory-Chunks.synopsis"></a><h2>Synopsis</h2>
-<pre class="synopsis">
-#include <glib.h>
-
- <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk">GMemChunk</a>;
-#define <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-AND-FREE:CAPS" title="G_ALLOC_AND_FREE">G_ALLOC_AND_FREE</a>
-#define <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-ONLY:CAPS" title="G_ALLOC_ONLY">G_ALLOC_ONLY</a>
-
-<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a>* <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-new" title="g_mem_chunk_new ()">g_mem_chunk_new</a> (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *name,
- <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> atom_size,
- <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> area_size,
- <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> type);
-<a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-alloc" title="g_mem_chunk_alloc ()">g_mem_chunk_alloc</a> (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk);
-<a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-alloc0" title="g_mem_chunk_alloc0 ()">g_mem_chunk_alloc0</a> (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk);
-<span class="returnvalue">void</span> <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-free" title="g_mem_chunk_free ()">g_mem_chunk_free</a> (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk,
- <a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> mem);
-<span class="returnvalue">void</span> <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-destroy" title="g_mem_chunk_destroy ()">g_mem_chunk_destroy</a> (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk);
-
-#define <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-create" title="g_mem_chunk_create()">g_mem_chunk_create</a> (type, pre_alloc, alloc_type)
-#define <a class="link" href="glib-Memory-Chunks.html#g-chunk-new" title="g_chunk_new()">g_chunk_new</a> (type, chunk)
-#define <a class="link" href="glib-Memory-Chunks.html#g-chunk-new0" title="g_chunk_new0()">g_chunk_new0</a> (type, chunk)
-#define <a class="link" href="glib-Memory-Chunks.html#g-chunk-free" title="g_chunk_free()">g_chunk_free</a> (mem, mem_chunk)
-
-<span class="returnvalue">void</span> <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-reset" title="g_mem_chunk_reset ()">g_mem_chunk_reset</a> (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk);
-<span class="returnvalue">void</span> <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-clean" title="g_mem_chunk_clean ()">g_mem_chunk_clean</a> (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk);
-<span class="returnvalue">void</span> <a class="link" href="glib-Memory-Chunks.html#g-blow-chunks" title="g_blow_chunks ()">g_blow_chunks</a> (void);
-
-<span class="returnvalue">void</span> <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-info" title="g_mem_chunk_info ()">g_mem_chunk_info</a> (void);
-<span class="returnvalue">void</span> <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-print" title="g_mem_chunk_print ()">g_mem_chunk_print</a> (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk);
-</pre>
-</div>
-<div class="refsect1" title="Description">
-<a name="glib-Memory-Chunks.description"></a><h2>Description</h2>
-<p>
-Memory chunks provide an space-efficient way to allocate equal-sized
-pieces of memory, called atoms. However, due to the administrative
-overhead (in particular for <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-AND-FREE:CAPS" title="G_ALLOC_AND_FREE"><span class="type">G_ALLOC_AND_FREE</span></a>, and when used from
-multiple threads), they are in practise often slower than direct use
-of <a class="link" href="glib-Memory-Allocation.html#g-malloc" title="g_malloc ()"><code class="function">g_malloc()</code></a>. Therefore, memory chunks have been deprecated in
-favor of the <a class="link" href="glib-Memory-Slices.html" title="Memory Slices">slice
-allocator</a>, which has been added in 2.10. All internal uses of
-memory chunks in GLib have been converted to the
-<code class="literal">g_slice</code> API.
-</p>
-<p>
-There are two types of memory chunks, <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-ONLY:CAPS" title="G_ALLOC_ONLY"><span class="type">G_ALLOC_ONLY</span></a>, and
-<a class="link" href="glib-Memory-Chunks.html#G-ALLOC-AND-FREE:CAPS" title="G_ALLOC_AND_FREE"><span class="type">G_ALLOC_AND_FREE</span></a>. </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem"><p> <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-ONLY:CAPS" title="G_ALLOC_ONLY"><span class="type">G_ALLOC_ONLY</span></a>
-chunks only allow allocation of atoms. The atoms can never be freed
-individually. The memory chunk can only be free in its entirety.
-</p></li>
-<li class="listitem"><p> <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-AND-FREE:CAPS" title="G_ALLOC_AND_FREE"><span class="type">G_ALLOC_AND_FREE</span></a> chunks do
-allow atoms to be freed individually. The disadvantage of this is
-that the memory chunk has to keep track of which atoms have been
-freed. This results in more memory being used and a slight
-degradation in performance. </p></li>
-</ul></div>
-<p>
-</p>
-<p>
-To create a memory chunk use <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-new" title="g_mem_chunk_new ()"><code class="function">g_mem_chunk_new()</code></a> or the convenience
-macro <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-create" title="g_mem_chunk_create()"><code class="function">g_mem_chunk_create()</code></a>.
-</p>
-<p>
-To allocate a new atom use <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-alloc" title="g_mem_chunk_alloc ()"><code class="function">g_mem_chunk_alloc()</code></a>,
-<a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-alloc0" title="g_mem_chunk_alloc0 ()"><code class="function">g_mem_chunk_alloc0()</code></a>, or the convenience macros <a class="link" href="glib-Memory-Chunks.html#g-chunk-new" title="g_chunk_new()"><code class="function">g_chunk_new()</code></a> or
-<a class="link" href="glib-Memory-Chunks.html#g-chunk-new0" title="g_chunk_new0()"><code class="function">g_chunk_new0()</code></a>.
-</p>
-<p>
-To free an atom use <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-free" title="g_mem_chunk_free ()"><code class="function">g_mem_chunk_free()</code></a>, or the convenience macro
-<a class="link" href="glib-Memory-Chunks.html#g-chunk-free" title="g_chunk_free()"><code class="function">g_chunk_free()</code></a>. (Atoms can only be freed if the memory chunk is
-created with the type set to <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-AND-FREE:CAPS" title="G_ALLOC_AND_FREE"><span class="type">G_ALLOC_AND_FREE</span></a>.)
-</p>
-<p>
-To free any blocks of memory which are no longer being used, use
-<a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-clean" title="g_mem_chunk_clean ()"><code class="function">g_mem_chunk_clean()</code></a>. To clean all memory chunks, use <a class="link" href="glib-Memory-Chunks.html#g-blow-chunks" title="g_blow_chunks ()"><code class="function">g_blow_chunks()</code></a>.
-</p>
-<p>
-To reset the memory chunk, freeing all of the atoms, use
-<a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-reset" title="g_mem_chunk_reset ()"><code class="function">g_mem_chunk_reset()</code></a>.
-</p>
-<p>
-To destroy a memory chunk, use <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-destroy" title="g_mem_chunk_destroy ()"><code class="function">g_mem_chunk_destroy()</code></a>.
-</p>
-<p>
-To help debug memory chunks, use <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-info" title="g_mem_chunk_info ()"><code class="function">g_mem_chunk_info()</code></a> and
-<a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-print" title="g_mem_chunk_print ()"><code class="function">g_mem_chunk_print()</code></a>.
-</p>
-<p>
-</p>
-<div class="example">
-<a name="id594507"></a><p class="title"><b>Example 17. Using a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a></b></p>
-<div class="example-contents"><pre class="programlisting">
- GMemChunk *mem_chunk;
- gchar *mem[10000];
- gint i;
-
- /* Create a GMemChunk with atoms 50 bytes long, and memory
- blocks holding 100 bytes. Note that this means that only 2 atoms
- fit into each memory block and so isn't very efficient. */
- mem_chunk = g_mem_chunk_new ("test mem chunk", 50, 100, G_ALLOC_AND_FREE);
- /* Now allocate 10000 atoms. */
- for (i = 0; i < 10000; i++)
- {
- mem[i] = g_chunk_new (gchar, mem_chunk);
- /* Fill in the atom memory with some junk. */
- for (j = 0; j < 50; j++)
- mem[i][j] = i * j;
- }
- /* Now free all of the atoms. Note that since we are going to
- destroy the GMemChunk, this wouldn't normally be used. */
- for (i = 0; i < 10000; i++)
- {
- g_mem_chunk_free (mem_chunk, mem[i]);
- }
- /* We are finished with the GMemChunk, so we destroy it. */
- g_mem_chunk_destroy (mem_chunk);
- </pre></div>
-</div>
-<p><br class="example-break">
-</p>
-<p>
-</p>
-<div class="example">
-<a name="id671836"></a><p class="title"><b>Example 18. Using a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a> with data structures</b></p>
-<div class="example-contents"><pre class="programlisting">
- GMemChunk *array_mem_chunk;
- GRealArray *array;
- /* Create a GMemChunk to hold GRealArray structures, using
- the g_mem_chunk_create() convenience macro. We want 1024 atoms in each
- memory block, and we want to be able to free individual atoms. */
- array_mem_chunk = g_mem_chunk_create (GRealArray, 1024, G_ALLOC_AND_FREE);
- /* Allocate one atom, using the g_chunk_new() convenience macro. */
- array = g_chunk_new (GRealArray, array_mem_chunk);
- /* We can now use array just like a normal pointer to a structure. */
- array->data = NULL;
- array->len = 0;
- array->alloc = 0;
- array->zero_terminated = (zero_terminated ? 1 : 0);
- array->clear = (clear ? 1 : 0);
- array->elt_size = elt_size;
- /* We can free the element, so it can be reused. */
- g_chunk_free (array, array_mem_chunk);
- /* We destroy the GMemChunk when we are finished with it. */
- g_mem_chunk_destroy (array_mem_chunk);
- </pre></div>
-</div>
-<p><br class="example-break"></p>
-</div>
-<div class="refsect1" title="Details">
-<a name="glib-Memory-Chunks.details"></a><h2>Details</h2>
-<div class="refsect2" title="GMemChunk">
-<a name="GMemChunk"></a><h3>GMemChunk</h3>
-<pre class="programlisting">typedef struct _GMemChunk GMemChunk;</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">GMemChunk</code> is deprecated and should not be used in newly-written code.</p>
-</div>
-<p>
-The <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a> struct is an opaque data structure representing a
-memory chunk. It should be accessed only through the use of the
-following functions.</p>
-</div>
-<hr>
-<div class="refsect2" title="G_ALLOC_AND_FREE">
-<a name="G-ALLOC-AND-FREE:CAPS"></a><h3>G_ALLOC_AND_FREE</h3>
-<pre class="programlisting">#define G_ALLOC_AND_FREE 2
-</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">G_ALLOC_AND_FREE</code> is deprecated and should not be used in newly-written code.</p>
-</div>
-<p>
-Specifies the type of a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>. Used in <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-new" title="g_mem_chunk_new ()"><code class="function">g_mem_chunk_new()</code></a> and
-<a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-create" title="g_mem_chunk_create()"><code class="function">g_mem_chunk_create()</code></a> to specify that atoms will be freed
-individually.</p>
-</div>
-<hr>
-<div class="refsect2" title="G_ALLOC_ONLY">
-<a name="G-ALLOC-ONLY:CAPS"></a><h3>G_ALLOC_ONLY</h3>
-<pre class="programlisting">#define G_ALLOC_ONLY 1
-</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">G_ALLOC_ONLY</code> is deprecated and should not be used in newly-written code.</p>
-</div>
-<p>
-Specifies the type of a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>. Used in <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-new" title="g_mem_chunk_new ()"><code class="function">g_mem_chunk_new()</code></a> and
-<a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-create" title="g_mem_chunk_create()"><code class="function">g_mem_chunk_create()</code></a> to specify that atoms will never be freed
-individually.</p>
-</div>
-<hr>
-<div class="refsect2" title="g_mem_chunk_new ()">
-<a name="g-mem-chunk-new"></a><h3>g_mem_chunk_new ()</h3>
-<pre class="programlisting"><a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a>* g_mem_chunk_new (const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> *name,
- <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> atom_size,
- <a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> area_size,
- <a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> type);</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_mem_chunk_new</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use the <a class="link" href="glib-Memory-Slices.html" title="Memory Slices">slice
- allocator</a> instead</p>
-</div>
-<p>
-Creates a new <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
-<td> a string to identify the <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>. It is not copied so it
- should be valid for the lifetime of the <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>. It is
- only used in <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-print" title="g_mem_chunk_print ()"><code class="function">g_mem_chunk_print()</code></a>, which is used for debugging.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>atom_size</code></em> :</span></p></td>
-<td> the size, in bytes, of each element in the <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>area_size</code></em> :</span></p></td>
-<td> the size, in bytes, of each block of memory allocated to
- contain the atoms.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
-<td> the type of the <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>. <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-AND-FREE:CAPS" title="G_ALLOC_AND_FREE"><span class="type">G_ALLOC_AND_FREE</span></a> is used if the
- atoms will be freed individually. <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-ONLY:CAPS" title="G_ALLOC_ONLY"><span class="type">G_ALLOC_ONLY</span></a> should be
- used if atoms will never be freed individually.
- <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-ONLY:CAPS" title="G_ALLOC_ONLY"><span class="type">G_ALLOC_ONLY</span></a> is quicker, since it does not need to track
- free atoms, but it obviously wastes memory if you no longer
- need many of the atoms.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> the new <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" title="g_mem_chunk_alloc ()">
-<a name="g-mem-chunk-alloc"></a><h3>g_mem_chunk_alloc ()</h3>
-<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> g_mem_chunk_alloc (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk);</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_mem_chunk_alloc</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use <a class="link" href="glib-Memory-Slices.html#g-slice-alloc" title="g_slice_alloc ()"><code class="function">g_slice_alloc()</code></a> instead</p>
-</div>
-<p>
-Allocates an atom of memory from a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>mem_chunk</code></em> :</span></p></td>
-<td> a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> a pointer to the allocated atom.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" title="g_mem_chunk_alloc0 ()">
-<a name="g-mem-chunk-alloc0"></a><h3>g_mem_chunk_alloc0 ()</h3>
-<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> g_mem_chunk_alloc0 (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk);</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_mem_chunk_alloc0</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use <a class="link" href="glib-Memory-Slices.html#g-slice-alloc0" title="g_slice_alloc0 ()"><code class="function">g_slice_alloc0()</code></a> instead</p>
-</div>
-<p>
-Allocates an atom of memory from a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>, setting the memory to
-0.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>mem_chunk</code></em> :</span></p></td>
-<td> a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> a pointer to the allocated atom.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" title="g_mem_chunk_free ()">
-<a name="g-mem-chunk-free"></a><h3>g_mem_chunk_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_mem_chunk_free (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk,
- <a class="link" href="glib-Basic-Types.html#gpointer" title="gpointer"><span class="returnvalue">gpointer</span></a> mem);</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_mem_chunk_free</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use <a class="link" href="glib-Memory-Slices.html#g-slice-free1" title="g_slice_free1 ()"><code class="function">g_slice_free1()</code></a> instead</p>
-</div>
-<p>
-Frees an atom in a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>. This should only be called if the
-<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a> was created with <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-AND-FREE:CAPS" title="G_ALLOC_AND_FREE"><span class="type">G_ALLOC_AND_FREE</span></a>. Otherwise it will
-simply return.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>mem_chunk</code></em> :</span></p></td>
-<td> a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
-<td> a pointer to the atom to free.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" title="g_mem_chunk_destroy ()">
-<a name="g-mem-chunk-destroy"></a><h3>g_mem_chunk_destroy ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_mem_chunk_destroy (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk);</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_mem_chunk_destroy</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use the <a class="link" href="glib-Memory-Slices.html" title="Memory Slices">slice
- allocator</a> instead</p>
-</div>
-<p>
-Frees all of the memory allocated for a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>mem_chunk</code></em> :</span></p></td>
-<td> a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" title="g_mem_chunk_create()">
-<a name="g-mem-chunk-create"></a><h3>g_mem_chunk_create()</h3>
-<pre class="programlisting">#define g_mem_chunk_create(type, pre_alloc, alloc_type)</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_mem_chunk_create</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use the <a class="link" href="glib-Memory-Slices.html" title="Memory Slices">slice
- allocator</a> instead</p>
-</div>
-<p>
-A convenience macro for creating a new <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>. It calls
-<a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-new" title="g_mem_chunk_new ()"><code class="function">g_mem_chunk_new()</code></a>, using the given type to create the <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>
-name. The atom size is determined using
-<code class="function"><code class="function">sizeof()</code></code>, and the area size is calculated by
-multiplying the <em class="parameter"><code>pre_alloc</code></em> parameter with the atom size.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
-<td> the type of the atoms, typically a structure name.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>pre_alloc</code></em> :</span></p></td>
-<td> the number of atoms to store in each block of memory.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>alloc_type</code></em> :</span></p></td>
-<td> the type of the <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>. <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-AND-FREE:CAPS" title="G_ALLOC_AND_FREE"><span class="type">G_ALLOC_AND_FREE</span></a> is used
- if the atoms will be freed individually. <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-ONLY:CAPS" title="G_ALLOC_ONLY"><span class="type">G_ALLOC_ONLY</span></a>
- should be used if atoms will never be freed
- individually. <a class="link" href="glib-Memory-Chunks.html#G-ALLOC-ONLY:CAPS" title="G_ALLOC_ONLY"><span class="type">G_ALLOC_ONLY</span></a> is quicker, since it does
- not need to track free atoms, but it obviously wastes
- memory if you no longer need many of the atoms.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> the new <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" title="g_chunk_new()">
-<a name="g-chunk-new"></a><h3>g_chunk_new()</h3>
-<pre class="programlisting">#define g_chunk_new(type, chunk)</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_chunk_new</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use <a class="link" href="glib-Memory-Slices.html#g-slice-new" title="g_slice_new()"><code class="function">g_slice_new()</code></a> instead</p>
-</div>
-<p>
-A convenience macro to allocate an atom of memory from a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-It calls <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-alloc" title="g_mem_chunk_alloc ()"><code class="function">g_mem_chunk_alloc()</code></a> and casts the returned atom to a
-pointer to the given type, avoiding a type cast in the source code.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
-<td> the type of the <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a> atoms, typically a structure name.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>chunk</code></em> :</span></p></td>
-<td> a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> a pointer to the allocated atom, cast to a pointer to
- <em class="parameter"><code>type</code></em>.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" title="g_chunk_new0()">
-<a name="g-chunk-new0"></a><h3>g_chunk_new0()</h3>
-<pre class="programlisting">#define g_chunk_new0(type, chunk)</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_chunk_new0</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use <a class="link" href="glib-Memory-Slices.html#g-slice-new0" title="g_slice_new0()"><code class="function">g_slice_new0()</code></a> instead</p>
-</div>
-<p>
-A convenience macro to allocate an atom of memory from a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-It calls <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-alloc0" title="g_mem_chunk_alloc0 ()"><code class="function">g_mem_chunk_alloc0()</code></a> and casts the returned atom to a
-pointer to the given type, avoiding a type cast in the source code.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
-<td> the type of the <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a> atoms, typically a structure name.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>chunk</code></em> :</span></p></td>
-<td> a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
-<td> a pointer to the allocated atom, cast to a pointer to
- <em class="parameter"><code>type</code></em>.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" title="g_chunk_free()">
-<a name="g-chunk-free"></a><h3>g_chunk_free()</h3>
-<pre class="programlisting">#define g_chunk_free(mem, mem_chunk)</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_chunk_free</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use <a class="link" href="glib-Memory-Slices.html#g-slice-free" title="g_slice_free()"><code class="function">g_slice_free()</code></a> instead</p>
-</div>
-<p>
-A convenience macro to free an atom of memory from a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>. It
-simply switches the arguments and calls <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-free" title="g_mem_chunk_free ()"><code class="function">g_mem_chunk_free()</code></a> It is
-included simply to complement the other convenience macros,
-<a class="link" href="glib-Memory-Chunks.html#g-chunk-new" title="g_chunk_new()"><code class="function">g_chunk_new()</code></a> and <a class="link" href="glib-Memory-Chunks.html#g-chunk-new0" title="g_chunk_new0()"><code class="function">g_chunk_new0()</code></a>.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>mem</code></em> :</span></p></td>
-<td> a pointer to the atom to be freed.
-</td>
-</tr>
-<tr>
-<td><p><span class="term"><em class="parameter"><code>mem_chunk</code></em> :</span></p></td>
-<td> a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" title="g_mem_chunk_reset ()">
-<a name="g-mem-chunk-reset"></a><h3>g_mem_chunk_reset ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_mem_chunk_reset (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk);</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_mem_chunk_reset</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use the <a class="link" href="glib-Memory-Slices.html" title="Memory Slices">slice
- allocator</a> instead</p>
-</div>
-<p>
-Resets a GMemChunk to its initial state. It frees all of the
-currently allocated blocks of memory.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>mem_chunk</code></em> :</span></p></td>
-<td> a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" title="g_mem_chunk_clean ()">
-<a name="g-mem-chunk-clean"></a><h3>g_mem_chunk_clean ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_mem_chunk_clean (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk);</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_mem_chunk_clean</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use the <a class="link" href="glib-Memory-Slices.html" title="Memory Slices">slice
- allocator</a> instead</p>
-</div>
-<p>
-Frees any blocks in a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a> which are no longer being used.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>mem_chunk</code></em> :</span></p></td>
-<td> a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" title="g_blow_chunks ()">
-<a name="g-blow-chunks"></a><h3>g_blow_chunks ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_blow_chunks (void);</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_blow_chunks</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use the <a class="link" href="glib-Memory-Slices.html" title="Memory Slices">slice
- allocator</a> instead</p>
-</div>
-<p>
-Calls <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-clean" title="g_mem_chunk_clean ()"><code class="function">g_mem_chunk_clean()</code></a> on all <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a> objects.</p>
-</div>
-<hr>
-<div class="refsect2" title="g_mem_chunk_info ()">
-<a name="g-mem-chunk-info"></a><h3>g_mem_chunk_info ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_mem_chunk_info (void);</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_mem_chunk_info</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use the <a class="link" href="glib-Memory-Slices.html" title="Memory Slices">slice
- allocator</a> instead</p>
-</div>
-<p>
-Outputs debugging information for all <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a> objects currently
-in use. It outputs the number of <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a> objects currently
-allocated, and calls <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-print" title="g_mem_chunk_print ()"><code class="function">g_mem_chunk_print()</code></a> to output information on
-each one.</p>
-</div>
-<hr>
-<div class="refsect2" title="g_mem_chunk_print ()">
-<a name="g-mem-chunk-print"></a><h3>g_mem_chunk_print ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span> g_mem_chunk_print (<a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="returnvalue">GMemChunk</span></a> *mem_chunk);</pre>
-<div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;">
-<h3 class="title">Warning</h3>
-<p><code class="literal">g_mem_chunk_print</code> has been deprecated since version 2.10 and should not be used in newly-written code. Use the <a class="link" href="glib-Memory-Slices.html" title="Memory Slices">slice
- allocator</a> instead</p>
-</div>
-<p>
-Outputs debugging information for a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>. It outputs the name
-of the <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a> (set with <a class="link" href="glib-Memory-Chunks.html#g-mem-chunk-new" title="g_mem_chunk_new ()"><code class="function">g_mem_chunk_new()</code></a>), the number of bytes
-used, and the number of blocks of memory allocated.</p>
-<div class="variablelist"><table border="0">
-<col align="left" valign="top">
-<tbody><tr>
-<td><p><span class="term"><em class="parameter"><code>mem_chunk</code></em> :</span></p></td>
-<td> a <a class="link" href="glib-Memory-Chunks.html#GMemChunk" title="GMemChunk"><span class="type">GMemChunk</span></a>.
-</td>
-</tr></tbody>
-</table></div>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>
- Generated by GTK-Doc V1.13</div>
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
-<book xmlns="http://www.devhelp.net/book" title="GLib Reference Manual" link="index.html" author="" name="glib">
- <chapters>
- <sub name="GLib Overview" link="glib.html">
- <sub name="Compiling the GLib package" link="glib-building.html"/>
- <sub name="Cross-compiling the GLib package" link="glib-cross-compiling.html"/>
- <sub name="Compiling GLib Applications" link="glib-compiling.html"/>
- <sub name="Running GLib Applications" link="glib-running.html"/>
- <sub name="Changes to GLib" link="glib-changes.html"/>
- <sub name="Regular expression syntax" link="glib-regex-syntax.html"/>
- <sub name="Mailing lists and bug reports" link="glib-resources.html"/>
- </sub>
- <sub name="GLib Fundamentals" link="glib-fundamentals.html">
- <sub name="Version Information" link="glib-Version-Information.html"/>
- <sub name="Basic Types" link="glib-Basic-Types.html"/>
- <sub name="Limits of Basic Types" link="glib-Limits-of-Basic-Types.html"/>
- <sub name="Standard Macros" link="glib-Standard-Macros.html"/>
- <sub name="Type Conversion Macros" link="glib-Type-Conversion-Macros.html"/>
- <sub name="Byte Order Macros" link="glib-Byte-Order-Macros.html"/>
- <sub name="Numerical Definitions" link="glib-Numerical-Definitions.html"/>
- <sub name="Miscellaneous Macros" link="glib-Miscellaneous-Macros.html"/>
- <sub name="Atomic Operations" link="glib-Atomic-Operations.html"/>
- </sub>
- <sub name="GLib Core Application Support" link="glib-core.html">
- <sub name="The Main Event Loop" link="glib-The-Main-Event-Loop.html"/>
- <sub name="Threads" link="glib-Threads.html"/>
- <sub name="Thread Pools" link="glib-Thread-Pools.html"/>
- <sub name="Asynchronous Queues" link="glib-Asynchronous-Queues.html"/>
- <sub name="Dynamic Loading of Modules" link="glib-Dynamic-Loading-of-Modules.html"/>
- <sub name="Memory Allocation" link="glib-Memory-Allocation.html"/>
- <sub name="IO Channels" link="glib-IO-Channels.html"/>
- <sub name="Error Reporting" link="glib-Error-Reporting.html"/>
- <sub name="Message Output and Debugging Functions" link="glib-Warnings-and-Assertions.html"/>
- <sub name="Message Logging" link="glib-Message-Logging.html"/>
- </sub>
- <sub name="GLib Utilities" link="glib-utilities.html">
- <sub name="String Utility Functions" link="glib-String-Utility-Functions.html"/>
- <sub name="Character Set Conversion" link="glib-Character-Set-Conversion.html"/>
- <sub name="Unicode Manipulation" link="glib-Unicode-Manipulation.html"/>
- <sub name="Base64 Encoding" link="glib-Base64-Encoding.html"/>
- <sub name="Data Checksums" link="glib-Data-Checksums.html"/>
- <sub name="Internationalization" link="glib-I18N.html"/>
- <sub name="Date and Time Functions" link="glib-Date-and-Time-Functions.html"/>
- <sub name="Random Numbers" link="glib-Random-Numbers.html"/>
- <sub name="Hook Functions" link="glib-Hook-Functions.html"/>
- <sub name="Miscellaneous Utility Functions" link="glib-Miscellaneous-Utility-Functions.html"/>
- <sub name="Lexical Scanner" link="glib-Lexical-Scanner.html"/>
- <sub name="Automatic String Completion" link="glib-Automatic-String-Completion.html"/>
- <sub name="Timers" link="glib-Timers.html"/>
- <sub name="Spawning Processes" link="glib-Spawning-Processes.html"/>
- <sub name="File Utilities" link="glib-File-Utilities.html"/>
- <sub name="URI Functions" link="glib-URI-Functions.html"/>
- <sub name="Hostname Utilities" link="glib-Hostname-Utilities.html"/>
- <sub name="Shell-related Utilities" link="glib-Shell-related-Utilities.html"/>
- <sub name="Commandline option parser" link="glib-Commandline-option-parser.html"/>
- <sub name="Glob-style pattern matching" link="glib-Glob-style-pattern-matching.html"/>
- <sub name="Perl-compatible regular expressions" link="glib-Perl-compatible-regular-expressions.html"/>
- <sub name="Simple XML Subset Parser" link="glib-Simple-XML-Subset-Parser.html"/>
- <sub name="Key-value file parser" link="glib-Key-value-file-parser.html"/>
- <sub name="Bookmark file parser" link="glib-Bookmark-file-parser.html"/>
- <sub name="Testing" link="glib-Testing.html"/>
- <sub name="Windows Compatibility Functions" link="glib-Windows-Compatibility-Functions.html"/>
- </sub>
- <sub name="GLib Data Types" link="glib-data-types.html">
- <sub name="Memory Slices" link="glib-Memory-Slices.html"/>
- <sub name="Memory Chunks" link="glib-Memory-Chunks.html"/>
- <sub name="Doubly-Linked Lists" link="glib-Doubly-Linked-Lists.html"/>
- <sub name="Singly-Linked Lists" link="glib-Singly-Linked-Lists.html"/>
- <sub name="Double-ended Queues" link="glib-Double-ended-Queues.html"/>
- <sub name="Sequences" link="glib-Sequences.html"/>
- <sub name="Trash Stacks" link="glib-Trash-Stacks.html"/>
- <sub name="Hash Tables" link="glib-Hash-Tables.html"/>
- <sub name="Strings" link="glib-Strings.html"/>
- <sub name="String Chunks" link="glib-String-Chunks.html"/>
- <sub name="Arrays" link="glib-Arrays.html"/>
- <sub name="Pointer Arrays" link="glib-Pointer-Arrays.html"/>
- <sub name="Byte Arrays" link="glib-Byte-Arrays.html"/>
- <sub name="Balanced Binary Trees" link="glib-Balanced-Binary-Trees.html"/>
- <sub name="N-ary Trees" link="glib-N-ary-Trees.html"/>
- <sub name="Quarks" link="glib-Quarks.html"/>
- <sub name="Keyed Data Lists" link="glib-Keyed-Data-Lists.html"/>
- <sub name="Datasets" link="glib-Datasets.html"/>
- <sub name="Relations and Tuples" link="glib-Relations-and-Tuples.html"/>
- <sub name="Caches" link="glib-Caches.html"/>
- <sub name="Memory Allocators" link="glib-Memory-Allocators.html"/>
- <sub name="GVariantType" link="glib-GVariantType.html"/>
- <sub name="GVariant" link="glib-GVariant.html"/>
- <sub name="GVariant Format Strings" link="gvariant-format-strings.html"/>
- </sub>
- <sub name="GLib Tools" link="tools.html">
- <sub name="glib-gettextize" link="glib-gettextize.html"/>
- <sub name="gtester" link="gtester.html"/>
- <sub name="gtester-report" link="gtester-report.html"/>
- </sub>
- <sub name="Index" link="api-index-full.html"/>
- <sub name="Index of deprecated symbols" link="api-index-deprecated.html"/>
- <sub name="Index of new symbols in 2.2" link="api-index-2-2.html"/>
- <sub name="Index of new symbols in 2.4" link="api-index-2-4.html"/>
- <sub name="Index of new symbols in 2.6" link="api-index-2-6.html"/>
- <sub name="Index of new symbols in 2.8" link="api-index-2-8.html"/>
- <sub name="Index of new symbols in 2.10" link="api-index-2-10.html"/>
- <sub name="Index of new symbols in 2.12" link="api-index-2-12.html"/>
- <sub name="Index of new symbols in 2.14" link="api-index-2-14.html"/>
- <sub name="Index of new symbols in 2.16" link="api-index-2-16.html"/>
- <sub name="Index of new symbols in 2.18" link="api-index-2-18.html"/>
- <sub name="Index of new symbols in 2.20" link="api-index-2-20.html"/>
- <sub name="Index of new symbols in 2.22" link="api-index-2-22.html"/>
- <sub name="Index of new symbols in 2.24" link="api-index-2-24.html"/>
- </chapters>
- <functions>
- <function name="Environment variables" link="glib-running.html#id489536"/>
- <function name="Locale" link="glib-running.html#setlocale"/>
- <function name="Traps and traces" link="glib-running.html#id492704"/>
- <function name="Gdb debugging macros" link="glib-running.html#id457417"/>
- <function name="Memory statistics" link="glib-running.html#id457452"/>
- <function name="Non-printing characters" link="glib-regex-syntax.html#id505997"/>
- <function name="Absolute and relative back references" link="glib-regex-syntax.html#id506536"/>
- <function name="Generic character types" link="glib-regex-syntax.html#id506549"/>
- <function name="Newline sequences" link="glib-regex-syntax.html#id506699"/>
- <function name="Unicode character properties" link="glib-regex-syntax.html#id506714"/>
- <function name="Simple assertions" link="glib-regex-syntax.html#id507667"/>
- <function name="Lookahead assertions" link="glib-regex-syntax.html#id503417"/>
- <function name="Lookbehind assertions" link="glib-regex-syntax.html#id503468"/>
- <function name="Using multiple assertions" link="glib-regex-syntax.html#id503582"/>
- <function name="Checking for a used subpattern by number" link="glib-regex-syntax.html#id503675"/>
- <function name="Checking for a used subpattern by name" link="glib-regex-syntax.html#id503711"/>
- <function name="Checking for pattern recursion" link="glib-regex-syntax.html#id503736"/>
- <function name="Defining subpatterns for use by reference only" link="glib-regex-syntax.html#id503765"/>
- <function name="Assertion conditions" link="glib-regex-syntax.html#id503798"/>
- <function name="GLIB_MAJOR_VERSION" link="glib-Version-Information.html#GLIB-MAJOR-VERSION:CAPS"/>
- <function name="GLIB_MINOR_VERSION" link="glib-Version-Information.html#GLIB-MINOR-VERSION:CAPS"/>
- <function name="GLIB_MICRO_VERSION" link="glib-Version-Information.html#GLIB-MICRO-VERSION:CAPS"/>
- <function name="GLIB_CHECK_VERSION()" link="glib-Version-Information.html#GLIB-CHECK-VERSION:CAPS"/>
- <function name="gboolean" link="glib-Basic-Types.html#gboolean"/>
- <function name="gpointer" link="glib-Basic-Types.html#gpointer"/>
- <function name="gconstpointer" link="glib-Basic-Types.html#gconstpointer"/>
- <function name="gchar" link="glib-Basic-Types.html#gchar"/>
- <function name="guchar" link="glib-Basic-Types.html#guchar"/>
- <function name="gint" link="glib-Basic-Types.html#gint"/>
- <function name="guint" link="glib-Basic-Types.html#guint"/>
- <function name="gshort" link="glib-Basic-Types.html#gshort"/>
- <function name="gushort" link="glib-Basic-Types.html#gushort"/>
- <function name="glong" link="glib-Basic-Types.html#glong"/>
- <function name="gulong" link="glib-Basic-Types.html#gulong"/>
- <function name="gint8" link="glib-Basic-Types.html#gint8"/>
- <function name="guint8" link="glib-Basic-Types.html#guint8"/>
- <function name="gint16" link="glib-Basic-Types.html#gint16"/>
- <function name="guint16" link="glib-Basic-Types.html#guint16"/>
- <function name="gint32" link="glib-Basic-Types.html#gint32"/>
- <function name="guint32" link="glib-Basic-Types.html#guint32"/>
- <function name="G_HAVE_GINT64" link="glib-Basic-Types.html#G-HAVE-GINT64:CAPS"/>
- <function name="gint64" link="glib-Basic-Types.html#gint64"/>
- <function name="guint64" link="glib-Basic-Types.html#guint64"/>
- <function name="G_GINT64_CONSTANT()" link="glib-Basic-Types.html#G-GINT64-CONSTANT:CAPS"/>
- <function name="G_GUINT64_CONSTANT()" link="glib-Basic-Types.html#G-GUINT64-CONSTANT:CAPS"/>
- <function name="gfloat" link="glib-Basic-Types.html#gfloat"/>
- <function name="gdouble" link="glib-Basic-Types.html#gdouble"/>
- <function name="gsize" link="glib-Basic-Types.html#gsize"/>
- <function name="gssize" link="glib-Basic-Types.html#gssize"/>
- <function name="goffset" link="glib-Basic-Types.html#goffset"/>
- <function name="G_GOFFSET_CONSTANT()" link="glib-Basic-Types.html#G-GOFFSET-CONSTANT:CAPS"/>
- <function name="gintptr" link="glib-Basic-Types.html#gintptr"/>
- <function name="guintptr" link="glib-Basic-Types.html#guintptr"/>
- <function name="G_MININT" link="glib-Limits-of-Basic-Types.html#G-MININT:CAPS"/>
- <function name="G_MAXINT" link="glib-Limits-of-Basic-Types.html#G-MAXINT:CAPS"/>
- <function name="G_MAXUINT" link="glib-Limits-of-Basic-Types.html#G-MAXUINT:CAPS"/>
- <function name="G_MINSHORT" link="glib-Limits-of-Basic-Types.html#G-MINSHORT:CAPS"/>
- <function name="G_MAXSHORT" link="glib-Limits-of-Basic-Types.html#G-MAXSHORT:CAPS"/>
- <function name="G_MAXUSHORT" link="glib-Limits-of-Basic-Types.html#G-MAXUSHORT:CAPS"/>
- <function name="G_MINLONG" link="glib-Limits-of-Basic-Types.html#G-MINLONG:CAPS"/>
- <function name="G_MAXLONG" link="glib-Limits-of-Basic-Types.html#G-MAXLONG:CAPS"/>
- <function name="G_MAXULONG" link="glib-Limits-of-Basic-Types.html#G-MAXULONG:CAPS"/>
- <function name="G_MININT8" link="glib-Limits-of-Basic-Types.html#G-MININT8:CAPS"/>
- <function name="G_MAXINT8" link="glib-Limits-of-Basic-Types.html#G-MAXINT8:CAPS"/>
- <function name="G_MAXUINT8" link="glib-Limits-of-Basic-Types.html#G-MAXUINT8:CAPS"/>
- <function name="G_MININT16" link="glib-Limits-of-Basic-Types.html#G-MININT16:CAPS"/>
- <function name="G_MAXINT16" link="glib-Limits-of-Basic-Types.html#G-MAXINT16:CAPS"/>
- <function name="G_MAXUINT16" link="glib-Limits-of-Basic-Types.html#G-MAXUINT16:CAPS"/>
- <function name="G_MININT32" link="glib-Limits-of-Basic-Types.html#G-MININT32:CAPS"/>
- <function name="G_MAXINT32" link="glib-Limits-of-Basic-Types.html#G-MAXINT32:CAPS"/>
- <function name="G_MAXUINT32" link="glib-Limits-of-Basic-Types.html#G-MAXUINT32:CAPS"/>
- <function name="G_MININT64" link="glib-Limits-of-Basic-Types.html#G-MININT64:CAPS"/>
- <function name="G_MAXINT64" link="glib-Limits-of-Basic-Types.html#G-MAXINT64:CAPS"/>
- <function name="G_MAXUINT64" link="glib-Limits-of-Basic-Types.html#G-MAXUINT64:CAPS"/>
- <function name="G_MAXSIZE" link="glib-Limits-of-Basic-Types.html#G-MAXSIZE:CAPS"/>
- <function name="G_MINSSIZE" link="glib-Limits-of-Basic-Types.html#G-MINSSIZE:CAPS"/>
- <function name="G_MAXSSIZE" link="glib-Limits-of-Basic-Types.html#G-MAXSSIZE:CAPS"/>
- <function name="G_MINOFFSET" link="glib-Limits-of-Basic-Types.html#G-MINOFFSET:CAPS"/>
- <function name="G_MAXOFFSET" link="glib-Limits-of-Basic-Types.html#G-MAXOFFSET:CAPS"/>
- <function name="G_MINFLOAT" link="glib-Limits-of-Basic-Types.html#G-MINFLOAT:CAPS"/>
- <function name="G_MAXFLOAT" link="glib-Limits-of-Basic-Types.html#G-MAXFLOAT:CAPS"/>
- <function name="G_MINDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MINDOUBLE:CAPS"/>
- <function name="G_MAXDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE:CAPS"/>
- <function name="G_OS_WIN32" link="glib-Standard-Macros.html#G-OS-WIN32:CAPS"/>
- <function name="G_OS_BEOS" link="glib-Standard-Macros.html#G-OS-BEOS:CAPS"/>
- <function name="G_OS_UNIX" link="glib-Standard-Macros.html#G-OS-UNIX:CAPS"/>
- <function name="G_DIR_SEPARATOR" link="glib-Standard-Macros.html#G-DIR-SEPARATOR:CAPS"/>
- <function name="G_DIR_SEPARATOR_S" link="glib-Standard-Macros.html#G-DIR-SEPARATOR-S:CAPS"/>
- <function name="G_IS_DIR_SEPARATOR()" link="glib-Standard-Macros.html#G-IS-DIR-SEPARATOR:CAPS"/>
- <function name="G_SEARCHPATH_SEPARATOR" link="glib-Standard-Macros.html#G-SEARCHPATH-SEPARATOR:CAPS"/>
- <function name="G_SEARCHPATH_SEPARATOR_S" link="glib-Standard-Macros.html#G-SEARCHPATH-SEPARATOR-S:CAPS"/>
- <function name="TRUE" link="glib-Standard-Macros.html#TRUE:CAPS"/>
- <function name="FALSE" link="glib-Standard-Macros.html#FALSE:CAPS"/>
- <function name="NULL" link="glib-Standard-Macros.html#NULL:CAPS"/>
- <function name="MIN()" link="glib-Standard-Macros.html#MIN:CAPS"/>
- <function name="MAX()" link="glib-Standard-Macros.html#MAX:CAPS"/>
- <function name="ABS()" link="glib-Standard-Macros.html#ABS:CAPS"/>
- <function name="CLAMP()" link="glib-Standard-Macros.html#CLAMP:CAPS"/>
- <function name="G_STRUCT_MEMBER()" link="glib-Standard-Macros.html#G-STRUCT-MEMBER:CAPS"/>
- <function name="G_STRUCT_MEMBER_P()" link="glib-Standard-Macros.html#G-STRUCT-MEMBER-P:CAPS"/>
- <function name="G_STRUCT_OFFSET()" link="glib-Standard-Macros.html#G-STRUCT-OFFSET:CAPS"/>
- <function name="G_MEM_ALIGN" link="glib-Standard-Macros.html#G-MEM-ALIGN:CAPS"/>
- <function name="G_CONST_RETURN" link="glib-Standard-Macros.html#G-CONST-RETURN:CAPS"/>
- <function name="GINT_TO_POINTER()" link="glib-Type-Conversion-Macros.html#GINT-TO-POINTER:CAPS"/>
- <function name="GPOINTER_TO_INT()" link="glib-Type-Conversion-Macros.html#GPOINTER-TO-INT:CAPS"/>
- <function name="GUINT_TO_POINTER()" link="glib-Type-Conversion-Macros.html#GUINT-TO-POINTER:CAPS"/>
- <function name="GPOINTER_TO_UINT()" link="glib-Type-Conversion-Macros.html#GPOINTER-TO-UINT:CAPS"/>
- <function name="GSIZE_TO_POINTER()" link="glib-Type-Conversion-Macros.html#GSIZE-TO-POINTER:CAPS"/>
- <function name="GPOINTER_TO_SIZE()" link="glib-Type-Conversion-Macros.html#GPOINTER-TO-SIZE:CAPS"/>
- <function name="G_BYTE_ORDER" link="glib-Byte-Order-Macros.html#G-BYTE-ORDER:CAPS"/>
- <function name="G_LITTLE_ENDIAN" link="glib-Byte-Order-Macros.html#G-LITTLE-ENDIAN:CAPS"/>
- <function name="G_BIG_ENDIAN" link="glib-Byte-Order-Macros.html#G-BIG-ENDIAN:CAPS"/>
- <function name="G_PDP_ENDIAN" link="glib-Byte-Order-Macros.html#G-PDP-ENDIAN:CAPS"/>
- <function name="g_htonl()" link="glib-Byte-Order-Macros.html#g-htonl"/>
- <function name="g_htons()" link="glib-Byte-Order-Macros.html#g-htons"/>
- <function name="g_ntohl()" link="glib-Byte-Order-Macros.html#g-ntohl"/>
- <function name="g_ntohs()" link="glib-Byte-Order-Macros.html#g-ntohs"/>
- <function name="GINT_FROM_BE()" link="glib-Byte-Order-Macros.html#GINT-FROM-BE:CAPS"/>
- <function name="GINT_FROM_LE()" link="glib-Byte-Order-Macros.html#GINT-FROM-LE:CAPS"/>
- <function name="GINT_TO_BE()" link="glib-Byte-Order-Macros.html#GINT-TO-BE:CAPS"/>
- <function name="GINT_TO_LE()" link="glib-Byte-Order-Macros.html#GINT-TO-LE:CAPS"/>
- <function name="GUINT_FROM_BE()" link="glib-Byte-Order-Macros.html#GUINT-FROM-BE:CAPS"/>
- <function name="GUINT_FROM_LE()" link="glib-Byte-Order-Macros.html#GUINT-FROM-LE:CAPS"/>
- <function name="GUINT_TO_BE()" link="glib-Byte-Order-Macros.html#GUINT-TO-BE:CAPS"/>
- <function name="GUINT_TO_LE()" link="glib-Byte-Order-Macros.html#GUINT-TO-LE:CAPS"/>
- <function name="GLONG_FROM_BE()" link="glib-Byte-Order-Macros.html#GLONG-FROM-BE:CAPS"/>
- <function name="GLONG_FROM_LE()" link="glib-Byte-Order-Macros.html#GLONG-FROM-LE:CAPS"/>
- <function name="GLONG_TO_BE()" link="glib-Byte-Order-Macros.html#GLONG-TO-BE:CAPS"/>
- <function name="GLONG_TO_LE()" link="glib-Byte-Order-Macros.html#GLONG-TO-LE:CAPS"/>
- <function name="GULONG_FROM_BE()" link="glib-Byte-Order-Macros.html#GULONG-FROM-BE:CAPS"/>
- <function name="GULONG_FROM_LE()" link="glib-Byte-Order-Macros.html#GULONG-FROM-LE:CAPS"/>
- <function name="GULONG_TO_BE()" link="glib-Byte-Order-Macros.html#GULONG-TO-BE:CAPS"/>
- <function name="GULONG_TO_LE()" link="glib-Byte-Order-Macros.html#GULONG-TO-LE:CAPS"/>
- <function name="GSIZE_FROM_BE()" link="glib-Byte-Order-Macros.html#GSIZE-FROM-BE:CAPS"/>
- <function name="GSIZE_FROM_LE()" link="glib-Byte-Order-Macros.html#GSIZE-FROM-LE:CAPS"/>
- <function name="GSIZE_TO_BE()" link="glib-Byte-Order-Macros.html#GSIZE-TO-BE:CAPS"/>
- <function name="GSIZE_TO_LE()" link="glib-Byte-Order-Macros.html#GSIZE-TO-LE:CAPS"/>
- <function name="GSSIZE_FROM_BE()" link="glib-Byte-Order-Macros.html#GSSIZE-FROM-BE:CAPS"/>
- <function name="GSSIZE_FROM_LE()" link="glib-Byte-Order-Macros.html#GSSIZE-FROM-LE:CAPS"/>
- <function name="GSSIZE_TO_BE()" link="glib-Byte-Order-Macros.html#GSSIZE-TO-BE:CAPS"/>
- <function name="GSSIZE_TO_LE()" link="glib-Byte-Order-Macros.html#GSSIZE-TO-LE:CAPS"/>
- <function name="GINT16_FROM_BE()" link="glib-Byte-Order-Macros.html#GINT16-FROM-BE:CAPS"/>
- <function name="GINT16_FROM_LE()" link="glib-Byte-Order-Macros.html#GINT16-FROM-LE:CAPS"/>
- <function name="GINT16_TO_BE()" link="glib-Byte-Order-Macros.html#GINT16-TO-BE:CAPS"/>
- <function name="GINT16_TO_LE()" link="glib-Byte-Order-Macros.html#GINT16-TO-LE:CAPS"/>
- <function name="GUINT16_FROM_BE()" link="glib-Byte-Order-Macros.html#GUINT16-FROM-BE:CAPS"/>
- <function name="GUINT16_FROM_LE()" link="glib-Byte-Order-Macros.html#GUINT16-FROM-LE:CAPS"/>
- <function name="GUINT16_TO_BE()" link="glib-Byte-Order-Macros.html#GUINT16-TO-BE:CAPS"/>
- <function name="GUINT16_TO_LE()" link="glib-Byte-Order-Macros.html#GUINT16-TO-LE:CAPS"/>
- <function name="GINT32_FROM_BE()" link="glib-Byte-Order-Macros.html#GINT32-FROM-BE:CAPS"/>
- <function name="GINT32_FROM_LE()" link="glib-Byte-Order-Macros.html#GINT32-FROM-LE:CAPS"/>
- <function name="GINT32_TO_BE()" link="glib-Byte-Order-Macros.html#GINT32-TO-BE:CAPS"/>
- <function name="GINT32_TO_LE()" link="glib-Byte-Order-Macros.html#GINT32-TO-LE:CAPS"/>
- <function name="GUINT32_FROM_BE()" link="glib-Byte-Order-Macros.html#GUINT32-FROM-BE:CAPS"/>
- <function name="GUINT32_FROM_LE()" link="glib-Byte-Order-Macros.html#GUINT32-FROM-LE:CAPS"/>
- <function name="GUINT32_TO_BE()" link="glib-Byte-Order-Macros.html#GUINT32-TO-BE:CAPS"/>
- <function name="GUINT32_TO_LE()" link="glib-Byte-Order-Macros.html#GUINT32-TO-LE:CAPS"/>
- <function name="GINT64_FROM_BE()" link="glib-Byte-Order-Macros.html#GINT64-FROM-BE:CAPS"/>
- <function name="GINT64_FROM_LE()" link="glib-Byte-Order-Macros.html#GINT64-FROM-LE:CAPS"/>
- <function name="GINT64_TO_BE()" link="glib-Byte-Order-Macros.html#GINT64-TO-BE:CAPS"/>
- <function name="GINT64_TO_LE()" link="glib-Byte-Order-Macros.html#GINT64-TO-LE:CAPS"/>
- <function name="GUINT64_FROM_BE()" link="glib-Byte-Order-Macros.html#GUINT64-FROM-BE:CAPS"/>
- <function name="GUINT64_FROM_LE()" link="glib-Byte-Order-Macros.html#GUINT64-FROM-LE:CAPS"/>
- <function name="GUINT64_TO_BE()" link="glib-Byte-Order-Macros.html#GUINT64-TO-BE:CAPS"/>
- <function name="GUINT64_TO_LE()" link="glib-Byte-Order-Macros.html#GUINT64-TO-LE:CAPS"/>
- <function name="GUINT16_SWAP_BE_PDP()" link="glib-Byte-Order-Macros.html#GUINT16-SWAP-BE-PDP:CAPS"/>
- <function name="GUINT16_SWAP_LE_BE()" link="glib-Byte-Order-Macros.html#GUINT16-SWAP-LE-BE:CAPS"/>
- <function name="GUINT16_SWAP_LE_PDP()" link="glib-Byte-Order-Macros.html#GUINT16-SWAP-LE-PDP:CAPS"/>
- <function name="GUINT32_SWAP_BE_PDP()" link="glib-Byte-Order-Macros.html#GUINT32-SWAP-BE-PDP:CAPS"/>
- <function name="GUINT32_SWAP_LE_BE()" link="glib-Byte-Order-Macros.html#GUINT32-SWAP-LE-BE:CAPS"/>
- <function name="GUINT32_SWAP_LE_PDP()" link="glib-Byte-Order-Macros.html#GUINT32-SWAP-LE-PDP:CAPS"/>
- <function name="GUINT64_SWAP_LE_BE()" link="glib-Byte-Order-Macros.html#GUINT64-SWAP-LE-BE:CAPS"/>
- <function name="G_IEEE754_FLOAT_BIAS" link="glib-Numerical-Definitions.html#G-IEEE754-FLOAT-BIAS:CAPS"/>
- <function name="G_IEEE754_DOUBLE_BIAS" link="glib-Numerical-Definitions.html#G-IEEE754-DOUBLE-BIAS:CAPS"/>
- <function name="union GFloatIEEE754" link="glib-Numerical-Definitions.html#GFloatIEEE754"/>
- <function name="union GDoubleIEEE754" link="glib-Numerical-Definitions.html#GDoubleIEEE754"/>
- <function name="G_E" link="glib-Numerical-Definitions.html#G-E:CAPS"/>
- <function name="G_LN2" link="glib-Numerical-Definitions.html#G-LN2:CAPS"/>
- <function name="G_LN10" link="glib-Numerical-Definitions.html#G-LN10:CAPS"/>
- <function name="G_PI" link="glib-Numerical-Definitions.html#G-PI:CAPS"/>
- <function name="G_PI_2" link="glib-Numerical-Definitions.html#G-PI-2:CAPS"/>
- <function name="G_PI_4" link="glib-Numerical-Definitions.html#G-PI-4:CAPS"/>
- <function name="G_SQRT2" link="glib-Numerical-Definitions.html#G-SQRT2:CAPS"/>
- <function name="G_LOG_2_BASE_10" link="glib-Numerical-Definitions.html#G-LOG-2-BASE-10:CAPS"/>
- <function name="G_INLINE_FUNC" link="glib-Miscellaneous-Macros.html#G-INLINE-FUNC:CAPS"/>
- <function name="G_STMT_START" link="glib-Miscellaneous-Macros.html#G-STMT-START:CAPS"/>
- <function name="G_STMT_END" link="glib-Miscellaneous-Macros.html#G-STMT-END:CAPS"/>
- <function name="G_BEGIN_DECLS" link="glib-Miscellaneous-Macros.html#G-BEGIN-DECLS:CAPS"/>
- <function name="G_END_DECLS" link="glib-Miscellaneous-Macros.html#G-END-DECLS:CAPS"/>
- <function name="G_N_ELEMENTS()" link="glib-Miscellaneous-Macros.html#G-N-ELEMENTS:CAPS"/>
- <function name="G_VA_COPY()" link="glib-Miscellaneous-Macros.html#G-VA-COPY:CAPS"/>
- <function name="G_STRINGIFY()" link="glib-Miscellaneous-Macros.html#G-STRINGIFY:CAPS"/>
- <function name="G_PASTE()" link="glib-Miscellaneous-Macros.html#G-PASTE:CAPS"/>
- <function name="G_PASTE_ARGS()" link="glib-Miscellaneous-Macros.html#G-PASTE-ARGS:CAPS"/>
- <function name="G_STATIC_ASSERT()" link="glib-Miscellaneous-Macros.html#G-STATIC-ASSERT:CAPS"/>
- <function name="G_GNUC_EXTENSION" link="glib-Miscellaneous-Macros.html#G-GNUC-EXTENSION:CAPS"/>
- <function name="G_GNUC_CONST" link="glib-Miscellaneous-Macros.html#G-GNUC-CONST:CAPS"/>
- <function name="G_GNUC_PURE" link="glib-Miscellaneous-Macros.html#G-GNUC-PURE:CAPS"/>
- <function name="G_GNUC_MALLOC" link="glib-Miscellaneous-Macros.html#G-GNUC-MALLOC:CAPS"/>
- <function name="G_GNUC_ALLOC_SIZE()" link="glib-Miscellaneous-Macros.html#G-GNUC-ALLOC-SIZE:CAPS"/>
- <function name="G_GNUC_ALLOC_SIZE2()" link="glib-Miscellaneous-Macros.html#G-GNUC-ALLOC-SIZE2:CAPS"/>
- <function name="G_GNUC_DEPRECATED" link="glib-Miscellaneous-Macros.html#G-GNUC-DEPRECATED:CAPS"/>
- <function name="G_GNUC_NORETURN" link="glib-Miscellaneous-Macros.html#G-GNUC-NORETURN:CAPS"/>
- <function name="G_GNUC_UNUSED" link="glib-Miscellaneous-Macros.html#G-GNUC-UNUSED:CAPS"/>
- <function name="G_GNUC_PRINTF()" link="glib-Miscellaneous-Macros.html#G-GNUC-PRINTF:CAPS"/>
- <function name="G_GNUC_SCANF()" link="glib-Miscellaneous-Macros.html#G-GNUC-SCANF:CAPS"/>
- <function name="G_GNUC_FORMAT()" link="glib-Miscellaneous-Macros.html#G-GNUC-FORMAT:CAPS"/>
- <function name="G_GNUC_NULL_TERMINATED" link="glib-Miscellaneous-Macros.html#G-GNUC-NULL-TERMINATED:CAPS"/>
- <function name="G_GNUC_WARN_UNUSED_RESULT" link="glib-Miscellaneous-Macros.html#G-GNUC-WARN-UNUSED-RESULT:CAPS"/>
- <function name="G_GNUC_FUNCTION" link="glib-Miscellaneous-Macros.html#G-GNUC-FUNCTION:CAPS"/>
- <function name="G_GNUC_PRETTY_FUNCTION" link="glib-Miscellaneous-Macros.html#G-GNUC-PRETTY-FUNCTION:CAPS"/>
- <function name="G_GNUC_NO_INSTRUMENT" link="glib-Miscellaneous-Macros.html#G-GNUC-NO-INSTRUMENT:CAPS"/>
- <function name="G_HAVE_GNUC_VISIBILITY" link="glib-Miscellaneous-Macros.html#G-HAVE-GNUC-VISIBILITY:CAPS"/>
- <function name="G_GNUC_INTERNAL" link="glib-Miscellaneous-Macros.html#G-GNUC-INTERNAL:CAPS"/>
- <function name="G_GNUC_MAY_ALIAS" link="glib-Miscellaneous-Macros.html#G-GNUC-MAY-ALIAS:CAPS"/>
- <function name="G_LIKELY()" link="glib-Miscellaneous-Macros.html#G-LIKELY:CAPS"/>
- <function name="G_UNLIKELY()" link="glib-Miscellaneous-Macros.html#G-UNLIKELY:CAPS"/>
- <function name="G_STRLOC" link="glib-Miscellaneous-Macros.html#G-STRLOC:CAPS"/>
- <function name="G_STRFUNC" link="glib-Miscellaneous-Macros.html#G-STRFUNC:CAPS"/>
- <function name="G_GINT16_MODIFIER" link="glib-Miscellaneous-Macros.html#G-GINT16-MODIFIER:CAPS"/>
- <function name="G_GINT16_FORMAT" link="glib-Miscellaneous-Macros.html#G-GINT16-FORMAT:CAPS"/>
- <function name="G_GUINT16_FORMAT" link="glib-Miscellaneous-Macros.html#G-GUINT16-FORMAT:CAPS"/>
- <function name="G_GINT32_MODIFIER" link="glib-Miscellaneous-Macros.html#G-GINT32-MODIFIER:CAPS"/>
- <function name="G_GINT32_FORMAT" link="glib-Miscellaneous-Macros.html#G-GINT32-FORMAT:CAPS"/>
- <function name="G_GUINT32_FORMAT" link="glib-Miscellaneous-Macros.html#G-GUINT32-FORMAT:CAPS"/>
- <function name="G_GINT64_MODIFIER" link="glib-Miscellaneous-Macros.html#G-GINT64-MODIFIER:CAPS"/>
- <function name="G_GINT64_FORMAT" link="glib-Miscellaneous-Macros.html#G-GINT64-FORMAT:CAPS"/>
- <function name="G_GUINT64_FORMAT" link="glib-Miscellaneous-Macros.html#G-GUINT64-FORMAT:CAPS"/>
- <function name="G_GSIZE_MODIFIER" link="glib-Miscellaneous-Macros.html#G-GSIZE-MODIFIER:CAPS"/>
- <function name="G_GSIZE_FORMAT" link="glib-Miscellaneous-Macros.html#G-GSIZE-FORMAT:CAPS"/>
- <function name="G_GSSIZE_FORMAT" link="glib-Miscellaneous-Macros.html#G-GSSIZE-FORMAT:CAPS"/>
- <function name="G_GOFFSET_MODIFIER" link="glib-Miscellaneous-Macros.html#G-GOFFSET-MODIFIER:CAPS"/>
- <function name="G_GOFFSET_FORMAT" link="glib-Miscellaneous-Macros.html#G-GOFFSET-FORMAT:CAPS"/>
- <function name="G_GINTPTR_MODIFIER" link="glib-Miscellaneous-Macros.html#G-GINTPTR-MODIFIER:CAPS"/>
- <function name="G_GINTPTR_FORMAT" link="glib-Miscellaneous-Macros.html#G-GINTPTR-FORMAT:CAPS"/>
- <function name="G_GUINTPTR_FORMAT" link="glib-Miscellaneous-Macros.html#G-GUINTPTR-FORMAT:CAPS"/>
- <function name="g_atomic_int_get ()" link="glib-Atomic-Operations.html#g-atomic-int-get"/>
- <function name="g_atomic_int_set ()" link="glib-Atomic-Operations.html#g-atomic-int-set"/>
- <function name="g_atomic_int_add ()" link="glib-Atomic-Operations.html#g-atomic-int-add"/>
- <function name="g_atomic_int_exchange_and_add ()" link="glib-Atomic-Operations.html#g-atomic-int-exchange-and-add"/>
- <function name="g_atomic_int_compare_and_exchange ()" link="glib-Atomic-Operations.html#g-atomic-int-compare-and-exchange"/>
- <function name="g_atomic_pointer_get ()" link="glib-Atomic-Operations.html#g-atomic-pointer-get"/>
- <function name="g_atomic_pointer_set ()" link="glib-Atomic-Operations.html#g-atomic-pointer-set"/>
- <function name="g_atomic_pointer_compare_and_exchange ()" link="glib-Atomic-Operations.html#g-atomic-pointer-compare-and-exchange"/>
- <function name="g_atomic_int_inc ()" link="glib-Atomic-Operations.html#g-atomic-int-inc"/>
- <function name="g_atomic_int_dec_and_test ()" link="glib-Atomic-Operations.html#g-atomic-int-dec-and-test"/>
- <function name="Creating new sources types" link="glib-The-Main-Event-Loop.html#id522833"/>
- <function name="Customizing the main loop iteration" link="glib-The-Main-Event-Loop.html#id522908"/>
- <function name="GMainLoop" link="glib-The-Main-Event-Loop.html#GMainLoop"/>
- <function name="g_main_loop_new ()" link="glib-The-Main-Event-Loop.html#g-main-loop-new"/>
- <function name="g_main_loop_ref ()" link="glib-The-Main-Event-Loop.html#g-main-loop-ref"/>
- <function name="g_main_loop_unref ()" link="glib-The-Main-Event-Loop.html#g-main-loop-unref"/>
- <function name="g_main_loop_run ()" link="glib-The-Main-Event-Loop.html#g-main-loop-run"/>
- <function name="g_main_loop_quit ()" link="glib-The-Main-Event-Loop.html#g-main-loop-quit"/>
- <function name="g_main_loop_is_running ()" link="glib-The-Main-Event-Loop.html#g-main-loop-is-running"/>
- <function name="g_main_loop_get_context ()" link="glib-The-Main-Event-Loop.html#g-main-loop-get-context"/>
- <function name="g_main_new()" link="glib-The-Main-Event-Loop.html#g-main-new"/>
- <function name="g_main_destroy()" link="glib-The-Main-Event-Loop.html#g-main-destroy"/>
- <function name="g_main_run()" link="glib-The-Main-Event-Loop.html#g-main-run"/>
- <function name="g_main_quit()" link="glib-The-Main-Event-Loop.html#g-main-quit"/>
- <function name="g_main_is_running()" link="glib-The-Main-Event-Loop.html#g-main-is-running"/>
- <function name="G_PRIORITY_HIGH" link="glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH:CAPS"/>
- <function name="G_PRIORITY_DEFAULT" link="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS"/>
- <function name="G_PRIORITY_HIGH_IDLE" link="glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH-IDLE:CAPS"/>
- <function name="G_PRIORITY_DEFAULT_IDLE" link="glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT-IDLE:CAPS"/>
- <function name="G_PRIORITY_LOW" link="glib-The-Main-Event-Loop.html#G-PRIORITY-LOW:CAPS"/>
- <function name="GMainContext" link="glib-The-Main-Event-Loop.html#GMainContext"/>
- <function name="g_main_context_new ()" link="glib-The-Main-Event-Loop.html#g-main-context-new"/>
- <function name="g_main_context_ref ()" link="glib-The-Main-Event-Loop.html#g-main-context-ref"/>
- <function name="g_main_context_unref ()" link="glib-The-Main-Event-Loop.html#g-main-context-unref"/>
- <function name="g_main_context_default ()" link="glib-The-Main-Event-Loop.html#g-main-context-default"/>
- <function name="g_main_context_iteration ()" link="glib-The-Main-Event-Loop.html#g-main-context-iteration"/>
- <function name="g_main_iteration()" link="glib-The-Main-Event-Loop.html#g-main-iteration"/>
- <function name="g_main_context_pending ()" link="glib-The-Main-Event-Loop.html#g-main-context-pending"/>
- <function name="g_main_pending()" link="glib-The-Main-Event-Loop.html#g-main-pending"/>
- <function name="g_main_context_find_source_by_id ()" link="glib-The-Main-Event-Loop.html#g-main-context-find-source-by-id"/>
- <function name="g_main_context_find_source_by_user_data ()" link="glib-The-Main-Event-Loop.html#g-main-context-find-source-by-user-data"/>
- <function name="g_main_context_find_source_by_funcs_user_data ()" link="glib-The-Main-Event-Loop.html#g-main-context-find-source-by-funcs-user-data"/>
- <function name="g_main_context_wakeup ()" link="glib-The-Main-Event-Loop.html#g-main-context-wakeup"/>
- <function name="g_main_context_acquire ()" link="glib-The-Main-Event-Loop.html#g-main-context-acquire"/>
- <function name="g_main_context_release ()" link="glib-The-Main-Event-Loop.html#g-main-context-release"/>
- <function name="g_main_context_is_owner ()" link="glib-The-Main-Event-Loop.html#g-main-context-is-owner"/>
- <function name="g_main_context_wait ()" link="glib-The-Main-Event-Loop.html#g-main-context-wait"/>
- <function name="g_main_context_prepare ()" link="glib-The-Main-Event-Loop.html#g-main-context-prepare"/>
- <function name="g_main_context_query ()" link="glib-The-Main-Event-Loop.html#g-main-context-query"/>
- <function name="g_main_context_check ()" link="glib-The-Main-Event-Loop.html#g-main-context-check"/>
- <function name="g_main_context_dispatch ()" link="glib-The-Main-Event-Loop.html#g-main-context-dispatch"/>
- <function name="g_main_context_set_poll_func ()" link="glib-The-Main-Event-Loop.html#g-main-context-set-poll-func"/>
- <function name="g_main_context_get_poll_func ()" link="glib-The-Main-Event-Loop.html#g-main-context-get-poll-func"/>
- <function name="GPollFunc ()" link="glib-The-Main-Event-Loop.html#GPollFunc"/>
- <function name="g_main_context_add_poll ()" link="glib-The-Main-Event-Loop.html#g-main-context-add-poll"/>
- <function name="g_main_context_remove_poll ()" link="glib-The-Main-Event-Loop.html#g-main-context-remove-poll"/>
- <function name="g_main_depth ()" link="glib-The-Main-Event-Loop.html#g-main-depth"/>
- <function name="g_main_current_source ()" link="glib-The-Main-Event-Loop.html#g-main-current-source"/>
- <function name="g_main_set_poll_func()" link="glib-The-Main-Event-Loop.html#g-main-set-poll-func"/>
- <function name="g_main_context_get_thread_default ()" link="glib-The-Main-Event-Loop.html#g-main-context-get-thread-default"/>
- <function name="g_main_context_push_thread_default ()" link="glib-The-Main-Event-Loop.html#g-main-context-push-thread-default"/>
- <function name="g_main_context_pop_thread_default ()" link="glib-The-Main-Event-Loop.html#g-main-context-pop-thread-default"/>
- <function name="g_timeout_source_new ()" link="glib-The-Main-Event-Loop.html#g-timeout-source-new"/>
- <function name="g_timeout_source_new_seconds ()" link="glib-The-Main-Event-Loop.html#g-timeout-source-new-seconds"/>
- <function name="g_timeout_add ()" link="glib-The-Main-Event-Loop.html#g-timeout-add"/>
- <function name="g_timeout_add_full ()" link="glib-The-Main-Event-Loop.html#g-timeout-add-full"/>
- <function name="g_timeout_add_seconds ()" link="glib-The-Main-Event-Loop.html#g-timeout-add-seconds"/>
- <function name="g_timeout_add_seconds_full ()" link="glib-The-Main-Event-Loop.html#g-timeout-add-seconds-full"/>
- <function name="g_idle_source_new ()" link="glib-The-Main-Event-Loop.html#g-idle-source-new"/>
- <function name="g_idle_add ()" link="glib-The-Main-Event-Loop.html#g-idle-add"/>
- <function name="g_idle_add_full ()" link="glib-The-Main-Event-Loop.html#g-idle-add-full"/>
- <function name="g_idle_remove_by_data ()" link="glib-The-Main-Event-Loop.html#g-idle-remove-by-data"/>
- <function name="GPid" link="glib-The-Main-Event-Loop.html#GPid"/>
- <function name="GChildWatchFunc ()" link="glib-The-Main-Event-Loop.html#GChildWatchFunc"/>
- <function name="g_child_watch_source_new ()" link="glib-The-Main-Event-Loop.html#g-child-watch-source-new"/>
- <function name="g_child_watch_add ()" link="glib-The-Main-Event-Loop.html#g-child-watch-add"/>
- <function name="g_child_watch_add_full ()" link="glib-The-Main-Event-Loop.html#g-child-watch-add-full"/>
- <function name="GPollFD" link="glib-The-Main-Event-Loop.html#GPollFD"/>
- <function name="g_poll ()" link="glib-The-Main-Event-Loop.html#g-poll"/>
- <function name="G_POLLFD_FORMAT" link="glib-The-Main-Event-Loop.html#G-POLLFD-FORMAT:CAPS"/>
- <function name="GSource" link="glib-The-Main-Event-Loop.html#GSource"/>
- <function name="GSourceDummyMarshal ()" link="glib-The-Main-Event-Loop.html#GSourceDummyMarshal"/>
- <function name="GSourceFuncs" link="glib-The-Main-Event-Loop.html#GSourceFuncs"/>
- <function name="GSourceCallbackFuncs" link="glib-The-Main-Event-Loop.html#GSourceCallbackFuncs"/>
- <function name="g_source_new ()" link="glib-The-Main-Event-Loop.html#g-source-new"/>
- <function name="g_source_ref ()" link="glib-The-Main-Event-Loop.html#g-source-ref"/>
- <function name="g_source_unref ()" link="glib-The-Main-Event-Loop.html#g-source-unref"/>
- <function name="g_source_set_funcs ()" link="glib-The-Main-Event-Loop.html#g-source-set-funcs"/>
- <function name="g_source_attach ()" link="glib-The-Main-Event-Loop.html#g-source-attach"/>
- <function name="g_source_destroy ()" link="glib-The-Main-Event-Loop.html#g-source-destroy"/>
- <function name="g_source_is_destroyed ()" link="glib-The-Main-Event-Loop.html#g-source-is-destroyed"/>
- <function name="g_source_set_priority ()" link="glib-The-Main-Event-Loop.html#g-source-set-priority"/>
- <function name="g_source_get_priority ()" link="glib-The-Main-Event-Loop.html#g-source-get-priority"/>
- <function name="g_source_set_can_recurse ()" link="glib-The-Main-Event-Loop.html#g-source-set-can-recurse"/>
- <function name="g_source_get_can_recurse ()" link="glib-The-Main-Event-Loop.html#g-source-get-can-recurse"/>
- <function name="g_source_get_id ()" link="glib-The-Main-Event-Loop.html#g-source-get-id"/>
- <function name="g_source_get_context ()" link="glib-The-Main-Event-Loop.html#g-source-get-context"/>
- <function name="g_source_set_callback ()" link="glib-The-Main-Event-Loop.html#g-source-set-callback"/>
- <function name="GSourceFunc ()" link="glib-The-Main-Event-Loop.html#GSourceFunc"/>
- <function name="g_source_set_callback_indirect ()" link="glib-The-Main-Event-Loop.html#g-source-set-callback-indirect"/>
- <function name="g_source_add_poll ()" link="glib-The-Main-Event-Loop.html#g-source-add-poll"/>
- <function name="g_source_remove_poll ()" link="glib-The-Main-Event-Loop.html#g-source-remove-poll"/>
- <function name="g_source_get_current_time ()" link="glib-The-Main-Event-Loop.html#g-source-get-current-time"/>
- <function name="g_source_remove ()" link="glib-The-Main-Event-Loop.html#g-source-remove"/>
- <function name="g_source_remove_by_funcs_user_data ()" link="glib-The-Main-Event-Loop.html#g-source-remove-by-funcs-user-data"/>
- <function name="g_source_remove_by_user_data ()" link="glib-The-Main-Event-Loop.html#g-source-remove-by-user-data"/>
- <function name="G_THREADS_ENABLED" link="glib-Threads.html#G-THREADS-ENABLED:CAPS"/>
- <function name="G_THREADS_IMPL_POSIX" link="glib-Threads.html#G-THREADS-IMPL-POSIX:CAPS"/>
- <function name="G_THREADS_IMPL_NONE" link="glib-Threads.html#G-THREADS-IMPL-NONE:CAPS"/>
- <function name="G_THREAD_ERROR" link="glib-Threads.html#G-THREAD-ERROR:CAPS"/>
- <function name="enum GThreadError" link="glib-Threads.html#GThreadError"/>
- <function name="GThreadFunctions" link="glib-Threads.html#GThreadFunctions"/>
- <function name="g_thread_init ()" link="glib-Threads.html#g-thread-init"/>
- <function name="g_thread_supported ()" link="glib-Threads.html#g-thread-supported"/>
- <function name="g_thread_get_initialized ()" link="glib-Threads.html#g-thread-get-initialized"/>
- <function name="GThreadFunc ()" link="glib-Threads.html#GThreadFunc"/>
- <function name="enum GThreadPriority" link="glib-Threads.html#GThreadPriority"/>
- <function name="GThread" link="glib-Threads.html#GThread"/>
- <function name="g_thread_create ()" link="glib-Threads.html#g-thread-create"/>
- <function name="g_thread_create_full ()" link="glib-Threads.html#g-thread-create-full"/>
- <function name="g_thread_self ()" link="glib-Threads.html#g-thread-self"/>
- <function name="g_thread_join ()" link="glib-Threads.html#g-thread-join"/>
- <function name="g_thread_set_priority ()" link="glib-Threads.html#g-thread-set-priority"/>
- <function name="g_thread_yield ()" link="glib-Threads.html#g-thread-yield"/>
- <function name="g_thread_exit ()" link="glib-Threads.html#g-thread-exit"/>
- <function name="g_thread_foreach ()" link="glib-Threads.html#g-thread-foreach"/>
- <function name="GMutex" link="glib-Threads.html#GMutex"/>
- <function name="g_mutex_new ()" link="glib-Threads.html#g-mutex-new"/>
- <function name="g_mutex_lock ()" link="glib-Threads.html#g-mutex-lock"/>
- <function name="g_mutex_trylock ()" link="glib-Threads.html#g-mutex-trylock"/>
- <function name="g_mutex_unlock ()" link="glib-Threads.html#g-mutex-unlock"/>
- <function name="g_mutex_free ()" link="glib-Threads.html#g-mutex-free"/>
- <function name="GStaticMutex" link="glib-Threads.html#GStaticMutex"/>
- <function name="G_STATIC_MUTEX_INIT" link="glib-Threads.html#G-STATIC-MUTEX-INIT:CAPS"/>
- <function name="g_static_mutex_init ()" link="glib-Threads.html#g-static-mutex-init"/>
- <function name="g_static_mutex_lock ()" link="glib-Threads.html#g-static-mutex-lock"/>
- <function name="g_static_mutex_trylock ()" link="glib-Threads.html#g-static-mutex-trylock"/>
- <function name="g_static_mutex_unlock ()" link="glib-Threads.html#g-static-mutex-unlock"/>
- <function name="g_static_mutex_get_mutex ()" link="glib-Threads.html#g-static-mutex-get-mutex"/>
- <function name="g_static_mutex_free ()" link="glib-Threads.html#g-static-mutex-free"/>
- <function name="G_LOCK_DEFINE()" link="glib-Threads.html#G-LOCK-DEFINE:CAPS"/>
- <function name="G_LOCK_DEFINE_STATIC()" link="glib-Threads.html#G-LOCK-DEFINE-STATIC:CAPS"/>
- <function name="G_LOCK_EXTERN()" link="glib-Threads.html#G-LOCK-EXTERN:CAPS"/>
- <function name="G_LOCK()" link="glib-Threads.html#G-LOCK:CAPS"/>
- <function name="G_TRYLOCK()" link="glib-Threads.html#G-TRYLOCK:CAPS"/>
- <function name="G_UNLOCK()" link="glib-Threads.html#G-UNLOCK:CAPS"/>
- <function name="GStaticRecMutex" link="glib-Threads.html#GStaticRecMutex"/>
- <function name="G_STATIC_REC_MUTEX_INIT" link="glib-Threads.html#G-STATIC-REC-MUTEX-INIT:CAPS"/>
- <function name="g_static_rec_mutex_init ()" link="glib-Threads.html#g-static-rec-mutex-init"/>
- <function name="g_static_rec_mutex_lock ()" link="glib-Threads.html#g-static-rec-mutex-lock"/>
- <function name="g_static_rec_mutex_trylock ()" link="glib-Threads.html#g-static-rec-mutex-trylock"/>
- <function name="g_static_rec_mutex_unlock ()" link="glib-Threads.html#g-static-rec-mutex-unlock"/>
- <function name="g_static_rec_mutex_lock_full ()" link="glib-Threads.html#g-static-rec-mutex-lock-full"/>
- <function name="g_static_rec_mutex_unlock_full ()" link="glib-Threads.html#g-static-rec-mutex-unlock-full"/>
- <function name="g_static_rec_mutex_free ()" link="glib-Threads.html#g-static-rec-mutex-free"/>
- <function name="GStaticRWLock" link="glib-Threads.html#GStaticRWLock"/>
- <function name="G_STATIC_RW_LOCK_INIT" link="glib-Threads.html#G-STATIC-RW-LOCK-INIT:CAPS"/>
- <function name="g_static_rw_lock_init ()" link="glib-Threads.html#g-static-rw-lock-init"/>
- <function name="g_static_rw_lock_reader_lock ()" link="glib-Threads.html#g-static-rw-lock-reader-lock"/>
- <function name="g_static_rw_lock_reader_trylock ()" link="glib-Threads.html#g-static-rw-lock-reader-trylock"/>
- <function name="g_static_rw_lock_reader_unlock ()" link="glib-Threads.html#g-static-rw-lock-reader-unlock"/>
- <function name="g_static_rw_lock_writer_lock ()" link="glib-Threads.html#g-static-rw-lock-writer-lock"/>
- <function name="g_static_rw_lock_writer_trylock ()" link="glib-Threads.html#g-static-rw-lock-writer-trylock"/>
- <function name="g_static_rw_lock_writer_unlock ()" link="glib-Threads.html#g-static-rw-lock-writer-unlock"/>
- <function name="g_static_rw_lock_free ()" link="glib-Threads.html#g-static-rw-lock-free"/>
- <function name="GCond" link="glib-Threads.html#GCond"/>
- <function name="g_cond_new ()" link="glib-Threads.html#g-cond-new"/>
- <function name="g_cond_signal ()" link="glib-Threads.html#g-cond-signal"/>
- <function name="g_cond_broadcast ()" link="glib-Threads.html#g-cond-broadcast"/>
- <function name="g_cond_wait ()" link="glib-Threads.html#g-cond-wait"/>
- <function name="g_cond_timed_wait ()" link="glib-Threads.html#g-cond-timed-wait"/>
- <function name="g_cond_free ()" link="glib-Threads.html#g-cond-free"/>
- <function name="GPrivate" link="glib-Threads.html#GPrivate"/>
- <function name="g_private_new ()" link="glib-Threads.html#g-private-new"/>
- <function name="g_private_get ()" link="glib-Threads.html#g-private-get"/>
- <function name="g_private_set ()" link="glib-Threads.html#g-private-set"/>
- <function name="GStaticPrivate" link="glib-Threads.html#GStaticPrivate"/>
- <function name="G_STATIC_PRIVATE_INIT" link="glib-Threads.html#G-STATIC-PRIVATE-INIT:CAPS"/>
- <function name="g_static_private_init ()" link="glib-Threads.html#g-static-private-init"/>
- <function name="g_static_private_get ()" link="glib-Threads.html#g-static-private-get"/>
- <function name="g_static_private_set ()" link="glib-Threads.html#g-static-private-set"/>
- <function name="g_static_private_free ()" link="glib-Threads.html#g-static-private-free"/>
- <function name="GOnce" link="glib-Threads.html#GOnce"/>
- <function name="enum GOnceStatus" link="glib-Threads.html#GOnceStatus"/>
- <function name="G_ONCE_INIT" link="glib-Threads.html#G-ONCE-INIT:CAPS"/>
- <function name="g_once()" link="glib-Threads.html#g-once"/>
- <function name="g_once_init_enter ()" link="glib-Threads.html#g-once-init-enter"/>
- <function name="g_once_init_leave ()" link="glib-Threads.html#g-once-init-leave"/>
- <function name="g_bit_lock ()" link="glib-Threads.html#g-bit-lock"/>
- <function name="g_bit_trylock ()" link="glib-Threads.html#g-bit-trylock"/>
- <function name="g_bit_unlock ()" link="glib-Threads.html#g-bit-unlock"/>
- <function name="GThreadPool" link="glib-Thread-Pools.html#GThreadPool"/>
- <function name="g_thread_pool_new ()" link="glib-Thread-Pools.html#g-thread-pool-new"/>
- <function name="g_thread_pool_push ()" link="glib-Thread-Pools.html#g-thread-pool-push"/>
- <function name="g_thread_pool_set_max_threads ()" link="glib-Thread-Pools.html#g-thread-pool-set-max-threads"/>
- <function name="g_thread_pool_get_max_threads ()" link="glib-Thread-Pools.html#g-thread-pool-get-max-threads"/>
- <function name="g_thread_pool_get_num_threads ()" link="glib-Thread-Pools.html#g-thread-pool-get-num-threads"/>
- <function name="g_thread_pool_unprocessed ()" link="glib-Thread-Pools.html#g-thread-pool-unprocessed"/>
- <function name="g_thread_pool_free ()" link="glib-Thread-Pools.html#g-thread-pool-free"/>
- <function name="g_thread_pool_set_max_unused_threads ()" link="glib-Thread-Pools.html#g-thread-pool-set-max-unused-threads"/>
- <function name="g_thread_pool_get_max_unused_threads ()" link="glib-Thread-Pools.html#g-thread-pool-get-max-unused-threads"/>
- <function name="g_thread_pool_get_num_unused_threads ()" link="glib-Thread-Pools.html#g-thread-pool-get-num-unused-threads"/>
- <function name="g_thread_pool_stop_unused_threads ()" link="glib-Thread-Pools.html#g-thread-pool-stop-unused-threads"/>
- <function name="g_thread_pool_set_sort_function ()" link="glib-Thread-Pools.html#g-thread-pool-set-sort-function"/>
- <function name="g_thread_pool_set_max_idle_time ()" link="glib-Thread-Pools.html#g-thread-pool-set-max-idle-time"/>
- <function name="g_thread_pool_get_max_idle_time ()" link="glib-Thread-Pools.html#g-thread-pool-get-max-idle-time"/>
- <function name="GAsyncQueue" link="glib-Asynchronous-Queues.html#GAsyncQueue"/>
- <function name="g_async_queue_new ()" link="glib-Asynchronous-Queues.html#g-async-queue-new"/>
- <function name="g_async_queue_new_full ()" link="glib-Asynchronous-Queues.html#g-async-queue-new-full"/>
- <function name="g_async_queue_ref ()" link="glib-Asynchronous-Queues.html#g-async-queue-ref"/>
- <function name="g_async_queue_unref ()" link="glib-Asynchronous-Queues.html#g-async-queue-unref"/>
- <function name="g_async_queue_push ()" link="glib-Asynchronous-Queues.html#g-async-queue-push"/>
- <function name="g_async_queue_push_sorted ()" link="glib-Asynchronous-Queues.html#g-async-queue-push-sorted"/>
- <function name="g_async_queue_pop ()" link="glib-Asynchronous-Queues.html#g-async-queue-pop"/>
- <function name="g_async_queue_try_pop ()" link="glib-Asynchronous-Queues.html#g-async-queue-try-pop"/>
- <function name="g_async_queue_timed_pop ()" link="glib-Asynchronous-Queues.html#g-async-queue-timed-pop"/>
- <function name="g_async_queue_length ()" link="glib-Asynchronous-Queues.html#g-async-queue-length"/>
- <function name="g_async_queue_sort ()" link="glib-Asynchronous-Queues.html#g-async-queue-sort"/>
- <function name="g_async_queue_lock ()" link="glib-Asynchronous-Queues.html#g-async-queue-lock"/>
- <function name="g_async_queue_unlock ()" link="glib-Asynchronous-Queues.html#g-async-queue-unlock"/>
- <function name="g_async_queue_ref_unlocked ()" link="glib-Asynchronous-Queues.html#g-async-queue-ref-unlocked"/>
- <function name="g_async_queue_unref_and_unlock ()" link="glib-Asynchronous-Queues.html#g-async-queue-unref-and-unlock"/>
- <function name="g_async_queue_push_unlocked ()" link="glib-Asynchronous-Queues.html#g-async-queue-push-unlocked"/>
- <function name="g_async_queue_push_sorted_unlocked ()" link="glib-Asynchronous-Queues.html#g-async-queue-push-sorted-unlocked"/>
- <function name="g_async_queue_pop_unlocked ()" link="glib-Asynchronous-Queues.html#g-async-queue-pop-unlocked"/>
- <function name="g_async_queue_try_pop_unlocked ()" link="glib-Asynchronous-Queues.html#g-async-queue-try-pop-unlocked"/>
- <function name="g_async_queue_timed_pop_unlocked ()" link="glib-Asynchronous-Queues.html#g-async-queue-timed-pop-unlocked"/>
- <function name="g_async_queue_length_unlocked ()" link="glib-Asynchronous-Queues.html#g-async-queue-length-unlocked"/>
- <function name="g_async_queue_sort_unlocked ()" link="glib-Asynchronous-Queues.html#g-async-queue-sort-unlocked"/>
- <function name="GModule" link="glib-Dynamic-Loading-of-Modules.html#GModule"/>
- <function name="g_module_supported ()" link="glib-Dynamic-Loading-of-Modules.html#g-module-supported"/>
- <function name="g_module_build_path ()" link="glib-Dynamic-Loading-of-Modules.html#g-module-build-path"/>
- <function name="g_module_open ()" link="glib-Dynamic-Loading-of-Modules.html#g-module-open"/>
- <function name="enum GModuleFlags" link="glib-Dynamic-Loading-of-Modules.html#GModuleFlags"/>
- <function name="g_module_symbol ()" link="glib-Dynamic-Loading-of-Modules.html#g-module-symbol"/>
- <function name="g_module_name ()" link="glib-Dynamic-Loading-of-Modules.html#g-module-name"/>
- <function name="g_module_make_resident ()" link="glib-Dynamic-Loading-of-Modules.html#g-module-make-resident"/>
- <function name="g_module_close ()" link="glib-Dynamic-Loading-of-Modules.html#g-module-close"/>
- <function name="g_module_error ()" link="glib-Dynamic-Loading-of-Modules.html#g-module-error"/>
- <function name="GModuleCheckInit ()" link="glib-Dynamic-Loading-of-Modules.html#GModuleCheckInit"/>
- <function name="GModuleUnload ()" link="glib-Dynamic-Loading-of-Modules.html#GModuleUnload"/>
- <function name="G_MODULE_SUFFIX" link="glib-Dynamic-Loading-of-Modules.html#G-MODULE-SUFFIX:CAPS"/>
- <function name="G_MODULE_EXPORT" link="glib-Dynamic-Loading-of-Modules.html#G-MODULE-EXPORT:CAPS"/>
- <function name="G_MODULE_IMPORT" link="glib-Dynamic-Loading-of-Modules.html#G-MODULE-IMPORT:CAPS"/>
- <function name="g_new()" link="glib-Memory-Allocation.html#g-new"/>
- <function name="g_new0()" link="glib-Memory-Allocation.html#g-new0"/>
- <function name="g_renew()" link="glib-Memory-Allocation.html#g-renew"/>
- <function name="g_try_new()" link="glib-Memory-Allocation.html#g-try-new"/>
- <function name="g_try_new0()" link="glib-Memory-Allocation.html#g-try-new0"/>
- <function name="g_try_renew()" link="glib-Memory-Allocation.html#g-try-renew"/>
- <function name="g_malloc ()" link="glib-Memory-Allocation.html#g-malloc"/>
- <function name="g_malloc0 ()" link="glib-Memory-Allocation.html#g-malloc0"/>
- <function name="g_realloc ()" link="glib-Memory-Allocation.html#g-realloc"/>
- <function name="g_try_malloc ()" link="glib-Memory-Allocation.html#g-try-malloc"/>
- <function name="g_try_malloc0 ()" link="glib-Memory-Allocation.html#g-try-malloc0"/>
- <function name="g_try_realloc ()" link="glib-Memory-Allocation.html#g-try-realloc"/>
- <function name="g_malloc_n ()" link="glib-Memory-Allocation.html#g-malloc-n"/>
- <function name="g_malloc0_n ()" link="glib-Memory-Allocation.html#g-malloc0-n"/>
- <function name="g_realloc_n ()" link="glib-Memory-Allocation.html#g-realloc-n"/>
- <function name="g_try_malloc_n ()" link="glib-Memory-Allocation.html#g-try-malloc-n"/>
- <function name="g_try_malloc0_n ()" link="glib-Memory-Allocation.html#g-try-malloc0-n"/>
- <function name="g_try_realloc_n ()" link="glib-Memory-Allocation.html#g-try-realloc-n"/>
- <function name="g_free ()" link="glib-Memory-Allocation.html#g-free"/>
- <function name="g_mem_gc_friendly" link="glib-Memory-Allocation.html#g-mem-gc-friendly"/>
- <function name="g_alloca()" link="glib-Memory-Allocation.html#g-alloca"/>
- <function name="g_newa()" link="glib-Memory-Allocation.html#g-newa"/>
- <function name="g_memmove()" link="glib-Memory-Allocation.html#g-memmove"/>
- <function name="g_memdup ()" link="glib-Memory-Allocation.html#g-memdup"/>
- <function name="GMemVTable" link="glib-Memory-Allocation.html#GMemVTable"/>
- <function name="g_mem_set_vtable ()" link="glib-Memory-Allocation.html#g-mem-set-vtable"/>
- <function name="g_mem_is_system_malloc ()" link="glib-Memory-Allocation.html#g-mem-is-system-malloc"/>
- <function name="glib_mem_profiler_table" link="glib-Memory-Allocation.html#glib-mem-profiler-table"/>
- <function name="g_mem_profile ()" link="glib-Memory-Allocation.html#g-mem-profile"/>
- <function name="GIOChannel" link="glib-IO-Channels.html#GIOChannel"/>
- <function name="g_io_channel_unix_new ()" link="glib-IO-Channels.html#g-io-channel-unix-new"/>
- <function name="g_io_channel_unix_get_fd ()" link="glib-IO-Channels.html#g-io-channel-unix-get-fd"/>
- <function name="g_io_channel_win32_new_fd ()" link="glib-IO-Channels.html#g-io-channel-win32-new-fd"/>
- <function name="g_io_channel_win32_new_socket ()" link="glib-IO-Channels.html#g-io-channel-win32-new-socket"/>
- <function name="g_io_channel_win32_new_messages ()" link="glib-IO-Channels.html#g-io-channel-win32-new-messages"/>
- <function name="g_io_channel_init ()" link="glib-IO-Channels.html#g-io-channel-init"/>
- <function name="g_io_channel_new_file ()" link="glib-IO-Channels.html#g-io-channel-new-file"/>
- <function name="g_io_channel_read_chars ()" link="glib-IO-Channels.html#g-io-channel-read-chars"/>
- <function name="g_io_channel_read_unichar ()" link="glib-IO-Channels.html#g-io-channel-read-unichar"/>
- <function name="g_io_channel_read_line ()" link="glib-IO-Channels.html#g-io-channel-read-line"/>
- <function name="g_io_channel_read_line_string ()" link="glib-IO-Channels.html#g-io-channel-read-line-string"/>
- <function name="g_io_channel_read_to_end ()" link="glib-IO-Channels.html#g-io-channel-read-to-end"/>
- <function name="g_io_channel_write_chars ()" link="glib-IO-Channels.html#g-io-channel-write-chars"/>
- <function name="g_io_channel_write_unichar ()" link="glib-IO-Channels.html#g-io-channel-write-unichar"/>
- <function name="g_io_channel_flush ()" link="glib-IO-Channels.html#g-io-channel-flush"/>
- <function name="g_io_channel_seek_position ()" link="glib-IO-Channels.html#g-io-channel-seek-position"/>
- <function name="enum GSeekType" link="glib-IO-Channels.html#GSeekType"/>
- <function name="g_io_channel_shutdown ()" link="glib-IO-Channels.html#g-io-channel-shutdown"/>
- <function name="enum GIOStatus" link="glib-IO-Channels.html#GIOStatus"/>
- <function name="enum GIOChannelError" link="glib-IO-Channels.html#GIOChannelError"/>
- <function name="G_IO_CHANNEL_ERROR" link="glib-IO-Channels.html#G-IO-CHANNEL-ERROR:CAPS"/>
- <function name="g_io_channel_error_from_errno ()" link="glib-IO-Channels.html#g-io-channel-error-from-errno"/>
- <function name="g_io_channel_ref ()" link="glib-IO-Channels.html#g-io-channel-ref"/>
- <function name="g_io_channel_unref ()" link="glib-IO-Channels.html#g-io-channel-unref"/>
- <function name="g_io_create_watch ()" link="glib-IO-Channels.html#g-io-create-watch"/>
- <function name="g_io_add_watch ()" link="glib-IO-Channels.html#g-io-add-watch"/>
- <function name="g_io_add_watch_full ()" link="glib-IO-Channels.html#g-io-add-watch-full"/>
- <function name="enum GIOCondition" link="glib-IO-Channels.html#GIOCondition"/>
- <function name="GIOFunc ()" link="glib-IO-Channels.html#GIOFunc"/>
- <function name="GIOFuncs" link="glib-IO-Channels.html#GIOFuncs"/>
- <function name="g_io_channel_get_buffer_size ()" link="glib-IO-Channels.html#g-io-channel-get-buffer-size"/>
- <function name="g_io_channel_set_buffer_size ()" link="glib-IO-Channels.html#g-io-channel-set-buffer-size"/>
- <function name="g_io_channel_get_buffer_condition ()" link="glib-IO-Channels.html#g-io-channel-get-buffer-condition"/>
- <function name="g_io_channel_get_flags ()" link="glib-IO-Channels.html#g-io-channel-get-flags"/>
- <function name="g_io_channel_set_flags ()" link="glib-IO-Channels.html#g-io-channel-set-flags"/>
- <function name="enum GIOFlags" link="glib-IO-Channels.html#GIOFlags"/>
- <function name="g_io_channel_get_line_term ()" link="glib-IO-Channels.html#g-io-channel-get-line-term"/>
- <function name="g_io_channel_set_line_term ()" link="glib-IO-Channels.html#g-io-channel-set-line-term"/>
- <function name="g_io_channel_get_buffered ()" link="glib-IO-Channels.html#g-io-channel-get-buffered"/>
- <function name="g_io_channel_set_buffered ()" link="glib-IO-Channels.html#g-io-channel-set-buffered"/>
- <function name="g_io_channel_get_encoding ()" link="glib-IO-Channels.html#g-io-channel-get-encoding"/>
- <function name="g_io_channel_set_encoding ()" link="glib-IO-Channels.html#g-io-channel-set-encoding"/>
- <function name="g_io_channel_get_close_on_unref ()" link="glib-IO-Channels.html#g-io-channel-get-close-on-unref"/>
- <function name="g_io_channel_set_close_on_unref ()" link="glib-IO-Channels.html#g-io-channel-set-close-on-unref"/>
- <function name="g_io_channel_read ()" link="glib-IO-Channels.html#g-io-channel-read"/>
- <function name="enum GIOError" link="glib-IO-Channels.html#GIOError"/>
- <function name="g_io_channel_write ()" link="glib-IO-Channels.html#g-io-channel-write"/>
- <function name="g_io_channel_seek ()" link="glib-IO-Channels.html#g-io-channel-seek"/>
- <function name="g_io_channel_close ()" link="glib-IO-Channels.html#g-io-channel-close"/>
- <function name="GError" link="glib-Error-Reporting.html#GError"/>
- <function name="g_error_new ()" link="glib-Error-Reporting.html#g-error-new"/>
- <function name="g_error_new_literal ()" link="glib-Error-Reporting.html#g-error-new-literal"/>
- <function name="g_error_new_valist ()" link="glib-Error-Reporting.html#g-error-new-valist"/>
- <function name="g_error_free ()" link="glib-Error-Reporting.html#g-error-free"/>
- <function name="g_error_copy ()" link="glib-Error-Reporting.html#g-error-copy"/>
- <function name="g_error_matches ()" link="glib-Error-Reporting.html#g-error-matches"/>
- <function name="g_set_error ()" link="glib-Error-Reporting.html#g-set-error"/>
- <function name="g_set_error_literal ()" link="glib-Error-Reporting.html#g-set-error-literal"/>
- <function name="g_propagate_error ()" link="glib-Error-Reporting.html#g-propagate-error"/>
- <function name="g_clear_error ()" link="glib-Error-Reporting.html#g-clear-error"/>
- <function name="g_prefix_error ()" link="glib-Error-Reporting.html#g-prefix-error"/>
- <function name="g_propagate_prefixed_error ()" link="glib-Error-Reporting.html#g-propagate-prefixed-error"/>
- <function name="g_print ()" link="glib-Warnings-and-Assertions.html#g-print"/>
- <function name="g_set_print_handler ()" link="glib-Warnings-and-Assertions.html#g-set-print-handler"/>
- <function name="GPrintFunc ()" link="glib-Warnings-and-Assertions.html#GPrintFunc"/>
- <function name="g_printerr ()" link="glib-Warnings-and-Assertions.html#g-printerr"/>
- <function name="g_set_printerr_handler ()" link="glib-Warnings-and-Assertions.html#g-set-printerr-handler"/>
- <function name="g_return_if_fail()" link="glib-Warnings-and-Assertions.html#g-return-if-fail"/>
- <function name="g_return_val_if_fail()" link="glib-Warnings-and-Assertions.html#g-return-val-if-fail"/>
- <function name="g_return_if_reached()" link="glib-Warnings-and-Assertions.html#g-return-if-reached"/>
- <function name="g_return_val_if_reached()" link="glib-Warnings-and-Assertions.html#g-return-val-if-reached"/>
- <function name="g_warn_if_fail()" link="glib-Warnings-and-Assertions.html#g-warn-if-fail"/>
- <function name="g_warn_if_reached()" link="glib-Warnings-and-Assertions.html#g-warn-if-reached"/>
- <function name="g_on_error_query ()" link="glib-Warnings-and-Assertions.html#g-on-error-query"/>
- <function name="g_on_error_stack_trace ()" link="glib-Warnings-and-Assertions.html#g-on-error-stack-trace"/>
- <function name="G_BREAKPOINT()" link="glib-Warnings-and-Assertions.html#G-BREAKPOINT:CAPS"/>
- <function name="G_LOG_DOMAIN" link="glib-Message-Logging.html#G-LOG-DOMAIN:CAPS"/>
- <function name="G_LOG_FATAL_MASK" link="glib-Message-Logging.html#G-LOG-FATAL-MASK:CAPS"/>
- <function name="G_LOG_LEVEL_USER_SHIFT" link="glib-Message-Logging.html#G-LOG-LEVEL-USER-SHIFT:CAPS"/>
- <function name="GLogFunc ()" link="glib-Message-Logging.html#GLogFunc"/>
- <function name="enum GLogLevelFlags" link="glib-Message-Logging.html#GLogLevelFlags"/>
- <function name="g_log ()" link="glib-Message-Logging.html#g-log"/>
- <function name="g_logv ()" link="glib-Message-Logging.html#g-logv"/>
- <function name="g_message()" link="glib-Message-Logging.html#g-message"/>
- <function name="g_warning()" link="glib-Message-Logging.html#g-warning"/>
- <function name="g_critical()" link="glib-Message-Logging.html#g-critical"/>
- <function name="g_error()" link="glib-Message-Logging.html#g-error"/>
- <function name="g_debug()" link="glib-Message-Logging.html#g-debug"/>
- <function name="g_log_set_handler ()" link="glib-Message-Logging.html#g-log-set-handler"/>
- <function name="g_log_remove_handler ()" link="glib-Message-Logging.html#g-log-remove-handler"/>
- <function name="g_log_set_always_fatal ()" link="glib-Message-Logging.html#g-log-set-always-fatal"/>
- <function name="g_log_set_fatal_mask ()" link="glib-Message-Logging.html#g-log-set-fatal-mask"/>
- <function name="g_log_default_handler ()" link="glib-Message-Logging.html#g-log-default-handler"/>
- <function name="g_log_set_default_handler ()" link="glib-Message-Logging.html#g-log-set-default-handler"/>
- <function name="g_strdup ()" link="glib-String-Utility-Functions.html#g-strdup"/>
- <function name="g_strndup ()" link="glib-String-Utility-Functions.html#g-strndup"/>
- <function name="g_strdupv ()" link="glib-String-Utility-Functions.html#g-strdupv"/>
- <function name="g_strnfill ()" link="glib-String-Utility-Functions.html#g-strnfill"/>
- <function name="g_stpcpy ()" link="glib-String-Utility-Functions.html#g-stpcpy"/>
- <function name="g_strstr_len ()" link="glib-String-Utility-Functions.html#g-strstr-len"/>
- <function name="g_strrstr ()" link="glib-String-Utility-Functions.html#g-strrstr"/>
- <function name="g_strrstr_len ()" link="glib-String-Utility-Functions.html#g-strrstr-len"/>
- <function name="g_str_has_prefix ()" link="glib-String-Utility-Functions.html#g-str-has-prefix"/>
- <function name="g_str_has_suffix ()" link="glib-String-Utility-Functions.html#g-str-has-suffix"/>
- <function name="g_strcmp0 ()" link="glib-String-Utility-Functions.html#g-strcmp0"/>
- <function name="g_strlcpy ()" link="glib-String-Utility-Functions.html#g-strlcpy"/>
- <function name="g_strlcat ()" link="glib-String-Utility-Functions.html#g-strlcat"/>
- <function name="g_strdup_printf ()" link="glib-String-Utility-Functions.html#g-strdup-printf"/>
- <function name="g_strdup_vprintf ()" link="glib-String-Utility-Functions.html#g-strdup-vprintf"/>
- <function name="g_printf ()" link="glib-String-Utility-Functions.html#g-printf"/>
- <function name="g_vprintf ()" link="glib-String-Utility-Functions.html#g-vprintf"/>
- <function name="g_fprintf ()" link="glib-String-Utility-Functions.html#g-fprintf"/>
- <function name="g_vfprintf ()" link="glib-String-Utility-Functions.html#g-vfprintf"/>
- <function name="g_sprintf ()" link="glib-String-Utility-Functions.html#g-sprintf"/>
- <function name="g_vsprintf ()" link="glib-String-Utility-Functions.html#g-vsprintf"/>
- <function name="g_snprintf ()" link="glib-String-Utility-Functions.html#g-snprintf"/>
- <function name="g_vsnprintf ()" link="glib-String-Utility-Functions.html#g-vsnprintf"/>
- <function name="g_vasprintf ()" link="glib-String-Utility-Functions.html#g-vasprintf"/>
- <function name="g_printf_string_upper_bound ()" link="glib-String-Utility-Functions.html#g-printf-string-upper-bound"/>
- <function name="g_ascii_isalnum ()" link="glib-String-Utility-Functions.html#g-ascii-isalnum"/>
- <function name="g_ascii_isalpha ()" link="glib-String-Utility-Functions.html#g-ascii-isalpha"/>
- <function name="g_ascii_iscntrl ()" link="glib-String-Utility-Functions.html#g-ascii-iscntrl"/>
- <function name="g_ascii_isdigit ()" link="glib-String-Utility-Functions.html#g-ascii-isdigit"/>
- <function name="g_ascii_isgraph ()" link="glib-String-Utility-Functions.html#g-ascii-isgraph"/>
- <function name="g_ascii_islower ()" link="glib-String-Utility-Functions.html#g-ascii-islower"/>
- <function name="g_ascii_isprint ()" link="glib-String-Utility-Functions.html#g-ascii-isprint"/>
- <function name="g_ascii_ispunct ()" link="glib-String-Utility-Functions.html#g-ascii-ispunct"/>
- <function name="g_ascii_isspace ()" link="glib-String-Utility-Functions.html#g-ascii-isspace"/>
- <function name="g_ascii_isupper ()" link="glib-String-Utility-Functions.html#g-ascii-isupper"/>
- <function name="g_ascii_isxdigit ()" link="glib-String-Utility-Functions.html#g-ascii-isxdigit"/>
- <function name="g_ascii_digit_value ()" link="glib-String-Utility-Functions.html#g-ascii-digit-value"/>
- <function name="g_ascii_xdigit_value ()" link="glib-String-Utility-Functions.html#g-ascii-xdigit-value"/>
- <function name="g_ascii_strcasecmp ()" link="glib-String-Utility-Functions.html#g-ascii-strcasecmp"/>
- <function name="g_ascii_strncasecmp ()" link="glib-String-Utility-Functions.html#g-ascii-strncasecmp"/>
- <function name="g_ascii_strup ()" link="glib-String-Utility-Functions.html#g-ascii-strup"/>
- <function name="g_ascii_strdown ()" link="glib-String-Utility-Functions.html#g-ascii-strdown"/>
- <function name="g_ascii_tolower ()" link="glib-String-Utility-Functions.html#g-ascii-tolower"/>
- <function name="g_ascii_toupper ()" link="glib-String-Utility-Functions.html#g-ascii-toupper"/>
- <function name="g_string_ascii_up ()" link="glib-String-Utility-Functions.html#g-string-ascii-up"/>
- <function name="g_string_ascii_down ()" link="glib-String-Utility-Functions.html#g-string-ascii-down"/>
- <function name="g_strup ()" link="glib-String-Utility-Functions.html#g-strup"/>
- <function name="g_strdown ()" link="glib-String-Utility-Functions.html#g-strdown"/>
- <function name="g_strcasecmp ()" link="glib-String-Utility-Functions.html#g-strcasecmp"/>
- <function name="g_strncasecmp ()" link="glib-String-Utility-Functions.html#g-strncasecmp"/>
- <function name="g_strreverse ()" link="glib-String-Utility-Functions.html#g-strreverse"/>
- <function name="g_ascii_strtoll ()" link="glib-String-Utility-Functions.html#g-ascii-strtoll"/>
- <function name="g_ascii_strtoull ()" link="glib-String-Utility-Functions.html#g-ascii-strtoull"/>
- <function name="G_ASCII_DTOSTR_BUF_SIZE" link="glib-String-Utility-Functions.html#G-ASCII-DTOSTR-BUF-SIZE:CAPS"/>
- <function name="g_ascii_strtod ()" link="glib-String-Utility-Functions.html#g-ascii-strtod"/>
- <function name="g_ascii_dtostr ()" link="glib-String-Utility-Functions.html#g-ascii-dtostr"/>
- <function name="g_ascii_formatd ()" link="glib-String-Utility-Functions.html#g-ascii-formatd"/>
- <function name="g_strtod ()" link="glib-String-Utility-Functions.html#g-strtod"/>
- <function name="g_strchug ()" link="glib-String-Utility-Functions.html#g-strchug"/>
- <function name="g_strchomp ()" link="glib-String-Utility-Functions.html#g-strchomp"/>
- <function name="g_strstrip()" link="glib-String-Utility-Functions.html#g-strstrip"/>
- <function name="g_strdelimit ()" link="glib-String-Utility-Functions.html#g-strdelimit"/>
- <function name="G_STR_DELIMITERS" link="glib-String-Utility-Functions.html#G-STR-DELIMITERS:CAPS"/>
- <function name="g_strescape ()" link="glib-String-Utility-Functions.html#g-strescape"/>
- <function name="g_strcompress ()" link="glib-String-Utility-Functions.html#g-strcompress"/>
- <function name="g_strcanon ()" link="glib-String-Utility-Functions.html#g-strcanon"/>
- <function name="g_strsplit ()" link="glib-String-Utility-Functions.html#g-strsplit"/>
- <function name="g_strsplit_set ()" link="glib-String-Utility-Functions.html#g-strsplit-set"/>
- <function name="g_strfreev ()" link="glib-String-Utility-Functions.html#g-strfreev"/>
- <function name="g_strconcat ()" link="glib-String-Utility-Functions.html#g-strconcat"/>
- <function name="g_strjoin ()" link="glib-String-Utility-Functions.html#g-strjoin"/>
- <function name="g_strjoinv ()" link="glib-String-Utility-Functions.html#g-strjoinv"/>
- <function name="g_strv_length ()" link="glib-String-Utility-Functions.html#g-strv-length"/>
- <function name="g_strerror ()" link="glib-String-Utility-Functions.html#g-strerror"/>
- <function name="g_strsignal ()" link="glib-String-Utility-Functions.html#g-strsignal"/>
- <function name="File Name Encodings" link="glib-Character-Set-Conversion.html#file-name-encodings"/>
- <function name="g_convert ()" link="glib-Character-Set-Conversion.html#g-convert"/>
- <function name="g_convert_with_fallback ()" link="glib-Character-Set-Conversion.html#g-convert-with-fallback"/>
- <function name="GIConv" link="glib-Character-Set-Conversion.html#GIConv"/>
- <function name="g_convert_with_iconv ()" link="glib-Character-Set-Conversion.html#g-convert-with-iconv"/>
- <function name="G_CONVERT_ERROR" link="glib-Character-Set-Conversion.html#G-CONVERT-ERROR:CAPS"/>
- <function name="g_iconv_open ()" link="glib-Character-Set-Conversion.html#g-iconv-open"/>
- <function name="g_iconv ()" link="glib-Character-Set-Conversion.html#g-iconv"/>
- <function name="g_iconv_close ()" link="glib-Character-Set-Conversion.html#g-iconv-close"/>
- <function name="g_locale_to_utf8 ()" link="glib-Character-Set-Conversion.html#g-locale-to-utf8"/>
- <function name="g_filename_to_utf8 ()" link="glib-Character-Set-Conversion.html#g-filename-to-utf8"/>
- <function name="g_filename_from_utf8 ()" link="glib-Character-Set-Conversion.html#g-filename-from-utf8"/>
- <function name="g_filename_from_uri ()" link="glib-Character-Set-Conversion.html#g-filename-from-uri"/>
- <function name="g_filename_to_uri ()" link="glib-Character-Set-Conversion.html#g-filename-to-uri"/>
- <function name="g_get_filename_charsets ()" link="glib-Character-Set-Conversion.html#g-get-filename-charsets"/>
- <function name="g_filename_display_name ()" link="glib-Character-Set-Conversion.html#g-filename-display-name"/>
- <function name="g_filename_display_basename ()" link="glib-Character-Set-Conversion.html#g-filename-display-basename"/>
- <function name="g_locale_from_utf8 ()" link="glib-Character-Set-Conversion.html#g-locale-from-utf8"/>
- <function name="enum GConvertError" link="glib-Character-Set-Conversion.html#GConvertError"/>
- <function name="g_get_charset ()" link="glib-Character-Set-Conversion.html#g-get-charset"/>
- <function name="gunichar" link="glib-Unicode-Manipulation.html#gunichar"/>
- <function name="gunichar2" link="glib-Unicode-Manipulation.html#gunichar2"/>
- <function name="g_unichar_validate ()" link="glib-Unicode-Manipulation.html#g-unichar-validate"/>
- <function name="g_unichar_isalnum ()" link="glib-Unicode-Manipulation.html#g-unichar-isalnum"/>
- <function name="g_unichar_isalpha ()" link="glib-Unicode-Manipulation.html#g-unichar-isalpha"/>
- <function name="g_unichar_iscntrl ()" link="glib-Unicode-Manipulation.html#g-unichar-iscntrl"/>
- <function name="g_unichar_isdefined ()" link="glib-Unicode-Manipulation.html#g-unichar-isdefined"/>
- <function name="g_unichar_isdigit ()" link="glib-Unicode-Manipulation.html#g-unichar-isdigit"/>
- <function name="g_unichar_isgraph ()" link="glib-Unicode-Manipulation.html#g-unichar-isgraph"/>
- <function name="g_unichar_islower ()" link="glib-Unicode-Manipulation.html#g-unichar-islower"/>
- <function name="g_unichar_ismark ()" link="glib-Unicode-Manipulation.html#g-unichar-ismark"/>
- <function name="g_unichar_isprint ()" link="glib-Unicode-Manipulation.html#g-unichar-isprint"/>
- <function name="g_unichar_ispunct ()" link="glib-Unicode-Manipulation.html#g-unichar-ispunct"/>
- <function name="g_unichar_isspace ()" link="glib-Unicode-Manipulation.html#g-unichar-isspace"/>
- <function name="g_unichar_istitle ()" link="glib-Unicode-Manipulation.html#g-unichar-istitle"/>
- <function name="g_unichar_isupper ()" link="glib-Unicode-Manipulation.html#g-unichar-isupper"/>
- <function name="g_unichar_isxdigit ()" link="glib-Unicode-Manipulation.html#g-unichar-isxdigit"/>
- <function name="g_unichar_iswide ()" link="glib-Unicode-Manipulation.html#g-unichar-iswide"/>
- <function name="g_unichar_iswide_cjk ()" link="glib-Unicode-Manipulation.html#g-unichar-iswide-cjk"/>
- <function name="g_unichar_iszerowidth ()" link="glib-Unicode-Manipulation.html#g-unichar-iszerowidth"/>
- <function name="g_unichar_toupper ()" link="glib-Unicode-Manipulation.html#g-unichar-toupper"/>
- <function name="g_unichar_tolower ()" link="glib-Unicode-Manipulation.html#g-unichar-tolower"/>
- <function name="g_unichar_totitle ()" link="glib-Unicode-Manipulation.html#g-unichar-totitle"/>
- <function name="g_unichar_digit_value ()" link="glib-Unicode-Manipulation.html#g-unichar-digit-value"/>
- <function name="g_unichar_xdigit_value ()" link="glib-Unicode-Manipulation.html#g-unichar-xdigit-value"/>
- <function name="enum GUnicodeType" link="glib-Unicode-Manipulation.html#GUnicodeType"/>
- <function name="g_unichar_type ()" link="glib-Unicode-Manipulation.html#g-unichar-type"/>
- <function name="enum GUnicodeBreakType" link="glib-Unicode-Manipulation.html#GUnicodeBreakType"/>
- <function name="g_unichar_break_type ()" link="glib-Unicode-Manipulation.html#g-unichar-break-type"/>
- <function name="g_unichar_combining_class ()" link="glib-Unicode-Manipulation.html#g-unichar-combining-class"/>
- <function name="g_unicode_canonical_ordering ()" link="glib-Unicode-Manipulation.html#g-unicode-canonical-ordering"/>
- <function name="g_unicode_canonical_decomposition ()" link="glib-Unicode-Manipulation.html#g-unicode-canonical-decomposition"/>
- <function name="g_unichar_get_mirror_char ()" link="glib-Unicode-Manipulation.html#g-unichar-get-mirror-char"/>
- <function name="enum GUnicodeScript" link="glib-Unicode-Manipulation.html#GUnicodeScript"/>
- <function name="g_unichar_get_script ()" link="glib-Unicode-Manipulation.html#g-unichar-get-script"/>
- <function name="g_utf8_next_char()" link="glib-Unicode-Manipulation.html#g-utf8-next-char"/>
- <function name="g_utf8_get_char ()" link="glib-Unicode-Manipulation.html#g-utf8-get-char"/>
- <function name="g_utf8_get_char_validated ()" link="glib-Unicode-Manipulation.html#g-utf8-get-char-validated"/>
- <function name="g_utf8_offset_to_pointer ()" link="glib-Unicode-Manipulation.html#g-utf8-offset-to-pointer"/>
- <function name="g_utf8_pointer_to_offset ()" link="glib-Unicode-Manipulation.html#g-utf8-pointer-to-offset"/>
- <function name="g_utf8_prev_char ()" link="glib-Unicode-Manipulation.html#g-utf8-prev-char"/>
- <function name="g_utf8_find_next_char ()" link="glib-Unicode-Manipulation.html#g-utf8-find-next-char"/>
- <function name="g_utf8_find_prev_char ()" link="glib-Unicode-Manipulation.html#g-utf8-find-prev-char"/>
- <function name="g_utf8_strlen ()" link="glib-Unicode-Manipulation.html#g-utf8-strlen"/>
- <function name="g_utf8_strncpy ()" link="glib-Unicode-Manipulation.html#g-utf8-strncpy"/>
- <function name="g_utf8_strchr ()" link="glib-Unicode-Manipulation.html#g-utf8-strchr"/>
- <function name="g_utf8_strrchr ()" link="glib-Unicode-Manipulation.html#g-utf8-strrchr"/>
- <function name="g_utf8_strreverse ()" link="glib-Unicode-Manipulation.html#g-utf8-strreverse"/>
- <function name="g_utf8_validate ()" link="glib-Unicode-Manipulation.html#g-utf8-validate"/>
- <function name="g_utf8_strup ()" link="glib-Unicode-Manipulation.html#g-utf8-strup"/>
- <function name="g_utf8_strdown ()" link="glib-Unicode-Manipulation.html#g-utf8-strdown"/>
- <function name="g_utf8_casefold ()" link="glib-Unicode-Manipulation.html#g-utf8-casefold"/>
- <function name="g_utf8_normalize ()" link="glib-Unicode-Manipulation.html#g-utf8-normalize"/>
- <function name="enum GNormalizeMode" link="glib-Unicode-Manipulation.html#GNormalizeMode"/>
- <function name="g_utf8_collate ()" link="glib-Unicode-Manipulation.html#g-utf8-collate"/>
- <function name="g_utf8_collate_key ()" link="glib-Unicode-Manipulation.html#g-utf8-collate-key"/>
- <function name="g_utf8_collate_key_for_filename ()" link="glib-Unicode-Manipulation.html#g-utf8-collate-key-for-filename"/>
- <function name="g_utf8_to_utf16 ()" link="glib-Unicode-Manipulation.html#g-utf8-to-utf16"/>
- <function name="g_utf8_to_ucs4 ()" link="glib-Unicode-Manipulation.html#g-utf8-to-ucs4"/>
- <function name="g_utf8_to_ucs4_fast ()" link="glib-Unicode-Manipulation.html#g-utf8-to-ucs4-fast"/>
- <function name="g_utf16_to_ucs4 ()" link="glib-Unicode-Manipulation.html#g-utf16-to-ucs4"/>
- <function name="g_utf16_to_utf8 ()" link="glib-Unicode-Manipulation.html#g-utf16-to-utf8"/>
- <function name="g_ucs4_to_utf16 ()" link="glib-Unicode-Manipulation.html#g-ucs4-to-utf16"/>
- <function name="g_ucs4_to_utf8 ()" link="glib-Unicode-Manipulation.html#g-ucs4-to-utf8"/>
- <function name="g_unichar_to_utf8 ()" link="glib-Unicode-Manipulation.html#g-unichar-to-utf8"/>
- <function name="g_base64_encode_step ()" link="glib-Base64-Encoding.html#g-base64-encode-step"/>
- <function name="g_base64_encode_close ()" link="glib-Base64-Encoding.html#g-base64-encode-close"/>
- <function name="g_base64_encode ()" link="glib-Base64-Encoding.html#g-base64-encode"/>
- <function name="g_base64_decode_step ()" link="glib-Base64-Encoding.html#g-base64-decode-step"/>
- <function name="g_base64_decode ()" link="glib-Base64-Encoding.html#g-base64-decode"/>
- <function name="g_base64_decode_inplace ()" link="glib-Base64-Encoding.html#g-base64-decode-inplace"/>
- <function name="enum GChecksumType" link="glib-Data-Checksums.html#GChecksumType"/>
- <function name="g_checksum_type_get_length ()" link="glib-Data-Checksums.html#g-checksum-type-get-length"/>
- <function name="GChecksum" link="glib-Data-Checksums.html#GChecksum"/>
- <function name="g_checksum_new ()" link="glib-Data-Checksums.html#g-checksum-new"/>
- <function name="g_checksum_copy ()" link="glib-Data-Checksums.html#g-checksum-copy"/>
- <function name="g_checksum_free ()" link="glib-Data-Checksums.html#g-checksum-free"/>
- <function name="g_checksum_reset ()" link="glib-Data-Checksums.html#g-checksum-reset"/>
- <function name="g_checksum_update ()" link="glib-Data-Checksums.html#g-checksum-update"/>
- <function name="g_checksum_get_string ()" link="glib-Data-Checksums.html#g-checksum-get-string"/>
- <function name="g_checksum_get_digest ()" link="glib-Data-Checksums.html#g-checksum-get-digest"/>
- <function name="g_compute_checksum_for_data ()" link="glib-Data-Checksums.html#g-compute-checksum-for-data"/>
- <function name="g_compute_checksum_for_string ()" link="glib-Data-Checksums.html#g-compute-checksum-for-string"/>
- <function name="Q_()" link="glib-I18N.html#Q-:CAPS"/>
- <function name="C_()" link="glib-I18N.html#C-:CAPS"/>
- <function name="N_()" link="glib-I18N.html#N-:CAPS"/>
- <function name="NC_()" link="glib-I18N.html#NC-:CAPS"/>
- <function name="g_dgettext ()" link="glib-I18N.html#g-dgettext"/>
- <function name="g_dngettext ()" link="glib-I18N.html#g-dngettext"/>
- <function name="g_dpgettext ()" link="glib-I18N.html#g-dpgettext"/>
- <function name="g_dpgettext2 ()" link="glib-I18N.html#g-dpgettext2"/>
- <function name="g_strip_context ()" link="glib-I18N.html#g-strip-context"/>
- <function name="g_get_language_names ()" link="glib-I18N.html#g-get-language-names"/>
- <function name="G_USEC_PER_SEC" link="glib-Date-and-Time-Functions.html#G-USEC-PER-SEC:CAPS"/>
- <function name="GTimeVal" link="glib-Date-and-Time-Functions.html#GTimeVal"/>
- <function name="g_get_current_time ()" link="glib-Date-and-Time-Functions.html#g-get-current-time"/>
- <function name="g_usleep ()" link="glib-Date-and-Time-Functions.html#g-usleep"/>
- <function name="g_time_val_add ()" link="glib-Date-and-Time-Functions.html#g-time-val-add"/>
- <function name="g_time_val_from_iso8601 ()" link="glib-Date-and-Time-Functions.html#g-time-val-from-iso8601"/>
- <function name="g_time_val_to_iso8601 ()" link="glib-Date-and-Time-Functions.html#g-time-val-to-iso8601"/>
- <function name="GDate" link="glib-Date-and-Time-Functions.html#GDate"/>
- <function name="GTime" link="glib-Date-and-Time-Functions.html#GTime"/>
- <function name="enum GDateDMY" link="glib-Date-and-Time-Functions.html#GDateDMY"/>
- <function name="GDateDay" link="glib-Date-and-Time-Functions.html#GDateDay"/>
- <function name="enum GDateMonth" link="glib-Date-and-Time-Functions.html#GDateMonth"/>
- <function name="GDateYear" link="glib-Date-and-Time-Functions.html#GDateYear"/>
- <function name="enum GDateWeekday" link="glib-Date-and-Time-Functions.html#GDateWeekday"/>
- <function name="G_DATE_BAD_DAY" link="glib-Date-and-Time-Functions.html#G-DATE-BAD-DAY:CAPS"/>
- <function name="G_DATE_BAD_JULIAN" link="glib-Date-and-Time-Functions.html#G-DATE-BAD-JULIAN:CAPS"/>
- <function name="G_DATE_BAD_YEAR" link="glib-Date-and-Time-Functions.html#G-DATE-BAD-YEAR:CAPS"/>
- <function name="g_date_new ()" link="glib-Date-and-Time-Functions.html#g-date-new"/>
- <function name="g_date_new_dmy ()" link="glib-Date-and-Time-Functions.html#g-date-new-dmy"/>
- <function name="g_date_new_julian ()" link="glib-Date-and-Time-Functions.html#g-date-new-julian"/>
- <function name="g_date_clear ()" link="glib-Date-and-Time-Functions.html#g-date-clear"/>
- <function name="g_date_free ()" link="glib-Date-and-Time-Functions.html#g-date-free"/>
- <function name="g_date_set_day ()" link="glib-Date-and-Time-Functions.html#g-date-set-day"/>
- <function name="g_date_set_month ()" link="glib-Date-and-Time-Functions.html#g-date-set-month"/>
- <function name="g_date_set_year ()" link="glib-Date-and-Time-Functions.html#g-date-set-year"/>
- <function name="g_date_set_dmy ()" link="glib-Date-and-Time-Functions.html#g-date-set-dmy"/>
- <function name="g_date_set_julian ()" link="glib-Date-and-Time-Functions.html#g-date-set-julian"/>
- <function name="g_date_set_time ()" link="glib-Date-and-Time-Functions.html#g-date-set-time"/>
- <function name="g_date_set_time_t ()" link="glib-Date-and-Time-Functions.html#g-date-set-time-t"/>
- <function name="g_date_set_time_val ()" link="glib-Date-and-Time-Functions.html#g-date-set-time-val"/>
- <function name="g_date_set_parse ()" link="glib-Date-and-Time-Functions.html#g-date-set-parse"/>
- <function name="g_date_add_days ()" link="glib-Date-and-Time-Functions.html#g-date-add-days"/>
- <function name="g_date_subtract_days ()" link="glib-Date-and-Time-Functions.html#g-date-subtract-days"/>
- <function name="g_date_add_months ()" link="glib-Date-and-Time-Functions.html#g-date-add-months"/>
- <function name="g_date_subtract_months ()" link="glib-Date-and-Time-Functions.html#g-date-subtract-months"/>
- <function name="g_date_add_years ()" link="glib-Date-and-Time-Functions.html#g-date-add-years"/>
- <function name="g_date_subtract_years ()" link="glib-Date-and-Time-Functions.html#g-date-subtract-years"/>
- <function name="g_date_days_between ()" link="glib-Date-and-Time-Functions.html#g-date-days-between"/>
- <function name="g_date_compare ()" link="glib-Date-and-Time-Functions.html#g-date-compare"/>
- <function name="g_date_clamp ()" link="glib-Date-and-Time-Functions.html#g-date-clamp"/>
- <function name="g_date_order ()" link="glib-Date-and-Time-Functions.html#g-date-order"/>
- <function name="g_date_get_day ()" link="glib-Date-and-Time-Functions.html#g-date-get-day"/>
- <function name="g_date_get_month ()" link="glib-Date-and-Time-Functions.html#g-date-get-month"/>
- <function name="g_date_get_year ()" link="glib-Date-and-Time-Functions.html#g-date-get-year"/>
- <function name="g_date_get_julian ()" link="glib-Date-and-Time-Functions.html#g-date-get-julian"/>
- <function name="g_date_get_weekday ()" link="glib-Date-and-Time-Functions.html#g-date-get-weekday"/>
- <function name="g_date_get_day_of_year ()" link="glib-Date-and-Time-Functions.html#g-date-get-day-of-year"/>
- <function name="g_date_get_days_in_month ()" link="glib-Date-and-Time-Functions.html#g-date-get-days-in-month"/>
- <function name="g_date_is_first_of_month ()" link="glib-Date-and-Time-Functions.html#g-date-is-first-of-month"/>
- <function name="g_date_is_last_of_month ()" link="glib-Date-and-Time-Functions.html#g-date-is-last-of-month"/>
- <function name="g_date_is_leap_year ()" link="glib-Date-and-Time-Functions.html#g-date-is-leap-year"/>
- <function name="g_date_get_monday_week_of_year ()" link="glib-Date-and-Time-Functions.html#g-date-get-monday-week-of-year"/>
- <function name="g_date_get_monday_weeks_in_year ()" link="glib-Date-and-Time-Functions.html#g-date-get-monday-weeks-in-year"/>
- <function name="g_date_get_sunday_week_of_year ()" link="glib-Date-and-Time-Functions.html#g-date-get-sunday-week-of-year"/>
- <function name="g_date_get_sunday_weeks_in_year ()" link="glib-Date-and-Time-Functions.html#g-date-get-sunday-weeks-in-year"/>
- <function name="g_date_get_iso8601_week_of_year ()" link="glib-Date-and-Time-Functions.html#g-date-get-iso8601-week-of-year"/>
- <function name="g_date_strftime ()" link="glib-Date-and-Time-Functions.html#g-date-strftime"/>
- <function name="g_date_to_struct_tm ()" link="glib-Date-and-Time-Functions.html#g-date-to-struct-tm"/>
- <function name="g_date_valid ()" link="glib-Date-and-Time-Functions.html#g-date-valid"/>
- <function name="g_date_valid_day ()" link="glib-Date-and-Time-Functions.html#g-date-valid-day"/>
- <function name="g_date_valid_month ()" link="glib-Date-and-Time-Functions.html#g-date-valid-month"/>
- <function name="g_date_valid_year ()" link="glib-Date-and-Time-Functions.html#g-date-valid-year"/>
- <function name="g_date_valid_dmy ()" link="glib-Date-and-Time-Functions.html#g-date-valid-dmy"/>
- <function name="g_date_valid_julian ()" link="glib-Date-and-Time-Functions.html#g-date-valid-julian"/>
- <function name="g_date_valid_weekday ()" link="glib-Date-and-Time-Functions.html#g-date-valid-weekday"/>
- <function name="GRand" link="glib-Random-Numbers.html#GRand"/>
- <function name="g_rand_new_with_seed ()" link="glib-Random-Numbers.html#g-rand-new-with-seed"/>
- <function name="g_rand_new_with_seed_array ()" link="glib-Random-Numbers.html#g-rand-new-with-seed-array"/>
- <function name="g_rand_new ()" link="glib-Random-Numbers.html#g-rand-new"/>
- <function name="g_rand_copy ()" link="glib-Random-Numbers.html#g-rand-copy"/>
- <function name="g_rand_free ()" link="glib-Random-Numbers.html#g-rand-free"/>
- <function name="g_rand_set_seed ()" link="glib-Random-Numbers.html#g-rand-set-seed"/>
- <function name="g_rand_set_seed_array ()" link="glib-Random-Numbers.html#g-rand-set-seed-array"/>
- <function name="g_rand_boolean()" link="glib-Random-Numbers.html#g-rand-boolean"/>
- <function name="g_rand_int ()" link="glib-Random-Numbers.html#g-rand-int"/>
- <function name="g_rand_int_range ()" link="glib-Random-Numbers.html#g-rand-int-range"/>
- <function name="g_rand_double ()" link="glib-Random-Numbers.html#g-rand-double"/>
- <function name="g_rand_double_range ()" link="glib-Random-Numbers.html#g-rand-double-range"/>
- <function name="g_random_set_seed ()" link="glib-Random-Numbers.html#g-random-set-seed"/>
- <function name="g_random_boolean()" link="glib-Random-Numbers.html#g-random-boolean"/>
- <function name="g_random_int ()" link="glib-Random-Numbers.html#g-random-int"/>
- <function name="g_random_int_range ()" link="glib-Random-Numbers.html#g-random-int-range"/>
- <function name="g_random_double ()" link="glib-Random-Numbers.html#g-random-double"/>
- <function name="g_random_double_range ()" link="glib-Random-Numbers.html#g-random-double-range"/>
- <function name="GHookList" link="glib-Hook-Functions.html#GHookList"/>
- <function name="GHookFinalizeFunc ()" link="glib-Hook-Functions.html#GHookFinalizeFunc"/>
- <function name="GHook" link="glib-Hook-Functions.html#GHook"/>
- <function name="GHookFunc ()" link="glib-Hook-Functions.html#GHookFunc"/>
- <function name="GHookCheckFunc ()" link="glib-Hook-Functions.html#GHookCheckFunc"/>
- <function name="g_hook_list_init ()" link="glib-Hook-Functions.html#g-hook-list-init"/>
- <function name="g_hook_list_invoke ()" link="glib-Hook-Functions.html#g-hook-list-invoke"/>
- <function name="g_hook_list_invoke_check ()" link="glib-Hook-Functions.html#g-hook-list-invoke-check"/>
- <function name="g_hook_list_marshal ()" link="glib-Hook-Functions.html#g-hook-list-marshal"/>
- <function name="GHookMarshaller ()" link="glib-Hook-Functions.html#GHookMarshaller"/>
- <function name="g_hook_list_marshal_check ()" link="glib-Hook-Functions.html#g-hook-list-marshal-check"/>
- <function name="GHookCheckMarshaller ()" link="glib-Hook-Functions.html#GHookCheckMarshaller"/>
- <function name="g_hook_list_clear ()" link="glib-Hook-Functions.html#g-hook-list-clear"/>
- <function name="g_hook_alloc ()" link="glib-Hook-Functions.html#g-hook-alloc"/>
- <function name="g_hook_append()" link="glib-Hook-Functions.html#g-hook-append"/>
- <function name="g_hook_prepend ()" link="glib-Hook-Functions.html#g-hook-prepend"/>
- <function name="g_hook_insert_before ()" link="glib-Hook-Functions.html#g-hook-insert-before"/>
- <function name="g_hook_insert_sorted ()" link="glib-Hook-Functions.html#g-hook-insert-sorted"/>
- <function name="GHookCompareFunc ()" link="glib-Hook-Functions.html#GHookCompareFunc"/>
- <function name="g_hook_compare_ids ()" link="glib-Hook-Functions.html#g-hook-compare-ids"/>
- <function name="g_hook_get ()" link="glib-Hook-Functions.html#g-hook-get"/>
- <function name="g_hook_find ()" link="glib-Hook-Functions.html#g-hook-find"/>
- <function name="GHookFindFunc ()" link="glib-Hook-Functions.html#GHookFindFunc"/>
- <function name="g_hook_find_data ()" link="glib-Hook-Functions.html#g-hook-find-data"/>
- <function name="g_hook_find_func ()" link="glib-Hook-Functions.html#g-hook-find-func"/>
- <function name="g_hook_find_func_data ()" link="glib-Hook-Functions.html#g-hook-find-func-data"/>
- <function name="g_hook_first_valid ()" link="glib-Hook-Functions.html#g-hook-first-valid"/>
- <function name="g_hook_next_valid ()" link="glib-Hook-Functions.html#g-hook-next-valid"/>
- <function name="enum GHookFlagMask" link="glib-Hook-Functions.html#GHookFlagMask"/>
- <function name="G_HOOK_FLAGS()" link="glib-Hook-Functions.html#G-HOOK-FLAGS:CAPS"/>
- <function name="G_HOOK_FLAG_USER_SHIFT" link="glib-Hook-Functions.html#G-HOOK-FLAG-USER-SHIFT:CAPS"/>
- <function name="G_HOOK()" link="glib-Hook-Functions.html#G-HOOK:CAPS"/>
- <function name="G_HOOK_IS_VALID()" link="glib-Hook-Functions.html#G-HOOK-IS-VALID:CAPS"/>
- <function name="G_HOOK_ACTIVE()" link="glib-Hook-Functions.html#G-HOOK-ACTIVE:CAPS"/>
- <function name="G_HOOK_IN_CALL()" link="glib-Hook-Functions.html#G-HOOK-IN-CALL:CAPS"/>
- <function name="G_HOOK_IS_UNLINKED()" link="glib-Hook-Functions.html#G-HOOK-IS-UNLINKED:CAPS"/>
- <function name="g_hook_ref ()" link="glib-Hook-Functions.html#g-hook-ref"/>
- <function name="g_hook_unref ()" link="glib-Hook-Functions.html#g-hook-unref"/>
- <function name="g_hook_free ()" link="glib-Hook-Functions.html#g-hook-free"/>
- <function name="g_hook_destroy ()" link="glib-Hook-Functions.html#g-hook-destroy"/>
- <function name="g_hook_destroy_link ()" link="glib-Hook-Functions.html#g-hook-destroy-link"/>
- <function name="g_get_application_name ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-application-name"/>
- <function name="g_set_application_name ()" link="glib-Miscellaneous-Utility-Functions.html#g-set-application-name"/>
- <function name="g_get_prgname ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-prgname"/>
- <function name="g_set_prgname ()" link="glib-Miscellaneous-Utility-Functions.html#g-set-prgname"/>
- <function name="g_getenv ()" link="glib-Miscellaneous-Utility-Functions.html#g-getenv"/>
- <function name="g_setenv ()" link="glib-Miscellaneous-Utility-Functions.html#g-setenv"/>
- <function name="g_unsetenv ()" link="glib-Miscellaneous-Utility-Functions.html#g-unsetenv"/>
- <function name="g_listenv ()" link="glib-Miscellaneous-Utility-Functions.html#g-listenv"/>
- <function name="g_get_user_name ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-user-name"/>
- <function name="g_get_real_name ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-real-name"/>
- <function name="g_get_user_cache_dir ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-user-cache-dir"/>
- <function name="g_get_user_data_dir ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-user-data-dir"/>
- <function name="g_get_user_config_dir ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-user-config-dir"/>
- <function name="enum GUserDirectory" link="glib-Miscellaneous-Utility-Functions.html#GUserDirectory"/>
- <function name="g_get_user_special_dir ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-user-special-dir"/>
- <function name="g_get_system_data_dirs ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-system-data-dirs"/>
- <function name="g_get_system_config_dirs ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-system-config-dirs"/>
- <function name="g_reload_user_special_dirs_cache ()" link="glib-Miscellaneous-Utility-Functions.html#g-reload-user-special-dirs-cache"/>
- <function name="g_get_host_name ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-host-name"/>
- <function name="g_get_home_dir ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-home-dir"/>
- <function name="g_get_tmp_dir ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-tmp-dir"/>
- <function name="g_get_current_dir ()" link="glib-Miscellaneous-Utility-Functions.html#g-get-current-dir"/>
- <function name="g_basename ()" link="glib-Miscellaneous-Utility-Functions.html#g-basename"/>
- <function name="g_dirname" link="glib-Miscellaneous-Utility-Functions.html#g-dirname"/>
- <function name="g_path_is_absolute ()" link="glib-Miscellaneous-Utility-Functions.html#g-path-is-absolute"/>
- <function name="g_path_skip_root ()" link="glib-Miscellaneous-Utility-Functions.html#g-path-skip-root"/>
- <function name="g_path_get_basename ()" link="glib-Miscellaneous-Utility-Functions.html#g-path-get-basename"/>
- <function name="g_path_get_dirname ()" link="glib-Miscellaneous-Utility-Functions.html#g-path-get-dirname"/>
- <function name="g_build_filename ()" link="glib-Miscellaneous-Utility-Functions.html#g-build-filename"/>
- <function name="g_build_filenamev ()" link="glib-Miscellaneous-Utility-Functions.html#g-build-filenamev"/>
- <function name="g_build_path ()" link="glib-Miscellaneous-Utility-Functions.html#g-build-path"/>
- <function name="g_build_pathv ()" link="glib-Miscellaneous-Utility-Functions.html#g-build-pathv"/>
- <function name="g_format_size_for_display ()" link="glib-Miscellaneous-Utility-Functions.html#g-format-size-for-display"/>
- <function name="g_find_program_in_path ()" link="glib-Miscellaneous-Utility-Functions.html#g-find-program-in-path"/>
- <function name="g_bit_nth_lsf ()" link="glib-Miscellaneous-Utility-Functions.html#g-bit-nth-lsf"/>
- <function name="g_bit_nth_msf ()" link="glib-Miscellaneous-Utility-Functions.html#g-bit-nth-msf"/>
- <function name="g_bit_storage ()" link="glib-Miscellaneous-Utility-Functions.html#g-bit-storage"/>
- <function name="g_spaced_primes_closest ()" link="glib-Miscellaneous-Utility-Functions.html#g-spaced-primes-closest"/>
- <function name="g_atexit ()" link="glib-Miscellaneous-Utility-Functions.html#g-atexit"/>
- <function name="g_parse_debug_string ()" link="glib-Miscellaneous-Utility-Functions.html#g-parse-debug-string"/>
- <function name="GDebugKey" link="glib-Miscellaneous-Utility-Functions.html#GDebugKey"/>
- <function name="GVoidFunc ()" link="glib-Miscellaneous-Utility-Functions.html#GVoidFunc"/>
- <function name="GFreeFunc ()" link="glib-Miscellaneous-Utility-Functions.html#GFreeFunc"/>
- <function name="g_qsort_with_data ()" link="glib-Miscellaneous-Utility-Functions.html#g-qsort-with-data"/>
- <function name="g_nullify_pointer ()" link="glib-Miscellaneous-Utility-Functions.html#g-nullify-pointer"/>
- <function name="GScanner" link="glib-Lexical-Scanner.html#GScanner"/>
- <function name="GScannerConfig" link="glib-Lexical-Scanner.html#GScannerConfig"/>
- <function name="g_scanner_new ()" link="glib-Lexical-Scanner.html#g-scanner-new"/>
- <function name="g_scanner_destroy ()" link="glib-Lexical-Scanner.html#g-scanner-destroy"/>
- <function name="g_scanner_input_file ()" link="glib-Lexical-Scanner.html#g-scanner-input-file"/>
- <function name="g_scanner_sync_file_offset ()" link="glib-Lexical-Scanner.html#g-scanner-sync-file-offset"/>
- <function name="g_scanner_input_text ()" link="glib-Lexical-Scanner.html#g-scanner-input-text"/>
- <function name="g_scanner_peek_next_token ()" link="glib-Lexical-Scanner.html#g-scanner-peek-next-token"/>
- <function name="g_scanner_get_next_token ()" link="glib-Lexical-Scanner.html#g-scanner-get-next-token"/>
- <function name="g_scanner_eof ()" link="glib-Lexical-Scanner.html#g-scanner-eof"/>
- <function name="g_scanner_cur_line ()" link="glib-Lexical-Scanner.html#g-scanner-cur-line"/>
- <function name="g_scanner_cur_position ()" link="glib-Lexical-Scanner.html#g-scanner-cur-position"/>
- <function name="g_scanner_cur_token ()" link="glib-Lexical-Scanner.html#g-scanner-cur-token"/>
- <function name="g_scanner_cur_value ()" link="glib-Lexical-Scanner.html#g-scanner-cur-value"/>
- <function name="g_scanner_set_scope ()" link="glib-Lexical-Scanner.html#g-scanner-set-scope"/>
- <function name="g_scanner_scope_add_symbol ()" link="glib-Lexical-Scanner.html#g-scanner-scope-add-symbol"/>
- <function name="g_scanner_scope_foreach_symbol ()" link="glib-Lexical-Scanner.html#g-scanner-scope-foreach-symbol"/>
- <function name="g_scanner_scope_lookup_symbol ()" link="glib-Lexical-Scanner.html#g-scanner-scope-lookup-symbol"/>
- <function name="g_scanner_scope_remove_symbol ()" link="glib-Lexical-Scanner.html#g-scanner-scope-remove-symbol"/>
- <function name="g_scanner_add_symbol()" link="glib-Lexical-Scanner.html#g-scanner-add-symbol"/>
- <function name="g_scanner_remove_symbol()" link="glib-Lexical-Scanner.html#g-scanner-remove-symbol"/>
- <function name="g_scanner_foreach_symbol()" link="glib-Lexical-Scanner.html#g-scanner-foreach-symbol"/>
- <function name="g_scanner_freeze_symbol_table()" link="glib-Lexical-Scanner.html#g-scanner-freeze-symbol-table"/>
- <function name="g_scanner_thaw_symbol_table()" link="glib-Lexical-Scanner.html#g-scanner-thaw-symbol-table"/>
- <function name="g_scanner_lookup_symbol ()" link="glib-Lexical-Scanner.html#g-scanner-lookup-symbol"/>
- <function name="g_scanner_warn ()" link="glib-Lexical-Scanner.html#g-scanner-warn"/>
- <function name="g_scanner_error ()" link="glib-Lexical-Scanner.html#g-scanner-error"/>
- <function name="g_scanner_unexp_token ()" link="glib-Lexical-Scanner.html#g-scanner-unexp-token"/>
- <function name="GScannerMsgFunc ()" link="glib-Lexical-Scanner.html#GScannerMsgFunc"/>
- <function name="G_CSET_a_2_z" link="glib-Lexical-Scanner.html#G-CSET-a-2-z"/>
- <function name="G_CSET_A_2_Z" link="glib-Lexical-Scanner.html#G-CSET-A-2-Z:CAPS"/>
- <function name="G_CSET_DIGITS" link="glib-Lexical-Scanner.html#G-CSET-DIGITS:CAPS"/>
- <function name="G_CSET_LATINC" link="glib-Lexical-Scanner.html#G-CSET-LATINC:CAPS"/>
- <function name="G_CSET_LATINS" link="glib-Lexical-Scanner.html#G-CSET-LATINS:CAPS"/>
- <function name="enum GTokenType" link="glib-Lexical-Scanner.html#GTokenType"/>
- <function name="union GTokenValue" link="glib-Lexical-Scanner.html#GTokenValue"/>
- <function name="enum GErrorType" link="glib-Lexical-Scanner.html#GErrorType"/>
- <function name="GCompletion" link="glib-Automatic-String-Completion.html#GCompletion"/>
- <function name="g_completion_new ()" link="glib-Automatic-String-Completion.html#g-completion-new"/>
- <function name="GCompletionFunc ()" link="glib-Automatic-String-Completion.html#GCompletionFunc"/>
- <function name="g_completion_add_items ()" link="glib-Automatic-String-Completion.html#g-completion-add-items"/>
- <function name="g_completion_remove_items ()" link="glib-Automatic-String-Completion.html#g-completion-remove-items"/>
- <function name="g_completion_clear_items ()" link="glib-Automatic-String-Completion.html#g-completion-clear-items"/>
- <function name="g_completion_complete ()" link="glib-Automatic-String-Completion.html#g-completion-complete"/>
- <function name="g_completion_complete_utf8 ()" link="glib-Automatic-String-Completion.html#g-completion-complete-utf8"/>
- <function name="g_completion_set_compare ()" link="glib-Automatic-String-Completion.html#g-completion-set-compare"/>
- <function name="GCompletionStrncmpFunc ()" link="glib-Automatic-String-Completion.html#GCompletionStrncmpFunc"/>
- <function name="g_completion_free ()" link="glib-Automatic-String-Completion.html#g-completion-free"/>
- <function name="GTimer" link="glib-Timers.html#GTimer"/>
- <function name="g_timer_new ()" link="glib-Timers.html#g-timer-new"/>
- <function name="g_timer_start ()" link="glib-Timers.html#g-timer-start"/>
- <function name="g_timer_stop ()" link="glib-Timers.html#g-timer-stop"/>
- <function name="g_timer_continue ()" link="glib-Timers.html#g-timer-continue"/>
- <function name="g_timer_elapsed ()" link="glib-Timers.html#g-timer-elapsed"/>
- <function name="g_timer_reset ()" link="glib-Timers.html#g-timer-reset"/>
- <function name="g_timer_destroy ()" link="glib-Timers.html#g-timer-destroy"/>
- <function name="enum GSpawnError" link="glib-Spawning-Processes.html#GSpawnError"/>
- <function name="G_SPAWN_ERROR" link="glib-Spawning-Processes.html#G-SPAWN-ERROR:CAPS"/>
- <function name="enum GSpawnFlags" link="glib-Spawning-Processes.html#GSpawnFlags"/>
- <function name="GSpawnChildSetupFunc ()" link="glib-Spawning-Processes.html#GSpawnChildSetupFunc"/>
- <function name="g_spawn_async_with_pipes ()" link="glib-Spawning-Processes.html#g-spawn-async-with-pipes"/>
- <function name="g_spawn_async ()" link="glib-Spawning-Processes.html#g-spawn-async"/>
- <function name="g_spawn_sync ()" link="glib-Spawning-Processes.html#g-spawn-sync"/>
- <function name="g_spawn_command_line_async ()" link="glib-Spawning-Processes.html#g-spawn-command-line-async"/>
- <function name="g_spawn_command_line_sync ()" link="glib-Spawning-Processes.html#g-spawn-command-line-sync"/>
- <function name="g_spawn_close_pid ()" link="glib-Spawning-Processes.html#g-spawn-close-pid"/>
- <function name="enum GFileError" link="glib-File-Utilities.html#GFileError"/>
- <function name="G_FILE_ERROR" link="glib-File-Utilities.html#G-FILE-ERROR:CAPS"/>
- <function name="enum GFileTest" link="glib-File-Utilities.html#GFileTest"/>
- <function name="g_file_error_from_errno ()" link="glib-File-Utilities.html#g-file-error-from-errno"/>
- <function name="g_file_get_contents ()" link="glib-File-Utilities.html#g-file-get-contents"/>
- <function name="g_file_set_contents ()" link="glib-File-Utilities.html#g-file-set-contents"/>
- <function name="g_file_test ()" link="glib-File-Utilities.html#g-file-test"/>
- <function name="g_mkstemp ()" link="glib-File-Utilities.html#g-mkstemp"/>
- <function name="g_mkstemp_full ()" link="glib-File-Utilities.html#g-mkstemp-full"/>
- <function name="g_file_open_tmp ()" link="glib-File-Utilities.html#g-file-open-tmp"/>
- <function name="g_file_read_link ()" link="glib-File-Utilities.html#g-file-read-link"/>
- <function name="g_mkdir_with_parents ()" link="glib-File-Utilities.html#g-mkdir-with-parents"/>
- <function name="GDir" link="glib-File-Utilities.html#GDir"/>
- <function name="g_dir_open ()" link="glib-File-Utilities.html#g-dir-open"/>
- <function name="g_dir_read_name ()" link="glib-File-Utilities.html#g-dir-read-name"/>
- <function name="g_dir_rewind ()" link="glib-File-Utilities.html#g-dir-rewind"/>
- <function name="g_dir_close ()" link="glib-File-Utilities.html#g-dir-close"/>
- <function name="GMappedFile" link="glib-File-Utilities.html#GMappedFile"/>
- <function name="g_mapped_file_new ()" link="glib-File-Utilities.html#g-mapped-file-new"/>
- <function name="g_mapped_file_ref ()" link="glib-File-Utilities.html#g-mapped-file-ref"/>
- <function name="g_mapped_file_unref ()" link="glib-File-Utilities.html#g-mapped-file-unref"/>
- <function name="g_mapped_file_free ()" link="glib-File-Utilities.html#g-mapped-file-free"/>
- <function name="g_mapped_file_get_length ()" link="glib-File-Utilities.html#g-mapped-file-get-length"/>
- <function name="g_mapped_file_get_contents ()" link="glib-File-Utilities.html#g-mapped-file-get-contents"/>
- <function name="g_open ()" link="glib-File-Utilities.html#g-open"/>
- <function name="g_rename ()" link="glib-File-Utilities.html#g-rename"/>
- <function name="g_mkdir ()" link="glib-File-Utilities.html#g-mkdir"/>
- <function name="g_stat ()" link="glib-File-Utilities.html#g-stat"/>
- <function name="g_lstat ()" link="glib-File-Utilities.html#g-lstat"/>
- <function name="g_unlink ()" link="glib-File-Utilities.html#g-unlink"/>
- <function name="g_remove ()" link="glib-File-Utilities.html#g-remove"/>
- <function name="g_rmdir ()" link="glib-File-Utilities.html#g-rmdir"/>
- <function name="g_fopen ()" link="glib-File-Utilities.html#g-fopen"/>
- <function name="g_freopen ()" link="glib-File-Utilities.html#g-freopen"/>
- <function name="g_chmod ()" link="glib-File-Utilities.html#g-chmod"/>
- <function name="g_access ()" link="glib-File-Utilities.html#g-access"/>
- <function name="g_creat ()" link="glib-File-Utilities.html#g-creat"/>
- <function name="g_chdir ()" link="glib-File-Utilities.html#g-chdir"/>
- <function name="g_utime ()" link="glib-File-Utilities.html#g-utime"/>
- <function name="G_URI_RESERVED_CHARS_ALLOWED_IN_PATH" link="glib-URI-Functions.html#G-URI-RESERVED-CHARS-ALLOWED-IN-PATH:CAPS"/>
- <function name="G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT" link="glib-URI-Functions.html#G-URI-RESERVED-CHARS-ALLOWED-IN-PATH-ELEMENT:CAPS"/>
- <function name="G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO" link="glib-URI-Functions.html#G-URI-RESERVED-CHARS-ALLOWED-IN-USERINFO:CAPS"/>
- <function name="G_URI_RESERVED_CHARS_GENERIC_DELIMITERS" link="glib-URI-Functions.html#G-URI-RESERVED-CHARS-GENERIC-DELIMITERS:CAPS"/>
- <function name="G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS" link="glib-URI-Functions.html#G-URI-RESERVED-CHARS-SUBCOMPONENT-DELIMITERS:CAPS"/>
- <function name="g_uri_parse_scheme ()" link="glib-URI-Functions.html#g-uri-parse-scheme"/>
- <function name="g_uri_escape_string ()" link="glib-URI-Functions.html#g-uri-escape-string"/>
- <function name="g_uri_unescape_string ()" link="glib-URI-Functions.html#g-uri-unescape-string"/>
- <function name="g_uri_unescape_segment ()" link="glib-URI-Functions.html#g-uri-unescape-segment"/>
- <function name="g_uri_list_extract_uris ()" link="glib-URI-Functions.html#g-uri-list-extract-uris"/>
- <function name="g_hostname_to_ascii ()" link="glib-Hostname-Utilities.html#g-hostname-to-ascii"/>
- <function name="g_hostname_to_unicode ()" link="glib-Hostname-Utilities.html#g-hostname-to-unicode"/>
- <function name="g_hostname_is_non_ascii ()" link="glib-Hostname-Utilities.html#g-hostname-is-non-ascii"/>
- <function name="g_hostname_is_ascii_encoded ()" link="glib-Hostname-Utilities.html#g-hostname-is-ascii-encoded"/>
- <function name="g_hostname_is_ip_address ()" link="glib-Hostname-Utilities.html#g-hostname-is-ip-address"/>
- <function name="enum GShellError" link="glib-Shell-related-Utilities.html#GShellError"/>
- <function name="G_SHELL_ERROR" link="glib-Shell-related-Utilities.html#G-SHELL-ERROR:CAPS"/>
- <function name="g_shell_parse_argv ()" link="glib-Shell-related-Utilities.html#g-shell-parse-argv"/>
- <function name="g_shell_quote ()" link="glib-Shell-related-Utilities.html#g-shell-quote"/>
- <function name="g_shell_unquote ()" link="glib-Shell-related-Utilities.html#g-shell-unquote"/>
- <function name="enum GOptionError" link="glib-Commandline-option-parser.html#GOptionError"/>
- <function name="G_OPTION_ERROR" link="glib-Commandline-option-parser.html#G-OPTION-ERROR:CAPS"/>
- <function name="GOptionArgFunc ()" link="glib-Commandline-option-parser.html#GOptionArgFunc"/>
- <function name="GOptionContext" link="glib-Commandline-option-parser.html#GOptionContext"/>
- <function name="g_option_context_new ()" link="glib-Commandline-option-parser.html#g-option-context-new"/>
- <function name="g_option_context_set_summary ()" link="glib-Commandline-option-parser.html#g-option-context-set-summary"/>
- <function name="g_option_context_get_summary ()" link="glib-Commandline-option-parser.html#g-option-context-get-summary"/>
- <function name="g_option_context_set_description ()" link="glib-Commandline-option-parser.html#g-option-context-set-description"/>
- <function name="g_option_context_get_description ()" link="glib-Commandline-option-parser.html#g-option-context-get-description"/>
- <function name="GTranslateFunc ()" link="glib-Commandline-option-parser.html#GTranslateFunc"/>
- <function name="g_option_context_set_translate_func ()" link="glib-Commandline-option-parser.html#g-option-context-set-translate-func"/>
- <function name="g_option_context_set_translation_domain ()" link="glib-Commandline-option-parser.html#g-option-context-set-translation-domain"/>
- <function name="g_option_context_free ()" link="glib-Commandline-option-parser.html#g-option-context-free"/>
- <function name="g_option_context_parse ()" link="glib-Commandline-option-parser.html#g-option-context-parse"/>
- <function name="g_option_context_set_help_enabled ()" link="glib-Commandline-option-parser.html#g-option-context-set-help-enabled"/>
- <function name="g_option_context_get_help_enabled ()" link="glib-Commandline-option-parser.html#g-option-context-get-help-enabled"/>
- <function name="g_option_context_set_ignore_unknown_options ()" link="glib-Commandline-option-parser.html#g-option-context-set-ignore-unknown-options"/>
- <function name="g_option_context_get_ignore_unknown_options ()" link="glib-Commandline-option-parser.html#g-option-context-get-ignore-unknown-options"/>
- <function name="g_option_context_get_help ()" link="glib-Commandline-option-parser.html#g-option-context-get-help"/>
- <function name="enum GOptionArg" link="glib-Commandline-option-parser.html#GOptionArg"/>
- <function name="enum GOptionFlags" link="glib-Commandline-option-parser.html#GOptionFlags"/>
- <function name="G_OPTION_REMAINING" link="glib-Commandline-option-parser.html#G-OPTION-REMAINING:CAPS"/>
- <function name="GOptionEntry" link="glib-Commandline-option-parser.html#GOptionEntry"/>
- <function name="g_option_context_add_main_entries ()" link="glib-Commandline-option-parser.html#g-option-context-add-main-entries"/>
- <function name="GOptionGroup" link="glib-Commandline-option-parser.html#GOptionGroup"/>
- <function name="g_option_context_add_group ()" link="glib-Commandline-option-parser.html#g-option-context-add-group"/>
- <function name="g_option_context_set_main_group ()" link="glib-Commandline-option-parser.html#g-option-context-set-main-group"/>
- <function name="g_option_context_get_main_group ()" link="glib-Commandline-option-parser.html#g-option-context-get-main-group"/>
- <function name="g_option_group_new ()" link="glib-Commandline-option-parser.html#g-option-group-new"/>
- <function name="g_option_group_free ()" link="glib-Commandline-option-parser.html#g-option-group-free"/>
- <function name="g_option_group_add_entries ()" link="glib-Commandline-option-parser.html#g-option-group-add-entries"/>
- <function name="GOptionParseFunc ()" link="glib-Commandline-option-parser.html#GOptionParseFunc"/>
- <function name="g_option_group_set_parse_hooks ()" link="glib-Commandline-option-parser.html#g-option-group-set-parse-hooks"/>
- <function name="GOptionErrorFunc ()" link="glib-Commandline-option-parser.html#GOptionErrorFunc"/>
- <function name="g_option_group_set_error_hook ()" link="glib-Commandline-option-parser.html#g-option-group-set-error-hook"/>
- <function name="g_option_group_set_translate_func ()" link="glib-Commandline-option-parser.html#g-option-group-set-translate-func"/>
- <function name="g_option_group_set_translation_domain ()" link="glib-Commandline-option-parser.html#g-option-group-set-translation-domain"/>
- <function name="GPatternSpec" link="glib-Glob-style-pattern-matching.html#GPatternSpec"/>
- <function name="g_pattern_spec_new ()" link="glib-Glob-style-pattern-matching.html#g-pattern-spec-new"/>
- <function name="g_pattern_spec_free ()" link="glib-Glob-style-pattern-matching.html#g-pattern-spec-free"/>
- <function name="g_pattern_spec_equal ()" link="glib-Glob-style-pattern-matching.html#g-pattern-spec-equal"/>
- <function name="g_pattern_match ()" link="glib-Glob-style-pattern-matching.html#g-pattern-match"/>
- <function name="g_pattern_match_string ()" link="glib-Glob-style-pattern-matching.html#g-pattern-match-string"/>
- <function name="g_pattern_match_simple ()" link="glib-Glob-style-pattern-matching.html#g-pattern-match-simple"/>
- <function name="enum GRegexError" link="glib-Perl-compatible-regular-expressions.html#GRegexError"/>
- <function name="G_REGEX_ERROR" link="glib-Perl-compatible-regular-expressions.html#G-REGEX-ERROR:CAPS"/>
- <function name="enum GRegexCompileFlags" link="glib-Perl-compatible-regular-expressions.html#GRegexCompileFlags"/>
- <function name="enum GRegexMatchFlags" link="glib-Perl-compatible-regular-expressions.html#GRegexMatchFlags"/>
- <function name="GRegex" link="glib-Perl-compatible-regular-expressions.html#GRegex"/>
- <function name="GRegexEvalCallback ()" link="glib-Perl-compatible-regular-expressions.html#GRegexEvalCallback"/>
- <function name="g_regex_new ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-new"/>
- <function name="g_regex_ref ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-ref"/>
- <function name="g_regex_unref ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-unref"/>
- <function name="g_regex_get_pattern ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-get-pattern"/>
- <function name="g_regex_get_max_backref ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-get-max-backref"/>
- <function name="g_regex_get_capture_count ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-get-capture-count"/>
- <function name="g_regex_get_string_number ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-get-string-number"/>
- <function name="g_regex_escape_string ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-escape-string"/>
- <function name="g_regex_match_simple ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-match-simple"/>
- <function name="g_regex_match ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-match"/>
- <function name="g_regex_match_full ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-match-full"/>
- <function name="g_regex_match_all ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-match-all"/>
- <function name="g_regex_match_all_full ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-match-all-full"/>
- <function name="g_regex_split_simple ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-split-simple"/>
- <function name="g_regex_split ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-split"/>
- <function name="g_regex_split_full ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-split-full"/>
- <function name="g_regex_replace ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-replace"/>
- <function name="g_regex_replace_literal ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-replace-literal"/>
- <function name="g_regex_replace_eval ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-replace-eval"/>
- <function name="g_regex_check_replacement ()" link="glib-Perl-compatible-regular-expressions.html#g-regex-check-replacement"/>
- <function name="GMatchInfo" link="glib-Perl-compatible-regular-expressions.html#GMatchInfo"/>
- <function name="g_match_info_get_regex ()" link="glib-Perl-compatible-regular-expressions.html#g-match-info-get-regex"/>
- <function name="g_match_info_get_string ()" link="glib-Perl-compatible-regular-expressions.html#g-match-info-get-string"/>
- <function name="g_match_info_free ()" link="glib-Perl-compatible-regular-expressions.html#g-match-info-free"/>
- <function name="g_match_info_matches ()" link="glib-Perl-compatible-regular-expressions.html#g-match-info-matches"/>
- <function name="g_match_info_next ()" link="glib-Perl-compatible-regular-expressions.html#g-match-info-next"/>
- <function name="g_match_info_get_match_count ()" link="glib-Perl-compatible-regular-expressions.html#g-match-info-get-match-count"/>
- <function name="g_match_info_is_partial_match ()" link="glib-Perl-compatible-regular-expressions.html#g-match-info-is-partial-match"/>
- <function name="g_match_info_expand_references ()" link="glib-Perl-compatible-regular-expressions.html#g-match-info-expand-references"/>
- <function name="g_match_info_fetch ()" link="glib-Perl-compatible-regular-expressions.html#g-match-info-fetch"/>
- <function name="g_match_info_fetch_pos ()" link="glib-Perl-compatible-regular-expressions.html#g-match-info-fetch-pos"/>
- <function name="g_match_info_fetch_named ()" link="glib-Perl-compatible-regular-expressions.html#g-match-info-fetch-named"/>
- <function name="g_match_info_fetch_named_pos ()" link="glib-Perl-compatible-regular-expressions.html#g-match-info-fetch-named-pos"/>
- <function name="g_match_info_fetch_all ()" link="glib-Perl-compatible-regular-expressions.html#g-match-info-fetch-all"/>
- <function name="enum GMarkupError" link="glib-Simple-XML-Subset-Parser.html#GMarkupError"/>
- <function name="G_MARKUP_ERROR" link="glib-Simple-XML-Subset-Parser.html#G-MARKUP-ERROR:CAPS"/>
- <function name="enum GMarkupParseFlags" link="glib-Simple-XML-Subset-Parser.html#GMarkupParseFlags"/>
- <function name="GMarkupParseContext" link="glib-Simple-XML-Subset-Parser.html#GMarkupParseContext"/>
- <function name="GMarkupParser" link="glib-Simple-XML-Subset-Parser.html#GMarkupParser"/>
- <function name="g_markup_escape_text ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-escape-text"/>
- <function name="g_markup_printf_escaped ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-printf-escaped"/>
- <function name="g_markup_vprintf_escaped ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-vprintf-escaped"/>
- <function name="g_markup_parse_context_end_parse ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-end-parse"/>
- <function name="g_markup_parse_context_free ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-free"/>
- <function name="g_markup_parse_context_get_position ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-get-position"/>
- <function name="g_markup_parse_context_get_element ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-get-element"/>
- <function name="g_markup_parse_context_get_element_stack ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-get-element-stack"/>
- <function name="g_markup_parse_context_get_user_data ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-get-user-data"/>
- <function name="g_markup_parse_context_new ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-new"/>
- <function name="g_markup_parse_context_parse ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-parse"/>
- <function name="g_markup_parse_context_push ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-push"/>
- <function name="g_markup_parse_context_pop ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-parse-context-pop"/>
- <function name="enum GMarkupCollectType" link="glib-Simple-XML-Subset-Parser.html#GMarkupCollectType"/>
- <function name="g_markup_collect_attributes ()" link="glib-Simple-XML-Subset-Parser.html#g-markup-collect-attributes"/>
- <function name="GKeyFile" link="glib-Key-value-file-parser.html#GKeyFile"/>
- <function name="G_KEY_FILE_ERROR" link="glib-Key-value-file-parser.html#G-KEY-FILE-ERROR:CAPS"/>
- <function name="enum GKeyFileError" link="glib-Key-value-file-parser.html#GKeyFileError"/>
- <function name="enum GKeyFileFlags" link="glib-Key-value-file-parser.html#GKeyFileFlags"/>
- <function name="g_key_file_new ()" link="glib-Key-value-file-parser.html#g-key-file-new"/>
- <function name="g_key_file_free ()" link="glib-Key-value-file-parser.html#g-key-file-free"/>
- <function name="g_key_file_set_list_separator ()" link="glib-Key-value-file-parser.html#g-key-file-set-list-separator"/>
- <function name="g_key_file_load_from_file ()" link="glib-Key-value-file-parser.html#g-key-file-load-from-file"/>
- <function name="g_key_file_load_from_data ()" link="glib-Key-value-file-parser.html#g-key-file-load-from-data"/>
- <function name="g_key_file_load_from_data_dirs ()" link="glib-Key-value-file-parser.html#g-key-file-load-from-data-dirs"/>
- <function name="g_key_file_load_from_dirs ()" link="glib-Key-value-file-parser.html#g-key-file-load-from-dirs"/>
- <function name="g_key_file_to_data ()" link="glib-Key-value-file-parser.html#g-key-file-to-data"/>
- <function name="g_key_file_get_start_group ()" link="glib-Key-value-file-parser.html#g-key-file-get-start-group"/>
- <function name="g_key_file_get_groups ()" link="glib-Key-value-file-parser.html#g-key-file-get-groups"/>
- <function name="g_key_file_get_keys ()" link="glib-Key-value-file-parser.html#g-key-file-get-keys"/>
- <function name="g_key_file_has_group ()" link="glib-Key-value-file-parser.html#g-key-file-has-group"/>
- <function name="g_key_file_has_key ()" link="glib-Key-value-file-parser.html#g-key-file-has-key"/>
- <function name="g_key_file_get_value ()" link="glib-Key-value-file-parser.html#g-key-file-get-value"/>
- <function name="g_key_file_get_string ()" link="glib-Key-value-file-parser.html#g-key-file-get-string"/>
- <function name="g_key_file_get_locale_string ()" link="glib-Key-value-file-parser.html#g-key-file-get-locale-string"/>
- <function name="g_key_file_get_boolean ()" link="glib-Key-value-file-parser.html#g-key-file-get-boolean"/>
- <function name="g_key_file_get_integer ()" link="glib-Key-value-file-parser.html#g-key-file-get-integer"/>
- <function name="g_key_file_get_double ()" link="glib-Key-value-file-parser.html#g-key-file-get-double"/>
- <function name="g_key_file_get_string_list ()" link="glib-Key-value-file-parser.html#g-key-file-get-string-list"/>
- <function name="g_key_file_get_locale_string_list ()" link="glib-Key-value-file-parser.html#g-key-file-get-locale-string-list"/>
- <function name="g_key_file_get_boolean_list ()" link="glib-Key-value-file-parser.html#g-key-file-get-boolean-list"/>
- <function name="g_key_file_get_integer_list ()" link="glib-Key-value-file-parser.html#g-key-file-get-integer-list"/>
- <function name="g_key_file_get_double_list ()" link="glib-Key-value-file-parser.html#g-key-file-get-double-list"/>
- <function name="g_key_file_get_comment ()" link="glib-Key-value-file-parser.html#g-key-file-get-comment"/>
- <function name="g_key_file_set_value ()" link="glib-Key-value-file-parser.html#g-key-file-set-value"/>
- <function name="g_key_file_set_string ()" link="glib-Key-value-file-parser.html#g-key-file-set-string"/>
- <function name="g_key_file_set_locale_string ()" link="glib-Key-value-file-parser.html#g-key-file-set-locale-string"/>
- <function name="g_key_file_set_boolean ()" link="glib-Key-value-file-parser.html#g-key-file-set-boolean"/>
- <function name="g_key_file_set_integer ()" link="glib-Key-value-file-parser.html#g-key-file-set-integer"/>
- <function name="g_key_file_set_double ()" link="glib-Key-value-file-parser.html#g-key-file-set-double"/>
- <function name="g_key_file_set_string_list ()" link="glib-Key-value-file-parser.html#g-key-file-set-string-list"/>
- <function name="g_key_file_set_locale_string_list ()" link="glib-Key-value-file-parser.html#g-key-file-set-locale-string-list"/>
- <function name="g_key_file_set_boolean_list ()" link="glib-Key-value-file-parser.html#g-key-file-set-boolean-list"/>
- <function name="g_key_file_set_integer_list ()" link="glib-Key-value-file-parser.html#g-key-file-set-integer-list"/>
- <function name="g_key_file_set_double_list ()" link="glib-Key-value-file-parser.html#g-key-file-set-double-list"/>
- <function name="g_key_file_set_comment ()" link="glib-Key-value-file-parser.html#g-key-file-set-comment"/>
- <function name="g_key_file_remove_group ()" link="glib-Key-value-file-parser.html#g-key-file-remove-group"/>
- <function name="g_key_file_remove_key ()" link="glib-Key-value-file-parser.html#g-key-file-remove-key"/>
- <function name="g_key_file_remove_comment ()" link="glib-Key-value-file-parser.html#g-key-file-remove-comment"/>
- <function name="G_KEY_FILE_DESKTOP_GROUP" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-GROUP:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_TYPE" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-TYPE:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_VERSION" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-VERSION:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_NAME" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-NAME:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-GENERIC-NAME:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-NO-DISPLAY:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_COMMENT" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-COMMENT:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_ICON" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-ICON:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_HIDDEN" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-HIDDEN:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-ONLY-SHOW-IN:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-NOT-SHOW-IN:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_TRY_EXEC" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-TRY-EXEC:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_EXEC" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-EXEC:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_PATH" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-PATH:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_TERMINAL" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-TERMINAL:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_MIME_TYPE" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-MIME-TYPE:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_CATEGORIES" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-CATEGORIES:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-STARTUP-NOTIFY:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-STARTUP-WM-CLASS:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_KEY_URL" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-KEY-URL:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_TYPE_APPLICATION" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-TYPE-APPLICATION:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_TYPE_LINK" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-TYPE-LINK:CAPS"/>
- <function name="G_KEY_FILE_DESKTOP_TYPE_DIRECTORY" link="glib-Key-value-file-parser.html#G-KEY-FILE-DESKTOP-TYPE-DIRECTORY:CAPS"/>
- <function name="GBookmarkFile" link="glib-Bookmark-file-parser.html#GBookmarkFile"/>
- <function name="G_BOOKMARK_FILE_ERROR" link="glib-Bookmark-file-parser.html#G-BOOKMARK-FILE-ERROR:CAPS"/>
- <function name="enum GBookmarkFileError" link="glib-Bookmark-file-parser.html#GBookmarkFileError"/>
- <function name="g_bookmark_file_new ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-new"/>
- <function name="g_bookmark_file_free ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-free"/>
- <function name="g_bookmark_file_load_from_file ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-load-from-file"/>
- <function name="g_bookmark_file_load_from_data ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-load-from-data"/>
- <function name="g_bookmark_file_load_from_data_dirs ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-load-from-data-dirs"/>
- <function name="g_bookmark_file_to_data ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-to-data"/>
- <function name="g_bookmark_file_to_file ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-to-file"/>
- <function name="g_bookmark_file_has_item ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-has-item"/>
- <function name="g_bookmark_file_has_group ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-has-group"/>
- <function name="g_bookmark_file_has_application ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-has-application"/>
- <function name="g_bookmark_file_get_size ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-get-size"/>
- <function name="g_bookmark_file_get_uris ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-get-uris"/>
- <function name="g_bookmark_file_get_title ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-get-title"/>
- <function name="g_bookmark_file_get_description ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-get-description"/>
- <function name="g_bookmark_file_get_mime_type ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-get-mime-type"/>
- <function name="g_bookmark_file_get_is_private ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-get-is-private"/>
- <function name="g_bookmark_file_get_icon ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-get-icon"/>
- <function name="g_bookmark_file_get_added ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-get-added"/>
- <function name="g_bookmark_file_get_modified ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-get-modified"/>
- <function name="g_bookmark_file_get_visited ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-get-visited"/>
- <function name="g_bookmark_file_get_groups ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-get-groups"/>
- <function name="g_bookmark_file_get_applications ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-get-applications"/>
- <function name="g_bookmark_file_get_app_info ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-get-app-info"/>
- <function name="g_bookmark_file_set_title ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-set-title"/>
- <function name="g_bookmark_file_set_description ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-set-description"/>
- <function name="g_bookmark_file_set_mime_type ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-set-mime-type"/>
- <function name="g_bookmark_file_set_is_private ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-set-is-private"/>
- <function name="g_bookmark_file_set_icon ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-set-icon"/>
- <function name="g_bookmark_file_set_added ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-set-added"/>
- <function name="g_bookmark_file_set_groups ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-set-groups"/>
- <function name="g_bookmark_file_set_modified ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-set-modified"/>
- <function name="g_bookmark_file_set_visited ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-set-visited"/>
- <function name="g_bookmark_file_set_app_info ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-set-app-info"/>
- <function name="g_bookmark_file_add_group ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-add-group"/>
- <function name="g_bookmark_file_add_application ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-add-application"/>
- <function name="g_bookmark_file_remove_group ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-remove-group"/>
- <function name="g_bookmark_file_remove_application ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-remove-application"/>
- <function name="g_bookmark_file_remove_item ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-remove-item"/>
- <function name="g_bookmark_file_move_item ()" link="glib-Bookmark-file-parser.html#g-bookmark-file-move-item"/>
- <function name="g_test_minimized_result ()" link="glib-Testing.html#g-test-minimized-result"/>
- <function name="g_test_maximized_result ()" link="glib-Testing.html#g-test-maximized-result"/>
- <function name="g_test_init ()" link="glib-Testing.html#g-test-init"/>
- <function name="g_test_quick()" link="glib-Testing.html#g-test-quick"/>
- <function name="g_test_slow()" link="glib-Testing.html#g-test-slow"/>
- <function name="g_test_thorough()" link="glib-Testing.html#g-test-thorough"/>
- <function name="g_test_perf()" link="glib-Testing.html#g-test-perf"/>
- <function name="g_test_verbose()" link="glib-Testing.html#g-test-verbose"/>
- <function name="g_test_quiet()" link="glib-Testing.html#g-test-quiet"/>
- <function name="g_test_run ()" link="glib-Testing.html#g-test-run"/>
- <function name="g_test_add_func ()" link="glib-Testing.html#g-test-add-func"/>
- <function name="g_test_add_data_func ()" link="glib-Testing.html#g-test-add-data-func"/>
- <function name="g_test_add()" link="glib-Testing.html#g-test-add"/>
- <function name="g_test_message ()" link="glib-Testing.html#g-test-message"/>
- <function name="g_test_bug_base ()" link="glib-Testing.html#g-test-bug-base"/>
- <function name="g_test_bug ()" link="glib-Testing.html#g-test-bug"/>
- <function name="GTestLogFatalFunc ()" link="glib-Testing.html#GTestLogFatalFunc"/>
- <function name="g_test_log_set_fatal_handler ()" link="glib-Testing.html#g-test-log-set-fatal-handler"/>
- <function name="g_test_timer_start ()" link="glib-Testing.html#g-test-timer-start"/>
- <function name="g_test_timer_elapsed ()" link="glib-Testing.html#g-test-timer-elapsed"/>
- <function name="g_test_timer_last ()" link="glib-Testing.html#g-test-timer-last"/>
- <function name="g_test_queue_free ()" link="glib-Testing.html#g-test-queue-free"/>
- <function name="g_test_queue_destroy ()" link="glib-Testing.html#g-test-queue-destroy"/>
- <function name="g_test_queue_unref()" link="glib-Testing.html#g-test-queue-unref"/>
- <function name="enum GTestTrapFlags" link="glib-Testing.html#GTestTrapFlags"/>
- <function name="g_test_trap_fork ()" link="glib-Testing.html#g-test-trap-fork"/>
- <function name="g_test_trap_has_passed ()" link="glib-Testing.html#g-test-trap-has-passed"/>
- <function name="g_test_trap_reached_timeout ()" link="glib-Testing.html#g-test-trap-reached-timeout"/>
- <function name="g_test_trap_assert_passed()" link="glib-Testing.html#g-test-trap-assert-passed"/>
- <function name="g_test_trap_assert_failed()" link="glib-Testing.html#g-test-trap-assert-failed"/>
- <function name="g_test_trap_assert_stdout()" link="glib-Testing.html#g-test-trap-assert-stdout"/>
- <function name="g_test_trap_assert_stdout_unmatched()" link="glib-Testing.html#g-test-trap-assert-stdout-unmatched"/>
- <function name="g_test_trap_assert_stderr()" link="glib-Testing.html#g-test-trap-assert-stderr"/>
- <function name="g_test_trap_assert_stderr_unmatched()" link="glib-Testing.html#g-test-trap-assert-stderr-unmatched"/>
- <function name="g_test_rand_bit()" link="glib-Testing.html#g-test-rand-bit"/>
- <function name="g_test_rand_int ()" link="glib-Testing.html#g-test-rand-int"/>
- <function name="g_test_rand_int_range ()" link="glib-Testing.html#g-test-rand-int-range"/>
- <function name="g_test_rand_double ()" link="glib-Testing.html#g-test-rand-double"/>
- <function name="g_test_rand_double_range ()" link="glib-Testing.html#g-test-rand-double-range"/>
- <function name="g_assert()" link="glib-Testing.html#g-assert"/>
- <function name="g_assert_not_reached()" link="glib-Testing.html#g-assert-not-reached"/>
- <function name="g_assert_cmpstr()" link="glib-Testing.html#g-assert-cmpstr"/>
- <function name="g_assert_cmpint()" link="glib-Testing.html#g-assert-cmpint"/>
- <function name="g_assert_cmpuint()" link="glib-Testing.html#g-assert-cmpuint"/>
- <function name="g_assert_cmphex()" link="glib-Testing.html#g-assert-cmphex"/>
- <function name="g_assert_cmpfloat()" link="glib-Testing.html#g-assert-cmpfloat"/>
- <function name="g_assert_no_error()" link="glib-Testing.html#g-assert-no-error"/>
- <function name="g_assert_error()" link="glib-Testing.html#g-assert-error"/>
- <function name="GTestCase" link="glib-Testing.html#GTestCase"/>
- <function name="GTestSuite" link="glib-Testing.html#GTestSuite"/>
- <function name="g_test_create_case ()" link="glib-Testing.html#g-test-create-case"/>
- <function name="g_test_create_suite ()" link="glib-Testing.html#g-test-create-suite"/>
- <function name="g_test_get_root ()" link="glib-Testing.html#g-test-get-root"/>
- <function name="g_test_suite_add ()" link="glib-Testing.html#g-test-suite-add"/>
- <function name="g_test_suite_add_suite ()" link="glib-Testing.html#g-test-suite-add-suite"/>
- <function name="g_test_run_suite ()" link="glib-Testing.html#g-test-run-suite"/>
- <function name="MAXPATHLEN" link="glib-Windows-Compatibility-Functions.html#MAXPATHLEN:CAPS"/>
- <function name="g_win32_error_message ()" link="glib-Windows-Compatibility-Functions.html#g-win32-error-message"/>
- <function name="g_win32_getlocale ()" link="glib-Windows-Compatibility-Functions.html#g-win32-getlocale"/>
- <function name="g_win32_get_package_installation_directory ()" link="glib-Windows-Compatibility-Functions.html#g-win32-get-package-installation-directory"/>
- <function name="g_win32_get_package_installation_directory_of_module ()" link="glib-Windows-Compatibility-Functions.html#g-win32-get-package-installation-directory-of-module"/>
- <function name="g_win32_get_package_installation_subdirectory ()" link="glib-Windows-Compatibility-Functions.html#g-win32-get-package-installation-subdirectory"/>
- <function name="g_win32_get_windows_version ()" link="glib-Windows-Compatibility-Functions.html#g-win32-get-windows-version"/>
- <function name="g_win32_locale_filename_from_utf8 ()" link="glib-Windows-Compatibility-Functions.html#g-win32-locale-filename-from-utf8"/>
- <function name="G_WIN32_DLLMAIN_FOR_DLL_NAME()" link="glib-Windows-Compatibility-Functions.html#G-WIN32-DLLMAIN-FOR-DLL-NAME:CAPS"/>
- <function name="G_WIN32_HAVE_WIDECHAR_API()" link="glib-Windows-Compatibility-Functions.html#G-WIN32-HAVE-WIDECHAR-API:CAPS"/>
- <function name="G_WIN32_IS_NT_BASED()" link="glib-Windows-Compatibility-Functions.html#G-WIN32-IS-NT-BASED:CAPS"/>
- <function name="g_slice_alloc ()" link="glib-Memory-Slices.html#g-slice-alloc"/>
- <function name="g_slice_alloc0 ()" link="glib-Memory-Slices.html#g-slice-alloc0"/>
- <function name="g_slice_copy ()" link="glib-Memory-Slices.html#g-slice-copy"/>
- <function name="g_slice_free1 ()" link="glib-Memory-Slices.html#g-slice-free1"/>
- <function name="g_slice_free_chain_with_offset ()" link="glib-Memory-Slices.html#g-slice-free-chain-with-offset"/>
- <function name="g_slice_new()" link="glib-Memory-Slices.html#g-slice-new"/>
- <function name="g_slice_new0()" link="glib-Memory-Slices.html#g-slice-new0"/>
- <function name="g_slice_dup()" link="glib-Memory-Slices.html#g-slice-dup"/>
- <function name="g_slice_free()" link="glib-Memory-Slices.html#g-slice-free"/>
- <function name="g_slice_free_chain()" link="glib-Memory-Slices.html#g-slice-free-chain"/>
- <function name="GMemChunk" link="glib-Memory-Chunks.html#GMemChunk"/>
- <function name="G_ALLOC_AND_FREE" link="glib-Memory-Chunks.html#G-ALLOC-AND-FREE:CAPS"/>
- <function name="G_ALLOC_ONLY" link="glib-Memory-Chunks.html#G-ALLOC-ONLY:CAPS"/>
- <function name="g_mem_chunk_new ()" link="glib-Memory-Chunks.html#g-mem-chunk-new"/>
- <function name="g_mem_chunk_alloc ()" link="glib-Memory-Chunks.html#g-mem-chunk-alloc"/>
- <function name="g_mem_chunk_alloc0 ()" link="glib-Memory-Chunks.html#g-mem-chunk-alloc0"/>
- <function name="g_mem_chunk_free ()" link="glib-Memory-Chunks.html#g-mem-chunk-free"/>
- <function name="g_mem_chunk_destroy ()" link="glib-Memory-Chunks.html#g-mem-chunk-destroy"/>
- <function name="g_mem_chunk_create()" link="glib-Memory-Chunks.html#g-mem-chunk-create"/>
- <function name="g_chunk_new()" link="glib-Memory-Chunks.html#g-chunk-new"/>
- <function name="g_chunk_new0()" link="glib-Memory-Chunks.html#g-chunk-new0"/>
- <function name="g_chunk_free()" link="glib-Memory-Chunks.html#g-chunk-free"/>
- <function name="g_mem_chunk_reset ()" link="glib-Memory-Chunks.html#g-mem-chunk-reset"/>
- <function name="g_mem_chunk_clean ()" link="glib-Memory-Chunks.html#g-mem-chunk-clean"/>
- <function name="g_blow_chunks ()" link="glib-Memory-Chunks.html#g-blow-chunks"/>
- <function name="g_mem_chunk_info ()" link="glib-Memory-Chunks.html#g-mem-chunk-info"/>
- <function name="g_mem_chunk_print ()" link="glib-Memory-Chunks.html#g-mem-chunk-print"/>
- <function name="GList" link="glib-Doubly-Linked-Lists.html#GList"/>
- <function name="g_list_append ()" link="glib-Doubly-Linked-Lists.html#g-list-append"/>
- <function name="g_list_prepend ()" link="glib-Doubly-Linked-Lists.html#g-list-prepend"/>
- <function name="g_list_insert ()" link="glib-Doubly-Linked-Lists.html#g-list-insert"/>
- <function name="g_list_insert_before ()" link="glib-Doubly-Linked-Lists.html#g-list-insert-before"/>
- <function name="g_list_insert_sorted ()" link="glib-Doubly-Linked-Lists.html#g-list-insert-sorted"/>
- <function name="g_list_remove ()" link="glib-Doubly-Linked-Lists.html#g-list-remove"/>
- <function name="g_list_remove_link ()" link="glib-Doubly-Linked-Lists.html#g-list-remove-link"/>
- <function name="g_list_delete_link ()" link="glib-Doubly-Linked-Lists.html#g-list-delete-link"/>
- <function name="g_list_remove_all ()" link="glib-Doubly-Linked-Lists.html#g-list-remove-all"/>
- <function name="g_list_free ()" link="glib-Doubly-Linked-Lists.html#g-list-free"/>
- <function name="g_list_alloc ()" link="glib-Doubly-Linked-Lists.html#g-list-alloc"/>
- <function name="g_list_free_1 ()" link="glib-Doubly-Linked-Lists.html#g-list-free-1"/>
- <function name="g_list_free1" link="glib-Doubly-Linked-Lists.html#g-list-free1"/>
- <function name="g_list_length ()" link="glib-Doubly-Linked-Lists.html#g-list-length"/>
- <function name="g_list_copy ()" link="glib-Doubly-Linked-Lists.html#g-list-copy"/>
- <function name="g_list_reverse ()" link="glib-Doubly-Linked-Lists.html#g-list-reverse"/>
- <function name="g_list_sort ()" link="glib-Doubly-Linked-Lists.html#g-list-sort"/>
- <function name="GCompareFunc ()" link="glib-Doubly-Linked-Lists.html#GCompareFunc"/>
- <function name="g_list_insert_sorted_with_data ()" link="glib-Doubly-Linked-Lists.html#g-list-insert-sorted-with-data"/>
- <function name="g_list_sort_with_data ()" link="glib-Doubly-Linked-Lists.html#g-list-sort-with-data"/>
- <function name="GCompareDataFunc ()" link="glib-Doubly-Linked-Lists.html#GCompareDataFunc"/>
- <function name="g_list_concat ()" link="glib-Doubly-Linked-Lists.html#g-list-concat"/>
- <function name="g_list_foreach ()" link="glib-Doubly-Linked-Lists.html#g-list-foreach"/>
- <function name="GFunc ()" link="glib-Doubly-Linked-Lists.html#GFunc"/>
- <function name="g_list_first ()" link="glib-Doubly-Linked-Lists.html#g-list-first"/>
- <function name="g_list_last ()" link="glib-Doubly-Linked-Lists.html#g-list-last"/>
- <function name="g_list_previous()" link="glib-Doubly-Linked-Lists.html#g-list-previous"/>
- <function name="g_list_next()" link="glib-Doubly-Linked-Lists.html#g-list-next"/>
- <function name="g_list_nth ()" link="glib-Doubly-Linked-Lists.html#g-list-nth"/>
- <function name="g_list_nth_data ()" link="glib-Doubly-Linked-Lists.html#g-list-nth-data"/>
- <function name="g_list_nth_prev ()" link="glib-Doubly-Linked-Lists.html#g-list-nth-prev"/>
- <function name="g_list_find ()" link="glib-Doubly-Linked-Lists.html#g-list-find"/>
- <function name="g_list_find_custom ()" link="glib-Doubly-Linked-Lists.html#g-list-find-custom"/>
- <function name="g_list_position ()" link="glib-Doubly-Linked-Lists.html#g-list-position"/>
- <function name="g_list_index ()" link="glib-Doubly-Linked-Lists.html#g-list-index"/>
- <function name="g_list_push_allocator ()" link="glib-Doubly-Linked-Lists.html#g-list-push-allocator"/>
- <function name="g_list_pop_allocator ()" link="glib-Doubly-Linked-Lists.html#g-list-pop-allocator"/>
- <function name="GSList" link="glib-Singly-Linked-Lists.html#GSList"/>
- <function name="g_slist_alloc ()" link="glib-Singly-Linked-Lists.html#g-slist-alloc"/>
- <function name="g_slist_append ()" link="glib-Singly-Linked-Lists.html#g-slist-append"/>
- <function name="g_slist_prepend ()" link="glib-Singly-Linked-Lists.html#g-slist-prepend"/>
- <function name="g_slist_insert ()" link="glib-Singly-Linked-Lists.html#g-slist-insert"/>
- <function name="g_slist_insert_before ()" link="glib-Singly-Linked-Lists.html#g-slist-insert-before"/>
- <function name="g_slist_insert_sorted ()" link="glib-Singly-Linked-Lists.html#g-slist-insert-sorted"/>
- <function name="g_slist_remove ()" link="glib-Singly-Linked-Lists.html#g-slist-remove"/>
- <function name="g_slist_remove_link ()" link="glib-Singly-Linked-Lists.html#g-slist-remove-link"/>
- <function name="g_slist_delete_link ()" link="glib-Singly-Linked-Lists.html#g-slist-delete-link"/>
- <function name="g_slist_remove_all ()" link="glib-Singly-Linked-Lists.html#g-slist-remove-all"/>
- <function name="g_slist_free ()" link="glib-Singly-Linked-Lists.html#g-slist-free"/>
- <function name="g_slist_free_1 ()" link="glib-Singly-Linked-Lists.html#g-slist-free-1"/>
- <function name="g_slist_free1" link="glib-Singly-Linked-Lists.html#g-slist-free1"/>
- <function name="g_slist_length ()" link="glib-Singly-Linked-Lists.html#g-slist-length"/>
- <function name="g_slist_copy ()" link="glib-Singly-Linked-Lists.html#g-slist-copy"/>
- <function name="g_slist_reverse ()" link="glib-Singly-Linked-Lists.html#g-slist-reverse"/>
- <function name="g_slist_insert_sorted_with_data ()" link="glib-Singly-Linked-Lists.html#g-slist-insert-sorted-with-data"/>
- <function name="g_slist_sort ()" link="glib-Singly-Linked-Lists.html#g-slist-sort"/>
- <function name="g_slist_sort_with_data ()" link="glib-Singly-Linked-Lists.html#g-slist-sort-with-data"/>
- <function name="g_slist_concat ()" link="glib-Singly-Linked-Lists.html#g-slist-concat"/>
- <function name="g_slist_foreach ()" link="glib-Singly-Linked-Lists.html#g-slist-foreach"/>
- <function name="g_slist_last ()" link="glib-Singly-Linked-Lists.html#g-slist-last"/>
- <function name="g_slist_next()" link="glib-Singly-Linked-Lists.html#g-slist-next"/>
- <function name="g_slist_nth ()" link="glib-Singly-Linked-Lists.html#g-slist-nth"/>
- <function name="g_slist_nth_data ()" link="glib-Singly-Linked-Lists.html#g-slist-nth-data"/>
- <function name="g_slist_find ()" link="glib-Singly-Linked-Lists.html#g-slist-find"/>
- <function name="g_slist_find_custom ()" link="glib-Singly-Linked-Lists.html#g-slist-find-custom"/>
- <function name="g_slist_position ()" link="glib-Singly-Linked-Lists.html#g-slist-position"/>
- <function name="g_slist_index ()" link="glib-Singly-Linked-Lists.html#g-slist-index"/>
- <function name="g_slist_push_allocator ()" link="glib-Singly-Linked-Lists.html#g-slist-push-allocator"/>
- <function name="g_slist_pop_allocator ()" link="glib-Singly-Linked-Lists.html#g-slist-pop-allocator"/>
- <function name="GQueue" link="glib-Double-ended-Queues.html#GQueue"/>
- <function name="g_queue_new ()" link="glib-Double-ended-Queues.html#g-queue-new"/>
- <function name="g_queue_free ()" link="glib-Double-ended-Queues.html#g-queue-free"/>
- <function name="G_QUEUE_INIT" link="glib-Double-ended-Queues.html#G-QUEUE-INIT:CAPS"/>
- <function name="g_queue_init ()" link="glib-Double-ended-Queues.html#g-queue-init"/>
- <function name="g_queue_clear ()" link="glib-Double-ended-Queues.html#g-queue-clear"/>
- <function name="g_queue_is_empty ()" link="glib-Double-ended-Queues.html#g-queue-is-empty"/>
- <function name="g_queue_get_length ()" link="glib-Double-ended-Queues.html#g-queue-get-length"/>
- <function name="g_queue_reverse ()" link="glib-Double-ended-Queues.html#g-queue-reverse"/>
- <function name="g_queue_copy ()" link="glib-Double-ended-Queues.html#g-queue-copy"/>
- <function name="g_queue_foreach ()" link="glib-Double-ended-Queues.html#g-queue-foreach"/>
- <function name="g_queue_find ()" link="glib-Double-ended-Queues.html#g-queue-find"/>
- <function name="g_queue_find_custom ()" link="glib-Double-ended-Queues.html#g-queue-find-custom"/>
- <function name="g_queue_sort ()" link="glib-Double-ended-Queues.html#g-queue-sort"/>
- <function name="g_queue_push_head ()" link="glib-Double-ended-Queues.html#g-queue-push-head"/>
- <function name="g_queue_push_tail ()" link="glib-Double-ended-Queues.html#g-queue-push-tail"/>
- <function name="g_queue_push_nth ()" link="glib-Double-ended-Queues.html#g-queue-push-nth"/>
- <function name="g_queue_pop_head ()" link="glib-Double-ended-Queues.html#g-queue-pop-head"/>
- <function name="g_queue_pop_tail ()" link="glib-Double-ended-Queues.html#g-queue-pop-tail"/>
- <function name="g_queue_pop_nth ()" link="glib-Double-ended-Queues.html#g-queue-pop-nth"/>
- <function name="g_queue_peek_head ()" link="glib-Double-ended-Queues.html#g-queue-peek-head"/>
- <function name="g_queue_peek_tail ()" link="glib-Double-ended-Queues.html#g-queue-peek-tail"/>
- <function name="g_queue_peek_nth ()" link="glib-Double-ended-Queues.html#g-queue-peek-nth"/>
- <function name="g_queue_index ()" link="glib-Double-ended-Queues.html#g-queue-index"/>
- <function name="g_queue_remove ()" link="glib-Double-ended-Queues.html#g-queue-remove"/>
- <function name="g_queue_remove_all ()" link="glib-Double-ended-Queues.html#g-queue-remove-all"/>
- <function name="g_queue_insert_before ()" link="glib-Double-ended-Queues.html#g-queue-insert-before"/>
- <function name="g_queue_insert_after ()" link="glib-Double-ended-Queues.html#g-queue-insert-after"/>
- <function name="g_queue_insert_sorted ()" link="glib-Double-ended-Queues.html#g-queue-insert-sorted"/>
- <function name="g_queue_push_head_link ()" link="glib-Double-ended-Queues.html#g-queue-push-head-link"/>
- <function name="g_queue_push_tail_link ()" link="glib-Double-ended-Queues.html#g-queue-push-tail-link"/>
- <function name="g_queue_push_nth_link ()" link="glib-Double-ended-Queues.html#g-queue-push-nth-link"/>
- <function name="g_queue_pop_head_link ()" link="glib-Double-ended-Queues.html#g-queue-pop-head-link"/>
- <function name="g_queue_pop_tail_link ()" link="glib-Double-ended-Queues.html#g-queue-pop-tail-link"/>
- <function name="g_queue_pop_nth_link ()" link="glib-Double-ended-Queues.html#g-queue-pop-nth-link"/>
- <function name="g_queue_peek_head_link ()" link="glib-Double-ended-Queues.html#g-queue-peek-head-link"/>
- <function name="g_queue_peek_tail_link ()" link="glib-Double-ended-Queues.html#g-queue-peek-tail-link"/>
- <function name="g_queue_peek_nth_link ()" link="glib-Double-ended-Queues.html#g-queue-peek-nth-link"/>
- <function name="g_queue_link_index ()" link="glib-Double-ended-Queues.html#g-queue-link-index"/>
- <function name="g_queue_unlink ()" link="glib-Double-ended-Queues.html#g-queue-unlink"/>
- <function name="g_queue_delete_link ()" link="glib-Double-ended-Queues.html#g-queue-delete-link"/>
- <function name="GSequence" link="glib-Sequences.html#GSequence"/>
- <function name="GSequenceIter" link="glib-Sequences.html#GSequenceIter"/>
- <function name="GSequenceIterCompareFunc ()" link="glib-Sequences.html#GSequenceIterCompareFunc"/>
- <function name="g_sequence_new ()" link="glib-Sequences.html#g-sequence-new"/>
- <function name="g_sequence_free ()" link="glib-Sequences.html#g-sequence-free"/>
- <function name="g_sequence_get_length ()" link="glib-Sequences.html#g-sequence-get-length"/>
- <function name="g_sequence_foreach ()" link="glib-Sequences.html#g-sequence-foreach"/>
- <function name="g_sequence_foreach_range ()" link="glib-Sequences.html#g-sequence-foreach-range"/>
- <function name="g_sequence_sort ()" link="glib-Sequences.html#g-sequence-sort"/>
- <function name="g_sequence_sort_iter ()" link="glib-Sequences.html#g-sequence-sort-iter"/>
- <function name="g_sequence_get_begin_iter ()" link="glib-Sequences.html#g-sequence-get-begin-iter"/>
- <function name="g_sequence_get_end_iter ()" link="glib-Sequences.html#g-sequence-get-end-iter"/>
- <function name="g_sequence_get_iter_at_pos ()" link="glib-Sequences.html#g-sequence-get-iter-at-pos"/>
- <function name="g_sequence_append ()" link="glib-Sequences.html#g-sequence-append"/>
- <function name="g_sequence_prepend ()" link="glib-Sequences.html#g-sequence-prepend"/>
- <function name="g_sequence_insert_before ()" link="glib-Sequences.html#g-sequence-insert-before"/>
- <function name="g_sequence_move ()" link="glib-Sequences.html#g-sequence-move"/>
- <function name="g_sequence_swap ()" link="glib-Sequences.html#g-sequence-swap"/>
- <function name="g_sequence_insert_sorted ()" link="glib-Sequences.html#g-sequence-insert-sorted"/>
- <function name="g_sequence_insert_sorted_iter ()" link="glib-Sequences.html#g-sequence-insert-sorted-iter"/>
- <function name="g_sequence_sort_changed ()" link="glib-Sequences.html#g-sequence-sort-changed"/>
- <function name="g_sequence_sort_changed_iter ()" link="glib-Sequences.html#g-sequence-sort-changed-iter"/>
- <function name="g_sequence_remove ()" link="glib-Sequences.html#g-sequence-remove"/>
- <function name="g_sequence_remove_range ()" link="glib-Sequences.html#g-sequence-remove-range"/>
- <function name="g_sequence_move_range ()" link="glib-Sequences.html#g-sequence-move-range"/>
- <function name="g_sequence_search ()" link="glib-Sequences.html#g-sequence-search"/>
- <function name="g_sequence_search_iter ()" link="glib-Sequences.html#g-sequence-search-iter"/>
- <function name="g_sequence_get ()" link="glib-Sequences.html#g-sequence-get"/>
- <function name="g_sequence_set ()" link="glib-Sequences.html#g-sequence-set"/>
- <function name="g_sequence_iter_is_begin ()" link="glib-Sequences.html#g-sequence-iter-is-begin"/>
- <function name="g_sequence_iter_is_end ()" link="glib-Sequences.html#g-sequence-iter-is-end"/>
- <function name="g_sequence_iter_next ()" link="glib-Sequences.html#g-sequence-iter-next"/>
- <function name="g_sequence_iter_prev ()" link="glib-Sequences.html#g-sequence-iter-prev"/>
- <function name="g_sequence_iter_get_position ()" link="glib-Sequences.html#g-sequence-iter-get-position"/>
- <function name="g_sequence_iter_move ()" link="glib-Sequences.html#g-sequence-iter-move"/>
- <function name="g_sequence_iter_get_sequence ()" link="glib-Sequences.html#g-sequence-iter-get-sequence"/>
- <function name="g_sequence_iter_compare ()" link="glib-Sequences.html#g-sequence-iter-compare"/>
- <function name="g_sequence_range_get_midpoint ()" link="glib-Sequences.html#g-sequence-range-get-midpoint"/>
- <function name="GTrashStack" link="glib-Trash-Stacks.html#GTrashStack"/>
- <function name="g_trash_stack_push ()" link="glib-Trash-Stacks.html#g-trash-stack-push"/>
- <function name="g_trash_stack_pop ()" link="glib-Trash-Stacks.html#g-trash-stack-pop"/>
- <function name="g_trash_stack_peek ()" link="glib-Trash-Stacks.html#g-trash-stack-peek"/>
- <function name="g_trash_stack_height ()" link="glib-Trash-Stacks.html#g-trash-stack-height"/>
- <function name="GHashTable" link="glib-Hash-Tables.html#GHashTable"/>
- <function name="g_hash_table_new ()" link="glib-Hash-Tables.html#g-hash-table-new"/>
- <function name="g_hash_table_new_full ()" link="glib-Hash-Tables.html#g-hash-table-new-full"/>
- <function name="GHashFunc ()" link="glib-Hash-Tables.html#GHashFunc"/>
- <function name="GEqualFunc ()" link="glib-Hash-Tables.html#GEqualFunc"/>
- <function name="g_hash_table_insert ()" link="glib-Hash-Tables.html#g-hash-table-insert"/>
- <function name="g_hash_table_replace ()" link="glib-Hash-Tables.html#g-hash-table-replace"/>
- <function name="g_hash_table_size ()" link="glib-Hash-Tables.html#g-hash-table-size"/>
- <function name="g_hash_table_lookup ()" link="glib-Hash-Tables.html#g-hash-table-lookup"/>
- <function name="g_hash_table_lookup_extended ()" link="glib-Hash-Tables.html#g-hash-table-lookup-extended"/>
- <function name="g_hash_table_foreach ()" link="glib-Hash-Tables.html#g-hash-table-foreach"/>
- <function name="g_hash_table_find ()" link="glib-Hash-Tables.html#g-hash-table-find"/>
- <function name="GHFunc ()" link="glib-Hash-Tables.html#GHFunc"/>
- <function name="g_hash_table_remove ()" link="glib-Hash-Tables.html#g-hash-table-remove"/>
- <function name="g_hash_table_steal ()" link="glib-Hash-Tables.html#g-hash-table-steal"/>
- <function name="g_hash_table_foreach_remove ()" link="glib-Hash-Tables.html#g-hash-table-foreach-remove"/>
- <function name="g_hash_table_foreach_steal ()" link="glib-Hash-Tables.html#g-hash-table-foreach-steal"/>
- <function name="g_hash_table_remove_all ()" link="glib-Hash-Tables.html#g-hash-table-remove-all"/>
- <function name="g_hash_table_steal_all ()" link="glib-Hash-Tables.html#g-hash-table-steal-all"/>
- <function name="g_hash_table_get_keys ()" link="glib-Hash-Tables.html#g-hash-table-get-keys"/>
- <function name="g_hash_table_get_values ()" link="glib-Hash-Tables.html#g-hash-table-get-values"/>
- <function name="GHRFunc ()" link="glib-Hash-Tables.html#GHRFunc"/>
- <function name="g_hash_table_freeze()" link="glib-Hash-Tables.html#g-hash-table-freeze"/>
- <function name="g_hash_table_thaw()" link="glib-Hash-Tables.html#g-hash-table-thaw"/>
- <function name="g_hash_table_destroy ()" link="glib-Hash-Tables.html#g-hash-table-destroy"/>
- <function name="g_hash_table_ref ()" link="glib-Hash-Tables.html#g-hash-table-ref"/>
- <function name="g_hash_table_unref ()" link="glib-Hash-Tables.html#g-hash-table-unref"/>
- <function name="GHashTableIter" link="glib-Hash-Tables.html#GHashTableIter"/>
- <function name="g_hash_table_iter_init ()" link="glib-Hash-Tables.html#g-hash-table-iter-init"/>
- <function name="g_hash_table_iter_next ()" link="glib-Hash-Tables.html#g-hash-table-iter-next"/>
- <function name="g_hash_table_iter_get_hash_table ()" link="glib-Hash-Tables.html#g-hash-table-iter-get-hash-table"/>
- <function name="g_hash_table_iter_remove ()" link="glib-Hash-Tables.html#g-hash-table-iter-remove"/>
- <function name="g_hash_table_iter_steal ()" link="glib-Hash-Tables.html#g-hash-table-iter-steal"/>
- <function name="g_direct_equal ()" link="glib-Hash-Tables.html#g-direct-equal"/>
- <function name="g_direct_hash ()" link="glib-Hash-Tables.html#g-direct-hash"/>
- <function name="g_int_equal ()" link="glib-Hash-Tables.html#g-int-equal"/>
- <function name="g_int_hash ()" link="glib-Hash-Tables.html#g-int-hash"/>
- <function name="g_int64_equal ()" link="glib-Hash-Tables.html#g-int64-equal"/>
- <function name="g_int64_hash ()" link="glib-Hash-Tables.html#g-int64-hash"/>
- <function name="g_double_equal ()" link="glib-Hash-Tables.html#g-double-equal"/>
- <function name="g_double_hash ()" link="glib-Hash-Tables.html#g-double-hash"/>
- <function name="g_str_equal ()" link="glib-Hash-Tables.html#g-str-equal"/>
- <function name="g_str_hash ()" link="glib-Hash-Tables.html#g-str-hash"/>
- <function name="GString" link="glib-Strings.html#GString"/>
- <function name="g_string_new ()" link="glib-Strings.html#g-string-new"/>
- <function name="g_string_new_len ()" link="glib-Strings.html#g-string-new-len"/>
- <function name="g_string_sized_new ()" link="glib-Strings.html#g-string-sized-new"/>
- <function name="g_string_assign ()" link="glib-Strings.html#g-string-assign"/>
- <function name="g_string_sprintf" link="glib-Strings.html#g-string-sprintf"/>
- <function name="g_string_sprintfa" link="glib-Strings.html#g-string-sprintfa"/>
- <function name="g_string_vprintf ()" link="glib-Strings.html#g-string-vprintf"/>
- <function name="g_string_append_vprintf ()" link="glib-Strings.html#g-string-append-vprintf"/>
- <function name="g_string_printf ()" link="glib-Strings.html#g-string-printf"/>
- <function name="g_string_append_printf ()" link="glib-Strings.html#g-string-append-printf"/>
- <function name="g_string_append ()" link="glib-Strings.html#g-string-append"/>
- <function name="g_string_append_c ()" link="glib-Strings.html#g-string-append-c"/>
- <function name="g_string_append_unichar ()" link="glib-Strings.html#g-string-append-unichar"/>
- <function name="g_string_append_len ()" link="glib-Strings.html#g-string-append-len"/>
- <function name="g_string_append_uri_escaped ()" link="glib-Strings.html#g-string-append-uri-escaped"/>
- <function name="g_string_prepend ()" link="glib-Strings.html#g-string-prepend"/>
- <function name="g_string_prepend_c ()" link="glib-Strings.html#g-string-prepend-c"/>
- <function name="g_string_prepend_unichar ()" link="glib-Strings.html#g-string-prepend-unichar"/>
- <function name="g_string_prepend_len ()" link="glib-Strings.html#g-string-prepend-len"/>
- <function name="g_string_insert ()" link="glib-Strings.html#g-string-insert"/>
- <function name="g_string_insert_c ()" link="glib-Strings.html#g-string-insert-c"/>
- <function name="g_string_insert_unichar ()" link="glib-Strings.html#g-string-insert-unichar"/>
- <function name="g_string_insert_len ()" link="glib-Strings.html#g-string-insert-len"/>
- <function name="g_string_overwrite ()" link="glib-Strings.html#g-string-overwrite"/>
- <function name="g_string_overwrite_len ()" link="glib-Strings.html#g-string-overwrite-len"/>
- <function name="g_string_erase ()" link="glib-Strings.html#g-string-erase"/>
- <function name="g_string_truncate ()" link="glib-Strings.html#g-string-truncate"/>
- <function name="g_string_set_size ()" link="glib-Strings.html#g-string-set-size"/>
- <function name="g_string_free ()" link="glib-Strings.html#g-string-free"/>
- <function name="g_string_up ()" link="glib-Strings.html#g-string-up"/>
- <function name="g_string_down ()" link="glib-Strings.html#g-string-down"/>
- <function name="g_string_hash ()" link="glib-Strings.html#g-string-hash"/>
- <function name="g_string_equal ()" link="glib-Strings.html#g-string-equal"/>
- <function name="GStringChunk" link="glib-String-Chunks.html#GStringChunk"/>
- <function name="g_string_chunk_new ()" link="glib-String-Chunks.html#g-string-chunk-new"/>
- <function name="g_string_chunk_insert ()" link="glib-String-Chunks.html#g-string-chunk-insert"/>
- <function name="g_string_chunk_insert_const ()" link="glib-String-Chunks.html#g-string-chunk-insert-const"/>
- <function name="g_string_chunk_insert_len ()" link="glib-String-Chunks.html#g-string-chunk-insert-len"/>
- <function name="g_string_chunk_clear ()" link="glib-String-Chunks.html#g-string-chunk-clear"/>
- <function name="g_string_chunk_free ()" link="glib-String-Chunks.html#g-string-chunk-free"/>
- <function name="GArray" link="glib-Arrays.html#GArray"/>
- <function name="g_array_new ()" link="glib-Arrays.html#g-array-new"/>
- <function name="g_array_sized_new ()" link="glib-Arrays.html#g-array-sized-new"/>
- <function name="g_array_ref ()" link="glib-Arrays.html#g-array-ref"/>
- <function name="g_array_unref ()" link="glib-Arrays.html#g-array-unref"/>
- <function name="g_array_get_element_size ()" link="glib-Arrays.html#g-array-get-element-size"/>
- <function name="g_array_append_val()" link="glib-Arrays.html#g-array-append-val"/>
- <function name="g_array_append_vals ()" link="glib-Arrays.html#g-array-append-vals"/>
- <function name="g_array_prepend_val()" link="glib-Arrays.html#g-array-prepend-val"/>
- <function name="g_array_prepend_vals ()" link="glib-Arrays.html#g-array-prepend-vals"/>
- <function name="g_array_insert_val()" link="glib-Arrays.html#g-array-insert-val"/>
- <function name="g_array_insert_vals ()" link="glib-Arrays.html#g-array-insert-vals"/>
- <function name="g_array_remove_index ()" link="glib-Arrays.html#g-array-remove-index"/>
- <function name="g_array_remove_index_fast ()" link="glib-Arrays.html#g-array-remove-index-fast"/>
- <function name="g_array_remove_range ()" link="glib-Arrays.html#g-array-remove-range"/>
- <function name="g_array_sort ()" link="glib-Arrays.html#g-array-sort"/>
- <function name="g_array_sort_with_data ()" link="glib-Arrays.html#g-array-sort-with-data"/>
- <function name="g_array_index()" link="glib-Arrays.html#g-array-index"/>
- <function name="g_array_set_size ()" link="glib-Arrays.html#g-array-set-size"/>
- <function name="g_array_free ()" link="glib-Arrays.html#g-array-free"/>
- <function name="GPtrArray" link="glib-Pointer-Arrays.html#GPtrArray"/>
- <function name="g_ptr_array_new ()" link="glib-Pointer-Arrays.html#g-ptr-array-new"/>
- <function name="g_ptr_array_sized_new ()" link="glib-Pointer-Arrays.html#g-ptr-array-sized-new"/>
- <function name="g_ptr_array_new_with_free_func ()" link="glib-Pointer-Arrays.html#g-ptr-array-new-with-free-func"/>
- <function name="g_ptr_array_set_free_func ()" link="glib-Pointer-Arrays.html#g-ptr-array-set-free-func"/>
- <function name="g_ptr_array_ref ()" link="glib-Pointer-Arrays.html#g-ptr-array-ref"/>
- <function name="g_ptr_array_unref ()" link="glib-Pointer-Arrays.html#g-ptr-array-unref"/>
- <function name="g_ptr_array_add ()" link="glib-Pointer-Arrays.html#g-ptr-array-add"/>
- <function name="g_ptr_array_remove ()" link="glib-Pointer-Arrays.html#g-ptr-array-remove"/>
- <function name="g_ptr_array_remove_index ()" link="glib-Pointer-Arrays.html#g-ptr-array-remove-index"/>
- <function name="g_ptr_array_remove_fast ()" link="glib-Pointer-Arrays.html#g-ptr-array-remove-fast"/>
- <function name="g_ptr_array_remove_index_fast ()" link="glib-Pointer-Arrays.html#g-ptr-array-remove-index-fast"/>
- <function name="g_ptr_array_remove_range ()" link="glib-Pointer-Arrays.html#g-ptr-array-remove-range"/>
- <function name="g_ptr_array_sort ()" link="glib-Pointer-Arrays.html#g-ptr-array-sort"/>
- <function name="g_ptr_array_sort_with_data ()" link="glib-Pointer-Arrays.html#g-ptr-array-sort-with-data"/>
- <function name="g_ptr_array_set_size ()" link="glib-Pointer-Arrays.html#g-ptr-array-set-size"/>
- <function name="g_ptr_array_index()" link="glib-Pointer-Arrays.html#g-ptr-array-index"/>
- <function name="g_ptr_array_free ()" link="glib-Pointer-Arrays.html#g-ptr-array-free"/>
- <function name="g_ptr_array_foreach ()" link="glib-Pointer-Arrays.html#g-ptr-array-foreach"/>
- <function name="GByteArray" link="glib-Byte-Arrays.html#GByteArray"/>
- <function name="g_byte_array_new ()" link="glib-Byte-Arrays.html#g-byte-array-new"/>
- <function name="g_byte_array_sized_new ()" link="glib-Byte-Arrays.html#g-byte-array-sized-new"/>
- <function name="g_byte_array_ref ()" link="glib-Byte-Arrays.html#g-byte-array-ref"/>
- <function name="g_byte_array_unref ()" link="glib-Byte-Arrays.html#g-byte-array-unref"/>
- <function name="g_byte_array_append ()" link="glib-Byte-Arrays.html#g-byte-array-append"/>
- <function name="g_byte_array_prepend ()" link="glib-Byte-Arrays.html#g-byte-array-prepend"/>
- <function name="g_byte_array_remove_index ()" link="glib-Byte-Arrays.html#g-byte-array-remove-index"/>
- <function name="g_byte_array_remove_index_fast ()" link="glib-Byte-Arrays.html#g-byte-array-remove-index-fast"/>
- <function name="g_byte_array_remove_range ()" link="glib-Byte-Arrays.html#g-byte-array-remove-range"/>
- <function name="g_byte_array_sort ()" link="glib-Byte-Arrays.html#g-byte-array-sort"/>
- <function name="g_byte_array_sort_with_data ()" link="glib-Byte-Arrays.html#g-byte-array-sort-with-data"/>
- <function name="g_byte_array_set_size ()" link="glib-Byte-Arrays.html#g-byte-array-set-size"/>
- <function name="g_byte_array_free ()" link="glib-Byte-Arrays.html#g-byte-array-free"/>
- <function name="GTree" link="glib-Balanced-Binary-Trees.html#GTree"/>
- <function name="g_tree_new ()" link="glib-Balanced-Binary-Trees.html#g-tree-new"/>
- <function name="g_tree_ref ()" link="glib-Balanced-Binary-Trees.html#g-tree-ref"/>
- <function name="g_tree_unref ()" link="glib-Balanced-Binary-Trees.html#g-tree-unref"/>
- <function name="g_tree_new_with_data ()" link="glib-Balanced-Binary-Trees.html#g-tree-new-with-data"/>
- <function name="g_tree_new_full ()" link="glib-Balanced-Binary-Trees.html#g-tree-new-full"/>
- <function name="g_tree_insert ()" link="glib-Balanced-Binary-Trees.html#g-tree-insert"/>
- <function name="g_tree_replace ()" link="glib-Balanced-Binary-Trees.html#g-tree-replace"/>
- <function name="g_tree_nnodes ()" link="glib-Balanced-Binary-Trees.html#g-tree-nnodes"/>
- <function name="g_tree_height ()" link="glib-Balanced-Binary-Trees.html#g-tree-height"/>
- <function name="g_tree_lookup ()" link="glib-Balanced-Binary-Trees.html#g-tree-lookup"/>
- <function name="g_tree_lookup_extended ()" link="glib-Balanced-Binary-Trees.html#g-tree-lookup-extended"/>
- <function name="g_tree_foreach ()" link="glib-Balanced-Binary-Trees.html#g-tree-foreach"/>
- <function name="g_tree_traverse ()" link="glib-Balanced-Binary-Trees.html#g-tree-traverse"/>
- <function name="GTraverseFunc ()" link="glib-Balanced-Binary-Trees.html#GTraverseFunc"/>
- <function name="enum GTraverseType" link="glib-Balanced-Binary-Trees.html#GTraverseType"/>
- <function name="g_tree_search ()" link="glib-Balanced-Binary-Trees.html#g-tree-search"/>
- <function name="g_tree_remove ()" link="glib-Balanced-Binary-Trees.html#g-tree-remove"/>
- <function name="g_tree_steal ()" link="glib-Balanced-Binary-Trees.html#g-tree-steal"/>
- <function name="g_tree_destroy ()" link="glib-Balanced-Binary-Trees.html#g-tree-destroy"/>
- <function name="GNode" link="glib-N-ary-Trees.html#GNode"/>
- <function name="g_node_new ()" link="glib-N-ary-Trees.html#g-node-new"/>
- <function name="g_node_copy ()" link="glib-N-ary-Trees.html#g-node-copy"/>
- <function name="GCopyFunc ()" link="glib-N-ary-Trees.html#GCopyFunc"/>
- <function name="g_node_copy_deep ()" link="glib-N-ary-Trees.html#g-node-copy-deep"/>
- <function name="g_node_insert ()" link="glib-N-ary-Trees.html#g-node-insert"/>
- <function name="g_node_insert_before ()" link="glib-N-ary-Trees.html#g-node-insert-before"/>
- <function name="g_node_insert_after ()" link="glib-N-ary-Trees.html#g-node-insert-after"/>
- <function name="g_node_append()" link="glib-N-ary-Trees.html#g-node-append"/>
- <function name="g_node_prepend ()" link="glib-N-ary-Trees.html#g-node-prepend"/>
- <function name="g_node_insert_data()" link="glib-N-ary-Trees.html#g-node-insert-data"/>
- <function name="g_node_insert_data_before()" link="glib-N-ary-Trees.html#g-node-insert-data-before"/>
- <function name="g_node_append_data()" link="glib-N-ary-Trees.html#g-node-append-data"/>
- <function name="g_node_prepend_data()" link="glib-N-ary-Trees.html#g-node-prepend-data"/>
- <function name="g_node_reverse_children ()" link="glib-N-ary-Trees.html#g-node-reverse-children"/>
- <function name="g_node_traverse ()" link="glib-N-ary-Trees.html#g-node-traverse"/>
- <function name="enum GTraverseFlags" link="glib-N-ary-Trees.html#GTraverseFlags"/>
- <function name="GNodeTraverseFunc ()" link="glib-N-ary-Trees.html#GNodeTraverseFunc"/>
- <function name="g_node_children_foreach ()" link="glib-N-ary-Trees.html#g-node-children-foreach"/>
- <function name="GNodeForeachFunc ()" link="glib-N-ary-Trees.html#GNodeForeachFunc"/>
- <function name="g_node_get_root ()" link="glib-N-ary-Trees.html#g-node-get-root"/>
- <function name="g_node_find ()" link="glib-N-ary-Trees.html#g-node-find"/>
- <function name="g_node_find_child ()" link="glib-N-ary-Trees.html#g-node-find-child"/>
- <function name="g_node_child_index ()" link="glib-N-ary-Trees.html#g-node-child-index"/>
- <function name="g_node_child_position ()" link="glib-N-ary-Trees.html#g-node-child-position"/>
- <function name="g_node_first_child()" link="glib-N-ary-Trees.html#g-node-first-child"/>
- <function name="g_node_last_child ()" link="glib-N-ary-Trees.html#g-node-last-child"/>
- <function name="g_node_nth_child ()" link="glib-N-ary-Trees.html#g-node-nth-child"/>
- <function name="g_node_first_sibling ()" link="glib-N-ary-Trees.html#g-node-first-sibling"/>
- <function name="g_node_next_sibling()" link="glib-N-ary-Trees.html#g-node-next-sibling"/>
- <function name="g_node_prev_sibling()" link="glib-N-ary-Trees.html#g-node-prev-sibling"/>
- <function name="g_node_last_sibling ()" link="glib-N-ary-Trees.html#g-node-last-sibling"/>
- <function name="G_NODE_IS_LEAF()" link="glib-N-ary-Trees.html#G-NODE-IS-LEAF:CAPS"/>
- <function name="G_NODE_IS_ROOT()" link="glib-N-ary-Trees.html#G-NODE-IS-ROOT:CAPS"/>
- <function name="g_node_depth ()" link="glib-N-ary-Trees.html#g-node-depth"/>
- <function name="g_node_n_nodes ()" link="glib-N-ary-Trees.html#g-node-n-nodes"/>
- <function name="g_node_n_children ()" link="glib-N-ary-Trees.html#g-node-n-children"/>
- <function name="g_node_is_ancestor ()" link="glib-N-ary-Trees.html#g-node-is-ancestor"/>
- <function name="g_node_max_height ()" link="glib-N-ary-Trees.html#g-node-max-height"/>
- <function name="g_node_unlink ()" link="glib-N-ary-Trees.html#g-node-unlink"/>
- <function name="g_node_destroy ()" link="glib-N-ary-Trees.html#g-node-destroy"/>
- <function name="g_node_push_allocator ()" link="glib-N-ary-Trees.html#g-node-push-allocator"/>
- <function name="g_node_pop_allocator ()" link="glib-N-ary-Trees.html#g-node-pop-allocator"/>
- <function name="GQuark" link="glib-Quarks.html#GQuark"/>
- <function name="g_quark_from_string ()" link="glib-Quarks.html#g-quark-from-string"/>
- <function name="g_quark_from_static_string ()" link="glib-Quarks.html#g-quark-from-static-string"/>
- <function name="g_quark_to_string ()" link="glib-Quarks.html#g-quark-to-string"/>
- <function name="g_quark_try_string ()" link="glib-Quarks.html#g-quark-try-string"/>
- <function name="g_intern_string ()" link="glib-Quarks.html#g-intern-string"/>
- <function name="g_intern_static_string ()" link="glib-Quarks.html#g-intern-static-string"/>
- <function name="GData" link="glib-Keyed-Data-Lists.html#GData"/>
- <function name="g_datalist_init ()" link="glib-Keyed-Data-Lists.html#g-datalist-init"/>
- <function name="g_datalist_id_set_data()" link="glib-Keyed-Data-Lists.html#g-datalist-id-set-data"/>
- <function name="g_datalist_id_set_data_full ()" link="glib-Keyed-Data-Lists.html#g-datalist-id-set-data-full"/>
- <function name="g_datalist_id_get_data ()" link="glib-Keyed-Data-Lists.html#g-datalist-id-get-data"/>
- <function name="g_datalist_id_remove_data()" link="glib-Keyed-Data-Lists.html#g-datalist-id-remove-data"/>
- <function name="g_datalist_id_remove_no_notify ()" link="glib-Keyed-Data-Lists.html#g-datalist-id-remove-no-notify"/>
- <function name="g_datalist_set_data()" link="glib-Keyed-Data-Lists.html#g-datalist-set-data"/>
- <function name="g_datalist_set_data_full()" link="glib-Keyed-Data-Lists.html#g-datalist-set-data-full"/>
- <function name="g_datalist_get_data()" link="glib-Keyed-Data-Lists.html#g-datalist-get-data"/>
- <function name="g_datalist_remove_data()" link="glib-Keyed-Data-Lists.html#g-datalist-remove-data"/>
- <function name="g_datalist_remove_no_notify()" link="glib-Keyed-Data-Lists.html#g-datalist-remove-no-notify"/>
- <function name="g_datalist_foreach ()" link="glib-Keyed-Data-Lists.html#g-datalist-foreach"/>
- <function name="g_datalist_clear ()" link="glib-Keyed-Data-Lists.html#g-datalist-clear"/>
- <function name="g_datalist_set_flags ()" link="glib-Keyed-Data-Lists.html#g-datalist-set-flags"/>
- <function name="g_datalist_unset_flags ()" link="glib-Keyed-Data-Lists.html#g-datalist-unset-flags"/>
- <function name="g_datalist_get_flags ()" link="glib-Keyed-Data-Lists.html#g-datalist-get-flags"/>
- <function name="G_DATALIST_FLAGS_MASK" link="glib-Keyed-Data-Lists.html#G-DATALIST-FLAGS-MASK:CAPS"/>
- <function name="g_dataset_id_set_data()" link="glib-Datasets.html#g-dataset-id-set-data"/>
- <function name="g_dataset_id_set_data_full ()" link="glib-Datasets.html#g-dataset-id-set-data-full"/>
- <function name="GDestroyNotify ()" link="glib-Datasets.html#GDestroyNotify"/>
- <function name="g_dataset_id_get_data ()" link="glib-Datasets.html#g-dataset-id-get-data"/>
- <function name="g_dataset_id_remove_data()" link="glib-Datasets.html#g-dataset-id-remove-data"/>
- <function name="g_dataset_id_remove_no_notify ()" link="glib-Datasets.html#g-dataset-id-remove-no-notify"/>
- <function name="g_dataset_set_data()" link="glib-Datasets.html#g-dataset-set-data"/>
- <function name="g_dataset_set_data_full()" link="glib-Datasets.html#g-dataset-set-data-full"/>
- <function name="g_dataset_get_data()" link="glib-Datasets.html#g-dataset-get-data"/>
- <function name="g_dataset_remove_data()" link="glib-Datasets.html#g-dataset-remove-data"/>
- <function name="g_dataset_remove_no_notify()" link="glib-Datasets.html#g-dataset-remove-no-notify"/>
- <function name="g_dataset_foreach ()" link="glib-Datasets.html#g-dataset-foreach"/>
- <function name="GDataForeachFunc ()" link="glib-Datasets.html#GDataForeachFunc"/>
- <function name="g_dataset_destroy ()" link="glib-Datasets.html#g-dataset-destroy"/>
- <function name="GRelation" link="glib-Relations-and-Tuples.html#GRelation"/>
- <function name="g_relation_new ()" link="glib-Relations-and-Tuples.html#g-relation-new"/>
- <function name="g_relation_index ()" link="glib-Relations-and-Tuples.html#g-relation-index"/>
- <function name="g_relation_insert ()" link="glib-Relations-and-Tuples.html#g-relation-insert"/>
- <function name="g_relation_exists ()" link="glib-Relations-and-Tuples.html#g-relation-exists"/>
- <function name="g_relation_count ()" link="glib-Relations-and-Tuples.html#g-relation-count"/>
- <function name="g_relation_select ()" link="glib-Relations-and-Tuples.html#g-relation-select"/>
- <function name="g_relation_delete ()" link="glib-Relations-and-Tuples.html#g-relation-delete"/>
- <function name="g_relation_destroy ()" link="glib-Relations-and-Tuples.html#g-relation-destroy"/>
- <function name="g_relation_print ()" link="glib-Relations-and-Tuples.html#g-relation-print"/>
- <function name="GTuples" link="glib-Relations-and-Tuples.html#GTuples"/>
- <function name="g_tuples_destroy ()" link="glib-Relations-and-Tuples.html#g-tuples-destroy"/>
- <function name="g_tuples_index ()" link="glib-Relations-and-Tuples.html#g-tuples-index"/>
- <function name="GCache" link="glib-Caches.html#GCache"/>
- <function name="g_cache_new ()" link="glib-Caches.html#g-cache-new"/>
- <function name="g_cache_insert ()" link="glib-Caches.html#g-cache-insert"/>
- <function name="g_cache_remove ()" link="glib-Caches.html#g-cache-remove"/>
- <function name="g_cache_destroy ()" link="glib-Caches.html#g-cache-destroy"/>
- <function name="g_cache_key_foreach ()" link="glib-Caches.html#g-cache-key-foreach"/>
- <function name="g_cache_value_foreach ()" link="glib-Caches.html#g-cache-value-foreach"/>
- <function name="GCacheDestroyFunc ()" link="glib-Caches.html#GCacheDestroyFunc"/>
- <function name="GCacheDupFunc ()" link="glib-Caches.html#GCacheDupFunc"/>
- <function name="GCacheNewFunc ()" link="glib-Caches.html#GCacheNewFunc"/>
- <function name="GAllocator" link="glib-Memory-Allocators.html#GAllocator"/>
- <function name="g_allocator_new ()" link="glib-Memory-Allocators.html#g-allocator-new"/>
- <function name="g_allocator_free ()" link="glib-Memory-Allocators.html#g-allocator-free"/>
- <function name="GVariant Type Strings" link="glib-GVariantType.html#gvariant-typestrings"/>
- <function name="GVariantType" link="glib-GVariantType.html#GVariantType"/>
- <function name="G_VARIANT_TYPE_BOOLEAN" link="glib-GVariantType.html#G-VARIANT-TYPE-BOOLEAN:CAPS"/>
- <function name="G_VARIANT_TYPE_BYTE" link="glib-GVariantType.html#G-VARIANT-TYPE-BYTE:CAPS"/>
- <function name="G_VARIANT_TYPE_INT16" link="glib-GVariantType.html#G-VARIANT-TYPE-INT16:CAPS"/>
- <function name="G_VARIANT_TYPE_UINT16" link="glib-GVariantType.html#G-VARIANT-TYPE-UINT16:CAPS"/>
- <function name="G_VARIANT_TYPE_INT32" link="glib-GVariantType.html#G-VARIANT-TYPE-INT32:CAPS"/>
- <function name="G_VARIANT_TYPE_UINT32" link="glib-GVariantType.html#G-VARIANT-TYPE-UINT32:CAPS"/>
- <function name="G_VARIANT_TYPE_INT64" link="glib-GVariantType.html#G-VARIANT-TYPE-INT64:CAPS"/>
- <function name="G_VARIANT_TYPE_UINT64" link="glib-GVariantType.html#G-VARIANT-TYPE-UINT64:CAPS"/>
- <function name="G_VARIANT_TYPE_HANDLE" link="glib-GVariantType.html#G-VARIANT-TYPE-HANDLE:CAPS"/>
- <function name="G_VARIANT_TYPE_DOUBLE" link="glib-GVariantType.html#G-VARIANT-TYPE-DOUBLE:CAPS"/>
- <function name="G_VARIANT_TYPE_STRING" link="glib-GVariantType.html#G-VARIANT-TYPE-STRING:CAPS"/>
- <function name="G_VARIANT_TYPE_OBJECT_PATH" link="glib-GVariantType.html#G-VARIANT-TYPE-OBJECT-PATH:CAPS"/>
- <function name="G_VARIANT_TYPE_SIGNATURE" link="glib-GVariantType.html#G-VARIANT-TYPE-SIGNATURE:CAPS"/>
- <function name="G_VARIANT_TYPE_VARIANT" link="glib-GVariantType.html#G-VARIANT-TYPE-VARIANT:CAPS"/>
- <function name="G_VARIANT_TYPE_ANY" link="glib-GVariantType.html#G-VARIANT-TYPE-ANY:CAPS"/>
- <function name="G_VARIANT_TYPE_BASIC" link="glib-GVariantType.html#G-VARIANT-TYPE-BASIC:CAPS"/>
- <function name="G_VARIANT_TYPE_MAYBE" link="glib-GVariantType.html#G-VARIANT-TYPE-MAYBE:CAPS"/>
- <function name="G_VARIANT_TYPE_ARRAY" link="glib-GVariantType.html#G-VARIANT-TYPE-ARRAY:CAPS"/>
- <function name="G_VARIANT_TYPE_TUPLE" link="glib-GVariantType.html#G-VARIANT-TYPE-TUPLE:CAPS"/>
- <function name="G_VARIANT_TYPE_UNIT" link="glib-GVariantType.html#G-VARIANT-TYPE-UNIT:CAPS"/>
- <function name="G_VARIANT_TYPE_DICT_ENTRY" link="glib-GVariantType.html#G-VARIANT-TYPE-DICT-ENTRY:CAPS"/>
- <function name="G_VARIANT_TYPE_DICTIONARY" link="glib-GVariantType.html#G-VARIANT-TYPE-DICTIONARY:CAPS"/>
- <function name="G_VARIANT_TYPE()" link="glib-GVariantType.html#G-VARIANT-TYPE:CAPS"/>
- <function name="g_variant_type_free ()" link="glib-GVariantType.html#g-variant-type-free"/>
- <function name="g_variant_type_copy ()" link="glib-GVariantType.html#g-variant-type-copy"/>
- <function name="g_variant_type_new ()" link="glib-GVariantType.html#g-variant-type-new"/>
- <function name="g_variant_type_string_is_valid ()" link="glib-GVariantType.html#g-variant-type-string-is-valid"/>
- <function name="g_variant_type_string_scan ()" link="glib-GVariantType.html#g-variant-type-string-scan"/>
- <function name="g_variant_type_get_string_length ()" link="glib-GVariantType.html#g-variant-type-get-string-length"/>
- <function name="g_variant_type_peek_string ()" link="glib-GVariantType.html#g-variant-type-peek-string"/>
- <function name="g_variant_type_dup_string ()" link="glib-GVariantType.html#g-variant-type-dup-string"/>
- <function name="g_variant_type_is_definite ()" link="glib-GVariantType.html#g-variant-type-is-definite"/>
- <function name="g_variant_type_is_container ()" link="glib-GVariantType.html#g-variant-type-is-container"/>
- <function name="g_variant_type_is_basic ()" link="glib-GVariantType.html#g-variant-type-is-basic"/>
- <function name="g_variant_type_is_maybe ()" link="glib-GVariantType.html#g-variant-type-is-maybe"/>
- <function name="g_variant_type_is_array ()" link="glib-GVariantType.html#g-variant-type-is-array"/>
- <function name="g_variant_type_is_tuple ()" link="glib-GVariantType.html#g-variant-type-is-tuple"/>
- <function name="g_variant_type_is_dict_entry ()" link="glib-GVariantType.html#g-variant-type-is-dict-entry"/>
- <function name="g_variant_type_is_variant ()" link="glib-GVariantType.html#g-variant-type-is-variant"/>
- <function name="g_variant_type_hash ()" link="glib-GVariantType.html#g-variant-type-hash"/>
- <function name="g_variant_type_equal ()" link="glib-GVariantType.html#g-variant-type-equal"/>
- <function name="g_variant_type_is_subtype_of ()" link="glib-GVariantType.html#g-variant-type-is-subtype-of"/>
- <function name="g_variant_type_new_maybe ()" link="glib-GVariantType.html#g-variant-type-new-maybe"/>
- <function name="g_variant_type_new_array ()" link="glib-GVariantType.html#g-variant-type-new-array"/>
- <function name="g_variant_type_new_tuple ()" link="glib-GVariantType.html#g-variant-type-new-tuple"/>
- <function name="g_variant_type_new_dict_entry ()" link="glib-GVariantType.html#g-variant-type-new-dict-entry"/>
- <function name="g_variant_type_element ()" link="glib-GVariantType.html#g-variant-type-element"/>
- <function name="g_variant_type_n_items ()" link="glib-GVariantType.html#g-variant-type-n-items"/>
- <function name="g_variant_type_first ()" link="glib-GVariantType.html#g-variant-type-first"/>
- <function name="g_variant_type_next ()" link="glib-GVariantType.html#g-variant-type-next"/>
- <function name="g_variant_type_key ()" link="glib-GVariantType.html#g-variant-type-key"/>
- <function name="g_variant_type_value ()" link="glib-GVariantType.html#g-variant-type-value"/>
- <function name="Memory Use" link="glib-GVariant.html#id816906"/>
- <function name="GVariant" link="glib-GVariant.html#GVariant"/>
- <function name="g_variant_unref ()" link="glib-GVariant.html#g-variant-unref"/>
- <function name="g_variant_ref ()" link="glib-GVariant.html#g-variant-ref"/>
- <function name="g_variant_ref_sink ()" link="glib-GVariant.html#g-variant-ref-sink"/>
- <function name="g_variant_get_type ()" link="glib-GVariant.html#g-variant-get-type"/>
- <function name="g_variant_get_type_string ()" link="glib-GVariant.html#g-variant-get-type-string"/>
- <function name="g_variant_is_of_type ()" link="glib-GVariant.html#g-variant-is-of-type"/>
- <function name="g_variant_is_container ()" link="glib-GVariant.html#g-variant-is-container"/>
- <function name="g_variant_classify ()" link="glib-GVariant.html#g-variant-classify"/>
- <function name="enum GVariantClass" link="glib-GVariant.html#GVariantClass"/>
- <function name="g_variant_get ()" link="glib-GVariant.html#g-variant-get"/>
- <function name="g_variant_get_va ()" link="glib-GVariant.html#g-variant-get-va"/>
- <function name="g_variant_new ()" link="glib-GVariant.html#g-variant-new"/>
- <function name="g_variant_new_va ()" link="glib-GVariant.html#g-variant-new-va"/>
- <function name="g_variant_new_boolean ()" link="glib-GVariant.html#g-variant-new-boolean"/>
- <function name="g_variant_new_byte ()" link="glib-GVariant.html#g-variant-new-byte"/>
- <function name="g_variant_new_int16 ()" link="glib-GVariant.html#g-variant-new-int16"/>
- <function name="g_variant_new_uint16 ()" link="glib-GVariant.html#g-variant-new-uint16"/>
- <function name="g_variant_new_int32 ()" link="glib-GVariant.html#g-variant-new-int32"/>
- <function name="g_variant_new_uint32 ()" link="glib-GVariant.html#g-variant-new-uint32"/>
- <function name="g_variant_new_int64 ()" link="glib-GVariant.html#g-variant-new-int64"/>
- <function name="g_variant_new_uint64 ()" link="glib-GVariant.html#g-variant-new-uint64"/>
- <function name="g_variant_new_handle ()" link="glib-GVariant.html#g-variant-new-handle"/>
- <function name="g_variant_new_double ()" link="glib-GVariant.html#g-variant-new-double"/>
- <function name="g_variant_new_string ()" link="glib-GVariant.html#g-variant-new-string"/>
- <function name="g_variant_new_object_path ()" link="glib-GVariant.html#g-variant-new-object-path"/>
- <function name="g_variant_is_object_path ()" link="glib-GVariant.html#g-variant-is-object-path"/>
- <function name="g_variant_new_signature ()" link="glib-GVariant.html#g-variant-new-signature"/>
- <function name="g_variant_is_signature ()" link="glib-GVariant.html#g-variant-is-signature"/>
- <function name="g_variant_new_variant ()" link="glib-GVariant.html#g-variant-new-variant"/>
- <function name="g_variant_new_strv ()" link="glib-GVariant.html#g-variant-new-strv"/>
- <function name="g_variant_get_boolean ()" link="glib-GVariant.html#g-variant-get-boolean"/>
- <function name="g_variant_get_byte ()" link="glib-GVariant.html#g-variant-get-byte"/>
- <function name="g_variant_get_int16 ()" link="glib-GVariant.html#g-variant-get-int16"/>
- <function name="g_variant_get_uint16 ()" link="glib-GVariant.html#g-variant-get-uint16"/>
- <function name="g_variant_get_int32 ()" link="glib-GVariant.html#g-variant-get-int32"/>
- <function name="g_variant_get_uint32 ()" link="glib-GVariant.html#g-variant-get-uint32"/>
- <function name="g_variant_get_int64 ()" link="glib-GVariant.html#g-variant-get-int64"/>
- <function name="g_variant_get_uint64 ()" link="glib-GVariant.html#g-variant-get-uint64"/>
- <function name="g_variant_get_handle ()" link="glib-GVariant.html#g-variant-get-handle"/>
- <function name="g_variant_get_double ()" link="glib-GVariant.html#g-variant-get-double"/>
- <function name="g_variant_get_string ()" link="glib-GVariant.html#g-variant-get-string"/>
- <function name="g_variant_dup_string ()" link="glib-GVariant.html#g-variant-dup-string"/>
- <function name="g_variant_get_variant ()" link="glib-GVariant.html#g-variant-get-variant"/>
- <function name="g_variant_get_strv ()" link="glib-GVariant.html#g-variant-get-strv"/>
- <function name="g_variant_dup_strv ()" link="glib-GVariant.html#g-variant-dup-strv"/>
- <function name="g_variant_new_maybe ()" link="glib-GVariant.html#g-variant-new-maybe"/>
- <function name="g_variant_new_array ()" link="glib-GVariant.html#g-variant-new-array"/>
- <function name="g_variant_new_tuple ()" link="glib-GVariant.html#g-variant-new-tuple"/>
- <function name="g_variant_new_dict_entry ()" link="glib-GVariant.html#g-variant-new-dict-entry"/>
- <function name="g_variant_get_maybe ()" link="glib-GVariant.html#g-variant-get-maybe"/>
- <function name="g_variant_n_children ()" link="glib-GVariant.html#g-variant-n-children"/>
- <function name="g_variant_get_child_value ()" link="glib-GVariant.html#g-variant-get-child-value"/>
- <function name="g_variant_get_child ()" link="glib-GVariant.html#g-variant-get-child"/>
- <function name="g_variant_get_fixed_array ()" link="glib-GVariant.html#g-variant-get-fixed-array"/>
- <function name="g_variant_get_size ()" link="glib-GVariant.html#g-variant-get-size"/>
- <function name="g_variant_get_data ()" link="glib-GVariant.html#g-variant-get-data"/>
- <function name="g_variant_store ()" link="glib-GVariant.html#g-variant-store"/>
- <function name="g_variant_new_from_data ()" link="glib-GVariant.html#g-variant-new-from-data"/>
- <function name="g_variant_byteswap ()" link="glib-GVariant.html#g-variant-byteswap"/>
- <function name="g_variant_get_normal_form ()" link="glib-GVariant.html#g-variant-get-normal-form"/>
- <function name="g_variant_is_normal_form ()" link="glib-GVariant.html#g-variant-is-normal-form"/>
- <function name="g_variant_hash ()" link="glib-GVariant.html#g-variant-hash"/>
- <function name="g_variant_equal ()" link="glib-GVariant.html#g-variant-equal"/>
- <function name="g_variant_print ()" link="glib-GVariant.html#g-variant-print"/>
- <function name="g_variant_print_string ()" link="glib-GVariant.html#g-variant-print-string"/>
- <function name="GVariantIter" link="glib-GVariant.html#GVariantIter"/>
- <function name="g_variant_iter_copy ()" link="glib-GVariant.html#g-variant-iter-copy"/>
- <function name="g_variant_iter_free ()" link="glib-GVariant.html#g-variant-iter-free"/>
- <function name="g_variant_iter_init ()" link="glib-GVariant.html#g-variant-iter-init"/>
- <function name="g_variant_iter_n_children ()" link="glib-GVariant.html#g-variant-iter-n-children"/>
- <function name="g_variant_iter_new ()" link="glib-GVariant.html#g-variant-iter-new"/>
- <function name="g_variant_iter_next_value ()" link="glib-GVariant.html#g-variant-iter-next-value"/>
- <function name="g_variant_iter_next ()" link="glib-GVariant.html#g-variant-iter-next"/>
- <function name="g_variant_iter_loop ()" link="glib-GVariant.html#g-variant-iter-loop"/>
- <function name="GVariantBuilder" link="glib-GVariant.html#GVariantBuilder"/>
- <function name="g_variant_builder_unref ()" link="glib-GVariant.html#g-variant-builder-unref"/>
- <function name="g_variant_builder_ref ()" link="glib-GVariant.html#g-variant-builder-ref"/>
- <function name="g_variant_builder_new ()" link="glib-GVariant.html#g-variant-builder-new"/>
- <function name="g_variant_builder_init ()" link="glib-GVariant.html#g-variant-builder-init"/>
- <function name="g_variant_builder_clear ()" link="glib-GVariant.html#g-variant-builder-clear"/>
- <function name="g_variant_builder_add_value ()" link="glib-GVariant.html#g-variant-builder-add-value"/>
- <function name="g_variant_builder_add ()" link="glib-GVariant.html#g-variant-builder-add"/>
- <function name="g_variant_builder_end ()" link="glib-GVariant.html#g-variant-builder-end"/>
- <function name="g_variant_builder_open ()" link="glib-GVariant.html#g-variant-builder-open"/>
- <function name="g_variant_builder_close ()" link="glib-GVariant.html#g-variant-builder-close"/>
- <function name="G_VARIANT_PARSE_ERROR" link="glib-GVariant.html#G-VARIANT-PARSE-ERROR:CAPS"/>
- <function name="g_variant_parse ()" link="glib-GVariant.html#g-variant-parse"/>
- <function name="g_variant_new_parsed_va ()" link="glib-GVariant.html#g-variant-new-parsed-va"/>
- <function name="g_variant_new_parsed ()" link="glib-GVariant.html#g-variant-new-parsed"/>
- <function name="Numeric Types" link="gvariant-format-strings.html#gvariant-format-strings-numeric-types"/>
- <function name="Strings" link="gvariant-format-strings.html#gvariant-format-strings-strings"/>
- <function name="Variants" link="gvariant-format-strings.html#gvariant-format-strings-variants"/>
- <function name="Arrays" link="gvariant-format-strings.html#gvariant-format-strings-arrays"/>
- <function name="Maybe Types" link="gvariant-format-strings.html#gvariant-format-strings-maybe-types"/>
- <function name="Tuples" link="gvariant-format-strings.html#gvariant-format-strings-tuples"/>
- <function name="Dictionaries" link="gvariant-format-strings.html#gvariant-format-strings-dictionaries"/>
- <function name="GVariant *" link="gvariant-format-strings.html#gvariant-format-strings-gvariant"/>
- <function name="Pointers" link="gvariant-format-strings.html#gvariant-format-strings-pointers"/>
- <function name="Convenience Conversions" link="gvariant-format-strings.html#gvariant-format-strings-convenience"/>
- <function name="Options" link="glib-gettextize.html#id684215"/>
- <function name="Options" link="gtester.html#id593115"/>
- <function name="Options" link="gtester-report.html#id476820"/>
- </functions>
-</book>
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Memory Allocators
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GAllocator ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_allocator_new ##### -->
-<para>
-
-</para>
-
-@name:
-@n_preallocs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_allocator_free ##### -->
-<para>
-
-</para>
-
-@allocator:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Arrays
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GArray ##### -->
-<para>
-
-</para>
-
-@data:
-@len:
-
-<!-- ##### FUNCTION g_array_new ##### -->
-<para>
-
-</para>
-
-@zero_terminated:
-@clear_:
-@element_size:
-@Returns:
-
-
-<!-- ##### FUNCTION g_array_sized_new ##### -->
-<para>
-
-</para>
-
-@zero_terminated:
-@clear_:
-@element_size:
-@reserved_size:
-@Returns:
-
-
-<!-- ##### FUNCTION g_array_ref ##### -->
-<para>
-
-</para>
-
-@array:
-@Returns:
-
-
-<!-- ##### FUNCTION g_array_unref ##### -->
-<para>
-
-</para>
-
-@array:
-
-
-<!-- ##### FUNCTION g_array_get_element_size ##### -->
-<para>
-
-</para>
-
-@array:
-@Returns:
-
-
-<!-- ##### MACRO g_array_append_val ##### -->
-<para>
-
-</para>
-
-@a:
-@v:
-
-
-<!-- ##### FUNCTION g_array_append_vals ##### -->
-<para>
-
-</para>
-
-@array:
-@data:
-@len:
-@Returns:
-
-
-<!-- ##### MACRO g_array_prepend_val ##### -->
-<para>
-
-</para>
-
-@a:
-@v:
-
-
-<!-- ##### FUNCTION g_array_prepend_vals ##### -->
-<para>
-
-</para>
-
-@array:
-@data:
-@len:
-@Returns:
-
-
-<!-- ##### MACRO g_array_insert_val ##### -->
-<para>
-
-</para>
-
-@a:
-@i:
-@v:
-
-
-<!-- ##### FUNCTION g_array_insert_vals ##### -->
-<para>
-
-</para>
-
-@array:
-@index_:
-@data:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_array_remove_index ##### -->
-<para>
-
-</para>
-
-@array:
-@index_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_array_remove_index_fast ##### -->
-<para>
-
-</para>
-
-@array:
-@index_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_array_remove_range ##### -->
-<para>
-
-</para>
-
-@array:
-@index_:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_array_sort ##### -->
-<para>
-
-</para>
-
-@array:
-@compare_func:
-
-
-<!-- ##### FUNCTION g_array_sort_with_data ##### -->
-<para>
-
-</para>
-
-@array:
-@compare_func:
-@user_data:
-
-
-<!-- ##### MACRO g_array_index ##### -->
-<para>
-
-</para>
-
-@a:
-@t:
-@i:
-
-
-<!-- ##### FUNCTION g_array_set_size ##### -->
-<para>
-
-</para>
-
-@array:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_array_free ##### -->
-<para>
-
-</para>
-
-@array:
-@free_segment:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Byte Arrays
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GByteArray ##### -->
-<para>
-
-</para>
-
-@data:
-@len:
-
-<!-- ##### FUNCTION g_byte_array_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_byte_array_sized_new ##### -->
-<para>
-
-</para>
-
-@reserved_size:
-@Returns:
-
-
-<!-- ##### FUNCTION g_byte_array_ref ##### -->
-<para>
-
-</para>
-
-@array:
-@Returns:
-
-
-<!-- ##### FUNCTION g_byte_array_unref ##### -->
-<para>
-
-</para>
-
-@array:
-
-
-<!-- ##### FUNCTION g_byte_array_append ##### -->
-<para>
-
-</para>
-
-@array:
-@data:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_byte_array_prepend ##### -->
-<para>
-
-</para>
-
-@array:
-@data:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_byte_array_remove_index ##### -->
-<para>
-
-</para>
-
-@array:
-@index_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_byte_array_remove_index_fast ##### -->
-<para>
-
-</para>
-
-@array:
-@index_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_byte_array_remove_range ##### -->
-<para>
-
-</para>
-
-@array:
-@index_:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_byte_array_sort ##### -->
-<para>
-
-</para>
-
-@array:
-@compare_func:
-
-
-<!-- ##### FUNCTION g_byte_array_sort_with_data ##### -->
-<para>
-
-</para>
-
-@array:
-@compare_func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_byte_array_set_size ##### -->
-<para>
-
-</para>
-
-@array:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_byte_array_free ##### -->
-<para>
-
-</para>
-
-@array:
-@free_segment:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Pointer Arrays
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GPtrArray ##### -->
-<para>
-
-</para>
-
-@pdata:
-@len:
-
-<!-- ##### FUNCTION g_ptr_array_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_ptr_array_sized_new ##### -->
-<para>
-
-</para>
-
-@reserved_size:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ptr_array_new_with_free_func ##### -->
-<para>
-
-</para>
-
-@element_free_func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ptr_array_set_free_func ##### -->
-<para>
-
-</para>
-
-@array:
-@element_free_func:
-
-
-<!-- ##### FUNCTION g_ptr_array_ref ##### -->
-<para>
-
-</para>
-
-@array:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ptr_array_unref ##### -->
-<para>
-
-</para>
-
-@array:
-
-
-<!-- ##### FUNCTION g_ptr_array_add ##### -->
-<para>
-
-</para>
-
-@array:
-@data:
-
-
-<!-- ##### FUNCTION g_ptr_array_remove ##### -->
-<para>
-
-</para>
-
-@array:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ptr_array_remove_index ##### -->
-<para>
-
-</para>
-
-@array:
-@index_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ptr_array_remove_fast ##### -->
-<para>
-
-</para>
-
-@array:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ptr_array_remove_index_fast ##### -->
-<para>
-
-</para>
-
-@array:
-@index_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ptr_array_remove_range ##### -->
-<para>
-
-</para>
-
-@array:
-@index_:
-@length:
-
-
-<!-- ##### FUNCTION g_ptr_array_sort ##### -->
-<para>
-
-</para>
-
-@array:
-@compare_func:
-
-
-<!-- ##### FUNCTION g_ptr_array_sort_with_data ##### -->
-<para>
-
-</para>
-
-@array:
-@compare_func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_ptr_array_set_size ##### -->
-<para>
-
-</para>
-
-@array:
-@length:
-
-
-<!-- ##### MACRO g_ptr_array_index ##### -->
-<para>
-
-</para>
-
-@array:
-@index_:
-
-
-<!-- ##### FUNCTION g_ptr_array_free ##### -->
-<para>
-
-</para>
-
-@array:
-@free_seg:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ptr_array_foreach ##### -->
-<para>
-
-</para>
-
-@array:
-@func:
-@user_data:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Asynchronous Queues
-
-<!-- ##### SECTION Short_Description ##### -->
-asynchronous communication between threads
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-Often you need to communicate between different threads. In general
-it's safer not to do this by shared memory, but by explicit message
-passing. These messages only make sense asynchronously for
-multi-threaded applications though, as a synchronous operation could as
-well be done in the same thread.
-</para>
-
-<para>
-Asynchronous queues are an exception from most other GLib data
-structures, as they can be used simultaneously from multiple threads
-without explicit locking and they bring their own builtin reference
-counting. This is because the nature of an asynchronous queue is that
-it will always be used by at least 2 concurrent threads.
-</para>
-
-<para>
-For using an asynchronous queue you first have to create one with
-g_async_queue_new(). A newly-created queue will get the reference
-count 1. Whenever another thread is creating a new reference of (that
-is, pointer to) the queue, it has to increase the reference count
-(using g_async_queue_ref()). Also, before removing this reference, the
-reference count has to be decreased (using
-g_async_queue_unref()). After that the queue might no longer exist so
-you must not access it after that point.
-</para>
-
-<para>
-A thread, which wants to send a message to that queue simply calls
-g_async_queue_push() to push the message to the queue.
-</para>
-
-<para>
-A thread, which is expecting messages from an asynchronous queue
-simply calls g_async_queue_pop() for that queue. If no message is
-available in the queue at that point, the thread is now put to sleep
-until a message arrives. The message will be removed from the queue
-and returned. The functions g_async_queue_try_pop() and
-g_async_queue_timed_pop() can be used to only check for the presence
-of messages or to only wait a certain time for messages respectively.
-</para>
-
-<para>
-For almost every function there exist two variants, one that locks the
-queue and one that doesn't. That way you can hold the queue lock
-(acquire it with g_async_queue_lock() and release it with
-g_async_queue_unlock()) over multiple queue accessing
-instructions. This can be necessary to ensure the integrity of the
-queue, but should only be used when really necessary, as it can make
-your life harder if used unwisely. Normally you should only use the
-locking function variants (those without the suffix _unlocked)
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GAsyncQueue ##### -->
-<para>
-The #GAsyncQueue struct is an opaque data structure, which represents
-an asynchronous queue. It should only be accessed through the
-<function>g_async_queue_*</function> functions.
-</para>
-
-
-<!-- ##### FUNCTION g_async_queue_new ##### -->
-
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_queue_new_full ##### -->
-<para>
-
-</para>
-
-@item_free_func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_queue_ref ##### -->
-
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_queue_unref ##### -->
-
-
-@queue:
-
-
-<!-- ##### FUNCTION g_async_queue_push ##### -->
-
-
-@queue:
-@data:
-
-
-<!-- ##### FUNCTION g_async_queue_push_sorted ##### -->
-<para>
-
-</para>
-
-@queue:
-@data:
-@func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_async_queue_pop ##### -->
-
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_queue_try_pop ##### -->
-
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_queue_timed_pop ##### -->
-
-
-@queue:
-@end_time:
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_queue_length ##### -->
-
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_queue_sort ##### -->
-<para>
-
-</para>
-
-@queue:
-@func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_async_queue_lock ##### -->
-
-
-@queue:
-
-
-<!-- ##### FUNCTION g_async_queue_unlock ##### -->
-
-
-@queue:
-
-
-<!-- ##### FUNCTION g_async_queue_ref_unlocked ##### -->
-
-
-@queue:
-
-
-<!-- ##### FUNCTION g_async_queue_unref_and_unlock ##### -->
-
-
-@queue:
-
-
-<!-- ##### FUNCTION g_async_queue_push_unlocked ##### -->
-
-
-@queue:
-@data:
-
-
-<!-- ##### FUNCTION g_async_queue_push_sorted_unlocked ##### -->
-<para>
-
-</para>
-
-@queue:
-@data:
-@func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_async_queue_pop_unlocked ##### -->
-
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_queue_try_pop_unlocked ##### -->
-
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_queue_timed_pop_unlocked ##### -->
-
-
-@queue:
-@end_time:
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_queue_length_unlocked ##### -->
-
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_async_queue_sort_unlocked ##### -->
-<para>
-
-</para>
-
-@queue:
-@func:
-@user_data:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Atomic Operations
-
-<!-- ##### SECTION Short_Description ##### -->
-basic atomic integer and pointer operations
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The following functions can be used to atomically access integers and
-pointers. They are implemented as inline assembler function on most
-platforms and use slower fall-backs otherwise. Using them can sometimes
-save you from using a performance-expensive #GMutex to protect the
-integer or pointer.
-</para>
-
-<para>
-The most important usage is reference counting. Using
-g_atomic_int_inc() and g_atomic_int_dec_and_test() makes reference
-counting a very fast operation.
-</para>
-
-<note>
-<para>
-You must not directly read integers or pointers concurrently accessed
-by multiple threads, but use the atomic accessor functions instead.
-That is, always use g_atomic_int_get() and g_atomic_pointer_get() for
-read outs.
-They provide the neccessary synchonization mechanisms like memory
-barriers to access memory locations concurrently.
-</para>
-</note>
-
-<note>
-<para>
-If you are using those functions for anything apart from simple
-reference counting, you should really be aware of the implications of
-doing that. There are literally thousands of ways to shoot yourself in
-the foot. So if in doubt, use a #GMutex. If you don't know, what
-memory barriers are, do not use anything but g_atomic_int_inc() and
-g_atomic_int_dec_and_test().
-</para>
-</note>
-
-<note>
-<para>
-It is not safe to set an integer or pointer just by assigning to it,
-when it is concurrently accessed by other threads with the following
-functions. Use g_atomic_int_compare_and_exchange() or
-g_atomic_pointer_compare_and_exchange() respectively.
-</para>
-</note>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<variablelist>
-
-<varlistentry>
-<term>#GMutex</term>
-<listitem><para>GLib mutual exclusions.</para></listitem>
-</varlistentry>
-
-</variablelist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### FUNCTION g_atomic_int_get ##### -->
-<para>
-Reads the value of the integer pointed to by @atomic. Also acts as
-a memory barrier.
-</para>
-
-@Returns: the value of *@atomic
-@Since: 2.4
-<!-- # Unused Parameters # -->
-@atomic: a pointer to an integer
-
-
-<!-- ##### FUNCTION g_atomic_int_set ##### -->
-<para>
-Sets the value of the integer pointed to by @atomic.
-Also acts as a memory barrier.
-</para>
-
-@Since: 2.10
-<!-- # Unused Parameters # -->
-@atomic: a pointer to an integer
-@newval: the new value
-
-
-<!-- ##### FUNCTION g_atomic_int_add ##### -->
-<para>
-Atomically adds @val to the integer pointed to by @atomic.
-Also acts as a memory barrier.
-</para>
-
-@Since: 2.4
-<!-- # Unused Parameters # -->
-@atomic: a pointer to an integer.
-@val: the value to add to *@atomic.
-
-
-<!-- ##### FUNCTION g_atomic_int_exchange_and_add ##### -->
-<para>
-Atomically adds @val to the integer pointed to by @atomic. It returns
-the value of *@atomic just before the addition took place.
-Also acts as a memory barrier.
-</para>
-
-@Returns: the value of *@atomic before the addition.
-@Since: 2.4
-<!-- # Unused Parameters # -->
-@atomic: a pointer to an integer.
-@val: the value to add to *@atomic.
-
-
-<!-- ##### FUNCTION g_atomic_int_compare_and_exchange ##### -->
-<para>
-Compares @oldval with the integer pointed to by @atomic and
-if they are equal, atomically exchanges *@atomic with @newval.
-Also acts as a memory barrier.
-</para>
-
-@Returns: %TRUE, if *@atomic was equal @oldval. %FALSE otherwise.
-@Since: 2.4
-<!-- # Unused Parameters # -->
-@atomic: a pointer to an integer.
-@oldval: the assumed old value of *@atomic.
-@newval: the new value of *@atomic.
-
-
-<!-- ##### FUNCTION g_atomic_pointer_get ##### -->
-<para>
-Reads the value of the pointer pointed to by @atomic. Also acts as
-a memory barrier.
-</para>
-
-@Returns: the value to add to *@atomic.
-@Since: 2.4
-<!-- # Unused Parameters # -->
-@atomic: a pointer to a #gpointer.
-
-
-<!-- ##### FUNCTION g_atomic_pointer_set ##### -->
-<para>
-Sets the value of the pointer pointed to by @atomic.
-Also acts as a memory barrier.
-</para>
-
-@Since: 2.10
-<!-- # Unused Parameters # -->
-@atomic: a pointer to a #gpointer
-@newval: the new value
-
-
-<!-- ##### FUNCTION g_atomic_pointer_compare_and_exchange ##### -->
-<para>
-Compares @oldval with the pointer pointed to by @atomic and
-if they are equal, atomically exchanges *@atomic with @newval.
-Also acts as a memory barrier.
-</para>
-
-@Returns: %TRUE, if *@atomic was equal @oldval. %FALSE otherwise.
-@Since: 2.4
-<!-- # Unused Parameters # -->
-@atomic: a pointer to a #gpointer.
-@oldval: the assumed old value of *@atomic.
-@newval: the new value of *@atomic.
-
-
-<!-- ##### FUNCTION g_atomic_int_inc ##### -->
-<para>
-Atomically increments the integer pointed to by @atomic by 1.
-</para>
-
-@atomic: a pointer to an integer.
-@Since: 2.4
-
-
-<!-- ##### FUNCTION g_atomic_int_dec_and_test ##### -->
-<para>
-Atomically decrements the integer pointed to by @atomic by 1.
-</para>
-
-@atomic: a pointer to an integer.
-@Returns: %TRUE, if the integer pointed to by @atomic is 0 after
-decrementing it.
-@Since: 2.4
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Base64 Encoding
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### FUNCTION g_base64_encode_step ##### -->
-<para>
-
-</para>
-
-@in:
-@len:
-@break_lines:
-@out:
-@state:
-@save:
-@Returns:
-
-
-<!-- ##### FUNCTION g_base64_encode_close ##### -->
-<para>
-
-</para>
-
-@break_lines:
-@out:
-@state:
-@save:
-@Returns:
-
-
-<!-- ##### FUNCTION g_base64_encode ##### -->
-<para>
-
-</para>
-
-@data:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_base64_decode_step ##### -->
-<para>
-
-</para>
-
-@in:
-@len:
-@out:
-@state:
-@save:
-@Returns:
-
-
-<!-- ##### FUNCTION g_base64_decode ##### -->
-<para>
-
-</para>
-
-@text:
-@out_len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_base64_decode_inplace ##### -->
-<para>
-
-</para>
-
-@text:
-@out_len:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Bookmark file parser
-
-<!-- ##### SECTION Short_Description ##### -->
-parses files containing bookmarks
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#GBookmarkFile lets you parse, edit or create files containing bookmarks
-to URI, along with some meta-data about the resource pointed by the URI like
-its MIME type, the application that is registering the bookmark and the
-icon that should be used to represent the bookmark. The data is stored using
-the
-<ulink url="http://www.gnome.org/~ebassi/bookmark-spec">Desktop Bookmark
-Specification</ulink>.
-</para>
-
-<para>
-The syntax of the bookmark files is described in detail inside the Desktop
-Bookmark Specification, here is a quick summary: bookmark files use a sub-class
-of the
-<ulink url="">XML Bookmark Exchange Language</ulink> specification, consisting
-of valid UTF-8 encoded XML, under the <literal>xbel</literal> root element;
-each bookmark is stored inside a <literal>bookmark</literal> element, using
-its URI: no relative paths can be used inside a bookmark file. The bookmark
-may have a user defined title and description, to be used instead of the URI.
-Under the <literal>metadata</literal> element, with its <literal>owner</literal>
-attribute set to <literal>http://freedesktop.org</literal>, is stored the
-meta-data about a resource pointed by its URI. The meta-data consists of
-the resource's MIME type; the applications that have registered a bookmark;
-the groups to which a bookmark belongs to; a visibility flag, used to set
-the bookmark as "private" to the applications and groups that has it
-registered; the URI and MIME type of an icon, to be used when displaying the
-bookmark inside a GUI.
-</para>
-
-<informalexample><programlisting>
-<![CDATA[
-<?xml version="1.0"?>
-<!DOCTYPE xbel PUBLIC
- "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks">
- <bookmark href="file:///home/ebassi/bookmark-spec/bookmark-spec.xml">
- <title>Desktop Bookmarks Spec</title>
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type>text/xml</mime:mime-type>
- <bookmark:applications>
- <bookmark:application name="GEdit" count="2" exec="gedit %u" timestamp="1115726763"/>
- <bookmark:application name="GViM" count="7" exec="gvim %f" timestamp="1115726812"/>
- </bookmark:applications>
- <bookmark:groups>
- <bookmark:group>Editors</bookmark:group>
- </bookmark:groups>
- </metadata>
- </info>
- </bookmark>
-</xbel>
-]]>
-</programlisting></informalexample>
-
-<para>
-A bookmark file might contain more than one bookmark; each bookmark is accessed
-through its URI.
-</para>
-
-<para>
-The important caveat of bookmark files is that when you add a new bookmark you
-must also add the application that is registering it, using
-g_bookmark_file_add_application() or g_bookmark_file_set_app_info(). If a
-bookmark has no applications then it won't be dumped when creating the
-on disk representation, using g_bookmark_file_to_data() or
-g_bookmark_file_to_file().
-</para>
-
-<para>
-The #GBookmarkFile parser was added in GLib 2.12.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GBookmarkFile ##### -->
-<para>
-The <structname>GBookmarkFile</structname> struct contains only private data
-and should not be used directly.
-</para>
-
-
-<!-- ##### MACRO G_BOOKMARK_FILE_ERROR ##### -->
-<para>
-Error domain for bookmark file parsing. Errors in this domain will be
-from the #GBookmarkFileError enumeration. See #GError for informations
-on error domains.
-</para>
-
-
-
-<!-- ##### ENUM GBookmarkFileError ##### -->
-<para>
-Error codes returned by bookmark file parsing.
-</para>
-
-@G_BOOKMARK_FILE_ERROR_INVALID_URI: URI was ill-formed
-@G_BOOKMARK_FILE_ERROR_INVALID_VALUE: a requested field was not found
-@G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED: a requested application did not
-register a bookmark
-@G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND: a requested URI was not found
-@G_BOOKMARK_FILE_ERROR_READ: document was ill formed
-@G_BOOKMARK_FILE_ERROR_UNKNOWN_ENCODING: the text being parsed was in an
-unknown encoding
-@G_BOOKMARK_FILE_ERROR_WRITE: an error occurred while writing
-@G_BOOKMARK_FILE_ERROR_FILE_NOT_FOUND: requested file was not found
-
-<!-- ##### FUNCTION g_bookmark_file_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_free ##### -->
-<para>
-
-</para>
-
-@bookmark:
-
-
-<!-- ##### FUNCTION g_bookmark_file_load_from_file ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@filename:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_load_from_data ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@data:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_load_from_data_dirs ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@file:
-@full_path:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_to_data ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_to_file ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@filename:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_has_item ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_has_group ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@group:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_has_application ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@name:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_get_size ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_get_uris ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_get_title ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_get_description ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_get_mime_type ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_get_is_private ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_get_icon ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@href:
-@mime_type:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_get_added ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_get_modified ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_get_visited ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_get_groups ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_get_applications ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_get_app_info ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@name:
-@exec:
-@count:
-@stamp:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_set_title ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@title:
-
-
-<!-- ##### FUNCTION g_bookmark_file_set_description ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@description:
-
-
-<!-- ##### FUNCTION g_bookmark_file_set_mime_type ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@mime_type:
-
-
-<!-- ##### FUNCTION g_bookmark_file_set_is_private ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@is_private:
-
-
-<!-- ##### FUNCTION g_bookmark_file_set_icon ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@href:
-@mime_type:
-
-
-<!-- ##### FUNCTION g_bookmark_file_set_added ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@added:
-
-
-<!-- ##### FUNCTION g_bookmark_file_set_groups ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@groups:
-@length:
-
-
-<!-- ##### FUNCTION g_bookmark_file_set_modified ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@modified:
-
-
-<!-- ##### FUNCTION g_bookmark_file_set_visited ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@visited:
-
-
-<!-- ##### FUNCTION g_bookmark_file_set_app_info ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@name:
-@exec:
-@count:
-@stamp:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_add_group ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@group:
-
-
-<!-- ##### FUNCTION g_bookmark_file_add_application ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@name:
-@exec:
-
-
-<!-- ##### FUNCTION g_bookmark_file_remove_group ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@group:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_remove_application ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@name:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_remove_item ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@uri:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bookmark_file_move_item ##### -->
-<para>
-
-</para>
-
-@bookmark:
-@old_uri:
-@new_uri:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Byte Order Macros
-
-<!-- ##### SECTION Short_Description ##### -->
-a portable way to convert between different byte orders
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-These macros provide a portable way to determine the host byte order
-and to convert values between different byte orders.
-</para>
-<para>
-The byte order is the order in which bytes are stored to create larger
-data types such as the #gint and #glong values.
-The host byte order is the byte order used on the current machine.
-</para>
-<para>
-Some processors store the most significant bytes (i.e. the bytes that
-hold the largest part of the value) first. These are known as big-endian
-processors.
-</para>
-<para>
-Other processors (notably the x86 family) store the most significant byte
-last. These are known as little-endian processors.
-</para>
-<para>
-Finally, to complicate matters, some other processors store the bytes in
-a rather curious order known as PDP-endian. For a 4-byte word, the 3rd
-most significant byte is stored first, then the 4th, then the 1st and finally
-the 2nd.
-</para>
-<para>
-Obviously there is a problem when these different processors communicate
-with each other, for example over networks or by using binary file formats.
-This is where these macros come in.
-They are typically used to convert values into a byte order
-which has been agreed on for use when communicating between different
-processors. The Internet uses what is known as 'network byte order'
-as the standard byte order (which is in fact the big-endian byte order).
-</para>
-<para>
-Note that the byte order conversion macros may evaluate their arguments
-multiple times, thus you should not use them with arguments which have
-side-effects.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_BYTE_ORDER ##### -->
-<para>
-The host byte order.
-This can be either #G_LITTLE_ENDIAN or #G_BIG_ENDIAN (support for
-#G_PDP_ENDIAN may be added in future.)
-</para>
-
-
-
-<!-- ##### MACRO G_LITTLE_ENDIAN ##### -->
-<para>
-Specifies one of the possible types of byte order.
-See #G_BYTE_ORDER.
-</para>
-
-
-
-<!-- ##### MACRO G_BIG_ENDIAN ##### -->
-<para>
-Specifies one of the possible types of byte order.
-See #G_BYTE_ORDER.
-</para>
-
-
-
-<!-- ##### MACRO G_PDP_ENDIAN ##### -->
-<para>
-Specifies one of the possible types of byte order (currently unused).
-See #G_BYTE_ORDER.
-</para>
-
-
-
-<!-- ##### MACRO g_htonl ##### -->
-<para>
-Converts a 32-bit integer value from host to network byte order.
-</para>
-
-@val: a 32-bit integer value in host byte order.
-@Returns: @val converted to network byte order.
-
-
-<!-- ##### MACRO g_htons ##### -->
-<para>
-Converts a 16-bit integer value from host to network byte order.
-</para>
-
-@val: a 16-bit integer value in host byte order.
-@Returns: @val converted to network byte order.
-
-
-<!-- ##### MACRO g_ntohl ##### -->
-<para>
-Converts a 32-bit integer value from network to host byte order.
-</para>
-
-@val: a 32-bit integer value in network byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO g_ntohs ##### -->
-<para>
-Converts a 16-bit integer value from network to host byte order.
-</para>
-
-@val: a 16-bit integer value in network byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GINT_FROM_BE ##### -->
-<para>
-Converts a #gint value from big-endian to host byte order.
-</para>
-
-@val: a #gint value in big-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GINT_FROM_LE ##### -->
-<para>
-Converts a #gint value from little-endian to host byte order.
-</para>
-
-@val: a #gint value in little-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GINT_TO_BE ##### -->
-<para>
-Converts a #gint value from host byte order to big-endian.
-</para>
-
-@val: a #gint value in host byte order.
-@Returns: @val converted to big-endian byte order.
-
-
-<!-- ##### MACRO GINT_TO_LE ##### -->
-<para>
-Converts a #gint value from host byte order to little-endian.
-</para>
-
-@val: a #gint value in host byte order.
-@Returns: @val converted to little-endian byte order.
-
-
-<!-- ##### MACRO GUINT_FROM_BE ##### -->
-<para>
-Converts a #guint value from big-endian to host byte order.
-</para>
-
-@val: a #guint value in big-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GUINT_FROM_LE ##### -->
-<para>
-Converts a #guint value from little-endian to host byte order.
-</para>
-
-@val: a #guint value in little-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GUINT_TO_BE ##### -->
-<para>
-Converts a #guint value from host byte order to big-endian.
-</para>
-
-@val: a #guint value in host byte order.
-@Returns: @val converted to big-endian byte order.
-
-
-<!-- ##### MACRO GUINT_TO_LE ##### -->
-<para>
-Converts a #guint value from host byte order to little-endian.
-</para>
-
-@val: a #guint value in host byte order.
-@Returns: @val converted to little-endian byte order.
-
-
-<!-- ##### MACRO GLONG_FROM_BE ##### -->
-<para>
-Converts a #glong value from big-endian to the host byte order.
-</para>
-
-@val: a #glong value in big-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GLONG_FROM_LE ##### -->
-<para>
-Converts a #glong value from little-endian to host byte order.
-</para>
-
-@val: a #glong value in little-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GLONG_TO_BE ##### -->
-<para>
-Converts a #glong value from host byte order to big-endian.
-</para>
-
-@val: a #glong value in host byte order.
-@Returns: @val converted to big-endian byte order.
-
-
-<!-- ##### MACRO GLONG_TO_LE ##### -->
-<para>
-Converts a #glong value from host byte order to little-endian.
-</para>
-
-@val: a #glong value in host byte order.
-@Returns: @val converted to little-endian.
-
-
-<!-- ##### MACRO GULONG_FROM_BE ##### -->
-<para>
-Converts a #gulong value from big-endian to host byte order.
-</para>
-
-@val: a #gulong value in big-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GULONG_FROM_LE ##### -->
-<para>
-Converts a #gulong value from little-endian to host byte order.
-</para>
-
-@val: a #gulong value in little-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GULONG_TO_BE ##### -->
-<para>
-Converts a #gulong value from host byte order to big-endian.
-</para>
-
-@val: a #gulong value in host byte order.
-@Returns: @val converted to big-endian.
-
-
-<!-- ##### MACRO GULONG_TO_LE ##### -->
-<para>
-Converts a #gulong value from host byte order to little-endian.
-</para>
-
-@val: a #gulong value in host byte order.
-@Returns: @val converted to little-endian.
-
-
-<!-- ##### MACRO GSIZE_FROM_BE ##### -->
-<para>
-Converts a #gsize value from big-endian to the host byte order.
-</para>
-
-@val: a #gsize value in big-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GSIZE_FROM_LE ##### -->
-<para>
-Converts a #gsize value from little-endian to host byte order.
-</para>
-
-@val: a #gsize value in little-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GSIZE_TO_BE ##### -->
-<para>
-Converts a #gsize value from host byte order to big-endian.
-</para>
-
-@val: a #gsize value in host byte order.
-@Returns: @val converted to big-endian byte order.
-
-
-<!-- ##### MACRO GSIZE_TO_LE ##### -->
-<para>
-Converts a #gsize value from host byte order to little-endian.
-</para>
-
-@val: a #gsize value in host byte order.
-@Returns: @val converted to little-endian.
-
-
-<!-- ##### MACRO GSSIZE_FROM_BE ##### -->
-<para>
-Converts a #gssize value from big-endian to host byte order.
-</para>
-
-@val: a #gssize value in big-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GSSIZE_FROM_LE ##### -->
-<para>
-Converts a #gssize value from little-endian to host byte order.
-</para>
-
-@val: a #gssize value in little-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GSSIZE_TO_BE ##### -->
-<para>
-Converts a #gssize value from host byte order to big-endian.
-</para>
-
-@val: a #gssize value in host byte order.
-@Returns: @val converted to big-endian.
-
-
-<!-- ##### MACRO GSSIZE_TO_LE ##### -->
-<para>
-Converts a #gssize value from host byte order to little-endian.
-</para>
-
-@val: a #gssize value in host byte order.
-@Returns: @val converted to little-endian.
-
-
-<!-- ##### MACRO GINT16_FROM_BE ##### -->
-<para>
-Converts a #gint16 value from big-endian to host byte order.
-</para>
-
-@val: a #gint16 value in big-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GINT16_FROM_LE ##### -->
-<para>
-Converts a #gint16 value from little-endian to host byte order.
-</para>
-
-@val: a #gint16 value in little-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GINT16_TO_BE ##### -->
-<para>
-Converts a #gint16 value from host byte order to big-endian.
-</para>
-
-@val: a #gint16 value in host byte order.
-@Returns: @val converted to big-endian.
-
-
-<!-- ##### MACRO GINT16_TO_LE ##### -->
-<para>
-Converts a #gint16 value from host byte order to little-endian.
-</para>
-
-@val: a #gint16 value in host byte order.
-@Returns: @val converted to little-endian.
-
-
-<!-- ##### MACRO GUINT16_FROM_BE ##### -->
-<para>
-Converts a #guint16 value from big-endian to host byte order.
-</para>
-
-@val: a #guint16 value in big-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GUINT16_FROM_LE ##### -->
-<para>
-Converts a #guint16 value from little-endian to host byte order.
-</para>
-
-@val: a #guint16 value in little-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GUINT16_TO_BE ##### -->
-<para>
-Converts a #guint16 value from host byte order to big-endian.
-</para>
-
-@val: a #guint16 value in host byte order.
-@Returns: @val converted to big-endian.
-
-
-<!-- ##### MACRO GUINT16_TO_LE ##### -->
-<para>
-Converts a #guint16 value from host byte order to little-endian.
-</para>
-
-@val: a #guint16 value in host byte order.
-@Returns: @val converted to little-endian.
-
-
-<!-- ##### MACRO GINT32_FROM_BE ##### -->
-<para>
-Converts a #gint32 value from big-endian to host byte order.
-</para>
-
-@val: a #gint32 value in big-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GINT32_FROM_LE ##### -->
-<para>
-Converts a #gint32 value from little-endian to host byte order.
-</para>
-
-@val: a #gint32 value in little-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GINT32_TO_BE ##### -->
-<para>
-Converts a #gint32 value from host byte order to big-endian.
-</para>
-
-@val: a #gint32 value in host byte order.
-@Returns: @val converted to big-endian.
-
-
-<!-- ##### MACRO GINT32_TO_LE ##### -->
-<para>
-Converts a #gint32 value from host byte order to little-endian.
-</para>
-
-@val: a #gint32 value in host byte order.
-@Returns: @val converted to little-endian.
-
-
-<!-- ##### MACRO GUINT32_FROM_BE ##### -->
-<para>
-Converts a #guint32 value from big-endian to host byte order.
-</para>
-
-@val: a #guint32 value in big-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GUINT32_FROM_LE ##### -->
-<para>
-Converts a #guint32 value from little-endian to host byte order.
-</para>
-
-@val: a #guint32 value in little-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GUINT32_TO_BE ##### -->
-<para>
-Converts a #guint32 value from host byte order to big-endian.
-</para>
-
-@val: a #guint32 value in host byte order.
-@Returns: @val converted to big-endian.
-
-
-<!-- ##### MACRO GUINT32_TO_LE ##### -->
-<para>
-Converts a #guint32 value from host byte order to little-endian.
-</para>
-
-@val: a #guint32 value in host byte order.
-@Returns: @val converted to little-endian.
-
-
-<!-- ##### MACRO GINT64_FROM_BE ##### -->
-<para>
-Converts a #gint64 value from big-endian to host byte order.
-</para>
-
-@val: a #gint64 value in big-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GINT64_FROM_LE ##### -->
-<para>
-Converts a #gint64 value from little-endian to host byte order.
-</para>
-
-@val: a #gint64 value in little-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GINT64_TO_BE ##### -->
-<para>
-Converts a #gint64 value from host byte order to big-endian.
-</para>
-
-@val: a #gint64 value in host byte order.
-@Returns: @val converted to big-endian.
-
-
-<!-- ##### MACRO GINT64_TO_LE ##### -->
-<para>
-Converts a #gint64 value from host byte order to little-endian.
-</para>
-
-@val: a #gint64 value in host byte order.
-@Returns: @val converted to little-endian.
-
-
-<!-- ##### MACRO GUINT64_FROM_BE ##### -->
-<para>
-Converts a #guint64 value from big-endian to host byte order.
-</para>
-
-@val: a #guint64 value in big-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GUINT64_FROM_LE ##### -->
-<para>
-Converts a #guint64 value from little-endian to host byte order.
-</para>
-
-@val: a #guint64 value in little-endian byte order.
-@Returns: @val converted to host byte order.
-
-
-<!-- ##### MACRO GUINT64_TO_BE ##### -->
-<para>
-Converts a #guint64 value from host byte order to big-endian.
-</para>
-
-@val: a #guint64 value in host byte order.
-@Returns: @val converted to big-endian.
-
-
-<!-- ##### MACRO GUINT64_TO_LE ##### -->
-<para>
-Converts a #guint64 value from host byte order to little-endian.
-</para>
-
-@val: a #guint64 value in host byte order.
-@Returns: @val converted to little-endian.
-
-
-<!-- ##### MACRO GUINT16_SWAP_BE_PDP ##### -->
-<para>
-Converts a #guint16 value between big-endian and pdp-endian byte order.
-The conversion is symmetric so it can be used both ways.
-</para>
-
-@val: a #guint16 value in big-endian or pdp-endian byte order.
-@Returns: @val converted to the opposite byte order.
-
-
-<!-- ##### MACRO GUINT16_SWAP_LE_BE ##### -->
-<para>
-Converts a #guint16 value between little-endian and big-endian byte order.
-The conversion is symmetric so it can be used both ways.
-</para>
-
-@val: a #guint16 value in little-endian or big-endian byte order.
-@Returns: @val converted to the opposite byte order.
-
-
-<!-- ##### MACRO GUINT16_SWAP_LE_PDP ##### -->
-<para>
-Converts a #guint16 value between little-endian and pdp-endian byte order.
-The conversion is symmetric so it can be used both ways.
-</para>
-
-@val: a #guint16 value in little-endian or pdp-endian byte order.
-@Returns: @val converted to the opposite byte order.
-
-
-<!-- ##### MACRO GUINT32_SWAP_BE_PDP ##### -->
-<para>
-Converts a #guint32 value between big-endian and pdp-endian byte order.
-The conversion is symmetric so it can be used both ways.
-</para>
-
-@val: a #guint32 value in big-endian or pdp-endian byte order.
-@Returns: @val converted to the opposite byte order.
-
-
-<!-- ##### MACRO GUINT32_SWAP_LE_BE ##### -->
-<para>
-Converts a #guint32 value between little-endian and big-endian byte order.
-The conversion is symmetric so it can be used both ways.
-</para>
-
-@val: a #guint32 value in little-endian or big-endian byte order.
-@Returns: @val converted to the opposite byte order.
-
-
-<!-- ##### MACRO GUINT32_SWAP_LE_PDP ##### -->
-<para>
-Converts a #guint32 value between little-endian and pdp-endian byte order.
-The conversion is symmetric so it can be used both ways.
-</para>
-
-@val: a #guint32 value in little-endian or pdp-endian byte order.
-@Returns: @val converted to the opposite byte order.
-
-
-<!-- ##### MACRO GUINT64_SWAP_LE_BE ##### -->
-<para>
-Converts a #guint64 value between little-endian and big-endian byte order.
-The conversion is symmetric so it can be used both ways.
-</para>
-
-@val: a #guint64 value in little-endian or big-endian byte order.
-@Returns: @val converted to the opposite byte order.
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Caches
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GCache ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_cache_new ##### -->
-<para>
-
-</para>
-
-@value_new_func:
-@value_destroy_func:
-@key_dup_func:
-@key_destroy_func:
-@hash_key_func:
-@hash_value_func:
-@key_equal_func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_cache_insert ##### -->
-<para>
-
-</para>
-
-@cache:
-@key:
-@Returns:
-
-
-<!-- ##### FUNCTION g_cache_remove ##### -->
-<para>
-
-</para>
-
-@cache:
-@value:
-
-
-<!-- ##### FUNCTION g_cache_destroy ##### -->
-<para>
-
-</para>
-
-@cache:
-
-
-<!-- ##### FUNCTION g_cache_key_foreach ##### -->
-<para>
-
-</para>
-
-@cache:
-@func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_cache_value_foreach ##### -->
-<para>
-
-</para>
-
-@cache:
-@func:
-@user_data:
-
-
-<!-- ##### USER_FUNCTION GCacheDestroyFunc ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### USER_FUNCTION GCacheDupFunc ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GCacheNewFunc ##### -->
-<para>
-
-</para>
-
-@key:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Data Checksums
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### ENUM GChecksumType ##### -->
-<para>
-
-</para>
-
-@G_CHECKSUM_MD5:
-@G_CHECKSUM_SHA1:
-@G_CHECKSUM_SHA256:
-
-<!-- ##### FUNCTION g_checksum_type_get_length ##### -->
-<para>
-
-</para>
-
-@checksum_type:
-@Returns:
-
-
-<!-- ##### STRUCT GChecksum ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_checksum_new ##### -->
-<para>
-
-</para>
-
-@checksum_type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_checksum_copy ##### -->
-<para>
-
-</para>
-
-@checksum:
-@Returns:
-
-
-<!-- ##### FUNCTION g_checksum_free ##### -->
-<para>
-
-</para>
-
-@checksum:
-
-
-<!-- ##### FUNCTION g_checksum_reset ##### -->
-<para>
-
-</para>
-
-@checksum:
-
-
-<!-- ##### FUNCTION g_checksum_update ##### -->
-<para>
-
-</para>
-
-@checksum:
-@data:
-@length:
-
-
-<!-- ##### FUNCTION g_checksum_get_string ##### -->
-<para>
-
-</para>
-
-@checksum:
-@Returns:
-
-
-<!-- ##### FUNCTION g_checksum_get_digest ##### -->
-<para>
-
-</para>
-
-@checksum:
-@buffer:
-@digest_len:
-
-
-<!-- ##### FUNCTION g_compute_checksum_for_data ##### -->
-<para>
-
-</para>
-
-@checksum_type:
-@data:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_compute_checksum_for_string ##### -->
-<para>
-
-</para>
-
-@checksum_type:
-@str:
-@length:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Automatic String Completion
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GCompletion ##### -->
-<para>
-
-</para>
-
-@items:
-@func:
-@prefix:
-@cache:
-@strncmp_func:
-
-<!-- ##### FUNCTION g_completion_new ##### -->
-<para>
-
-</para>
-
-@func:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GCompletionFunc ##### -->
-<para>
-
-</para>
-
-@Param1:
-@Returns:
-
-
-<!-- ##### FUNCTION g_completion_add_items ##### -->
-<para>
-
-</para>
-
-@cmp:
-@items:
-
-
-<!-- ##### FUNCTION g_completion_remove_items ##### -->
-<para>
-
-</para>
-
-@cmp:
-@items:
-
-
-<!-- ##### FUNCTION g_completion_clear_items ##### -->
-<para>
-
-</para>
-
-@cmp:
-
-
-<!-- ##### FUNCTION g_completion_complete ##### -->
-<para>
-
-</para>
-
-@cmp:
-@prefix:
-@new_prefix:
-@Returns:
-
-
-<!-- ##### FUNCTION g_completion_complete_utf8 ##### -->
-<para>
-
-</para>
-
-@cmp:
-@prefix:
-@new_prefix:
-@Returns:
-
-
-<!-- ##### FUNCTION g_completion_set_compare ##### -->
-<para>
-
-</para>
-
-@cmp:
-@strncmp_func:
-
-
-<!-- ##### USER_FUNCTION GCompletionStrncmpFunc ##### -->
-<para>
-
-</para>
-
-@s1:
-@s2:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_completion_free ##### -->
-<para>
-
-</para>
-
-@cmp:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Character Set Conversion
-
-<!-- ##### SECTION Short_Description ##### -->
-convert strings between different character sets using iconv()
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
- <refsect2 id="file-name-encodings">
- <title>File Name Encodings</title>
-
- <para>
- Historically, Unix has not had a defined encoding for file
- names: a file name is valid as long as it does not have path
- separators in it ("/"). However, displaying file names may
- require conversion: from the character set in which they were
- created, to the character set in which the application
- operates. Consider the Spanish file name
- "<filename>Presentación.sxi</filename>". If the
- application which created it uses ISO-8859-1 for its encoding,
- then the actual file name on disk would look like this:
- </para>
-
- <programlisting id="filename-iso8859-1">
-Character: P r e s e n t a c i ó n . s x i
-Hex code: 50 72 65 73 65 6e 74 61 63 69 f3 6e 2e 73 78 69
- </programlisting>
-
- <para>
- However, if the application use UTF-8, the actual file name on
- disk would look like this:
- </para>
-
- <programlisting id="filename-utf-8">
-Character: P r e s e n t a c i ó n . s x i
-Hex code: 50 72 65 73 65 6e 74 61 63 69 c3 b3 6e 2e 73 78 69
- </programlisting>
-
- <para>
- Glib uses UTF-8 for its strings, and GUI toolkits like GTK+
- that use Glib do the same thing. If you get a file name from
- the file system, for example, from
- <function>readdir(3)</function> or from <link
- linkend="g_dir_read_name"><function>g_dir_read_name()</function></link>,
- and you wish to display the file name to the user, you
- <emphasis>will</emphasis> need to convert it into UTF-8. The
- opposite case is when the user types the name of a file he
- wishes to save: the toolkit will give you that string in
- UTF-8 encoding, and you will need to convert it to the
- character set used for file names before you can create the
- file with <function>open(2)</function> or
- <function>fopen(3)</function>.
- </para>
-
- <para>
- By default, Glib assumes that file names on disk are in UTF-8
- encoding. This is a valid assumption for file systems which
- were created relatively recently: most applications use UTF-8
- encoding for their strings, and that is also what they use for
- the file names they create. However, older file systems may
- still contain file names created in "older" encodings, such as
- ISO-8859-1. In this case, for compatibility reasons, you may
- want to instruct Glib to use that particular encoding for file
- names rather than UTF-8. You can do this by specifying the
- encoding for file names in the <link
- linkend="G_FILENAME_ENCODING"><envar>G_FILENAME_ENCODING</envar></link>
- environment variable. For example, if your installation uses
- ISO-8859-1 for file names, you can put this in your
- <filename>~/.profile</filename>:
- </para>
-
- <programlisting>
-export G_FILENAME_ENCODING=ISO-8859-1
- </programlisting>
-
- <para>
- Glib provides the functions <link
- linkend="g_filename_to_utf8"><function>g_filename_to_utf8()</function></link>
- and <link
- linkend="g_filename_from_utf8"><function>g_filename_from_utf8()</function></link>
- to perform the necessary conversions. These functions convert
- file names from the encoding specified in
- <envar>G_FILENAME_ENCODING</envar> to UTF-8 and vice-versa.
- <xref linkend="file-name-encodings-diagram"/> illustrates how
- these functions are used to convert between UTF-8 and the
- encoding for file names in the file system.
- </para>
-
- <figure id="file-name-encodings-diagram">
- <title>Conversion between File Name Encodings</title>
- <graphic fileref="file-name-encodings.png" format="PNG"/>
- </figure>
-
- <refsect3 id="file-name-encodings-checklist">
- <title>Checklist for Application Writers</title>
-
- <para>
- This section is a practical summary of the detailed
- description above. You can use this as a checklist of
- things to do to make sure your applications process file
- name encodings correctly.
- </para>
-
- <orderedlist>
- <listitem>
- <para>
- If you get a file name from the file system from a
- function such as <function>readdir(3)</function> or
- <function>gtk_file_chooser_get_filename()</function>,
- you do not need to do any conversion to pass that
- file name to functions like <function>open(2)</function>,
- <function>rename(2)</function>, or
- <function>fopen(3)</function> — those are "raw"
- file names which the file system understands.
- </para>
- </listitem>
-
- <listitem>
- <para>
- If you need to display a file name, convert it to UTF-8
- first by using <link
- linkend="g_filename_to_utf8"><function>g_filename_to_utf8()</function></link>.
- If conversion fails, display a string like
- "<literal>Unknown file name</literal>". <emphasis>Do
- not</emphasis> convert this string back into the
- encoding used for file names if you wish to pass it to
- the file system; use the original file name instead.
- For example, the document window of a word processor
- could display "Unknown file name" in its title bar but
- still let the user save the file, as it would keep the
- raw file name internally. This can happen if the user
- has not set the <envar>G_FILENAME_ENCODING</envar>
- environment variable even though he has files whose
- names are not encoded in UTF-8.
- </para>
- </listitem>
-
- <listitem>
- <para>
- If your user interface lets the user type a file name
- for saving or renaming, convert it to the encoding used
- for file names in the file system by using <link
- linkend="g_filename_from_utf8"><function>g_filename_from_utf8()</function></link>.
- Pass the converted file name to functions like
- <function>fopen(3)</function>. If conversion fails, ask
- the user to enter a different file name. This can
- happen if the user types Japanese characters when
- <envar>G_FILENAME_ENCODING</envar> is set to
- <literal>ISO-8859-1</literal>, for example.
- </para>
- </listitem>
- </orderedlist>
- </refsect3>
- </refsect2>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### FUNCTION g_convert ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@to_codeset:
-@from_codeset:
-@bytes_read:
-@bytes_written:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_convert_with_fallback ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@to_codeset:
-@from_codeset:
-@fallback:
-@bytes_read:
-@bytes_written:
-@error:
-@Returns:
-
-
-<!-- ##### STRUCT GIConv ##### -->
-<para>
-The <structname>GIConv</structname> struct wraps an
-<function>iconv()</function> conversion descriptor. It contains private data
-and should only be accessed using the following functions.
-</para>
-
-
-<!-- ##### FUNCTION g_convert_with_iconv ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@converter:
-@bytes_read:
-@bytes_written:
-@error:
-@Returns:
-
-
-<!-- ##### MACRO G_CONVERT_ERROR ##### -->
-<para>
-Error domain for character set conversions. Errors in this domain will
-be from the #GConvertError enumeration. See #GError for information on
-error domains.
-</para>
-
-
-
-<!-- ##### FUNCTION g_iconv_open ##### -->
-<para>
-
-</para>
-
-@to_codeset:
-@from_codeset:
-@Returns:
-
-
-<!-- ##### FUNCTION g_iconv ##### -->
-<para>
-
-</para>
-
-@converter:
-@inbuf:
-@inbytes_left:
-@outbuf:
-@outbytes_left:
-@Returns:
-
-
-<!-- ##### FUNCTION g_iconv_close ##### -->
-<para>
-
-</para>
-
-@converter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_locale_to_utf8 ##### -->
-<para>
-
-</para>
-
-@opsysstring:
-@len:
-@bytes_read:
-@bytes_written:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_filename_to_utf8 ##### -->
-<para>
-
-</para>
-
-@opsysstring:
-@len:
-@bytes_read:
-@bytes_written:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_filename_from_utf8 ##### -->
-<para>
-
-</para>
-
-@utf8string:
-@len:
-@bytes_read:
-@bytes_written:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_filename_from_uri ##### -->
-<para>
-
-</para>
-
-@uri:
-@hostname:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_filename_to_uri ##### -->
-<para>
-
-</para>
-
-@filename:
-@hostname:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_get_filename_charsets ##### -->
-<para>
-
-</para>
-
-@charsets:
-@Returns:
-
-
-<!-- ##### FUNCTION g_filename_display_name ##### -->
-<para>
-
-</para>
-
-@filename:
-@Returns:
-
-
-<!-- ##### FUNCTION g_filename_display_basename ##### -->
-<para>
-
-</para>
-
-@filename:
-@Returns:
-
-
-<!-- ##### FUNCTION g_locale_from_utf8 ##### -->
-<para>
-
-</para>
-
-@utf8string:
-@len:
-@bytes_read:
-@bytes_written:
-@error:
-@Returns:
-
-
-<!-- ##### ENUM GConvertError ##### -->
-<para>
-Error codes returned by character set conversion routines.
-</para>
-
-@G_CONVERT_ERROR_NO_CONVERSION: Conversion between the requested character sets
-is not supported.
-@G_CONVERT_ERROR_ILLEGAL_SEQUENCE: Invalid byte sequence in conversion input.
-@G_CONVERT_ERROR_FAILED: Conversion failed for some reason.
-@G_CONVERT_ERROR_PARTIAL_INPUT: Partial character sequence at end of input.
-@G_CONVERT_ERROR_BAD_URI: URI is invalid.
-@G_CONVERT_ERROR_NOT_ABSOLUTE_PATH: Pathname is not an absolute path.
-
-<!-- ##### FUNCTION g_get_charset ##### -->
-<para>
-
-</para>
-
-@charset:
-@Returns:
-
-
-<!--
-Local variables:
-mode: sgml
-sgml-parent-document: ("../glib-docs.sgml" "book" "refentry")
-End:
--->
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Keyed Data Lists
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GData ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_datalist_init ##### -->
-<para>
-
-</para>
-
-@datalist:
-
-
-<!-- ##### MACRO g_datalist_id_set_data ##### -->
-<para>
-
-</para>
-
-@dl:
-@q:
-@d:
-
-
-<!-- ##### FUNCTION g_datalist_id_set_data_full ##### -->
-<para>
-
-</para>
-
-@datalist:
-@key_id:
-@data:
-@destroy_func:
-
-
-<!-- ##### FUNCTION g_datalist_id_get_data ##### -->
-<para>
-
-</para>
-
-@datalist:
-@key_id:
-@Returns:
-
-
-<!-- ##### MACRO g_datalist_id_remove_data ##### -->
-<para>
-
-</para>
-
-@dl:
-@q:
-
-
-<!-- ##### FUNCTION g_datalist_id_remove_no_notify ##### -->
-<para>
-
-</para>
-
-@datalist:
-@key_id:
-@Returns:
-
-
-<!-- ##### MACRO g_datalist_set_data ##### -->
-<para>
-
-</para>
-
-@dl:
-@k:
-@d:
-
-
-<!-- ##### MACRO g_datalist_set_data_full ##### -->
-<para>
-
-</para>
-
-@dl:
-@k:
-@d:
-@f:
-
-
-<!-- ##### MACRO g_datalist_get_data ##### -->
-<para>
-
-</para>
-
-@dl:
-@k:
-
-
-<!-- ##### MACRO g_datalist_remove_data ##### -->
-<para>
-
-</para>
-
-@dl:
-@k:
-
-
-<!-- ##### MACRO g_datalist_remove_no_notify ##### -->
-<para>
-
-</para>
-
-@dl:
-@k:
-
-
-<!-- ##### FUNCTION g_datalist_foreach ##### -->
-<para>
-
-</para>
-
-@datalist:
-@func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_datalist_clear ##### -->
-<para>
-
-</para>
-
-@datalist:
-
-
-<!-- ##### FUNCTION g_datalist_set_flags ##### -->
-<para>
-
-</para>
-
-@datalist:
-@flags:
-
-
-<!-- ##### FUNCTION g_datalist_unset_flags ##### -->
-<para>
-
-</para>
-
-@datalist:
-@flags:
-
-
-<!-- ##### FUNCTION g_datalist_get_flags ##### -->
-<para>
-
-</para>
-
-@datalist:
-@Returns:
-
-
-<!-- ##### MACRO G_DATALIST_FLAGS_MASK ##### -->
-<para>
-
-</para>
-
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Datasets
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO g_dataset_id_set_data ##### -->
-<para>
-
-</para>
-
-@l:
-@k:
-@d:
-
-
-<!-- ##### FUNCTION g_dataset_id_set_data_full ##### -->
-<para>
-
-</para>
-
-@dataset_location:
-@key_id:
-@data:
-@destroy_func:
-
-
-<!-- ##### USER_FUNCTION GDestroyNotify ##### -->
-<para>
-
-</para>
-
-@data:
-
-
-<!-- ##### FUNCTION g_dataset_id_get_data ##### -->
-<para>
-
-</para>
-
-@dataset_location:
-@key_id:
-@Returns:
-
-
-<!-- ##### MACRO g_dataset_id_remove_data ##### -->
-<para>
-
-</para>
-
-@l:
-@k:
-
-
-<!-- ##### FUNCTION g_dataset_id_remove_no_notify ##### -->
-<para>
-
-</para>
-
-@dataset_location:
-@key_id:
-@Returns:
-
-
-<!-- ##### MACRO g_dataset_set_data ##### -->
-<para>
-
-</para>
-
-@l:
-@k:
-@d:
-
-
-<!-- ##### MACRO g_dataset_set_data_full ##### -->
-<para>
-
-</para>
-
-@l:
-@k:
-@d:
-@f:
-
-
-<!-- ##### MACRO g_dataset_get_data ##### -->
-<para>
-
-</para>
-
-@l:
-@k:
-
-
-<!-- ##### MACRO g_dataset_remove_data ##### -->
-<para>
-
-</para>
-
-@l:
-@k:
-
-
-<!-- ##### MACRO g_dataset_remove_no_notify ##### -->
-<para>
-
-</para>
-
-@l:
-@k:
-
-
-<!-- ##### FUNCTION g_dataset_foreach ##### -->
-<para>
-
-</para>
-
-@dataset_location:
-@func:
-@user_data:
-
-
-<!-- ##### USER_FUNCTION GDataForeachFunc ##### -->
-<para>
-
-</para>
-
-@key_id:
-@data:
-@user_data:
-
-
-<!-- ##### FUNCTION g_dataset_destroy ##### -->
-<para>
-
-</para>
-
-@dataset_location:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Date and Time Functions
-
-<!-- ##### SECTION Short_Description ##### -->
-calendrical calculations and miscellaneous time stuff
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The #GDate data structure represents a day between January 1, Year 1,
-and sometime a few thousand years in the future (right now it will go
-to the year 65535 or so, but g_date_set_parse() only parses up to the
-year 8000 or so - just count on "a few thousand"). #GDate is meant to
-represent everyday dates, not astronomical dates or historical dates
-or ISO timestamps or the like. It extrapolates the current Gregorian
-calendar forward and backward in time; there is no attempt to change
-the calendar to match time periods or locations. #GDate does not store
-time information; it represents a <emphasis>day</emphasis>.
-</para>
-
-<para>
-The #GDate implementation has several nice features; it is only a
-64-bit struct, so storing large numbers of dates is very efficient. It
-can keep both a Julian and day-month-year representation of the date,
-since some calculations are much easier with one representation or the
-other. A Julian representation is simply a count of days since some
-fixed day in the past; for #GDate the fixed day is January 1, 1 AD.
-("Julian" dates in the #GDate API aren't really Julian dates in the
-technical sense; technically, Julian dates count from the start of the
-Julian period, Jan 1, 4713 BC).
-</para>
-
-<para>
-#GDate is simple to use. First you need a "blank" date; you can get a
-dynamically allocated date from g_date_new(), or you can declare an
-automatic variable or array and initialize it to a sane state by
-calling g_date_clear(). A cleared date is sane; it's safe to call
-g_date_set_dmy() and the other mutator functions to initialize the
-value of a cleared date. However, a cleared date is initially
-<emphasis>invalid</emphasis>, meaning that it doesn't represent a day
-that exists. It is undefined to call any of the date calculation
-routines on an invalid date. If you obtain a date from a user or other
-unpredictable source, you should check its validity with the
-g_date_valid() predicate. g_date_valid() is also used to check for
-errors with g_date_set_parse() and other functions that can
-fail. Dates can be invalidated by calling g_date_clear() again.
-</para>
-
-<para>
-<emphasis>It is very important to use the API to access the #GDate
-struct.</emphasis> Often only the day-month-year or only the Julian
-representation is valid. Sometimes neither is valid. Use the API.
-</para>
-
-<para>
-GLib doesn't contain any time-manipulation functions; however, there
-is a #GTime typedef and a #GTimeVal struct which represents a more
-precise time (with microseconds). You can request the current time as
-a #GTimeVal with g_get_current_time().
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_USEC_PER_SEC ##### -->
-<para>
-Number of microseconds in one second (1 million). This macro is provided for
-code readability.
-</para>
-
-
-
-<!-- ##### STRUCT GTimeVal ##### -->
-<para>
-Represents a precise time, with seconds and microseconds.
-Similar to the <structname>struct timeval</structname> returned by
-the <function>gettimeofday()</function> UNIX call.
-</para>
-
-@tv_sec: seconds
-@tv_usec: microseconds
-
-<!-- ##### FUNCTION g_get_current_time ##### -->
-<para>
-</para>
-
-@result:
-
-
-<!-- ##### FUNCTION g_usleep ##### -->
-<para>
-Pauses the current thread for the given number of microseconds. There
-are 1 million microseconds per second (represented by the
-#G_USEC_PER_SEC macro). g_usleep() may have limited precision,
-depending on hardware and operating system; don't rely on the exact
-length of the sleep.
-</para>
-
-@microseconds: number of microseconds to pause
-
-
-<!-- ##### FUNCTION g_time_val_add ##### -->
-<para>
-
-</para>
-
-@time_:
-@microseconds:
-
-
-<!-- ##### FUNCTION g_time_val_from_iso8601 ##### -->
-<para>
-
-</para>
-
-@iso_date:
-@time_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_time_val_to_iso8601 ##### -->
-<para>
-
-</para>
-
-@time_:
-@Returns:
-
-
-<!-- ##### STRUCT GDate ##### -->
-<para>
-Represents a day between January 1, Year 1 and a few thousand years in
-the future. None of its members should be accessed directly. If the
-<structname>GDate</structname> is obtained from g_date_new(), it will
-be safe to mutate but invalid and thus not safe for calendrical computations.
-If it's declared on the stack, it will contain garbage so must be
-initialized with g_date_clear(). g_date_clear() makes the date invalid
-but sane. An invalid date doesn't represent a day, it's "empty." A
-date becomes valid after you set it to a Julian day or you set a day,
-month, and year.
-</para>
-
-@julian_days: the Julian representation of the date
-@julian: this bit is set if @julian_days is valid
-@dmy: this is set if @day, @month and @year are valid
-@day: the day of the day-month-year representation of the date, as
- a number between 1 and 31
-@month: the day of the day-month-year representation of the date, as
- a number between 1 and 12
-@year: the day of the day-month-year representation of the date
-
-<!-- ##### TYPEDEF GTime ##### -->
-<para>
-Simply a replacement for <type>time_t</type>. It has been deprected
-since it is <emphasis>not</emphasis> equivalent to <type>time_t</type>
-on 64-bit platforms with a 64-bit <type>time_t</type>.
-Unrelated to #GTimer.
-</para>
-
-
-<para>
-Note that <type>GTime</type> is defined to always be a 32bit integer,
-unlike <type>time_t</type> which may be 64bit on some systems.
-Therefore, <type>GTime</type> will overflow in the year 2038, and
-you cannot use the address of a <type>GTime</type> variable as argument
-to the UNIX time() function. Instead, do the following:
-<informalexample>
-<programlisting>
-time_t ttime;
-GTime gtime;
-
-time (&ttime);
-gtime = (GTime)ttime;
-</programlisting>
-</informalexample>
-</para>
-
-
-<!-- ##### ENUM GDateDMY ##### -->
-<para>
-This enumeration isn't used in the API, but may be useful if you need
-to mark a number as a day, month, or year.
-</para>
-
-@G_DATE_DAY: a day
-@G_DATE_MONTH: a month
-@G_DATE_YEAR: a year
-
-<!-- ##### TYPEDEF GDateDay ##### -->
-<para>
-Integer representing a day of the month; between 1 and
-31. #G_DATE_BAD_DAY represents an invalid day of the month.
-</para>
-
-
-<!-- ##### ENUM GDateMonth ##### -->
-<para>
-Enumeration representing a month; values are #G_DATE_JANUARY,
-#G_DATE_FEBRUARY, etc. #G_DATE_BAD_MONTH is the invalid value.
-</para>
-
-@G_DATE_BAD_MONTH: invalid value
-@G_DATE_JANUARY: January
-@G_DATE_FEBRUARY: February
-@G_DATE_MARCH: March
-@G_DATE_APRIL: April
-@G_DATE_MAY: May
-@G_DATE_JUNE: June
-@G_DATE_JULY: July
-@G_DATE_AUGUST: August
-@G_DATE_SEPTEMBER: September
-@G_DATE_OCTOBER: October
-@G_DATE_NOVEMBER: November
-@G_DATE_DECEMBER: December
-
-<!-- ##### TYPEDEF GDateYear ##### -->
-<para>
-Integer representing a year; #G_DATE_BAD_YEAR is the invalid
-value. The year must be 1 or higher; negative (BC) years are not
-allowed. The year is represented with four digits.
-</para>
-
-
-<!-- ##### ENUM GDateWeekday ##### -->
-<para>
-Enumeration representing a day of the week; #G_DATE_MONDAY,
-#G_DATE_TUESDAY, etc. #G_DATE_BAD_WEEKDAY is an invalid weekday.
-</para>
-
-@G_DATE_BAD_WEEKDAY: invalid value
-@G_DATE_MONDAY: Monday
-@G_DATE_TUESDAY: Tuesday
-@G_DATE_WEDNESDAY: Wednesday
-@G_DATE_THURSDAY: Thursday
-@G_DATE_FRIDAY: Friday
-@G_DATE_SATURDAY: Saturday
-@G_DATE_SUNDAY: Sunday
-
-<!-- ##### MACRO G_DATE_BAD_DAY ##### -->
-<para>
-Represents an invalid #GDateDay.
-</para>
-
-
-
-<!-- ##### MACRO G_DATE_BAD_JULIAN ##### -->
-<para>
-Represents an invalid Julian day number.
-</para>
-
-
-
-<!-- ##### MACRO G_DATE_BAD_YEAR ##### -->
-<para>
-Represents an invalid year.
-</para>
-
-
-
-<!-- ##### FUNCTION g_date_new ##### -->
-<para>
-Allocates a #GDate and initializes it to a sane state. The new date will
-be cleared (as if you'd called g_date_clear()) but invalid (it won't
-represent an existing day). Free the return value with g_date_free().
-</para>
-
-@Returns: a newly-allocated #GDate
-
-
-<!-- ##### FUNCTION g_date_new_dmy ##### -->
-<para>
-Like g_date_new(), but also sets the value of the date. Assuming the
-day-month-year triplet you pass in represents an existing day, the
-returned date will be valid.
-</para>
-
-@day: day of the month
-@month: month of the year
-@year: year
-@Returns: a newly-allocated #GDate initialized with @day, @month, and @year
-
-
-<!-- ##### FUNCTION g_date_new_julian ##### -->
-<para>
-Like g_date_new(), but also sets the value of the date. Assuming the
-Julian day number you pass in is valid (greater than 0, less than an
-unreasonably large number), the returned date will be valid.
-</para>
-
-@julian_day: days since January 1, Year 1
-@Returns: a newly-allocated #GDate initialized with @julian_day
-
-
-<!-- ##### FUNCTION g_date_clear ##### -->
-<para>
-Initializes one or more #GDate structs to a sane but invalid
-state. The cleared dates will not represent an existing date, but will
-not contain garbage. Useful to init a date declared on the stack.
-Validity can be tested with g_date_valid().
-</para>
-
-@date: pointer to one or more dates to clear
-@n_dates: number of dates to clear
-
-
-<!-- ##### FUNCTION g_date_free ##### -->
-<para>
-Frees a #GDate returned from g_date_new().
-</para>
-
-@date: a #GDate
-
-
-<!-- ##### FUNCTION g_date_set_day ##### -->
-<para>
-Sets the day of the month for a #GDate. If the resulting day-month-year
-triplet is invalid, the date will be invalid.
-</para>
-
-@date: a #GDate
-@day: day to set
-
-
-<!-- ##### FUNCTION g_date_set_month ##### -->
-<para>
-Sets the month of the year for a #GDate. If the resulting
-day-month-year triplet is invalid, the date will be invalid.
-</para>
-
-@date: a #GDate
-@month: month to set
-
-
-<!-- ##### FUNCTION g_date_set_year ##### -->
-<para>
-Sets the year for a #GDate. If the resulting day-month-year triplet is
-invalid, the date will be invalid.
-</para>
-
-@date: a #GDate
-@year: year to set
-
-
-<!-- ##### FUNCTION g_date_set_dmy ##### -->
-<para>
-Sets the value of a #GDate from a day, month, and year. The day-month-year
-triplet must be valid; if you aren't sure it is, call g_date_valid_dmy() to
-check before you set it.
-</para>
-
-@date: a #GDate
-@day: day
-@month: month
-@y: year
-
-
-<!-- ##### FUNCTION g_date_set_julian ##### -->
-<para>
-Sets the value of a #GDate from a Julian day number.
-</para>
-
-@date: a #GDate
-@julian_date: Julian day number (days since January 1, Year 1)
-
-
-<!-- ##### FUNCTION g_date_set_time ##### -->
-<para>
-
-</para>
-
-@date:
-@time_:
-
-
-<!-- ##### FUNCTION g_date_set_time_t ##### -->
-<para>
-
-</para>
-
-@date:
-@timet:
-
-
-<!-- ##### FUNCTION g_date_set_time_val ##### -->
-<para>
-
-</para>
-
-@date:
-@timeval:
-
-
-<!-- ##### FUNCTION g_date_set_parse ##### -->
-<para>
-Parses a user-inputted string @str, and try to figure out what date it
-represents, taking the <link linkend="setlocale">current locale</link>
-into account. If the string is successfully parsed, the date will be
-valid after the call. Otherwise, it will be invalid. You should check
-using g_date_valid() to see whether the parsing succeeded.
-</para>
-
-<para>
-This function is not appropriate for file formats and the like; it
-isn't very precise, and its exact behavior varies with the
-locale. It's intended to be a heuristic routine that guesses what the
-user means by a given string (and it does work pretty well in that
-capacity).
-</para>
-
-@date: a #GDate to fill in
-@str: string to parse
-
-
-<!-- ##### FUNCTION g_date_add_days ##### -->
-<para>
-Increments a date some number of days. To move forward by weeks, add
-weeks*7 days. The date must be valid.
-</para>
-
-@date: a #GDate to increment
-@n_days: number of days to move the date forward
-
-
-<!-- ##### FUNCTION g_date_subtract_days ##### -->
-<para>
-Moves a date some number of days into the past. To move by weeks, just
-move by weeks*7 days. The date must be valid.
-</para>
-
-@date: a #GDate to decrement
-@n_days: number of days to move
-
-
-<!-- ##### FUNCTION g_date_add_months ##### -->
-<para>
-Increments a date by some number of months. If the day of the month is
-greater than 28, this routine may change the day of the month (because
-the destination month may not have the current day in it). The date
-must be valid.
-</para>
-
-@date: a #GDate to increment
-@n_months: number of months to move forward
-
-
-<!-- ##### FUNCTION g_date_subtract_months ##### -->
-<para>
-Moves a date some number of months into the past. If the current day of
-the month doesn't exist in the destination month, the day of the month
-may change. The date must be valid.
-</para>
-
-@date: a #GDate to decrement
-@n_months: number of months to move
-
-
-<!-- ##### FUNCTION g_date_add_years ##### -->
-<para>
-Increments a date by some number of years. If the date is February 29,
-and the destination year is not a leap year, the date will be changed
-to February 28. The date must be valid.
-</para>
-
-@date: a #GDate to increment
-@n_years: number of years to move forward
-
-
-<!-- ##### FUNCTION g_date_subtract_years ##### -->
-<para>
-Moves a date some number of years into the past. If the current day
-doesn't exist in the destination year (i.e. it's February 29 and you
-move to a non-leap-year) then the day is changed to February 29. The date
-must be valid.
-</para>
-
-@date: a #GDate to decrement
-@n_years: number of years to move
-
-
-<!-- ##### FUNCTION g_date_days_between ##### -->
-<para>
-Computes the number of days between two dates.
-If @date2 is prior to @date1, the returned value is negative.
-Both dates must be valid.
-</para>
-
-@date1: the first date
-@date2: the second date
-@Returns: the number of days between @date1 and @date2
-
-
-<!-- ##### FUNCTION g_date_compare ##### -->
-<para>
-qsort()-style comparsion function for dates. Both
-dates must be valid.
-</para>
-
-@lhs: first date to compare
-@rhs: second date to compare
-@Returns: 0 for equal, less than zero if @lhs is less than @rhs,
- greater than zero if @lhs is greater than @rhs
-
-
-<!-- ##### FUNCTION g_date_clamp ##### -->
-<para>
-If @date is prior to @min_date, sets @date equal to @min_date.
-If @date falls after @max_date, sets @date equal to @max_date.
-Otherwise, @date is unchanged.
-Either of @min_date and @max_date may be %NULL. All non-%NULL dates
-must be valid.
-</para>
-
-@date: a #GDate to clamp
-@min_date: minimum accepted value for @date
-@max_date: maximum accepted value for @date
-
-
-<!-- ##### FUNCTION g_date_order ##### -->
-<para>
-Checks if @date1 is less than or equal to @date2,
-and swap the values if this is not the case.
-</para>
-
-@date1: the first date
-@date2: the second date
-
-
-<!-- ##### FUNCTION g_date_get_day ##### -->
-<para>
-Returns the day of the month. The date must be valid.
-</para>
-
-@date: a #GDate to extract the day of the month from
-@Returns: day of the month
-
-
-<!-- ##### FUNCTION g_date_get_month ##### -->
-<para>
-Returns the month of the year. The date must be valid.
-</para>
-
-@date: a #GDate to get the month from
-@Returns: month of the year as a #GDateMonth
-
-
-<!-- ##### FUNCTION g_date_get_year ##### -->
-<para>
-Returns the year of a #GDate. The date must be valid.
-</para>
-
-@date: a #GDate
-@Returns: year in which the date falls
-
-
-<!-- ##### FUNCTION g_date_get_julian ##### -->
-<para>
-Returns the Julian day or "serial number" of the #GDate. The
-Julian day is simply the number of days since January 1, Year 1; i.e.,
-January 1, Year 1 is Julian day 1; January 2, Year 1 is Julian day 2,
-etc. The date must be valid.
-</para>
-
-@date: a #GDate to extract the Julian day from
-@Returns: Julian day
-
-
-<!-- ##### FUNCTION g_date_get_weekday ##### -->
-<para>
-Returns the day of the week for a #GDate. The date must be valid.
-</para>
-
-@date: a #GDate.
-@Returns: day of the week as a #GDateWeekday.
-
-
-<!-- ##### FUNCTION g_date_get_day_of_year ##### -->
-<para>
-Returns the day of the year, where Jan 1 is the first day of the
-year. The date must be valid.
-</para>
-
-@date: a #GDate to extract day of year from
-@Returns: day of the year
-
-
-<!-- ##### FUNCTION g_date_get_days_in_month ##### -->
-<para>
-Returns the number of days in a month, taking leap years into account.
-</para>
-
-@month: month
-@year: year
-@Returns: number of days in @month during the @year
-
-
-<!-- ##### FUNCTION g_date_is_first_of_month ##### -->
-<para>
-Returns %TRUE if the date is on the first of a month. The date must be valid.
-</para>
-
-@date: a #GDate to check
-@Returns: %TRUE if the date is the first of the month
-
-
-<!-- ##### FUNCTION g_date_is_last_of_month ##### -->
-<para>
-Returns %TRUE if the date is the last day of the month. The date must be valid.
-</para>
-
-@date: a #GDate to check
-@Returns: %TRUE if the date is the last day of the month
-
-
-<!-- ##### FUNCTION g_date_is_leap_year ##### -->
-<para>
-Returns %TRUE if the year is a leap year.<footnote><para>
-For the purposes of this function, leap year is every year divisible by
-4 unless that year is divisible by 100. If it is divisible by 100 it would
-be a leap year only if that year is also divisible by 400.</para></footnote>
-</para>
-
-@year: year to check
-@Returns: %TRUE if the year is a leap year
-
-
-<!-- ##### FUNCTION g_date_get_monday_week_of_year ##### -->
-<para>
-Returns the week of the year, where weeks are understood to start on
-Monday. If the date is before the first Monday of the year, return
-0. The date must be valid.
-</para>
-
-@date: a #GDate
-@Returns: week of the year
-
-
-<!-- ##### FUNCTION g_date_get_monday_weeks_in_year ##### -->
-<para>
-Returns the number of weeks in the year, where weeks are taken to start
-on Monday. Will be 52 or 53. The date must be valid. (Years always have 52
-7-day periods, plus 1 or 2 extra days depending on whether it's a leap
-year. This function is basically telling you how many Mondays are in
-the year, i.e. there are 53 Mondays if one of the extra days happens
-to be a Monday.)
-</para>
-
-@year: a year
-@Returns: number of Mondays in the year
-
-
-<!-- ##### FUNCTION g_date_get_sunday_week_of_year ##### -->
-<para>
-Returns the week of the year during which this date falls, if weeks
-are understood to being on Sunday. The date must be valid. Can return 0 if
-the day is before the first Sunday of the year.
-</para>
-
-@date: a #GDate
-@Returns: week number
-
-
-<!-- ##### FUNCTION g_date_get_sunday_weeks_in_year ##### -->
-<para>
-Returns the number of weeks in the year, where weeks are taken to start
-on Sunday. Will be 52 or 53. The date must be valid. (Years always have 52
-7-day periods, plus 1 or 2 extra days depending on whether it's a leap
-year. This function is basically telling you how many Sundays are in
-the year, i.e. there are 53 Sundays if one of the extra days happens
-to be a Sunday.)
-</para>
-
-@year: year to count weeks in
-@Returns: number of weeks
-
-
-<!-- ##### FUNCTION g_date_get_iso8601_week_of_year ##### -->
-<para>
-
-</para>
-
-@date:
-@Returns:
-
-
-<!-- ##### FUNCTION g_date_strftime ##### -->
-<para>
-Generates a printed representation of the date, in a
-<link linkend="setlocale">locale</link>-specific way. Works just like
-the platform's C library strftime() function, but only accepts date-related
-formats; time-related formats give undefined results. Date must be valid.
-Unlike strftime() (which uses the locale encoding), works on a UTF-8 format
-string and stores a UTF-8 result.
-</para>
-
-<para>
-This function does not provide any conversion specifiers in addition
-to those implemented by the platform's C library. For example, don't
-expect that using g_date_strftime() would make the %F provided by the C99
-strftime() work on Windows where the C library only complies to C89.
-</para>
-
-@s: destination buffer
-@slen: buffer size
-@format: format string
-@date: valid #GDate
-@Returns: number of characters written to the buffer, or 0 the buffer was too small
-
-
-<!-- ##### FUNCTION g_date_to_struct_tm ##### -->
-<para>
-Fills in the date-related bits of a <structname>struct tm</structname>
-using the @date value. Initializes the non-date parts with something
-sane but meaningless.
-</para>
-
-@date: a #GDate to set the <structname>struct tm</structname> from.
-@tm: <structname>struct tm</structname> to fill.
-
-
-<!-- ##### FUNCTION g_date_valid ##### -->
-<para>
-Returns %TRUE if the #GDate represents an existing day. The date must not
-contain garbage; it should have been initialized with g_date_clear()
-if it wasn't allocated by one of the g_date_new() variants.
-</para>
-
-@date: a #GDate to check
-@Returns: Whether the date is valid
-
-
-<!-- ##### FUNCTION g_date_valid_day ##### -->
-<para>
-Returns %TRUE if the day of the month is valid (a day is valid if it's
-between 1 and 31 inclusive).
-</para>
-
-@day: day to check
-@Returns: %TRUE if the day is valid
-
-
-<!-- ##### FUNCTION g_date_valid_month ##### -->
-<para>
-Returns %TRUE if the month value is valid. The 12 #GDateMonth
-enumeration values are the only valid months.
-</para>
-
-@month: month
-@Returns: %TRUE if the month is valid
-
-
-<!-- ##### FUNCTION g_date_valid_year ##### -->
-<para>
-Returns %TRUE if the year is valid. Any year greater than 0 is valid,
-though there is a 16-bit limit to what #GDate will understand.
-</para>
-
-@year: year
-@Returns: %TRUE if the year is valid
-
-
-<!-- ##### FUNCTION g_date_valid_dmy ##### -->
-<para>
-Returns %TRUE if the day-month-year triplet forms a valid, existing day
-in the range of days #GDate understands (Year 1 or later, no more than
-a few thousand years in the future).
-</para>
-
-@day: day
-@month: month
-@year: year
-@Returns: %TRUE if the date is a valid one
-
-
-<!-- ##### FUNCTION g_date_valid_julian ##### -->
-<para>
-Returns %TRUE if the Julian day is valid. Anything greater than zero
-is basically a valid Julian, though there is a 32-bit limit.
-</para>
-
-@julian_date: Julian day to check
-@Returns: %TRUE if the Julian day is valid
-
-
-<!-- ##### FUNCTION g_date_valid_weekday ##### -->
-<para>
-Returns %TRUE if the weekday is valid. The seven #GDateWeekday enumeration
-values are the only valid weekdays.
-</para>
-
-@weekday: weekday
-@Returns: %TRUE if the weekday is valid
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Error Reporting
-
-<!-- ##### SECTION Short_Description ##### -->
-a system for reporting errors
-
-<!-- ##### SECTION Long_Description ##### -->
-
-<para>
-GLib provides a standard method of reporting errors from a called function to
-the calling code. (This is the same problem solved by exceptions in other
-languages.) It's important to understand that this method is both a
-<emphasis>data type</emphasis> (the #GError object) and a <emphasis>set of
-rules.</emphasis> If you use #GError incorrectly, then your code will not
-properly interoperate with other code that uses #GError, and users of your API
-will probably get confused.
-</para>
-
-<para>
-First and foremost: <emphasis>#GError should only be used to report
-recoverable runtime errors, never to report programming errors.</emphasis> If
-the programmer has screwed up, then you should use g_warning(),
-g_return_if_fail(), g_assert(), g_error(), or some similar facility.
-(Incidentally, remember that the g_error() function should
-<emphasis>only</emphasis> be used for programming errors, it should not be used
-to print any error reportable via #GError.)
-</para>
-
-<para>
-Examples of recoverable runtime errors are "file not found" or "failed to parse
-input." Examples of programming errors are "NULL passed to strcmp()" or
-"attempted to free the same pointer twice." These two kinds of errors are
-fundamentally different: runtime errors should be handled or reported to the
-user, programming errors should be eliminated by fixing the bug in the program.
-This is why most functions in GLib and GTK+ do not use the #GError facility.
-</para>
-
-<para>
-Functions that can fail take a return location for a #GError as their last argument.
-For example:
-<informalexample><programlisting>
-gboolean g_file_get_contents (const gchar *filename,
- gchar **contents,
- gsize *length,
- GError **error);
-</programlisting></informalexample>
-If you pass a non-%NULL value for the <literal>error</literal> argument, it should
-point to a location where an error can be placed. For example:
-<informalexample><programlisting>
-gchar *contents;
-GError *err = NULL;
-g_file_get_contents ("foo.txt", &contents, NULL, &err);
-g_assert ((contents == NULL && err != NULL) || (contents != NULL && err == NULL));
-if (err != NULL)
- {
- /* Report error to user, and free error */
- g_assert (contents == NULL);
- fprintf (stderr, "Unable to read file: %s\n", err->message);
- g_error_free (err);
- }
-else
- {
- /* Use file contents */
- g_assert (contents != NULL);
- }
-</programlisting></informalexample>
-Note that <literal>err != NULL</literal> in this example is a
-<emphasis>reliable</emphasis> indicator of whether
-g_file_get_contents() failed. Additionally, g_file_get_contents() returns
-a boolean which indicates whether it was successful.
-</para>
-
-<para>
-Because g_file_get_contents() returns %FALSE on failure, if you are only
-interested in whether it failed and don't need to display an error message, you
-can pass %NULL for the <literal>error</literal> argument:
-<informalexample><programlisting>
-if (g_file_get_contents ("foo.txt", &contents, NULL, NULL)) /* ignore errors */
- /* no error occurred */ ;
-else
- /* error */ ;
-</programlisting></informalexample>
-</para>
-
-<para>
-The #GError object contains three fields: <literal>domain</literal> indicates
-the module the error-reporting function is located in, <literal>code</literal>
-indicates the specific error that occurred, and <literal>message</literal> is a
-user-readable error message with as many details as possible. Several functions
-are provided to deal with an error received from a called function:
-g_error_matches() returns %TRUE if the error matches a given domain and code,
-g_propagate_error() copies an error into an error location (so the calling
-function will receive it), and g_clear_error() clears an error location by
-freeing the error and resetting the location to %NULL. To display an error to the
-user, simply display <literal>error->message</literal>, perhaps along with
-additional context known only to the calling function (the file being opened, or
-whatever -- though in the g_file_get_contents() case,
-<literal>error->message</literal> already contains a filename).
-</para>
-
-<para>
-When implementing a function that can report errors, the basic tool is
-g_set_error(). Typically, if a fatal error occurs you want to g_set_error(),
-then return immediately. g_set_error() does nothing if the error location passed
-to it is %NULL. Here's an example:
-<informalexample><programlisting>
-gint
-foo_open_file (GError **error)
-{
- gint fd;
-
- fd = open ("file.txt", O_RDONLY);
-
- if (fd < 0)
- {
- g_set_error (error,
- FOO_ERROR, /* error domain */
- FOO_ERROR_BLAH, /* error code */
- "Failed to open file: %s", /* error message format string */
- g_strerror (errno));
- return -1;
- }
- else
- return fd;
-}
-</programlisting></informalexample>
-</para>
-
-<para>
-Things are somewhat more complicated if you yourself call another function that
-can report a #GError. If the sub-function indicates fatal errors in some way
-other than reporting a #GError, such as by returning %TRUE on success, you can
-simply do the following:
-<informalexample><programlisting>
-gboolean
-my_function_that_can_fail (GError **err)
-{
- g_return_val_if_fail (err == NULL || *err == NULL, FALSE);
-
- if (!sub_function_that_can_fail (err))
- {
- /* assert that error was set by the sub-function */
- g_assert (err == NULL || *err != NULL);
- return FALSE;
- }
-
- /* otherwise continue, no error occurred */
- g_assert (err == NULL || *err == NULL);
-}
-</programlisting></informalexample>
-</para>
-
-<para>
-If the sub-function does not indicate errors other than by reporting a #GError,
-you need to create a temporary #GError since the passed-in one may be %NULL.
-g_propagate_error() is intended for use in this case.
-<informalexample><programlisting>
-gboolean
-my_function_that_can_fail (GError **err)
-{
- GError *tmp_error;
-
- g_return_val_if_fail (err == NULL || *err == NULL, FALSE);
-
- tmp_error = NULL;
- sub_function_that_can_fail (&tmp_error);
-
- if (tmp_error != NULL)
- {
- /* store tmp_error in err, if err != NULL,
- * otherwise call g_error_free(<!-- -->) on tmp_error
- */
- g_propagate_error (err, tmp_error);
- return FALSE;
- }
-
- /* otherwise continue, no error occurred */
-}
-</programlisting></informalexample>
-</para>
-
-<para>
-Error pileups are always a bug. For example, this code is incorrect:
-<informalexample><programlisting>
-gboolean
-my_function_that_can_fail (GError **err)
-{
- GError *tmp_error;
-
- g_return_val_if_fail (err == NULL || *err == NULL, FALSE);
-
- tmp_error = NULL;
- sub_function_that_can_fail (&tmp_error);
- other_function_that_can_fail (&tmp_error);
-
- if (tmp_error != NULL)
- {
- g_propagate_error (err, tmp_error);
- return FALSE;
- }
-}
-</programlisting></informalexample>
-<literal>tmp_error</literal> should be checked immediately after
-<function>sub_function_that_can_fail()</function>, and either cleared or propagated upward. The rule
-is: <emphasis>after each error, you must either handle the error, or return it to the
-calling function</emphasis>. Note that passing %NULL for the error location is the
-equivalent of handling an error by always doing nothing about it. So the
-following code is fine, assuming errors in <function>sub_function_that_can_fail()</function> are not
-fatal to <function>my_function_that_can_fail()</function>:
-<informalexample><programlisting>
-gboolean
-my_function_that_can_fail (GError **err)
-{
- GError *tmp_error;
-
- g_return_val_if_fail (err == NULL || *err == NULL, FALSE);
-
- sub_function_that_can_fail (NULL); /* ignore errors */
-
- tmp_error = NULL;
- other_function_that_can_fail (&tmp_error);
-
- if (tmp_error != NULL)
- {
- g_propagate_error (err, tmp_error);
- return FALSE;
- }
-}
-</programlisting></informalexample>
-</para>
-
-<para>
-Note that passing %NULL for the error location <emphasis>ignores</emphasis>
-errors; it's equivalent to <literal>try { sub_function_that_can_fail (); } catch
-(...) {}</literal> in C++. It does <emphasis>not</emphasis> mean to leave errors
-unhandled; it means to handle them by doing nothing.
-</para>
-
-<para>
-Error domains and codes are conventionally named as follows:
-<itemizedlist>
-<listitem>
-<para>
-The error domain is called
-<literal><NAMESPACE>_<MODULE>_ERROR</literal>, for example
-%G_SPAWN_ERROR or %G_THREAD_ERROR:
-<informalexample><programlisting>
-#define G_SPAWN_ERROR g_spawn_error_quark (<!-- -->)
-
-GQuark
-g_spawn_error_quark (void)
-{
- return g_quark_from_static_string ("g-spawn-error-quark");
-}
-</programlisting></informalexample>
-</para>
-</listitem>
-<listitem>
-<para>
-The error codes are in an enumeration called
-<literal><Namespace><Module>Error</literal>; for example,
-#GThreadError or #GSpawnError.
-</para>
-</listitem>
-<listitem>
-<para>
-Members of the error code enumeration are called <literal><NAMESPACE>_<MODULE>_ERROR_<CODE></literal>, for example %G_SPAWN_ERROR_FORK or %G_THREAD_ERROR_AGAIN.
-</para>
-</listitem>
-<listitem>
-<para>
-If there's a "generic" or "unknown" error code for unrecoverable errors it
-doesn't make sense to distinguish with specific codes, it should be called
-<literal><NAMESPACE>_<MODULE>_ERROR_FAILED</literal>, for
-example %G_SPAWN_ERROR_FAILED or %G_THREAD_ERROR_FAILED.
-</para>
-</listitem>
-</itemizedlist>
-</para>
-
-<para>
-Summary of rules for use of #GError:
- <itemizedlist>
- <listitem>
- <para>
- Do not report programming errors via #GError.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The last argument of a function that returns an error should be a
- location where a #GError can be placed (i.e. "#GError** error"). If
- #GError is used with varargs, the #GError** should be the last
- argument before the "...".
- </para>
- </listitem>
-
- <listitem>
- <para>
- The caller may pass %NULL for the #GError** if they are not interested
- in details of the exact error that occurred.
- </para>
- </listitem>
-
- <listitem>
- <para>
- If %NULL is passed for the #GError** argument, then errors should
- not be returned to the caller, but your function should still
- abort and return if an error occurs. That is, control flow should
- not be affected by whether the caller wants to get a #GError.
- </para>
- </listitem>
-
- <listitem>
- <para>
- If a #GError is reported, then your function by definition
- <emphasis>had a fatal failure and did not complete whatever it was supposed
- to do</emphasis>. If the failure was not fatal, then you handled it
- and you should not report it. If it was fatal, then you must report it
- and discontinue whatever you were doing immediately.
- </para>
- </listitem>
-
- <listitem>
- <para>
- A #GError* must be initialized to %NULL before passing its address to
- a function that can report errors.
- </para>
- </listitem>
-
- <listitem>
- <para>
- "Piling up" errors is always a bug. That is, if you assign a new
- #GError to a #GError* that is non-%NULL, thus overwriting the previous
- error, it indicates that you should have aborted the operation instead
- of continuing. If you were able to continue, you should have cleared
- the previous error with g_clear_error(). g_set_error() will complain
- if you pile up errors.
- </para>
- </listitem>
-
-
- <listitem>
- <para>
- By convention, if you return a boolean value indicating success
- then %TRUE means success and %FALSE means failure. If %FALSE is returned,
- the error <emphasis>must</emphasis> be set to a non-%NULL value.
- </para>
- </listitem>
-
-
- <listitem>
- <para>
- A %NULL return value is also frequently used to mean that an error
- occurred. You should make clear in your documentation whether %NULL is
- a valid return value in non-error cases; if %NULL is a valid value,
- then users must check whether an error was returned to see if the
- function succeeded.
- </para>
- </listitem>
-
- <listitem>
- <para>
- When implementing a function that can report errors, you may want to
- add a check at the top of your function that the error return location
- is either %NULL or contains a %NULL error
- (e.g. <literal>g_return_if_fail (error == NULL || *error ==
- NULL);</literal>).
- </para>
- </listitem>
-
-
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GError ##### -->
-<para>
-The <structname>GError</structname> structure contains
-information about an error that has occurred.
-</para>
-
-@domain: error domain, e.g. #G_FILE_ERROR.
-@code: error code, e.g. %G_FILE_ERROR_NOENT.
-@message: human-readable informative error message.
-
-<!-- ##### FUNCTION g_error_new ##### -->
-<para>
-
-</para>
-
-@domain:
-@code:
-@format:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_error_new_literal ##### -->
-<para>
-
-</para>
-
-@domain:
-@code:
-@message:
-@Returns:
-
-
-<!-- ##### FUNCTION g_error_new_valist ##### -->
-<para>
-
-</para>
-
-@domain:
-@code:
-@format:
-@args:
-@Returns:
-
-
-<!-- ##### FUNCTION g_error_free ##### -->
-<para>
-
-</para>
-
-@error:
-
-
-<!-- ##### FUNCTION g_error_copy ##### -->
-<para>
-
-</para>
-
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_error_matches ##### -->
-<para>
-
-</para>
-
-@error:
-@domain:
-@code:
-@Returns:
-
-
-<!-- ##### FUNCTION g_set_error ##### -->
-<para>
-
-</para>
-
-@err:
-@domain:
-@code:
-@format:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_set_error_literal ##### -->
-<para>
-
-</para>
-
-@err:
-@domain:
-@code:
-@message:
-
-
-<!-- ##### FUNCTION g_propagate_error ##### -->
-<para>
-
-</para>
-
-@dest:
-@src:
-
-
-<!-- ##### FUNCTION g_clear_error ##### -->
-<para>
-
-</para>
-
-@err: <!--
-Local variables:
-mode: sgml
-sgml-parent-document: ("../glib-docs.sgml" "book" "refsect2" "")
-End:
--->
-
-
-<!-- ##### FUNCTION g_prefix_error ##### -->
-<para>
-
-</para>
-
-@err:
-@format:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_propagate_prefixed_error ##### -->
-<para>
-
-</para>
-
-@dest:
-@src:
-@format:
-@Varargs:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-File Utilities
-
-<!-- ##### SECTION Short_Description ##### -->
-various file-related functions
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-There is a group of functions which wrap the common POSIX functions
-dealing with filenames (g_open(), g_rename(), g_mkdir(), g_stat(),
-g_unlink(), g_remove(), g_fopen(), g_freopen()). The point of these
-wrappers is to make it possible to handle file names with any Unicode
-characters in them on Windows without having to use ifdefs and the
-wide character API in the application code.
-</para>
-<para>
-The pathname argument should be in the GLib file name encoding. On
-POSIX this is the actual on-disk encoding which might correspond to
-the locale settings of the process (or the
-<envar>G_FILENAME_ENCODING</envar> environment variable), or not.
-</para>
-<para>
-On Windows the GLib file name encoding is UTF-8. Note that the
-Microsoft C library does not use UTF-8, but has separate APIs for
-current system code page and wide characters (UTF-16). The GLib
-wrappers call the wide character API if present (on modern Windows
-systems), otherwise convert to/from the system code page.
-</para>
-
-<para>
-Another group of functions allows to open and read directories
-in the GLib file name encoding. These are g_dir_open(),
-g_dir_read_name(), g_dir_rewind(), g_dir_close().
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### ENUM GFileError ##### -->
-<para>
-Values corresponding to <literal>errno</literal> codes returned from file operations
-on UNIX. Unlike <literal>errno</literal> codes, #GFileError values are available on
-all systems, even Windows. The exact meaning of each code depends on what
-sort of file operation you were performing; the UNIX documentation
-gives more details. The following error code descriptions come
-from the GNU C Library manual, and are under the copyright
-of that manual.
-</para>
-
-<para>
-It's not very portable to make detailed assumptions about exactly
-which errors will be returned from a given operation. Some errors
-don't occur on some systems, etc., sometimes there are subtle
-differences in when a system will report a given error, etc.
-</para>
-
-@G_FILE_ERROR_EXIST: Operation not permitted; only the owner of the
- file (or other resource) or processes with special privileges can
- perform the operation.
-@G_FILE_ERROR_ISDIR: File is a directory; you cannot open a directory
- for writing, or create or remove hard links to it.
-@G_FILE_ERROR_ACCES: Permission denied; the file permissions do not
- allow the attempted operation.
-@G_FILE_ERROR_NAMETOOLONG: Filename too long.
-@G_FILE_ERROR_NOENT: No such file or directory. This is a "file
- doesn't exist" error for ordinary files that are referenced in
- contexts where they are expected to already exist.
-@G_FILE_ERROR_NOTDIR: A file that isn't a directory was specified when
- a directory is required.
-@G_FILE_ERROR_NXIO: No such device or address. The system tried to
- use the device represented by a file you specified, and it
- couldn't find the device. This can mean that the device file was
- installed incorrectly, or that the physical device is missing or
- not correctly attached to the computer.
-@G_FILE_ERROR_NODEV: This file is of a type that doesn't support
- mapping.
-@G_FILE_ERROR_ROFS: The directory containing the new link can't be
- modified because it's on a read-only file system.
-@G_FILE_ERROR_TXTBSY: Text file busy.
-@G_FILE_ERROR_FAULT: You passed in a pointer to bad memory.
- (GLib won't reliably return this, don't pass in pointers to bad
- memory.)
-@G_FILE_ERROR_LOOP: Too many levels of symbolic links were encountered
- in looking up a file name. This often indicates a cycle of symbolic
- links.
-@G_FILE_ERROR_NOSPC: No space left on device; write operation on a
- file failed because the disk is full.
-@G_FILE_ERROR_NOMEM: No memory available. The system cannot allocate
- more virtual memory because its capacity is full.
-@G_FILE_ERROR_MFILE: The current process has too many files open and
- can't open any more. Duplicate descriptors do count toward this
- limit.
-@G_FILE_ERROR_NFILE: There are too many distinct file openings in the
- entire system.
-@G_FILE_ERROR_BADF: Bad file descriptor; for example, I/O on a
- descriptor that has been closed or reading from a descriptor open
- only for writing (or vice versa).
-@G_FILE_ERROR_INVAL: Invalid argument. This is used to indicate
- various kinds of problems with passing the wrong argument to a
- library function.
-@G_FILE_ERROR_PIPE: Broken pipe; there is no process reading from the
- other end of a pipe. Every library function that returns this
- error code also generates a `SIGPIPE' signal; this signal
- terminates the program if not handled or blocked. Thus, your
- program will never actually see this code unless it has handled or
- blocked `SIGPIPE'.
-@G_FILE_ERROR_AGAIN: Resource temporarily unavailable; the call might
- work if you try again later.
-@G_FILE_ERROR_INTR: Interrupted function call; an asynchronous signal
- occurred and prevented completion of the call. When this
- happens, you should try the call again.
-@G_FILE_ERROR_IO: Input/output error; usually used for physical read
- or write errors. i.e. the disk or other physical device hardware
- is returning errors.
-@G_FILE_ERROR_PERM: Operation not permitted; only the owner of the
- file (or other resource) or processes with special privileges can
- perform the operation.
-@G_FILE_ERROR_NOSYS: Function not implemented; this indicates that the
- system is missing some functionality.
-@G_FILE_ERROR_FAILED: Does not correspond to a UNIX error code; this
- is the standard "failed for unspecified reason" error code present in
- all #GError error code enumerations. Returned if no specific
- code applies.
-
-<!-- ##### MACRO G_FILE_ERROR ##### -->
-<para>
-Error domain for file operations. Errors in this domain will
-be from the #GFileError enumeration. See #GError for information on
-error domains.
-</para>
-
-
-
-<!-- ##### ENUM GFileTest ##### -->
-<para>
-A test to perform on a file using g_file_test().
-</para>
-
-@G_FILE_TEST_IS_REGULAR: %TRUE if the file is a regular file (not a directory).
- Note that this test will also return %TRUE if the tested file is a symlink
- to a regular file.
-@G_FILE_TEST_IS_SYMLINK: %TRUE if the file is a symlink.
-@G_FILE_TEST_IS_DIR: %TRUE if the file is a directory.
-@G_FILE_TEST_IS_EXECUTABLE: %TRUE if the file is executable.
-@G_FILE_TEST_EXISTS: %TRUE if the file exists.
- It may or may not be a regular file.
-
-<!-- ##### FUNCTION g_file_error_from_errno ##### -->
-<para>
-
-</para>
-
-@err_no:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_get_contents ##### -->
-<para>
-
-</para>
-
-@filename:
-@contents:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_set_contents ##### -->
-<para>
-
-</para>
-
-@filename:
-@contents:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_test ##### -->
-<para>
-
-</para>
-
-@filename:
-@test:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mkstemp ##### -->
-<para>
-
-</para>
-
-@tmpl:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mkstemp_full ##### -->
-<para>
-
-</para>
-
-@tmpl:
-@flags:
-@mode:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_open_tmp ##### -->
-<para>
-
-</para>
-
-@tmpl:
-@name_used:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_file_read_link ##### -->
-<para>
-
-</para>
-
-@filename:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mkdir_with_parents ##### -->
-<para>
-
-</para>
-
-@pathname:
-@mode:
-@Returns:
-
-
-<!-- ##### STRUCT GDir ##### -->
-<para>
-An opaque structure representing an opened directory.
-</para>
-
-
-<!-- ##### FUNCTION g_dir_open ##### -->
-<para>
-
-</para>
-
-@path:
-@flags:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_dir_read_name ##### -->
-<para>
-
-</para>
-
-@dir:
-@Returns:
-
-
-<!-- ##### FUNCTION g_dir_rewind ##### -->
-<para>
-
-</para>
-
-@dir:
-
-
-<!-- ##### FUNCTION g_dir_close ##### -->
-<para>
-
-</para>
-
-@dir:
-
-
-<!-- ##### STRUCT GMappedFile ##### -->
-<para>
-The #GMappedFile represents a file mapping created with
-g_mapped_file_new(). It has only private members and should
-not be accessed directly.
-</para>
-
-
-<!-- ##### FUNCTION g_mapped_file_new ##### -->
-<para>
-
-</para>
-
-@filename:
-@writable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mapped_file_ref ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mapped_file_unref ##### -->
-<para>
-
-</para>
-
-@file:
-
-
-<!-- ##### FUNCTION g_mapped_file_free ##### -->
-<para>
-
-</para>
-
-@file:
-
-
-<!-- ##### FUNCTION g_mapped_file_get_length ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mapped_file_get_contents ##### -->
-<para>
-
-</para>
-
-@file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_open ##### -->
-<para>
-
-</para>
-
-@filename:
-@flags:
-@mode:
-@Returns:
-
-
-<!-- ##### FUNCTION g_rename ##### -->
-<para>
-
-</para>
-
-@oldfilename:
-@newfilename:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mkdir ##### -->
-<para>
-
-</para>
-
-@filename:
-@mode:
-@Returns:
-
-
-<!-- ##### FUNCTION g_stat ##### -->
-<para>
-
-</para>
-
-@filename:
-@buf:
-@Returns:
-
-
-<!-- ##### FUNCTION g_lstat ##### -->
-<para>
-
-</para>
-
-@filename:
-@buf:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unlink ##### -->
-<para>
-
-</para>
-
-@filename:
-@Returns:
-
-
-<!-- ##### FUNCTION g_remove ##### -->
-<para>
-
-</para>
-
-@filename:
-@Returns:
-
-
-<!-- ##### FUNCTION g_rmdir ##### -->
-<para>
-
-</para>
-
-@filename:
-@Returns:
-
-
-<!-- ##### FUNCTION g_fopen ##### -->
-<para>
-
-</para>
-
-@filename:
-@mode:
-@Returns:
-
-
-<!-- ##### FUNCTION g_freopen ##### -->
-<para>
-
-</para>
-
-@filename:
-@mode:
-@stream:
-@Returns:
-
-
-<!-- ##### FUNCTION g_chmod ##### -->
-<para>
-
-</para>
-
-@filename:
-@mode:
-@Returns:
-
-
-<!-- ##### FUNCTION g_access ##### -->
-<para>
-
-</para>
-
-@filename:
-@mode:
-@Returns:
-
-
-<!-- ##### FUNCTION g_creat ##### -->
-<para>
-
-</para>
-
-@filename:
-@mode:
-@Returns:
-
-
-<!-- ##### FUNCTION g_chdir ##### -->
-<para>
-
-</para>
-
-@path:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utime ##### -->
-<para>
-
-</para>
-
-@filename:
-@utb:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Hostname Utilities
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### FUNCTION g_hostname_to_ascii ##### -->
-<para>
-
-</para>
-
-@hostname:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hostname_to_unicode ##### -->
-<para>
-
-</para>
-
-@hostname:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hostname_is_non_ascii ##### -->
-<para>
-
-</para>
-
-@hostname:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hostname_is_ascii_encoded ##### -->
-<para>
-
-</para>
-
-@hostname:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hostname_is_ip_address ##### -->
-<para>
-
-</para>
-
-@hostname:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION ./tmpl/desktop_entry.sgml:Long_Description ##### -->
-<para>
-The "GDesktopEntry" parser is intended to parse files written to
-the <ulink
-url="http://www.freedesktop.org/Standards/desktop-entry-spec">Desktop
-Entry Specification</ulink>. It supports deserialization of
-desktop entries from files and in-memory data. Desktop entries
-are used for a variety of things including menus, application
-MIME type registration, and launchers.
-</para>
-
-<para>
-To load an existing desktop entry from a data directory (as
-returned by g_get_user_data_dir() and g_get_system_data_dirs())
-use g_desktop_entry_new_from_data_dirs(). To load an existing
-desktop entry from an arbitrary location on the file system use
-g_desktop_entry_new_from_file(). If the desktop entry is already
-in memory use g_desktop_entry_new_from_data(). Once the desktop
-entry is loaded its keys can be queried using the g_desktop_entry_get
-family of functions.
-</para>
-
-<para>
-To create a new desktop entry first call g_desktop_entry_new().
-Then, call the g_desktop_entry_set family of functions. Next,
-call g_desktop_entry_to_data() to output the desktop entry to
-a byte array, which can be written to disk or sent over a
-network. Finally, call g_desktop_entry_free() to deallocate the
-#GDesktopEntry object returned by g_desktop_entry_new().
-</para>
-
-
-<!-- ##### SECTION ./tmpl/desktop_entry.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/desktop_entry.sgml:Short_Description ##### -->
-serializes and deserializes a desktop entry.
-
-
-<!-- ##### SECTION ./tmpl/desktop_entry.sgml:Title ##### -->
-Desktop Entry Parser
-
-
-<!-- ##### SECTION ./tmpl/glib-unused.sgml:Stability_Level ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/testutils.sgml:Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/testutils.sgml:See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION ./tmpl/testutils.sgml:Short_Description ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/testutils.sgml:Stability_Level ##### -->
-
-
-
-<!-- ##### SECTION ./tmpl/testutils.sgml:Title ##### -->
-Testing
-
-
-<!-- ##### ENUM GChannelError ##### -->
-<para>
-
-</para>
-
-@G_CHANNEL_ERROR_ACCES:
-@G_CHANNEL_ERROR_BADF:
-@G_CHANNEL_ERROR_DEADLK:
-@G_CHANNEL_ERROR_FAULT:
-@G_CHANNEL_ERROR_INVAL:
-@G_CHANNEL_ERROR_IO:
-@G_CHANNEL_ERROR_ISDIR:
-@G_CHANNEL_ERROR_MFILE:
-@G_CHANNEL_ERROR_NOLCK:
-@G_CHANNEL_ERROR_NOSPC:
-@G_CHANNEL_ERROR_PERM:
-@G_CHANNEL_ERROR_PIPE:
-@G_CHANNEL_ERROR_SPIPE:
-@G_CHANNEL_ERROR_ENCODE_RW:
-@G_CHANNEL_ERROR_FAILED:
-
-<!-- ##### ENUM GChannelStatus ##### -->
-<para>
-
-</para>
-
-@G_CHANNEL_STATUS_NORMAL:
-@G_CHANNEL_STATUS_EOF:
-@G_CHANNEL_STATUS_PARTIAL_CHARS:
-@G_CHANNEL_STATUS_AGAIN:
-@G_CHANNEL_STATUS_INTR:
-@G_CHANNEL_STATUS_ERROR:
-@G_CHANNEL_STATUS_BAD_INPUT:
-
-<!-- ##### USER_FUNCTION GCompareFuncData ##### -->
-<para>
-
-</para>
-
-@a:
-@b:
-@user_data:
-@Returns:
-
-<!-- ##### USER_FUNCTION GCompletionStrcmpFunc ##### -->
-<para>
-
-</para>
-
-@s1:
-@s2:
-@Returns:
-
-<!-- ##### STRUCT GDesktopEntry ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### ENUM GDesktopEntryError ##### -->
-<para>
-Error codes returned by desktop entry parsing.
-</para>
-
-@G_DESKTOP_ENTRY_ERROR_UNKNOWN_ENCODING: text being parsed is not UTF-8 and
-cannot be guessed.
-@G_DESKTOP_ENTRY_ERROR_BAD_START_GROUP: desktop entry does not start with a
-legal start group.
-@G_DESKTOP_ENTRY_ERROR_PARSE: desktop entry is empty or contains invalid
-data.
-@G_DESKTOP_ENTRY_ERROR_NOT_FOUND: valid desktop entry could not be found.
-@G_DESKTOP_ENTRY_ERROR_KEY_NOT_FOUND: desktop entry does not have requested
-key.
-@G_DESKTOP_ENTRY_ERROR_GROUP_NOT_FOUND: desktop entry does not have requested
-group
-@G_DESKTOP_ENTRY_ERROR_INVALID_VALUE: desktop entry contains key which has
-value that cannot be validated.
-
-<!-- ##### ENUM GDesktopEntryFlags ##### -->
-<para>
-#GDesktopEntry supports a few flags for tweaking performance during
-deserialization. #G_DESKTOP_ENTRY_DISCARD_COMMENTS and
-#G_DESKTOP_ENTRY_DISCARD_TRANSLATIONS will reduce memory footprint,
-and #G_DESKTOP_ENTRY_GENERATE_LOOKUP_MAP will increase key lookup speed.
-</para>
-
-@G_DESKTOP_ENTRY_NONE: use parser defaults
-@G_DESKTOP_ENTRY_DISCARD_COMMENTS: Discard all lines that are blank
-or start with "#".
-@G_DESKTOP_ENTRY_DISCARD_TRANSLATIONS: Only retain translations that
-are returned by g_get_language_names().
-@G_DESKTOP_ENTRY_GENERATE_LOOKUP_MAP: Generate a lookup map for key names to make lookups constant time at the cost of more memory.
-
-<!-- ##### USER_FUNCTION GErrorFunc ##### -->
-<para>
-Specifies the type of function passed to g_set_error_handler().
-</para>
-
-@str: the error message.
-
-<!-- ##### USER_FUNCTION GHookFreeFunc ##### -->
-<para>
-
-</para>
-
-@hook_list:
-@hook:
-
-<!-- ##### ENUM GIOFileMode ##### -->
-<para>
-
-</para>
-
-@G_IO_FILE_MODE_READ:
-@G_IO_FILE_MODE_WRITE:
-@G_IO_FILE_MODE_APPEND:
-@G_IO_FILE_MODE_READ_WRITE:
-@G_IO_FILE_MODE_READ_WRITE_TRUNCATE:
-@G_IO_FILE_MODE_READ_WRITE_APPEND:
-
-<!-- ##### ENUM GMatchType ##### -->
-<para>
-Enumeration representing different kinds of patterns. This is only used
-internally for optimizing the match algorithm.
-</para>
-
-@G_MATCH_ALL: a general pattern.
-@G_MATCH_ALL_TAIL: a general pattern which contains a fixed part matching
-the end of the string.
-@G_MATCH_HEAD: a pattern matching every string with a certain prefix.
-@G_MATCH_TAIL: a pattern matching every string with a certain suffix.
-@G_MATCH_EXACT: a pattern matching exactly one string.
-@G_MATCH_LAST:
-
-<!-- ##### USER_FUNCTION GWarningFunc ##### -->
-<para>
-Specifies the type of function passed to g_set_warning_handler().
-</para>
-
-@str: the warning message.
-
-<!-- ##### MACRO G_CHANNEL_ERROR ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_DESKTOP_ENTRY_ERROR ##### -->
-<para>
-Error domain for desktop entry parsing. Errors in this domain will
-be from the #GDesktopEntryError enumeration. See #GError for information on
-error domains.
-</para>
-
-
-<!-- ##### MACRO G_HOOK_DEFERRED_DESTROY ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_IO_CHANNEL_DEFAULT_LINE_TERM ##### -->
-<para>
-One of %G_IO_CHANNEL_UNIX_LINE_TERM, %G_IO_CHANNEL_DOS_LINE_TERM,
-or %G_IO_CHANNEL_MACINTOSH_LINE_TERM (unimplemented)
-depending on the system type.
-</para>
-
-
-<!-- ##### MACRO G_IO_CHANNEL_DOS_LINE_TERM ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_IO_CHANNEL_ENCODE_RAW ##### -->
-<para>
-Encoding for nonbuffered IO. With this encoding, data must be
-read using g_io_channel_read_chars(); the other functions will
-not work.
-</para>
-
-
-<!-- ##### MACRO G_IO_CHANNEL_MACINTOSH_LINE_TERM ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_IO_CHANNEL_UNIX_LINE_TERM ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO NAME_MAX ##### -->
-<para>
-Provided for UNIX emulation on Windows; equivalent to UNIX macro
-%NAME_MAX, which is the maximum length of a single path component.
-i.e. just the <filename>foo</filename> in <filename>/usr/bin/foo</filename>.
-</para>
-
-
-<!-- ##### MACRO _ ##### -->
-<para>
-Marks a string for translation, gets replaced with the translated string
-at runtime.
-</para>
-
-@String: the string to be translated
-@Since: 2.4
-
-<!-- ##### MACRO access ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO close ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION closedir ##### -->
-<para>
-Provided for UNIX emulation on Windows; see documentation for <function>closedir()</function>
-in any UNIX manual.
-</para>
-
-@Param1:
-@Returns:
-
-<!-- ##### MACRO fdopen ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO ftruncate ##### -->
-<para>
-Provided for UNIX emulation on Windows; see documentation for ftruncate()
-in any UNIX manual.
-</para>
-
-@fd:
-@size:
-
-<!-- ##### FUNCTION g_channel_error_from_errno ##### -->
-<para>
-
-</para>
-
-@en:
-@Returns:
-
-<!-- ##### FUNCTION g_channel_error_quark ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-<!-- ##### FUNCTION g_convert_error_quark ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_escape_strings ##### -->
-<para>
-
-</para>
-
-@entry:
-@should_escape:
-
-<!-- ##### FUNCTION g_desktop_entry_free ##### -->
-<para>
-
-</para>
-
-@entry:
-
-<!-- ##### FUNCTION g_desktop_entry_get_boolean ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_get_boolean_list ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@length:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_get_groups ##### -->
-<para>
-
-</para>
-
-@entry:
-@length:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_get_integer ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_get_integer_list ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@length:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_get_keys ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@length:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_get_locale_string ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@locale:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_get_locale_string_list ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@locale:
-@length:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_get_start_group ##### -->
-<para>
-
-</para>
-
-@entry:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_get_string ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_get_string_list ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@length:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_has_group ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_has_key ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_new ##### -->
-<para>
-
-</para>
-
-@flags:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_new_from_data ##### -->
-<para>
-
-</para>
-
-@data:
-@length:
-@legal_start_groups:
-@flags:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_new_from_data_dirs ##### -->
-<para>
-
-</para>
-
-@file:
-@full_path:
-@legal_start_groups:
-@flags:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_new_from_file ##### -->
-<para>
-
-</para>
-
-@file:
-@legal_start_groups:
-@flags:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_desktop_entry_remove_group ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@error:
-
-<!-- ##### FUNCTION g_desktop_entry_remove_key ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@error:
-
-<!-- ##### FUNCTION g_desktop_entry_set_boolean ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@boolean:
-@error:
-
-<!-- ##### FUNCTION g_desktop_entry_set_boolean_list ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@list:
-@length:
-@error:
-
-<!-- ##### FUNCTION g_desktop_entry_set_integer ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@integer:
-@error:
-
-<!-- ##### FUNCTION g_desktop_entry_set_integer_list ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@list:
-@length:
-@error:
-
-<!-- ##### FUNCTION g_desktop_entry_set_locale_string ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@locale:
-@string:
-@error:
-
-<!-- ##### FUNCTION g_desktop_entry_set_locale_string_list ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@locale:
-@list:
-@length:
-@error:
-
-<!-- ##### FUNCTION g_desktop_entry_set_string ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@string:
-@error:
-
-<!-- ##### FUNCTION g_desktop_entry_set_string_list ##### -->
-<para>
-
-</para>
-
-@entry:
-@group_name:
-@key:
-@list:
-@length:
-@error:
-
-<!-- ##### FUNCTION g_desktop_entry_to_data ##### -->
-<para>
-
-</para>
-
-@entry:
-@length:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_file_replace ##### -->
-<para>
-
-</para>
-
-@filename:
-@contents:
-@length:
-@error:
-@Returns:
-
-<!-- ##### FUNCTION g_format_file_size_for_display ##### -->
-<para>
-
-</para>
-
-@size:
-@Returns:
-
-<!-- ##### FUNCTION g_io_channel_error_quark ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-<!-- ##### VARIABLE g_log_domain_glib ##### -->
-<para>
-The log domain used for messages logged by GLib itself.
-</para>
-
-
-<!-- ##### FUNCTION g_main_add_poll ##### -->
-<para>
-Adds a file descriptor to be polled.
-This is usually combined with g_source_add() to add an event source.
-The event source's check function will typically test the revents
-field in the #GPollFD struct and return TRUE if events need to be processed.
-</para>
-
-@fd: a #GPollFD, which is a file descriptor together with a bitwise
-combination of #GIOCondition flags determining which events to poll for.
-@priority: the priority of the poll, which should be the same as the priority
-used for g_source_add() to ensure that the file descriptor is polled whenever
-the results may be needed.
-See #G_PRIORITY_DEFAULT, #G_PRIORITY_DEFAULT_IDLE, #G_PRIORITY_HIGH,
-#G_PRIORITY_HIGH_IDLE, and #G_PRIORITY_LOW.
-
-<!-- ##### FUNCTION g_main_context_get ##### -->
-<para>
-
-</para>
-
-@thread:
-@Returns:
-
-<!-- ##### FUNCTION g_main_loop_destroy ##### -->
-<para>
-
-</para>
-
-@loop:
-
-<!-- ##### FUNCTION g_main_remove_poll ##### -->
-<para>
-Removes a file descriptor from the list being polled.
-</para>
-
-@fd: the #GPollFD to remove.
-
-<!-- ##### FUNCTION g_main_win32_get_poll_func ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-<!-- ##### FUNCTION g_mem_check ##### -->
-<para>
-Checks if the given memory has already been freed. If it has it outputs
-a warning message.
-To use this function you must configure glib with the flag
-'--enable-mem-check=yes' before compiling.
-</para>
-
-@mem: the memory to check.
-
-<!-- ##### FUNCTION g_regex_error_quark ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-<!-- ##### FUNCTION g_regex_free ##### -->
-<para>
-
-</para>
-
-@regex:
-
-<!-- ##### FUNCTION g_scanner_stat_mode ##### -->
-<para>
-Gets the file attributes.
-This is the <structfield>st_mode</structfield> field from the
-<structname>stat</structname> structure. See the <function>stat()</function>
-documentation.
-</para>
-
-@filename: the file name.
-@Returns: the file attributes.
-
-<!-- ##### FUNCTION g_set_error_handler ##### -->
-<para>
-Sets the function to be called to handle error messages.
-This function is deprecated in favour of the new logging facilities.
-</para>
-
-@func: the function to be called to handle error messages.
-@Returns: the old error handler.
-
-<!-- ##### FUNCTION g_set_message_handler ##### -->
-<para>
-Sets the function to be called to handle messages.
-This function is deprecated in favour of the new logging facilities.
-</para>
-
-@func: the function to be called to handle normal messages.
-@Returns: the old message handler.
-
-<!-- ##### FUNCTION g_set_warning_handler ##### -->
-<para>
-Sets the function to be called to handle warning messages.
-This function is deprecated in favour of the new logging facilities.
-</para>
-
-@func: the function to be called to handle warning messages.
-@Returns: the old warning handler.
-
-<!-- ##### FUNCTION g_source_add ##### -->
-<para>
-</para>
-
-@priority:
-@can_recurse:
-@funcs:
-@source_data:
-@user_data:
-@notify:
-@Returns:
-@source:
-@context:
-
-<!-- ##### FUNCTION g_source_connect ##### -->
-<para>
-
-</para>
-
-@source:
-@func:
-@data:
-@notify:
-
-<!-- ##### FUNCTION g_source_connect_indirect ##### -->
-<para>
-
-</para>
-
-@source:
-@callback_data:
-@callback_funcs:
-
-<!-- ##### FUNCTION g_source_remove_by_source_data ##### -->
-<para>
-Removes the first event source found with the given source data.
-</para>
-<para>
-Event sources are sorted with the highest priority first. Sources with equal
-priority are stored in the order in which they were added.
-</para>
-
-@source_data: the source data, which contains information specific to the
-type of source.
-@Returns: TRUE if an event source was found and removed.
-
-<!-- ##### FUNCTION g_static_private_get_for_thread ##### -->
-<para>
-
-</para>
-
-@private_key:
-@thread:
-@Returns:
-
-<!-- ##### FUNCTION g_static_private_set_for_thread ##### -->
-<para>
-
-</para>
-
-@private_key:
-@thread:
-@data:
-@notify:
-
-<!-- ##### MACRO g_string ##### -->
-<para>
-Turns the argument into a string literal by using the '#' stringizing operator.
-</para>
-
-@x: text to convert to a literal string.
-
-<!-- ##### FUNCTION g_warn_message ##### -->
-<para>
-
-</para>
-
-@domain:
-@file:
-@line:
-@func:
-@warnexpr:
-
-<!-- ##### MACRO getcwd ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO getpid ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### VARIABLE glib_binary_age ##### -->
-<para>
-This is the binary age passed to <application>libtool</application>. If
-<application>libtool</application> means nothing to you, don't worry
-about it. ;-)
-</para>
-
-
-<!-- ##### FUNCTION glib_check_version ##### -->
-<para>
-
-</para>
-
-@required_major:
-@required_minor:
-@required_micro:
-@Returns:
-
-<!-- ##### VARIABLE glib_interface_age ##### -->
-<para>
-This is the interface age passed to <application>libtool</application>. If
-<application>libtool</application> means nothing to you, don't worry
-about it. ;-)
-</para>
-
-
-<!-- ##### VARIABLE glib_major_version ##### -->
-<para>
-The major version number of the GLib library.
-(e.g. in GLib version 1.2.5 this is 1.)
-</para>
-
-<para>
-This variable is in the library, so represents the
-GLib library you have linked against. Contrast with the
-#GLIB_MAJOR_VERSION macro, which represents the major version of the
-GLib headers you have included.
-</para>
-
-
-<!-- ##### VARIABLE glib_micro_version ##### -->
-<para>
-The micro version number of the GLib library.
-(e.g. in GLib version 1.2.5 this is 5.)
-</para>
-
-<para>
-This variable is in the library, so represents the GLib library you
-have linked against. Contrast with the #GLIB_MICRO_VERSION macro, which
-represents the micro version of the GLib headers you have included.
-</para>
-
-
-<!-- ##### VARIABLE glib_minor_version ##### -->
-<para>
-The minor version number of the GLib library.
-(e.g. in GLib version 1.2.5 this is 2.)
-</para>
-
-<para>
-This variable is in the library, so represents the
-GLib library you have linked against. Contrast with the
-#GLIB_MINOR_VERSION macro, which represents the minor version of the
-GLib headers you have included.
-</para>
-
-
-<!-- ##### MACRO lseek ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO open ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION opendir ##### -->
-<para>
-Provided for UNIX emulation on Windows; see documentation for <function>opendir()</function>
-in any UNIX manual.
-</para>
-
-@Param1:
-@Returns:
-
-<!-- ##### MACRO pclose ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO pipe ##### -->
-<para>
-Provided for UNIX emulation on Windows; see documentation for pipe()
-in any UNIX manual.
-</para>
-
-@phandles: file descriptors, the first one for reading, the second one for writing.
-
-<!-- ##### MACRO popen ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO read ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO readdir ##### -->
-<para>
-Provided for UNIX emulation on Windows; see documentation for <function>readdir()</function>
-in any UNIX manual.
-</para>
-
-
-<!-- ##### FUNCTION rewinddir ##### -->
-<para>
-Provided for UNIX emulation on Windows; see documentation for <function>rewinddir()</function>
-in any UNIX manual.
-</para>
-
-@Param1:
-
-<!-- ##### MACRO write ##### -->
-<para>
-
-</para>
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Perl-compatible regular expressions
-
-<!-- ##### SECTION Short_Description ##### -->
-matches strings against regular expressions
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The <function>g_regex_*()</function> functions implement regular
-expression pattern matching using syntax and semantics similar to
-Perl regular expression.
-</para>
-<para>
-Some functions accept a <parameter>start_position</parameter> argument,
-setting it differs from just passing over a shortened string and setting
-#G_REGEX_MATCH_NOTBOL in the case of a pattern that begins with any kind
-of lookbehind assertion.
-For example, consider the pattern "\Biss\B" which finds occurrences of "iss"
-in the middle of words. ("\B" matches only if the current position in the
-subject is not a word boundary.) When applied to the string "Mississipi"
-from the fourth byte, namely "issipi", it does not match, because "\B" is
-always false at the start of the subject, which is deemed to be a word
-boundary. However, if the entire string is passed , but with
-<parameter>start_position</parameter> set to 4, it finds the second
-occurrence of "iss" because it is able to look behind the starting point
-to discover that it is preceded by a letter.
-</para>
-<para>
-Note that, unless you set the #G_REGEX_RAW flag, all the strings passed
-to these functions must be encoded in UTF-8. The lengths and the positions
-inside the strings are in bytes and not in characters, so, for instance,
-"\xc3\xa0" (i.e. "à") is two bytes long but it is treated as a single
-character. If you set #G_REGEX_RAW the strings can be non-valid UTF-8
-strings and a byte is treated as a character, so "\xc3\xa0" is two bytes
-and two characters long.
-</para>
-<para>
-When matching a pattern, "\n" matches only against a "\n" character in the
-string, and "\r" matches only a "\r" character. To match any newline sequence
-use "\R". This particular group matches either the two-character sequence
-CR + LF ("\r\n"), or one of the single characters LF (linefeed, U+000A, "\n"), VT
-(vertical tab, U+000B, "\v"), FF (formfeed, U+000C, "\f"), CR (carriage return,
-U+000D, "\r"), NEL (next line, U+0085), LS (line separator, U+2028), or PS
-(paragraph separator, U+2029).
-</para>
-<para>
-The behaviour of the dot, circumflex, and dollar metacharacters are affected by
-newline characters, the default is to recognize any newline character (the same
-characters recognized by "\R"). This can be changed with #G_REGEX_NEWLINE_CR,
-#G_REGEX_NEWLINE_LF and #G_REGEX_NEWLINE_CRLF compile options,
-and with #G_REGEX_MATCH_NEWLINE_ANY, #G_REGEX_MATCH_NEWLINE_CR,
-#G_REGEX_MATCH_NEWLINE_LF and #G_REGEX_MATCH_NEWLINE_CRLF match options.
-These settings are also relevant when compiling a pattern if
-#G_REGEX_EXTENDED is set, and an unescaped "#" outside a character class is
-encountered. This indicates a comment that lasts until after the next
-newline.
-</para>
-<para>
-Creating and manipulating the same #GRegex structure from different
-threads is not a problem as #GRegex does not modify its internal
-state between creation and destruction, on the other hand #GMatchInfo is
-not threadsafe.
-</para>
-<para>
-The regular expressions low level functionalities are obtained through
-the excellent <ulink url="http://www.pcre.org/">PCRE</ulink> library
-written by Philip Hazel.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### ENUM GRegexError ##### -->
-<para>
-Error codes returned by regular expressions functions.
-</para>
-
-@G_REGEX_ERROR_COMPILE: Compilation of the regular expression failed.
-@G_REGEX_ERROR_OPTIMIZE: Optimization of the regular expression failed.
-@G_REGEX_ERROR_REPLACE: Replacement failed due to an ill-formed replacement string.
-@G_REGEX_ERROR_MATCH: The match process failed.
-@G_REGEX_ERROR_INTERNAL: Internal error of the regular expression engine. Since 2.16
-@G_REGEX_ERROR_STRAY_BACKSLASH: "\\" at end of pattern. Since 2.16
-@G_REGEX_ERROR_MISSING_CONTROL_CHAR: "\\c" at end of pattern. Since 2.16
-@G_REGEX_ERROR_UNRECOGNIZED_ESCAPE: Unrecognized character follows "\\". Since 2.16
-@G_REGEX_ERROR_QUANTIFIERS_OUT_OF_ORDER: Numbers out of order in "{}" quantifier. Since 2.16
-@G_REGEX_ERROR_QUANTIFIER_TOO_BIG: Number too big in "{}" quantifier. Since 2.16
-@G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS: Missing terminating "]" for character class. Since 2.16
-@G_REGEX_ERROR_INVALID_ESCAPE_IN_CHARACTER_CLASS: Invalid escape sequence in character class. Since 2.16
-@G_REGEX_ERROR_RANGE_OUT_OF_ORDER: Range out of order in character class. Since 2.16
-@G_REGEX_ERROR_NOTHING_TO_REPEAT: Nothing to repeat. Since 2.16
-@G_REGEX_ERROR_UNRECOGNIZED_CHARACTER: Unrecognized character after "(?", "(?<" or "(?P". Since 2.16
-@G_REGEX_ERROR_POSIX_NAMED_CLASS_OUTSIDE_CLASS: POSIX named classes are supported only within a class. Since 2.16
-@G_REGEX_ERROR_UNMATCHED_PARENTHESIS: Missing terminating ")" or ")" without opening "(". Since 2.16
-@G_REGEX_ERROR_INEXISTENT_SUBPATTERN_REFERENCE: Reference to non-existent subpattern. Since 2.16
-@G_REGEX_ERROR_UNTERMINATED_COMMENT: Missing terminating ")" after comment. Since 2.16
-@G_REGEX_ERROR_EXPRESSION_TOO_LARGE: Regular expression too large. Since 2.16
-@G_REGEX_ERROR_MEMORY_ERROR: Failed to get memory. Since 2.16
-@G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND: Lookbehind assertion is not fixed length. Since 2.16
-@G_REGEX_ERROR_MALFORMED_CONDITION: Malformed number or name after "(?(". Since 2.16
-@G_REGEX_ERROR_TOO_MANY_CONDITIONAL_BRANCHES: Conditional group contains more than two branches. Since 2.16
-@G_REGEX_ERROR_ASSERTION_EXPECTED: Assertion expected after "(?(". Since 2.16
-@G_REGEX_ERROR_UNKNOWN_POSIX_CLASS_NAME: Unknown POSIX class name. Since 2.16
-@G_REGEX_ERROR_POSIX_COLLATING_ELEMENTS_NOT_SUPPORTED: POSIX collating elements are not supported. Since 2.16
-@G_REGEX_ERROR_HEX_CODE_TOO_LARGE: Character value in "\\x{...}" sequence is too large. Since 2.16
-@G_REGEX_ERROR_INVALID_CONDITION: Invalid condition "(?(0)". Since 2.16
-@G_REGEX_ERROR_SINGLE_BYTE_MATCH_IN_LOOKBEHIND: \\C not allowed in lookbehind assertion. Since 2.16
-@G_REGEX_ERROR_INFINITE_LOOP: Recursive call could loop indefinitely. Since 2.16
-@G_REGEX_ERROR_MISSING_SUBPATTERN_NAME_TERMINATOR: Missing terminator in subpattern name. Since 2.16
-@G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME: Two named subpatterns have the same name. Since 2.16
-@G_REGEX_ERROR_MALFORMED_PROPERTY: Malformed "\\P" or "\\p" sequence. Since 2.16
-@G_REGEX_ERROR_UNKNOWN_PROPERTY: Unknown property name after "\\P" or "\\p". Since 2.16
-@G_REGEX_ERROR_SUBPATTERN_NAME_TOO_LONG: Subpattern name is too long (maximum 32 characters). Since 2.16
-@G_REGEX_ERROR_TOO_MANY_SUBPATTERNS: Too many named subpatterns (maximum 10,000). Since 2.16
-@G_REGEX_ERROR_INVALID_OCTAL_VALUE: Octal value is greater than "\\377". Since 2.16
-@G_REGEX_ERROR_TOO_MANY_BRANCHES_IN_DEFINE: "DEFINE" group contains more than one branch. Since 2.16
-@G_REGEX_ERROR_DEFINE_REPETION: Repeating a "DEFINE" group is not allowed. Since 2.16
-@G_REGEX_ERROR_INCONSISTENT_NEWLINE_OPTIONS: Inconsistent newline options. Since 2.16
-@G_REGEX_ERROR_MISSING_BACK_REFERENCE: "\\g" is not followed by a braced name or an
-optionally braced non-zero number. Since 2.16
-@Since: 2.14
-
-<!-- ##### MACRO G_REGEX_ERROR ##### -->
-<para>
-Error domain for regular expressions. Errors in this domain will be from the #GRegexError enumeration. See #GError for information on error domains.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### ENUM GRegexCompileFlags ##### -->
-<para>
-Flags specifying compile-time options.
-</para>
-
-@G_REGEX_CASELESS: Letters in the pattern match both upper and lower case
-letters. This option can be changed within a pattern by a "(?i)" option
-setting.
-@G_REGEX_MULTILINE: By default, GRegex treats the strings as consisting
-of a single line of characters (even if it actually contains newlines).
-The "start of line" metacharacter ("^") matches only at the start of the
-string, while the "end of line" metacharacter ("$") matches only at the
-end of the string, or before a terminating newline (unless
-#G_REGEX_DOLLAR_ENDONLY is set). When #G_REGEX_MULTILINE is set,
-the "start of line" and "end of line" constructs match immediately following
-or immediately before any newline in the string, respectively, as well
-as at the very start and end. This can be changed within a pattern by a
-"(?m)" option setting.
-@G_REGEX_DOTALL: A dot metacharater (".") in the pattern matches all
-characters, including newlines. Without it, newlines are excluded. This
-option can be changed within a pattern by a ("?s") option setting.
-@G_REGEX_EXTENDED: Whitespace data characters in the pattern are
-totally ignored except when escaped or inside a character class.
-Whitespace does not include the VT character (code 11). In addition,
-characters between an unescaped "#" outside a character class and
-the next newline character, inclusive, are also ignored. This can be
-changed within a pattern by a "(?x)" option setting.
-@G_REGEX_ANCHORED: The pattern is forced to be "anchored", that is,
-it is constrained to match only at the first matching point in the string
-that is being searched. This effect can also be achieved by appropriate
-constructs in the pattern itself such as the "^" metacharater.
-@G_REGEX_DOLLAR_ENDONLY: A dollar metacharacter ("$") in the pattern
-matches only at the end of the string. Without this option, a dollar also
-matches immediately before the final character if it is a newline (but
-not before any other newlines). This option is ignored if
-#G_REGEX_MULTILINE is set.
-@G_REGEX_UNGREEDY: Inverts the "greediness" of the
-quantifiers so that they are not greedy by default, but become greedy
-if followed by "?". It can also be set by a "(?U)" option setting within
-the pattern.
-@G_REGEX_RAW: Usually strings must be valid UTF-8 strings, using this
-flag they are considered as a raw sequence of bytes.
-@G_REGEX_NO_AUTO_CAPTURE: Disables the use of numbered capturing
-parentheses in the pattern. Any opening parenthesis that is not followed
-by "?" behaves as if it were followed by "?:" but named parentheses can
-still be used for capturing (and they acquire numbers in the usual way).
-@G_REGEX_OPTIMIZE: Optimize the regular expression. If the pattern will
-be used many times, then it may be worth the effort to optimize it to
-improve the speed of matches.
-@G_REGEX_DUPNAMES: Names used to identify capturing subpatterns need not
-be unique. This can be helpful for certain types of pattern when it is known
-that only one instance of the named subpattern can ever be matched.
-@G_REGEX_NEWLINE_CR: Usually any newline character is recognized, if this
-option is set, the only recognized newline character is '\r'.
-@G_REGEX_NEWLINE_LF: Usually any newline character is recognized, if this
-option is set, the only recognized newline character is '\n'.
-@G_REGEX_NEWLINE_CRLF: Usually any newline character is recognized, if this
-option is set, the only recognized newline character sequence is '\r\n'.
-@Since: 2.14
-
-<!-- ##### ENUM GRegexMatchFlags ##### -->
-<para>
-Flags specifying match-time options.
-</para>
-
-@G_REGEX_MATCH_ANCHORED: The pattern is forced to be "anchored", that is,
-it is constrained to match only at the first matching point in the string
-that is being searched. This effect can also be achieved by appropriate
-constructs in the pattern itself such as the "^" metacharater.
-@G_REGEX_MATCH_NOTBOL: Specifies that first character of the string is
-not the beginning of a line, so the circumflex metacharacter should not
-match before it. Setting this without G_REGEX_MULTILINE (at compile time)
-causes circumflex never to match. This option affects only the behaviour of
-the circumflex metacharacter, it does not affect "\A".
-@G_REGEX_MATCH_NOTEOL: Specifies that the end of the subject string is
-not the end of a line, so the dollar metacharacter should not match it nor
-(except in multiline mode) a newline immediately before it. Setting this
-without G_REGEX_MULTILINE (at compile time) causes dollar never to match.
-This option affects only the behaviour of the dollar metacharacter, it does
-not affect "\Z" or "\z".
-@G_REGEX_MATCH_NOTEMPTY: An empty string is not considered to be a valid
-match if this option is set. If there are alternatives in the pattern, they
-are tried. If all the alternatives match the empty string, the entire match
-fails. For example, if the pattern "a?b?" is applied to a string not beginning
-with "a" or "b", it matches the empty string at the start of the string.
-With this flag set, this match is not valid, so GRegex searches further
-into the string for occurrences of "a" or "b".
-@G_REGEX_MATCH_PARTIAL: Turns on the partial matching feature, for more
-documentation on partial matching see g_match_info_is_partial_match().
-@G_REGEX_MATCH_NEWLINE_CR: Overrides the newline definition set when creating
-a new #GRegex, setting the '\r' character as line terminator.
-@G_REGEX_MATCH_NEWLINE_LF: Overrides the newline definition set when creating
-a new #GRegex, setting the '\n' character as line terminator.
-@G_REGEX_MATCH_NEWLINE_CRLF: Overrides the newline definition set when creating
-a new #GRegex, setting the '\r\n' characters as line terminator.
-@G_REGEX_MATCH_NEWLINE_ANY: Overrides the newline definition set when creating
-a new #GRegex, any newline character or character sequence is recognized.
-@Since: 2.14
-
-<!-- ##### STRUCT GRegex ##### -->
-<para>
-A GRegex is the "compiled" form of a regular expression pattern. This
-structure is opaque and its fields cannot be accessed directly.
-</para>
-
-@Since: 2.14
-
-<!-- ##### USER_FUNCTION GRegexEvalCallback ##### -->
-<para>
-Specifies the type of the function passed to g_regex_replace_eval().
-It is called for each occurance of the pattern in the string passed
-to g_regex_replace_eval(), and it should append the replacement to
-@result.
-</para>
-
-@match_info: the #GMatchInfo generated by the match.
-Use g_match_info_get_regex() and g_match_info_get_string() if you
-need the #GRegex or the matched string.
-@result: a #GString containing the new string
-@user_data: user data passed to g_regex_replace_eval()
-@Returns: %FALSE to continue the replacement process, %TRUE to stop it
-@Since: 2.14
-
-
-<!-- ##### FUNCTION g_regex_new ##### -->
-<para>
-
-</para>
-
-@pattern:
-@compile_options:
-@match_options:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_ref ##### -->
-<para>
-
-</para>
-
-@regex:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_unref ##### -->
-<para>
-
-</para>
-
-@regex:
-
-
-<!-- ##### FUNCTION g_regex_get_pattern ##### -->
-<para>
-
-</para>
-
-@regex:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_get_max_backref ##### -->
-<para>
-
-</para>
-
-@regex:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_get_capture_count ##### -->
-<para>
-
-</para>
-
-@regex:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_get_string_number ##### -->
-<para>
-
-</para>
-
-@regex:
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_escape_string ##### -->
-<para>
-
-</para>
-
-@string:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_match_simple ##### -->
-<para>
-
-</para>
-
-@pattern:
-@string:
-@compile_options:
-@match_options:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_match ##### -->
-<para>
-
-</para>
-
-@regex:
-@string:
-@match_options:
-@match_info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_match_full ##### -->
-<para>
-
-</para>
-
-@regex:
-@string:
-@string_len:
-@start_position:
-@match_options:
-@match_info:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_match_all ##### -->
-<para>
-
-</para>
-
-@regex:
-@string:
-@match_options:
-@match_info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_match_all_full ##### -->
-<para>
-
-</para>
-
-@regex:
-@string:
-@string_len:
-@start_position:
-@match_options:
-@match_info:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_split_simple ##### -->
-<para>
-
-</para>
-
-@pattern:
-@string:
-@compile_options:
-@match_options:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_split ##### -->
-<para>
-
-</para>
-
-@regex:
-@string:
-@match_options:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_split_full ##### -->
-<para>
-
-</para>
-
-@regex:
-@string:
-@string_len:
-@start_position:
-@match_options:
-@max_tokens:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_replace ##### -->
-<para>
-
-</para>
-
-@regex:
-@string:
-@string_len:
-@start_position:
-@replacement:
-@match_options:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_replace_literal ##### -->
-<para>
-
-</para>
-
-@regex:
-@string:
-@string_len:
-@start_position:
-@replacement:
-@match_options:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_replace_eval ##### -->
-<para>
-
-</para>
-
-@regex:
-@string:
-@string_len:
-@start_position:
-@match_options:
-@eval:
-@user_data:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_regex_check_replacement ##### -->
-<para>
-
-</para>
-
-@replacement:
-@has_references:
-@error:
-@Returns:
-
-
-<!-- ##### STRUCT GMatchInfo ##### -->
-<para>
-#GMatchInfo is used to retrieve information about the regular expression match
-which created it.
-This structure is opaque and its fields cannot be accessed directly.
-</para>
-
-@Since: 2.14
-
-<!-- ##### FUNCTION g_match_info_get_regex ##### -->
-<para>
-
-</para>
-
-@match_info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_match_info_get_string ##### -->
-<para>
-
-</para>
-
-@match_info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_match_info_free ##### -->
-<para>
-
-</para>
-
-@match_info:
-
-
-<!-- ##### FUNCTION g_match_info_matches ##### -->
-<para>
-
-</para>
-
-@match_info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_match_info_next ##### -->
-<para>
-
-</para>
-
-@match_info:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_match_info_get_match_count ##### -->
-<para>
-
-</para>
-
-@match_info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_match_info_is_partial_match ##### -->
-<para>
-
-</para>
-
-@match_info:
-@Returns:
-
-
-<!-- ##### FUNCTION g_match_info_expand_references ##### -->
-<para>
-
-</para>
-
-@match_info:
-@string_to_expand:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_match_info_fetch ##### -->
-<para>
-
-</para>
-
-@match_info:
-@match_num:
-@Returns:
-
-
-<!-- ##### FUNCTION g_match_info_fetch_pos ##### -->
-<para>
-
-</para>
-
-@match_info:
-@match_num:
-@start_pos:
-@end_pos:
-@Returns:
-
-
-<!-- ##### FUNCTION g_match_info_fetch_named ##### -->
-<para>
-
-</para>
-
-@match_info:
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_match_info_fetch_named_pos ##### -->
-<para>
-
-</para>
-
-@match_info:
-@name:
-@start_pos:
-@end_pos:
-@Returns:
-
-
-<!-- ##### FUNCTION g_match_info_fetch_all ##### -->
-<para>
-
-</para>
-
-@match_info:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-URI Functions
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_URI_RESERVED_CHARS_ALLOWED_IN_PATH ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_URI_RESERVED_CHARS_ALLOWED_IN_PATH_ELEMENT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_URI_RESERVED_CHARS_ALLOWED_IN_USERINFO ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_URI_RESERVED_CHARS_GENERIC_DELIMITERS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_uri_parse_scheme ##### -->
-<para>
-
-</para>
-
-@uri:
-@Returns:
-
-
-<!-- ##### FUNCTION g_uri_escape_string ##### -->
-<para>
-
-</para>
-
-@unescaped:
-@reserved_chars_allowed:
-@allow_utf8:
-@Returns:
-
-
-<!-- ##### FUNCTION g_uri_unescape_string ##### -->
-<para>
-
-</para>
-
-@escaped_string:
-@illegal_characters:
-@Returns:
-
-
-<!-- ##### FUNCTION g_uri_unescape_segment ##### -->
-<para>
-
-</para>
-
-@escaped_string:
-@escaped_string_end:
-@illegal_characters:
-@Returns:
-
-
-<!-- ##### FUNCTION g_uri_list_extract_uris ##### -->
-<para>
-
-</para>
-
-@uri_list:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GVariant
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GVariant ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_variant_unref ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### FUNCTION g_variant_ref ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_ref_sink ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_type ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_type_string ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_is_of_type ##### -->
-<para>
-
-</para>
-
-@value:
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_is_container ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_classify ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### ENUM GVariantClass ##### -->
-<para>
-
-</para>
-
-@G_VARIANT_CLASS_BOOLEAN:
-@G_VARIANT_CLASS_BYTE:
-@G_VARIANT_CLASS_INT16:
-@G_VARIANT_CLASS_UINT16:
-@G_VARIANT_CLASS_INT32:
-@G_VARIANT_CLASS_UINT32:
-@G_VARIANT_CLASS_INT64:
-@G_VARIANT_CLASS_UINT64:
-@G_VARIANT_CLASS_HANDLE:
-@G_VARIANT_CLASS_DOUBLE:
-@G_VARIANT_CLASS_STRING:
-@G_VARIANT_CLASS_OBJECT_PATH:
-@G_VARIANT_CLASS_SIGNATURE:
-@G_VARIANT_CLASS_VARIANT:
-@G_VARIANT_CLASS_MAYBE:
-@G_VARIANT_CLASS_ARRAY:
-@G_VARIANT_CLASS_TUPLE:
-@G_VARIANT_CLASS_DICT_ENTRY:
-
-<!-- ##### FUNCTION g_variant_get ##### -->
-<para>
-
-</para>
-
-@value:
-@format_string:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_variant_get_va ##### -->
-<para>
-
-</para>
-
-@value:
-@format_string:
-@endptr:
-@app:
-
-
-<!-- ##### FUNCTION g_variant_new ##### -->
-<para>
-
-</para>
-
-@format_string:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_va ##### -->
-<para>
-
-</para>
-
-@format_string:
-@endptr:
-@app:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_boolean ##### -->
-<para>
-
-</para>
-
-@boolean:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_byte ##### -->
-<para>
-
-</para>
-
-@byte:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_int16 ##### -->
-<para>
-
-</para>
-
-@int16:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_uint16 ##### -->
-<para>
-
-</para>
-
-@uint16:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_int32 ##### -->
-<para>
-
-</para>
-
-@int32:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_uint32 ##### -->
-<para>
-
-</para>
-
-@uint32:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_int64 ##### -->
-<para>
-
-</para>
-
-@int64:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_uint64 ##### -->
-<para>
-
-</para>
-
-@uint64:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_handle ##### -->
-<para>
-
-</para>
-
-@handle:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_double ##### -->
-<para>
-
-</para>
-
-@floating:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_string ##### -->
-<para>
-
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_object_path ##### -->
-<para>
-
-</para>
-
-@object_path:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_is_object_path ##### -->
-<para>
-
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_signature ##### -->
-<para>
-
-</para>
-
-@signature:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_is_signature ##### -->
-<para>
-
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_variant ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_strv ##### -->
-<para>
-
-</para>
-
-@strv:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_boolean ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_byte ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_int16 ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_uint16 ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_int32 ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_uint32 ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_int64 ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_uint64 ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_handle ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_double ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_string ##### -->
-<para>
-
-</para>
-
-@value:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_dup_string ##### -->
-<para>
-
-</para>
-
-@value:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_variant ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_strv ##### -->
-<para>
-
-</para>
-
-@value:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_dup_strv ##### -->
-<para>
-
-</para>
-
-@value:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_maybe ##### -->
-<para>
-
-</para>
-
-@child_type:
-@child:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_array ##### -->
-<para>
-
-</para>
-
-@child_type:
-@children:
-@n_children:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_tuple ##### -->
-<para>
-
-</para>
-
-@children:
-@n_children:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_dict_entry ##### -->
-<para>
-
-</para>
-
-@key:
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_maybe ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_n_children ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_child_value ##### -->
-<para>
-
-</para>
-
-@value:
-@index_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_child ##### -->
-<para>
-
-</para>
-
-@value:
-@index_:
-@format_string:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_variant_get_fixed_array ##### -->
-<para>
-
-</para>
-
-@value:
-@n_elements:
-@element_size:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_size ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_data ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_store ##### -->
-<para>
-
-</para>
-
-@value:
-@data:
-
-
-<!-- ##### FUNCTION g_variant_new_from_data ##### -->
-<para>
-
-</para>
-
-@type:
-@data:
-@size:
-@trusted:
-@notify:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_byteswap ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_get_normal_form ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_is_normal_form ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_hash ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_equal ##### -->
-<para>
-
-</para>
-
-@one:
-@two:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_print ##### -->
-<para>
-
-</para>
-
-@value:
-@type_annotate:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_print_string ##### -->
-<para>
-
-</para>
-
-@value:
-@string:
-@type_annotate:
-@Returns:
-
-
-<!-- ##### STRUCT GVariantIter ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_variant_iter_copy ##### -->
-<para>
-
-</para>
-
-@iter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_iter_free ##### -->
-<para>
-
-</para>
-
-@iter:
-
-
-<!-- ##### FUNCTION g_variant_iter_init ##### -->
-<para>
-
-</para>
-
-@iter:
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_iter_n_children ##### -->
-<para>
-
-</para>
-
-@iter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_iter_new ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_iter_next_value ##### -->
-<para>
-
-</para>
-
-@iter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_iter_next ##### -->
-<para>
-
-</para>
-
-@iter:
-@format_string:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_iter_loop ##### -->
-<para>
-
-</para>
-
-@iter:
-@format_string:
-@Varargs:
-@Returns:
-
-
-<!-- ##### STRUCT GVariantBuilder ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_variant_builder_unref ##### -->
-<para>
-
-</para>
-
-@builder:
-
-
-<!-- ##### FUNCTION g_variant_builder_ref ##### -->
-<para>
-
-</para>
-
-@builder:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_builder_new ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_builder_init ##### -->
-<para>
-
-</para>
-
-@builder:
-@type:
-
-
-<!-- ##### FUNCTION g_variant_builder_clear ##### -->
-<para>
-
-</para>
-
-@builder:
-
-
-<!-- ##### FUNCTION g_variant_builder_add_value ##### -->
-<para>
-
-</para>
-
-@builder:
-@value:
-
-
-<!-- ##### FUNCTION g_variant_builder_add ##### -->
-<para>
-
-</para>
-
-@builder:
-@format_string:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_variant_builder_end ##### -->
-<para>
-
-</para>
-
-@builder:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_builder_open ##### -->
-<para>
-
-</para>
-
-@builder:
-@type:
-
-
-<!-- ##### FUNCTION g_variant_builder_close ##### -->
-<para>
-
-</para>
-
-@builder:
-
-
-<!-- ##### MACRO G_VARIANT_PARSE_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_variant_parse ##### -->
-<para>
-
-</para>
-
-@type:
-@text:
-@limit:
-@endptr:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_parsed_va ##### -->
-<para>
-
-</para>
-
-@format:
-@app:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_new_parsed ##### -->
-<para>
-
-</para>
-
-@format:
-@Varargs:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GVariantType
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GVariantType ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_BOOLEAN ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_BYTE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_INT16 ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_UINT16 ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_INT32 ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_UINT32 ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_INT64 ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_UINT64 ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_HANDLE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_DOUBLE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_STRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_OBJECT_PATH ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_SIGNATURE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_VARIANT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_ANY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_BASIC ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_MAYBE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_ARRAY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_TUPLE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_UNIT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_DICT_ENTRY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE_DICTIONARY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_VARIANT_TYPE ##### -->
-<para>
-
-</para>
-
-@type_string:
-
-
-<!-- ##### FUNCTION g_variant_type_free ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### FUNCTION g_variant_type_copy ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_new ##### -->
-<para>
-
-</para>
-
-@type_string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_string_is_valid ##### -->
-<para>
-
-</para>
-
-@type_string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_string_scan ##### -->
-<para>
-
-</para>
-
-@string:
-@limit:
-@endptr:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_get_string_length ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_peek_string ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_dup_string ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_is_definite ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_is_container ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_is_basic ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_is_maybe ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_is_array ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_is_tuple ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_is_dict_entry ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_is_variant ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_hash ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_equal ##### -->
-<para>
-
-</para>
-
-@type1:
-@type2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_is_subtype_of ##### -->
-<para>
-
-</para>
-
-@type:
-@supertype:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_new_maybe ##### -->
-<para>
-
-</para>
-
-@element:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_new_array ##### -->
-<para>
-
-</para>
-
-@element:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_new_tuple ##### -->
-<para>
-
-</para>
-
-@items:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_new_dict_entry ##### -->
-<para>
-
-</para>
-
-@key:
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_element ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_n_items ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_first ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_next ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_key ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_variant_type_value ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Hash Tables
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GHashTable ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_hash_table_new ##### -->
-<para>
-
-</para>
-
-@hash_func:
-@key_equal_func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hash_table_new_full ##### -->
-<para>
-
-</para>
-
-@hash_func:
-@key_equal_func:
-@key_destroy_func:
-@value_destroy_func:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GHashFunc ##### -->
-<para>
-
-</para>
-
-@key:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GEqualFunc ##### -->
-<para>
-
-</para>
-
-@a:
-@b:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hash_table_insert ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@key:
-@value:
-
-
-<!-- ##### FUNCTION g_hash_table_replace ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@key:
-@value:
-
-
-<!-- ##### FUNCTION g_hash_table_size ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hash_table_lookup ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@key:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hash_table_lookup_extended ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@lookup_key:
-@orig_key:
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hash_table_foreach ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_hash_table_find ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@predicate:
-@user_data:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GHFunc ##### -->
-<para>
-
-</para>
-
-@key:
-@value:
-@user_data:
-
-
-<!-- ##### FUNCTION g_hash_table_remove ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@key:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hash_table_steal ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@key:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hash_table_foreach_remove ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@func:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hash_table_foreach_steal ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@func:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hash_table_remove_all ##### -->
-<para>
-
-</para>
-
-@hash_table:
-
-
-<!-- ##### FUNCTION g_hash_table_steal_all ##### -->
-<para>
-
-</para>
-
-@hash_table:
-
-
-<!-- ##### FUNCTION g_hash_table_get_keys ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hash_table_get_values ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GHRFunc ##### -->
-<para>
-
-</para>
-
-@key:
-@value:
-@user_data:
-@Returns:
-
-
-<!-- ##### MACRO g_hash_table_freeze ##### -->
-<para>
-
-</para>
-
-@hash_table:
-
-
-<!-- ##### MACRO g_hash_table_thaw ##### -->
-<para>
-
-</para>
-
-@hash_table:
-
-
-<!-- ##### FUNCTION g_hash_table_destroy ##### -->
-<para>
-
-</para>
-
-@hash_table:
-
-
-<!-- ##### FUNCTION g_hash_table_ref ##### -->
-<para>
-
-</para>
-
-@hash_table:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hash_table_unref ##### -->
-<para>
-
-</para>
-
-@hash_table:
-
-
-<!-- ##### STRUCT GHashTableIter ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_hash_table_iter_init ##### -->
-<para>
-
-</para>
-
-@iter:
-@hash_table:
-
-
-<!-- ##### FUNCTION g_hash_table_iter_next ##### -->
-<para>
-
-</para>
-
-@iter:
-@key:
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hash_table_iter_get_hash_table ##### -->
-<para>
-
-</para>
-
-@iter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_hash_table_iter_remove ##### -->
-<para>
-
-</para>
-
-@iter:
-
-
-<!-- ##### FUNCTION g_hash_table_iter_steal ##### -->
-<para>
-
-</para>
-
-@iter:
-
-
-<!-- ##### FUNCTION g_direct_equal ##### -->
-<para>
-
-</para>
-
-@v1:
-@v2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_direct_hash ##### -->
-<para>
-
-</para>
-
-@v:
-@Returns:
-
-
-<!-- ##### FUNCTION g_int_equal ##### -->
-<para>
-
-</para>
-
-@v1:
-@v2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_int_hash ##### -->
-<para>
-
-</para>
-
-@v:
-@Returns:
-
-
-<!-- ##### FUNCTION g_int64_equal ##### -->
-<para>
-
-</para>
-
-@v1:
-@v2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_int64_hash ##### -->
-<para>
-
-</para>
-
-@v:
-@Returns:
-
-
-<!-- ##### FUNCTION g_double_equal ##### -->
-<para>
-
-</para>
-
-@v1:
-@v2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_double_hash ##### -->
-<para>
-
-</para>
-
-@v:
-@Returns:
-
-
-<!-- ##### FUNCTION g_str_equal ##### -->
-<para>
-
-</para>
-
-@v1:
-@v2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_str_hash ##### -->
-<para>
-
-</para>
-
-@v:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Hook Functions
-
-<!-- ##### SECTION Short_Description ##### -->
-support for manipulating lists of hook functions
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The #GHookList, #GHook and their related functions provide support for
-lists of hook functions. Functions can be added and removed from the lists,
-and the list of hook functions can be invoked.
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GHookList ##### -->
-<para>
-The <structname>GHookList</structname> struct represents a
-list of hook functions.
-</para>
-
-@seq_id: the next free #GHook id
-@hook_size: the size of the #GHookList elements, in bytes
-@is_setup: 1 if the #GHookList has been initialized
-@hooks: the first #GHook element in the list
-@dummy3: unused
-@finalize_hook: the function to call to finalize a #GHook element. The
-default behaviour is to call the hooks <function>destroy</function> function
-@dummy: unused
-
-<!-- ##### USER_FUNCTION GHookFinalizeFunc ##### -->
-<para>
-Defines the type of function to be called when a hook in a
-list of hooks gets finalized.
-</para>
-
-@hook_list: a #GHookList
-@hook: the hook in @hook_list that gets finalized
-
-
-<!-- ##### STRUCT GHook ##### -->
-<para>
-The <structname>GHook</structname> struct represents a single hook
-function in a #GHookList.
-</para>
-
-@data: data which is passed to func when this hook is invoked
-@next: pointer to the next hook in the list
-@prev: pointer to the previous hook in the list
-@ref_count: the reference count of this hook
-@hook_id: the id of this hook, which is unique within its list
-@flags: flags which are set for this hook. See #GHookFlagMask for
- predefined flags
-@func: the function to call when this hook is invoked. The possible
-signatures for this function are #GHookFunc and #GHookCheckFunc
-@destroy: the default <function>finalize_hook</function> function of a
-#GHookList calls this member of the hook that is being finalized
-
-<!-- ##### USER_FUNCTION GHookFunc ##### -->
-<para>
-Defines the type of a hook function that can be invoked
-by g_hook_list_invoke().
-</para>
-
-@data: the data field of the #GHook is passed to the hook function here
-
-
-<!-- ##### USER_FUNCTION GHookCheckFunc ##### -->
-<para>
-Defines the type of a hook function that can be invoked
-by g_hook_list_invoke_check().
-</para>
-
-@data: the data field of the #GHook is passed to the hook function here
-@Returns: %FALSE if the #GHook should be destroyed
-
-
-<!-- ##### FUNCTION g_hook_list_init ##### -->
-<para>
-Initializes a #GHookList.
-This must be called before the #GHookList is used.
-</para>
-
-@hook_list: a #GHookList
-@hook_size: the size of each element in the #GHookList, typically
- <literal>sizeof (GHook)</literal>
-
-
-<!-- ##### FUNCTION g_hook_list_invoke ##### -->
-<para>
-Calls all of the #GHook functions in a #GHookList.
-</para>
-
-@hook_list: a #GHookList
-@may_recurse: %TRUE if functions which are already running (e.g. in another
- thread) can be called. If set to %FALSE, these are skipped
-
-
-<!-- ##### FUNCTION g_hook_list_invoke_check ##### -->
-<para>
-Calls all of the #GHook functions in a #GHookList.
-Any function which returns %FALSE is removed from the #GHookList.
-</para>
-
-@hook_list: a #GHookList
-@may_recurse: %TRUE if functions which are already running (e.g. in another
-thread) can be called. If set to %FALSE, these are skipped
-
-
-<!-- ##### FUNCTION g_hook_list_marshal ##### -->
-<para>
-Calls a function on each valid #GHook.
-</para>
-
-@hook_list: a #GHookList
-@may_recurse: %TRUE if hooks which are currently running (e.g. in another
- thread) are considered valid. If set to %FALSE, these are skipped
-@marshaller: the function to call for each #GHook
-@marshal_data: data to pass to @marshaller
-
-
-<!-- ##### USER_FUNCTION GHookMarshaller ##### -->
-<para>
-Defines the type of function used by g_hook_list_marshal().
-</para>
-
-@hook: a #GHook
-@marshal_data: user data
-
-
-<!-- ##### FUNCTION g_hook_list_marshal_check ##### -->
-<para>
-Calls a function on each valid #GHook and destroys it if the
-function returns %FALSE.
-</para>
-
-@hook_list: a #GHookList
-@may_recurse: %TRUE if hooks which are currently running (e.g. in another
- thread) are considered valid. If set to %FALSE, these are skipped
-@marshaller: the function to call for each #GHook
-@marshal_data: data to pass to @marshaller
-
-
-<!-- ##### USER_FUNCTION GHookCheckMarshaller ##### -->
-<para>
-Defines the type of function used by g_hook_list_marshal_check().
-</para>
-
-@hook: a #GHook
-@marshal_data: user data
-@Returns: %FALSE if @hook should be destroyed
-
-
-<!-- ##### FUNCTION g_hook_list_clear ##### -->
-<para>
-Removes all the #GHook elements from a #GHookList.
-</para>
-
-@hook_list: a #GHookList
-
-
-<!-- ##### FUNCTION g_hook_alloc ##### -->
-<para>
-Allocates space for a #GHook and initializes it.
-</para>
-
-@hook_list: a #GHookList
-@Returns: a new #GHook
-
-
-<!-- ##### MACRO g_hook_append ##### -->
-<para>
-Appends a #GHook onto the end of a #GHookList.
-</para>
-
-@hook_list: a #GHookList
-@hook: the #GHook to add to the end of @hook_list
-
-
-<!-- ##### FUNCTION g_hook_prepend ##### -->
-<para>
-Prepends a #GHook on the start of a #GHookList.
-</para>
-
-@hook_list: a #GHookList
-@hook: the #GHook to add to the start of @hook_list
-
-
-<!-- ##### FUNCTION g_hook_insert_before ##### -->
-<para>
-Inserts a #GHook into a #GHookList, before a given #GHook.
-</para>
-
-@hook_list: a #GHookList
-@sibling: the #GHook to insert the new #GHook before
-@hook: the #GHook to insert
-
-
-<!-- ##### FUNCTION g_hook_insert_sorted ##### -->
-<para>
-Inserts a #GHook into a #GHookList, sorted by the given function.
-</para>
-
-@hook_list: a #GHookList
-@hook: the #GHook to insert
-@func: the comparison function used to sort the #GHook elements
-
-
-<!-- ##### USER_FUNCTION GHookCompareFunc ##### -->
-<para>
-Defines the type of function used to compare #GHook elements in
-g_hook_insert_sorted().
-</para>
-
-@new_hook: the #GHook being inserted
-@sibling: the #GHook to compare with @new_hook
-@Returns: a value <= 0 if @new_hook should be before @sibling
-
-
-<!-- ##### FUNCTION g_hook_compare_ids ##### -->
-<para>
-Compares the ids of two #GHook elements, returning a negative value
-if the second id is greater than the first.
-</para>
-
-@new_hook: a #GHook
-@sibling: a #GHook to compare with @new_hook
-@Returns: a value <= 0 if the id of @sibling is >= the id of @new_hook
-
-
-<!-- ##### FUNCTION g_hook_get ##### -->
-<para>
-Returns the #GHook with the given id, or %NULL if it is not found.
-</para>
-
-@hook_list: a #GHookList
-@hook_id: a hook id
-@Returns: the #GHook with the given id, or %NULL if it is not found
-
-
-<!-- ##### FUNCTION g_hook_find ##### -->
-<para>
-Finds a #GHook in a #GHookList using the given function to test for a match.
-</para>
-
-@hook_list: a #GHookList
-@need_valids: %TRUE if #GHook elements which have been destroyed should be
- skipped
-@func: the function to call for each #GHook, which should return %TRUE when
- the #GHook has been found
-@data: the data to pass to @func
-@Returns: the found #GHook or %NULL if no matching #GHook is found
-
-
-<!-- ##### USER_FUNCTION GHookFindFunc ##### -->
-<para>
-Defines the type of the function passed to g_hook_find().
-</para>
-
-@hook: a #GHook
-@data: user data passed to g_hook_find_func()
-@Returns: %TRUE if the required #GHook has been found
-
-
-<!-- ##### FUNCTION g_hook_find_data ##### -->
-<para>
-Finds a #GHook in a #GHookList with the given data.
-</para>
-
-@hook_list: a #GHookList
-@need_valids: %TRUE if #GHook elements which have been destroyed should be
- skipped
-@data: the data to find
-@Returns: the #GHook with the given @data or %NULL if no matching
- #GHook is found
-
-
-<!-- ##### FUNCTION g_hook_find_func ##### -->
-<para>
-Finds a #GHook in a #GHookList with the given function.
-</para>
-
-@hook_list: a #GHookList
-@need_valids: %TRUE if #GHook elements which have been destroyed should be
- skipped
-@func: the function to find
-@Returns: the #GHook with the given @func or %NULL if no matching
- #GHook is found
-
-
-<!-- ##### FUNCTION g_hook_find_func_data ##### -->
-<para>
-Finds a #GHook in a #GHookList with the given function and data.
-</para>
-
-@hook_list: a #GHookList
-@need_valids: %TRUE if #GHook elements which have been destroyed should be
- skipped
-@func: the function to find
-@data: the data to find
-@Returns: the #GHook with the given @func and @data or %NULL if no matching
- #GHook is found
-
-
-<!-- ##### FUNCTION g_hook_first_valid ##### -->
-<para>
-Returns the first #GHook in a #GHookList which has not been destroyed.
-The reference count for the #GHook is incremented, so you must call
-g_hook_unref() to restore it when no longer needed. (Or call
-g_hook_next_valid() if you are stepping through the #GHookList.)
-</para>
-
-@hook_list: a #GHookList
-@may_be_in_call: %TRUE if hooks which are currently running (e.g. in another
- thread) are considered valid. If set to %FALSE, these are skipped
-@Returns: the first valid #GHook, or %NULL if none are valid
-
-
-<!-- ##### FUNCTION g_hook_next_valid ##### -->
-<para>
-Returns the next #GHook in a #GHookList which has not been destroyed.
-The reference count for the #GHook is incremented, so you must call
-g_hook_unref() to restore it when no longer needed. (Or continue to call
-g_hook_next_valid() until %NULL is returned.)
-
-</para>
-
-@hook_list: a #GHookList
-@hook: the current #GHook
-@may_be_in_call: %TRUE if hooks which are currently running (e.g. in another
- thread) are considered valid. If set to %FALSE, these are skipped
-@Returns: the next valid #GHook, or %NULL if none are valid
-
-
-<!-- ##### ENUM GHookFlagMask ##### -->
-<para>
-Flags used internally in the #GHook implementation.
-</para>
-
-@G_HOOK_FLAG_ACTIVE: set if the hook has not been destroyed
-@G_HOOK_FLAG_IN_CALL: set if the hook is currently being run
-@G_HOOK_FLAG_MASK: A mask covering all bits reserved for
- hook flags; see #G_HOOK_FLAGS_USER_SHIFT
-
-<!-- ##### MACRO G_HOOK_FLAGS ##### -->
-<para>
-Returns the flags of a hook.
-</para>
-
-@hook: a #GHook
-
-
-<!-- ##### MACRO G_HOOK_FLAG_USER_SHIFT ##### -->
-<para>
-The position of the first bit which is not reserved for internal
-use be the #GHook implementation, i.e.
-<literal>1 << G_HOOK_FLAG_USER_SHIFT</literal> is the first bit
-which can be used for application-defined flags.
-</para>
-
-
-
-<!-- ##### MACRO G_HOOK ##### -->
-<para>
-Casts a pointer to a <literal>GHook*</literal>.
-</para>
-
-@hook: a pointer
-
-
-<!-- ##### MACRO G_HOOK_IS_VALID ##### -->
-<para>
-Returns %TRUE if the #GHook is valid, i.e. it is in a #GHookList, it is active
-and it has not been destroyed.
-</para>
-
-@hook: a #GHook
-@Returns: %TRUE if the #GHook is valid
-
-
-<!-- ##### MACRO G_HOOK_ACTIVE ##### -->
-<para>
-Returns %TRUE if the #GHook is active, which is normally %TRUE until the #GHook
-is destroyed.
-</para>
-
-@hook: a #GHook
-@Returns: %TRUE if the #GHook is active
-
-
-<!-- ##### MACRO G_HOOK_IN_CALL ##### -->
-<para>
-Returns %TRUE if the #GHook function is currently executing.
-</para>
-
-@hook: a #GHook
-@Returns: %TRUE if the #GHook function is currently executing
-
-
-<!-- ##### MACRO G_HOOK_IS_UNLINKED ##### -->
-<para>
-Returns %TRUE if the #GHook is not in a #GHookList.
-
-</para>
-
-@hook: a #GHook
-@Returns: %TRUE if the #GHook is not in a #GHookList
-
-
-<!-- ##### FUNCTION g_hook_ref ##### -->
-<para>
-Increments the reference count for a #GHook.
-</para>
-
-@hook_list: a #GHookList
-@hook: the #GHook to increment the reference count of
-@Returns: the @hook that was passed in (since 2.6)
-
-
-<!-- ##### FUNCTION g_hook_unref ##### -->
-<para>
-Decrements the reference count of a #GHook.
-If the reference count falls to 0, the #GHook is removed from the #GHookList
-and g_hook_free() is called to free it.
-</para>
-
-@hook_list: a #GHookList
-@hook: the #GHook to unref
-
-
-<!-- ##### FUNCTION g_hook_free ##### -->
-<para>
-Calls the #GHookList @finalize_hook function if it exists, and frees the memory
-allocated for the #GHook.
-</para>
-
-@hook_list: a #GHookList
-@hook: the #GHook to free
-
-
-<!-- ##### FUNCTION g_hook_destroy ##### -->
-<para>
-Destroys a #GHook, given its ID.
-</para>
-
-@hook_list: a #GHookList
-@hook_id: a hook ID
-@Returns: %TRUE if the #GHook was found in the #GHookList and destroyed
-
-
-<!-- ##### FUNCTION g_hook_destroy_link ##### -->
-<para>
-Removes one #GHook from a #GHookList, marking it inactive and calling
-g_hook_unref() on it.
-</para>
-
-@hook_list: a #GHookList
-@hook: the #GHook to remove
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Internationalization
-
-<!-- ##### SECTION Short_Description ##### -->
-gettext support macros
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-GLib doesn't force any particular localization method upon its users.
-But since GLib itself is localized using the gettext() mechanism, it seems
-natural to offer the de-facto standard gettext() support macros in an
-easy-to-use form.
-</para>
-<para>
-In order to use these macros in an application, you must include
-<filename>glib/gi18n.h</filename>. For use in a library, must include
-<filename>glib/gi18n-lib.h</filename> <emphasis>after</emphasis> defining
-the GETTEXT_PACKAGE macro suitably for your library:
-<informalexample><programlisting>
-#define GETTEXT_PACKAGE "gtk20"
-#include <glib/gi18n-lib.h>
-</programlisting></informalexample>
-The gettext manual covers details of how to set up message extraction
-with xgettext.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-The gettext manual.
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO Q_ ##### -->
-<para>
-Like _(), but handles context in message ids. This has the advantage that
-the string can be adorned with a prefix to guarantee uniqueness and provide
-context to the translator.
-</para>
-<para>
-One use case given in the gettext manual is GUI translation, where one could
-e.g. disambiguate two "Open" menu entries as "File|Open" and "Printer|Open".
-Another use case is the string "Russian" which may have to be translated
-differently depending on whether it's the name of a character set or a
-language. This could be solved by using "charset|Russian" and
-"language|Russian".
-</para>
-<para>
-See the C_() macro for a different way to mark up translatable strings
-with context.
-</para>
-<note><para>
-If you are using the Q_() macro, you need to make sure that you
-pass <option>--keyword=Q_</option> to xgettext when extracting messages.
-If you are using GNU gettext >= 0.15, you can also use
-<option>--keyword=Q_:1g</option> to let xgettext split the context
-string off into a msgctxt line in the po file.
-</para></note>
-
-@String: the string to be translated, with a '|'-separated prefix which
- must not be translated
-@Returns: the translated message
-@Since: 2.4
-
-
-<!-- ##### MACRO C_ ##### -->
-<para>
-Uses gettext to get the translation for @msgid. @msgctxt is
-used as a context. This is mainly useful for short strings which
-may need different translations, depending on the context in which
-they are used.
-<informalexample><programlisting>
-label1 = C_("Navigation", "Back");
-label2 = C_("Body part", "Back");
-</programlisting></informalexample>
-</para>
-
-<note><para>
-If you are using the C_() macro, you need to make sure that you
-pass <option>--keyword=C_:1c,2</option> to xgettext when extracting
-messages. Note that this only works with GNU gettext >= 0.15.
-</para></note>
-
-@Context: a message context, must be a string literal
-@String: a message id, must be a string literal
-@Returns: the translated message
-@Since: 2.16
-
-
-<!-- ##### MACRO N_ ##### -->
-<para>
-Only marks a string for translation.
-This is useful in situations where the translated strings can't
-be directly used, e.g. in string array initializers.
-To get the translated string, call gettext() at runtime.
-</para>
-<informalexample><programlisting>
- {
- static const char *messages[] = {
- N_("some very meaningful message"),
- N_("and another one")
- };
- const char *string;
- ...
- string
- = index > 1 ? _("a default message") : gettext (messages[index]);
-<!-- -->
- fputs (string);
- ...
- }
-</programlisting></informalexample>
-
-@String: the string to be translated
-@Since: 2.4
-
-
-<!-- ##### MACRO NC_ ##### -->
-<para>
-Only marks a string for translation, with context.
-This is useful in situations where the translated strings can't
-be directly used, e.g. in string array initializers.
-To get the translated string, you should call g_dpgettext2() at runtime.
-</para>
-|[
- {
- static const char *messages[] = {
- NC_("some context", "some very meaningful message"),
- NC_("some context", "and another one")
- };
- const char *string;
- ...
- string
- = index > 1 ? g_dpgettext2 (NULL, "some context", "a default message") : g_dpgettext2 (NULL, "some context", messages[index]);
-<!-- -->
- fputs (string);
- ...
- }
-]|
-
-<note><para>
-If you are using the NC_() macro, you need to make sure that you
-pass <option>--keyword=NC_:1c,2</option> to xgettext when extracting
-messages. Note that this only works with GNU gettext >= 0.15.
-Intltool has support for the NC_() macro since version 0.40.1.
-</para></note>
-
-@Context: a message context, must be a string literal
-@String: a message id, must be a string literal
-@Since: 2.18
-
-
-<!-- ##### FUNCTION g_dgettext ##### -->
-<para>
-
-</para>
-
-@domain:
-@msgid:
-@Returns:
-
-
-<!-- ##### FUNCTION g_dngettext ##### -->
-<para>
-
-</para>
-
-@domain:
-@msgid:
-@msgid_plural:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_dpgettext ##### -->
-<para>
-
-</para>
-
-@domain:
-@msgctxtid:
-@msgidoffset:
-@Returns:
-
-
-<!-- ##### FUNCTION g_dpgettext2 ##### -->
-<para>
-
-</para>
-
-@domain:
-@context:
-@msgid:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strip_context ##### -->
-<para>
-
-</para>
-
-@msgid:
-@msgval:
-@Returns:
-
-
-<!-- ##### FUNCTION g_get_language_names ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-IO Channels
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GIOChannel ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_io_channel_unix_new ##### -->
-<para>
-
-</para>
-
-@fd:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_unix_get_fd ##### -->
-<para>
-
-</para>
-
-@channel:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_win32_new_fd ##### -->
-<para>
-
-</para>
-
-@fd:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_win32_new_socket ##### -->
-<para>
-
-</para>
-
-@socket:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_win32_new_messages ##### -->
-<para>
-
-</para>
-
-@hwnd:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_init ##### -->
-<para>
-
-</para>
-
-@channel:
-
-
-<!-- ##### FUNCTION g_io_channel_new_file ##### -->
-<para>
-
-</para>
-
-@filename:
-@mode:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_read_chars ##### -->
-<para>
-
-</para>
-
-@channel:
-@buf:
-@count:
-@bytes_read:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_read_unichar ##### -->
-<para>
-
-</para>
-
-@channel:
-@thechar:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_read_line ##### -->
-<para>
-
-</para>
-
-@channel:
-@str_return:
-@length:
-@terminator_pos:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_read_line_string ##### -->
-<para>
-
-</para>
-
-@channel:
-@buffer:
-@terminator_pos:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_read_to_end ##### -->
-<para>
-
-</para>
-
-@channel:
-@str_return:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_write_chars ##### -->
-<para>
-
-</para>
-
-@channel:
-@buf:
-@count:
-@bytes_written:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_write_unichar ##### -->
-<para>
-
-</para>
-
-@channel:
-@thechar:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_flush ##### -->
-<para>
-
-</para>
-
-@channel:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_seek_position ##### -->
-<para>
-
-</para>
-
-@channel:
-@offset:
-@type:
-@error:
-@Returns:
-
-
-<!-- ##### ENUM GSeekType ##### -->
-<para>
-
-</para>
-
-@G_SEEK_CUR:
-@G_SEEK_SET:
-@G_SEEK_END:
-
-<!-- ##### FUNCTION g_io_channel_shutdown ##### -->
-<para>
-
-</para>
-
-@channel:
-@flush:
-@err:
-@Returns:
-
-
-<!-- ##### ENUM GIOStatus ##### -->
-<para>
-
-</para>
-
-@G_IO_STATUS_ERROR:
-@G_IO_STATUS_NORMAL:
-@G_IO_STATUS_EOF:
-@G_IO_STATUS_AGAIN:
-
-<!-- ##### ENUM GIOChannelError ##### -->
-<para>
-
-</para>
-
-@G_IO_CHANNEL_ERROR_FBIG:
-@G_IO_CHANNEL_ERROR_INVAL:
-@G_IO_CHANNEL_ERROR_IO:
-@G_IO_CHANNEL_ERROR_ISDIR:
-@G_IO_CHANNEL_ERROR_NOSPC:
-@G_IO_CHANNEL_ERROR_NXIO:
-@G_IO_CHANNEL_ERROR_OVERFLOW:
-@G_IO_CHANNEL_ERROR_PIPE:
-@G_IO_CHANNEL_ERROR_FAILED:
-
-<!-- ##### MACRO G_IO_CHANNEL_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_io_channel_error_from_errno ##### -->
-<para>
-
-</para>
-
-@en:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_ref ##### -->
-<para>
-
-</para>
-
-@channel:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_unref ##### -->
-<para>
-
-</para>
-
-@channel:
-
-
-<!-- ##### FUNCTION g_io_create_watch ##### -->
-<para>
-
-</para>
-
-@channel:
-@condition:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_add_watch ##### -->
-<para>
-
-</para>
-
-@channel:
-@condition:
-@func:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_add_watch_full ##### -->
-<para>
-
-</para>
-
-@channel:
-@priority:
-@condition:
-@func:
-@user_data:
-@notify:
-@Returns:
-
-
-<!-- ##### ENUM GIOCondition ##### -->
-<para>
-
-</para>
-
-@G_IO_IN:
-@G_IO_OUT:
-@G_IO_PRI:
-@G_IO_ERR:
-@G_IO_HUP:
-@G_IO_NVAL:
-
-<!-- ##### USER_FUNCTION GIOFunc ##### -->
-<para>
-
-</para>
-
-@source:
-@condition:
-@data:
-@Returns:
-
-
-<!-- ##### STRUCT GIOFuncs ##### -->
-<para>
-
-</para>
-
-@io_read:
-@io_write:
-@io_seek:
-@io_close:
-@io_create_watch:
-@io_free:
-@io_set_flags:
-@io_get_flags:
-
-<!-- ##### FUNCTION g_io_channel_get_buffer_size ##### -->
-<para>
-
-</para>
-
-@channel:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_set_buffer_size ##### -->
-<para>
-
-</para>
-
-@channel:
-@size:
-
-
-<!-- ##### FUNCTION g_io_channel_get_buffer_condition ##### -->
-<para>
-
-</para>
-
-@channel:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_get_flags ##### -->
-<para>
-
-</para>
-
-@channel:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_set_flags ##### -->
-<para>
-
-</para>
-
-@channel:
-@flags:
-@error:
-@Returns:
-
-
-<!-- ##### ENUM GIOFlags ##### -->
-<para>
-
-</para>
-
-@G_IO_FLAG_APPEND:
-@G_IO_FLAG_NONBLOCK:
-@G_IO_FLAG_IS_READABLE:
-@G_IO_FLAG_IS_WRITEABLE:
-@G_IO_FLAG_IS_SEEKABLE:
-@G_IO_FLAG_MASK:
-@G_IO_FLAG_GET_MASK:
-@G_IO_FLAG_SET_MASK:
-
-<!-- ##### FUNCTION g_io_channel_get_line_term ##### -->
-<para>
-
-</para>
-
-@channel:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_set_line_term ##### -->
-<para>
-
-</para>
-
-@channel:
-@line_term:
-@length:
-
-
-<!-- ##### FUNCTION g_io_channel_get_buffered ##### -->
-<para>
-
-</para>
-
-@channel:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_set_buffered ##### -->
-<para>
-
-</para>
-
-@channel:
-@buffered:
-
-
-<!-- ##### FUNCTION g_io_channel_get_encoding ##### -->
-<para>
-
-</para>
-
-@channel:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_set_encoding ##### -->
-<para>
-
-</para>
-
-@channel:
-@encoding:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_get_close_on_unref ##### -->
-<para>
-
-</para>
-
-@channel:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_set_close_on_unref ##### -->
-<para>
-
-</para>
-
-@channel:
-@do_close:
-
-
-<!-- ##### FUNCTION g_io_channel_read ##### -->
-<para>
-
-</para>
-
-@channel:
-@buf:
-@count:
-@bytes_read:
-@Returns:
-
-
-<!-- ##### ENUM GIOError ##### -->
-<para>
-
-</para>
-
-@G_IO_ERROR_NONE:
-@G_IO_ERROR_AGAIN:
-@G_IO_ERROR_INVAL:
-@G_IO_ERROR_UNKNOWN:
-
-<!-- ##### FUNCTION g_io_channel_write ##### -->
-<para>
-
-</para>
-
-@channel:
-@buf:
-@count:
-@bytes_written:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_seek ##### -->
-<para>
-
-</para>
-
-@channel:
-@offset:
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_io_channel_close ##### -->
-<para>
-
-</para>
-
-@channel:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Key-value file parser
-
-<!-- ##### SECTION Short_Description ##### -->
-parses <filename>.ini</filename>-like config files
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-#GKeyFile lets you parse, edit or create files containing groups of
-key-value pairs, which we call <firstterm>key files</firstterm> for
-lack of a better name. Several freedesktop.org specifications use
-key files now, e.g the
-<ulink url="http://freedesktop.org/Standards/desktop-entry-spec">Desktop
-Entry Specification</ulink> and the
-<ulink url="http://freedesktop.org/Standards/icon-theme-spec">Icon
-Theme Specification</ulink>.
-</para>
-
-<para>
-The syntax of key files is described in detail in the
-<ulink url="http://freedesktop.org/Standards/desktop-entry-spec">Desktop
-Entry Specification</ulink>, here is a quick summary: Key files
-consists of groups of key-value pairs, interspersed with comments.
-</para>
-
-<informalexample><programlisting>
-# this is just an example
-# there can be comments before the first group
-
-[First Group]
-
-Name=Key File Example\tthis value shows\nescaping
-
-# localized strings are stored in multiple key-value pairs
-Welcome=Hello
-Welcome[de]=Hallo
-Welcome[fr_FR]=Bonjour
-Welcome[it]=Ciao
-Welcome[be@latin]=Hello
-
-[Another Group]
-
-Numbers=2;20;-200;0
-
-Booleans=true;false;true;true
-
-</programlisting></informalexample>
-
-<para>
-Lines beginning with a '#' and blank lines are considered comments.
-</para>
-
-<para>
-Groups are started by a header line containing the group name enclosed
-in '[' and ']', and ended implicitly by the start of the next group or
-the end of the file. Each key-value pair must be contained in a group.
-</para>
-
-<para>
-Key-value pairs generally have the form <literal>key=value</literal>,
-with the exception of localized strings, which have the form
-<literal>key[locale]=value</literal>, with a locale identifier of the form
-<literal>lang_COUNTRY@MODIFIER</literal> where <literal>COUNTRY</literal> and
-<literal>MODIFIER</literal> are optional. Space before and after the
-'=' character are ignored. Newline, tab, carriage return and backslash
-characters in value are escaped as \n, \t, \r, and \\, respectively.
-To preserve leading spaces in values, these can also be escaped as \s.
-</para>
-
-<para>
-Key files can store strings (possibly with localized variants), integers,
-booleans and lists of these. Lists are separated by a separator character,
-typically ';' or ','. To use the list separator character in a value in
-a list, it has to be escaped by prefixing it with a backslash.
-</para>
-
-<para>
-This syntax is obviously inspired by the <filename>.ini</filename>
-files commonly met on Windows, but there are some important differences:
-<itemizedlist>
-<listitem><para>
-<filename>.ini</filename> files use the ';' character to begin comments,
- key files use the '#' character.
-</para></listitem>
-<listitem><para>
-Key files do not allow for ungrouped keys meaning only comments can precede the first group.
-</para></listitem>
-<listitem><para>
-Key files are always encoded in UTF-8.
-</para></listitem>
-<listitem><para>
-Key and Group names are case-sensitive, for example a group called
-<literal>[GROUP]</literal> is a different group from <literal>[group]</literal>.
-</para></listitem>
-<listitem><para>
-<filename>.ini</filename> files don't have a strongly typed boolean entry type, they only
-have <literal>GetProfileInt</literal>. In <structname>GKeyFile</structname> only
-<literal>true</literal> and <literal>false</literal> (in lower case) are allowed.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-Note that in contrast to the
-<ulink url="http://freedesktop.org/Standards/desktop-entry-spec">Desktop
-Entry Specification</ulink>, groups in key files may contain the same
-key multiple times; the last entry wins. Key files may also contain
-multiple groups with the same name; they are merged together.
-Another difference is that keys and group names in key files are not
-restricted to ASCII characters.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GKeyFile ##### -->
-<para>
-The <structname>GKeyFile</structname> struct contains only private fields
-and should not be used directly.
-</para>
-
-
-<!-- ##### MACRO G_KEY_FILE_ERROR ##### -->
-<para>
-Error domain for key file parsing. Errors in this domain will
-be from the #GKeyFileError enumeration. See #GError for information on
-error domains.
-</para>
-
-
-
-<!-- ##### ENUM GKeyFileError ##### -->
-<para>
-Error codes returned by key file parsing.
-</para>
-
-@G_KEY_FILE_ERROR_UNKNOWN_ENCODING: the text being parsed was in an unknown encoding
-@G_KEY_FILE_ERROR_PARSE: document was ill-formed
-@G_KEY_FILE_ERROR_NOT_FOUND: the file was not found
-@G_KEY_FILE_ERROR_KEY_NOT_FOUND: a requested key was not found
-@G_KEY_FILE_ERROR_GROUP_NOT_FOUND: a requested group was not found
-@G_KEY_FILE_ERROR_INVALID_VALUE: a value could not be parsed
-
-<!-- ##### ENUM GKeyFileFlags ##### -->
-<para>
-Flags which influence the parsing.
-</para>
-
-@G_KEY_FILE_NONE: No flags, default behaviour
-@G_KEY_FILE_KEEP_COMMENTS: Use this flag if you plan to write the (possibly modified)
- contents of the key file back to a file; otherwise all comments will be lost when
- the key file is written back.
-@G_KEY_FILE_KEEP_TRANSLATIONS: Use this flag if you plan to write the (possibly modified)
- contents of the key file back to a file; otherwise only the translations for the current
- language will be written back.
-
-<!-- ##### FUNCTION g_key_file_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_free ##### -->
-<para>
-
-</para>
-
-@key_file:
-
-
-<!-- ##### FUNCTION g_key_file_set_list_separator ##### -->
-<para>
-
-</para>
-
-@key_file:
-@separator:
-
-
-<!-- ##### FUNCTION g_key_file_load_from_file ##### -->
-<para>
-
-</para>
-
-@key_file:
-@file:
-@flags:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_load_from_data ##### -->
-<para>
-
-</para>
-
-@key_file:
-@data:
-@length:
-@flags:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_load_from_data_dirs ##### -->
-<para>
-
-</para>
-
-@key_file:
-@file:
-@full_path:
-@flags:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_load_from_dirs ##### -->
-<para>
-
-</para>
-
-@key_file:
-@file:
-@search_dirs:
-@full_path:
-@flags:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_to_data ##### -->
-<para>
-
-</para>
-
-@key_file:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_start_group ##### -->
-<para>
-
-</para>
-
-@key_file:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_groups ##### -->
-<para>
-
-</para>
-
-@key_file:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_keys ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_has_group ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_has_key ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_value ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_string ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_locale_string ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@locale:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_boolean ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_integer ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_double ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_string_list ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_locale_string_list ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@locale:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_boolean_list ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_integer_list ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_double_list ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@length:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_get_comment ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_set_value ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@value:
-
-
-<!-- ##### FUNCTION g_key_file_set_string ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@string:
-
-
-<!-- ##### FUNCTION g_key_file_set_locale_string ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@locale:
-@string:
-
-
-<!-- ##### FUNCTION g_key_file_set_boolean ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@value:
-
-
-<!-- ##### FUNCTION g_key_file_set_integer ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@value:
-
-
-<!-- ##### FUNCTION g_key_file_set_double ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@value:
-
-
-<!-- ##### FUNCTION g_key_file_set_string_list ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@list:
-@length:
-
-
-<!-- ##### FUNCTION g_key_file_set_locale_string_list ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@locale:
-@list:
-@length:
-
-
-<!-- ##### FUNCTION g_key_file_set_boolean_list ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@list:
-@length:
-
-
-<!-- ##### FUNCTION g_key_file_set_integer_list ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@list:
-@length:
-
-
-<!-- ##### FUNCTION g_key_file_set_double_list ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@list:
-@length:
-
-
-<!-- ##### FUNCTION g_key_file_set_comment ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@comment:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_remove_group ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_remove_key ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_key_file_remove_comment ##### -->
-<para>
-
-</para>
-
-@key_file:
-@group_name:
-@key:
-@error:
-@Returns:
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_GROUP ##### -->
-<para>
-The name of the main group of a desktop entry file, as defined in the
-<ulink url="http://freedesktop.org/Standards/desktop-entry-spec">Desktop
-Entry Specification</ulink>. Consult the specification for more
-details about the meanings of the keys below.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_TYPE ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a string giving the type of the desktop entry. Usually
-<link linkend="G-KEY-FILE-DESKTOP-TYPE-APPLICATION:CAPS"><literal>G_KEY_FILE_DESKTOP_TYPE_APPLICATION</literal></link>,
-<link linkend="G-KEY-FILE-DESKTOP-TYPE-LINK:CAPS"><literal>G_KEY_FILE_DESKTOP_TYPE_LINK</literal></link>, or
-<link linkend="G-KEY-FILE-DESKTOP-TYPE-DIRECTORY:CAPS"><literal>G_KEY_FILE_DESKTOP_TYPE_DIRECTORY</literal></link>.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_VERSION ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a string giving the version of the Desktop
-Entry Specification used for the desktop entry file.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_NAME ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a localized string giving the specific name of the
-desktop entry.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a localized string giving the generic name of the
-desktop entry.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_NO_DISPLAY ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a boolean stating whether the desktop entry should be
-shown in menus.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_COMMENT ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a localized string giving the tooltip for the desktop
-entry.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_ICON ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a localized string giving the name of the icon to be
-displayed for the desktop entry.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_HIDDEN ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a boolean stating whether the desktop entry has been
-deleted by the user.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a list of strings identifying the environments that
-should display the desktop entry.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a list of strings identifying the environments that
-should not display the desktop entry.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_TRY_EXEC ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a string giving the file name of a binary on disk
-used to determine if the program is actually installed. It is only
-valid for desktop entries with the <literal>Application</literal>
-type.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_EXEC ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a string giving the command line to execute. It is only
-valid for desktop entries with the <literal>Application</literal>
-type.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_PATH ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a string containing the working directory to run the
-program in. It is only valid for desktop entries with the
-<literal>Application</literal> type.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_TERMINAL ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a boolean stating whether the program should be
-run in a terminal window. It is only valid for desktop entries with
-the <literal>Application</literal> type.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_MIME_TYPE ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a list of strings giving the MIME types supported
-by this desktop entry.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_CATEGORIES ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a list of strings giving the categories in which the
-desktop entry should be shown in a menu.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a boolean stating whether the application supports
-the <ulink
-url="http://www.freedesktop.org/Standards/startup-notification-spec">Startup
-Notification Protocol Specification</ulink>.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is string identifying the WM class or name hint of a
-window that the application will create, which can be used to emulate
-Startup Notification with older applications.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_KEY_URL ##### -->
-<para>
-A key under <link
-linkend="G-KEY-FILE-DESKTOP-GROUP:CAPS"><literal>G_KEY_FILE_DESKTOP_GROUP</literal></link>
-whose value is a string giving the URL to access. It is only valid
-for desktop entries with the <literal>Link</literal> type.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_TYPE_APPLICATION ##### -->
-<para>
-The value of the <link
-linkend="G-KEY-FILE-DESKTOP-KEY-TYPE:CAPS"><literal>G_KEY_FILE_DESKTOP_KEY_TYPE</literal></link>
-key for desktop entries representing applications.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_TYPE_LINK ##### -->
-<para>
-The value of the <link
-linkend="G-KEY-FILE-DESKTOP-KEY-TYPE:CAPS"><literal>G_KEY_FILE_DESKTOP_KEY_TYPE</literal></link>
-key for desktop entries representing links to documents.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_KEY_FILE_DESKTOP_TYPE_DIRECTORY ##### -->
-<para>
-The value of the <link
-linkend="G-KEY-FILE-DESKTOP-KEY-TYPE:CAPS"><literal>G_KEY_FILE_DESKTOP_KEY_TYPE</literal></link>
-key for desktop entries representing directories.
-</para>
-
-@Since: 2.14
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Limits of Basic Types
-
-<!-- ##### SECTION Short_Description ##### -->
-portable method of determining the limits of the standard types
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-These macros provide a portable method to determine the limits of some of
-the standard integer and floating point types.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_MININT ##### -->
-<para>
-The minimum value which can be held in a #gint.
-</para>
-
-
-
-<!-- ##### MACRO G_MAXINT ##### -->
-<para>
-The maximum value which can be held in a #gint.
-</para>
-
-
-
-<!-- ##### MACRO G_MAXUINT ##### -->
-<para>
-The maximum value which can be held in a #guint.
-</para>
-
-
-
-<!-- ##### MACRO G_MINSHORT ##### -->
-<para>
-The minimum value which can be held in a #gshort.
-</para>
-
-
-
-<!-- ##### MACRO G_MAXSHORT ##### -->
-<para>
-The maximum value which can be held in a #gshort.
-</para>
-
-
-
-<!-- ##### MACRO G_MAXUSHORT ##### -->
-<para>
-The maximum value which can be held in a #gushort.
-</para>
-
-
-
-<!-- ##### MACRO G_MINLONG ##### -->
-<para>
-The minimum value which can be held in a #glong.
-</para>
-
-
-
-<!-- ##### MACRO G_MAXLONG ##### -->
-<para>
-The maximum value which can be held in a #glong.
-</para>
-
-
-
-<!-- ##### MACRO G_MAXULONG ##### -->
-<para>
-The maximum value which can be held in a #gulong.
-</para>
-
-
-
-<!-- ##### MACRO G_MININT8 ##### -->
-<para>
-The minimum value which can be held in a #gint8.
-</para>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_MAXINT8 ##### -->
-<para>
-The maximum value which can be held in a #gint8.
-</para>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_MAXUINT8 ##### -->
-<para>
-The maximum value which can be held in a #guint8.
-</para>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_MININT16 ##### -->
-<para>
-The minimum value which can be held in a #gint16.
-</para>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_MAXINT16 ##### -->
-<para>
-The maximum value which can be held in a #gint16.
-</para>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_MAXUINT16 ##### -->
-<para>
-The maximum value which can be held in a #guint16.
-</para>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_MININT32 ##### -->
-<para>
-The minimum value which can be held in a #gint32.
-</para>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_MAXINT32 ##### -->
-<para>
-The maximum value which can be held in a #gint32.
-</para>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_MAXUINT32 ##### -->
-<para>
-The maximum value which can be held in a #guint32.
-</para>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_MININT64 ##### -->
-<para>
-The minimum value which can be held in a #gint64.
-</para>
-
-
-
-<!-- ##### MACRO G_MAXINT64 ##### -->
-<para>
-The maximum value which can be held in a #gint64.
-</para>
-
-
-
-<!-- ##### MACRO G_MAXUINT64 ##### -->
-<para>
-The maximum value which can be held in a #guint64.
-</para>
-
-
-
-<!-- ##### MACRO G_MAXSIZE ##### -->
-<para>
-The maximum value which can be held in a #gsize.
-</para>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_MINSSIZE ##### -->
-<para>
-The minimum value which can be held in a #gssize.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_MAXSSIZE ##### -->
-<para>
-The maximum value which can be held in a #gssize.
-</para>
-
-@Since: 2.14
-
-
-<!-- ##### MACRO G_MINOFFSET ##### -->
-<para>
-The minimum value which can be held in a #goffset.
-</para>
-
-
-
-<!-- ##### MACRO G_MAXOFFSET ##### -->
-<para>
-The maximum value which can be held in a #goffset.
-</para>
-
-
-
-<!-- ##### MACRO G_MINFLOAT ##### -->
-<para>
-The minimum positive value which can be held in a #gfloat.
-</para>
-<para>
-If you are interested in the smallest value which can be held in a #gfloat,
-use -G_MAX_FLOAT.
-</para>
-
-
-
-<!-- ##### MACRO G_MAXFLOAT ##### -->
-<para>
-The maximum value which can be held in a #gfloat.
-</para>
-
-
-
-<!-- ##### MACRO G_MINDOUBLE ##### -->
-<para>
-The minimum positive value which can be held in a #gdouble.
-</para>
-<para>
-If you are interested in the smallest value which can be held in a #gdouble,
-use -G_MAXDOUBLE.
-</para>
-
-
-
-<!-- ##### MACRO G_MAXDOUBLE ##### -->
-<para>
-The maximum value which can be held in a #gdouble.
-</para>
-
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Doubly-Linked Lists
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GList ##### -->
-<para>
-
-</para>
-
-@data:
-@next:
-@prev:
-
-<!-- ##### FUNCTION g_list_append ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_prepend ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_insert ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@position:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_insert_before ##### -->
-<para>
-
-</para>
-
-@list:
-@sibling:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_insert_sorted ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_remove ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_remove_link ##### -->
-<para>
-
-</para>
-
-@list:
-@llink:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_delete_link ##### -->
-<para>
-
-</para>
-
-@list:
-@link_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_remove_all ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_free ##### -->
-<para>
-
-</para>
-
-@list:
-
-
-<!-- ##### FUNCTION g_list_alloc ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_free_1 ##### -->
-<para>
-
-</para>
-
-@list:
-
-
-<!-- ##### MACRO g_list_free1 ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_list_length ##### -->
-<para>
-
-</para>
-
-@list:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_copy ##### -->
-<para>
-
-</para>
-
-@list:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_reverse ##### -->
-<para>
-
-</para>
-
-@list:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_sort ##### -->
-<para>
-
-</para>
-
-@list:
-@compare_func:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GCompareFunc ##### -->
-<para>
-
-</para>
-
-@a:
-@b:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_insert_sorted_with_data ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@func:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_sort_with_data ##### -->
-<para>
-
-</para>
-
-@list:
-@compare_func:
-@user_data:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GCompareDataFunc ##### -->
-<para>
-
-</para>
-
-@a:
-@b:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_concat ##### -->
-<para>
-
-</para>
-
-@list1:
-@list2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_foreach ##### -->
-<para>
-
-</para>
-
-@list:
-@func:
-@user_data:
-
-
-<!-- ##### USER_FUNCTION GFunc ##### -->
-<para>
-
-</para>
-
-@data:
-@user_data:
-
-
-<!-- ##### FUNCTION g_list_first ##### -->
-<para>
-
-</para>
-
-@list:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_last ##### -->
-<para>
-
-</para>
-
-@list:
-@Returns:
-
-
-<!-- ##### MACRO g_list_previous ##### -->
-<para>
-
-</para>
-
-@list:
-
-
-<!-- ##### MACRO g_list_next ##### -->
-<para>
-
-</para>
-
-@list:
-
-
-<!-- ##### FUNCTION g_list_nth ##### -->
-<para>
-
-</para>
-
-@list:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_nth_data ##### -->
-<para>
-
-</para>
-
-@list:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_nth_prev ##### -->
-<para>
-
-</para>
-
-@list:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_find ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_find_custom ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_position ##### -->
-<para>
-
-</para>
-
-@list:
-@llink:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_index ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_list_push_allocator ##### -->
-<para>
-
-</para>
-
-@allocator:
-
-
-<!-- ##### FUNCTION g_list_pop_allocator ##### -->
-<para>
-
-</para>
-
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Singly-Linked Lists
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSList ##### -->
-<para>
-
-</para>
-
-@data:
-@next:
-
-<!-- ##### FUNCTION g_slist_alloc ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_append ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_prepend ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_insert ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@position:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_insert_before ##### -->
-<para>
-
-</para>
-
-@slist:
-@sibling:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_insert_sorted ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_remove ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_remove_link ##### -->
-<para>
-
-</para>
-
-@list:
-@link_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_delete_link ##### -->
-<para>
-
-</para>
-
-@list:
-@link_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_remove_all ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_free ##### -->
-<para>
-
-</para>
-
-@list:
-
-
-<!-- ##### FUNCTION g_slist_free_1 ##### -->
-<para>
-
-</para>
-
-@list:
-
-
-<!-- ##### MACRO g_slist_free1 ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_slist_length ##### -->
-<para>
-
-</para>
-
-@list:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_copy ##### -->
-<para>
-
-</para>
-
-@list:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_reverse ##### -->
-<para>
-
-</para>
-
-@list:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_insert_sorted_with_data ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@func:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_sort ##### -->
-<para>
-
-</para>
-
-@list:
-@compare_func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_sort_with_data ##### -->
-<para>
-
-</para>
-
-@list:
-@compare_func:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_concat ##### -->
-<para>
-
-</para>
-
-@list1:
-@list2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_foreach ##### -->
-<para>
-
-</para>
-
-@list:
-@func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_slist_last ##### -->
-<para>
-
-</para>
-
-@list:
-@Returns:
-
-
-<!-- ##### MACRO g_slist_next ##### -->
-<para>
-
-</para>
-
-@slist:
-
-
-<!-- ##### FUNCTION g_slist_nth ##### -->
-<para>
-
-</para>
-
-@list:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_nth_data ##### -->
-<para>
-
-</para>
-
-@list:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_find ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_find_custom ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_position ##### -->
-<para>
-
-</para>
-
-@list:
-@llink:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_index ##### -->
-<para>
-
-</para>
-
-@list:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_slist_push_allocator ##### -->
-<para>
-
-</para>
-
-@dummy:
-
-
-<!-- ##### FUNCTION g_slist_pop_allocator ##### -->
-<para>
-
-</para>
-
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Standard Macros
-
-<!-- ##### SECTION Short_Description ##### -->
-commonly-used macros.
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-These macros provide a few commonly-used features.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_OS_WIN32 ##### -->
-<para>
-This macro is defined only on Windows. So you can bracket
-Windows-specific code in "#ifdef G_OS_WIN32".
-</para>
-
-
-
-<!-- ##### MACRO G_OS_BEOS ##### -->
-<para>
-This macro is defined only on BeOS. So you can bracket
-BeOS-specific code in "#ifdef G_OS_BEOS".
-</para>
-
-
-
-<!-- ##### MACRO G_OS_UNIX ##### -->
-<para>
-This macro is defined only on UNIX. So you can bracket
-UNIX-specific code in "#ifdef G_OS_UNIX".
-</para>
-
-
-
-<!-- ##### MACRO G_DIR_SEPARATOR ##### -->
-<para>
-The directory separator character.
-This is '/' on UNIX machines and '\' under Windows.
-</para>
-
-
-
-<!-- ##### MACRO G_DIR_SEPARATOR_S ##### -->
-<para>
-The directory separator as a string.
-This is "/" on UNIX machines and "\" under Windows.
-</para>
-
-
-
-<!-- ##### MACRO G_IS_DIR_SEPARATOR ##### -->
-<para>
-Checks whether a character is a directory
-separator. It returns %TRUE for '/' on UNIX
-machines and for '\' or '/' under Windows.
-</para>
-
-@c: a character
-@Since: 2.6
-
-
-<!-- ##### MACRO G_SEARCHPATH_SEPARATOR ##### -->
-<para>
-The search path separator character.
-This is ':' on UNIX machines and ';' under Windows.
-</para>
-
-
-
-<!-- ##### MACRO G_SEARCHPATH_SEPARATOR_S ##### -->
-<para>
-The search path separator as a string.
-This is ":" on UNIX machines and ";" under Windows.
-</para>
-
-
-
-<!-- ##### MACRO TRUE ##### -->
-<para>
-Defines the %TRUE value for the #gboolean type.
-</para>
-
-
-
-<!-- ##### MACRO FALSE ##### -->
-<para>
-Defines the %FALSE value for the #gboolean type.
-</para>
-
-
-
-<!-- ##### MACRO NULL ##### -->
-<para>
-Defines the standard %NULL pointer.
-</para>
-
-
-
-<!-- ##### MACRO MIN ##### -->
-<para>
-Calculates the minimum of @a and @b.
-</para>
-
-@a: a numeric value.
-@b: a numeric value.
-@Returns: the minimum of @a and @b.
-
-
-<!-- ##### MACRO MAX ##### -->
-<para>
-Calculates the maximum of @a and @b.
-</para>
-
-@a: a numeric value.
-@b: a numeric value.
-@Returns: the maximum of @a and @b.
-
-
-<!-- ##### MACRO ABS ##### -->
-<para>
-Calculates the absolute value of @a.
-The absolute value is simply the number with any negative sign taken away.
-</para>
-<para>
-For example,
-<itemizedlist>
-<listitem><para>
-ABS(-10) is 10.
-</para></listitem>
-<listitem><para>
-ABS(10) is also 10.
-</para></listitem>
-</itemizedlist>
-</para>
-
-@a: a numeric value.
-@Returns: the absolute value of @a.
-
-
-<!-- ##### MACRO CLAMP ##### -->
-<para>
-Ensures that @x is between the limits set by @low and @high. If @low is
-greater than @high the result is undefined.
-</para>
-<para>
-For example,
-<itemizedlist>
-<listitem><para>
-CLAMP(5, 10, 15) is 10.
-</para></listitem>
-<listitem><para>
-CLAMP(15, 5, 10) is 10.
-</para></listitem>
-<listitem><para>
-CLAMP(20, 15, 25) is 20.
-</para></listitem>
-</itemizedlist>
-</para>
-
-@x: the value to clamp.
-@low: the minimum value allowed.
-@high: the maximum value allowed.
-@Returns: the value of @x clamped to the range between @low and @high.
-
-
-<!-- ##### MACRO G_STRUCT_MEMBER ##### -->
-<para>
-Returns a member of a structure at a given offset, using the given type.
-</para>
-
-@member_type: the type of the struct field.
-@struct_p: a pointer to a struct.
-@struct_offset: the offset of the field from the start of the struct, in bytes.
-@Returns: the struct member.
-
-
-<!-- ##### MACRO G_STRUCT_MEMBER_P ##### -->
-<para>
-Returns an untyped pointer to a given offset of a struct.
-</para>
-
-@struct_p: a pointer to a struct.
-@struct_offset: the offset from the start of the struct, in bytes.
-@Returns: an untyped pointer to @struct_p plus @struct_offset bytes.
-
-
-<!-- ##### MACRO G_STRUCT_OFFSET ##### -->
-<para>
-Returns the offset, in bytes, of a member of a struct.
-</para>
-
-@struct_type: a structure type, e.g. <structname>GtkWidget</structname>.
-@member: a field in the structure, e.g. <structfield>window</structfield>.
-@Returns: the offset of @member from the start of @struct_type.
-
-
-<!-- ##### MACRO G_MEM_ALIGN ##### -->
-<para>
-Indicates the number of bytes to which memory will be aligned on the
-current platform.
-</para>
-
-
-
-<!-- ##### MACRO G_CONST_RETURN ##### -->
-<para>
-If %G_DISABLE_CONST_RETURNS is defined, this macro expands to nothing.
-By default, the macro expands to <literal>const</literal>. The macro
-should be used in place of <literal>const</literal> for functions that
-return a value that should not be modified. The purpose of this macro is
-to allow us to turn on <literal>const</literal> for returned constant
-strings by default, while allowing programmers who find that annoying to
-turn it off. This macro should only be used for return values and for
-<emphasis>out</emphasis> parameters, it doesn't make sense for
-<emphasis>in</emphasis> parameters.
-</para>
-
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Miscellaneous Macros
-
-<!-- ##### SECTION Short_Description ##### -->
-specialized macros which are not used often
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-These macros provide more specialized features which are not needed so often
-by application programmers.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_INLINE_FUNC ##### -->
-<para>
-This macro is used to export function prototypes so they can be linked
-with an external version when no inlining is performed. The file which
-implements the functions should define %G_IMPLEMENTS_INLINES
-before including the headers which contain %G_INLINE_FUNC declarations.
-Since inlining is very compiler-dependent using these macros correctly
-is very difficult. Their use is strongly discouraged.
-</para>
-<para>
-This macro is often mistaken for a replacement for the inline keyword;
-inline is already declared in a portable manner in the glib headers
-and can be used normally.
-</para>
-
-
-
-<!-- ##### MACRO G_STMT_START ##### -->
-<para>
-Used within multi-statement macros so that they can be used in places where
-only one statement is expected by the compiler.
-</para>
-
-
-
-<!-- ##### MACRO G_STMT_END ##### -->
-<para>
-Used within multi-statement macros so that they can be used in places where
-only one statement is expected by the compiler.
-</para>
-
-
-
-<!-- ##### MACRO G_BEGIN_DECLS ##### -->
-<para>
-Used (along with #G_END_DECLS) to bracket header files. If the
-compiler in use is a C++ compiler, adds <literal>extern "C"</literal>
-around the header.
-</para>
-
-
-
-<!-- ##### MACRO G_END_DECLS ##### -->
-<para>
-Used (along with #G_BEGIN_DECLS) to bracket header files. If the
-compiler in use is a C++ compiler, adds <literal>extern "C"</literal>
-around the header.
-</para>
-
-
-
-<!-- ##### MACRO G_N_ELEMENTS ##### -->
-<para>
-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.
-</para>
-
-@arr: the array
-
-
-<!-- ##### MACRO G_VA_COPY ##### -->
-<para>
-Portable way to copy <type>va_list</type> variables.
-</para>
-<para>
-In order to use this function, you must include <filename>string.h</filename>
-yourself, because this macro may use <function>memmove()</function> and GLib
-does not include <function>string.h</function> for you.
-</para>
-
-@ap1: the <type>va_list</type> variable to place a copy of @ap2 in.
-@ap2: a <type>va_list</type>.
-
-
-<!-- ##### MACRO G_STRINGIFY ##### -->
-<para>
-Accepts a macro or a string and converts it into a string after
-preprocessor argument expansion.
-</para>
-
-@macro_or_string: a macro or a string.
-
-
-<!-- ##### MACRO G_PASTE ##### -->
-<para>
-Yields a new preprocessor pasted identifier 'identifier1identifier2'
-from its expanded arguments 'identifier1' and 'identifier2'.
-</para>
-
-@identifier1: an identifier
-@identifier2: an identifier
-@Since: 2.20
-
-
-<!-- ##### MACRO G_PASTE_ARGS ##### -->
-<para>
-
-</para>
-
-@identifier1:
-@identifier2:
-
-
-<!-- ##### MACRO G_STATIC_ASSERT ##### -->
-<para>
-The G_STATIC_ASSERT macro lets the programmer check a condition at compile time,
-the condition needs to be compile time computable.
-The macro can be used in any place where a <literal>typedef</literal> is valid.
-The macro should only be used once per source code line.
-</para>
-
-@expr: a constant expression.
-@Since: 2.20
-
-
-<!-- ##### MACRO G_GNUC_EXTENSION ##### -->
-<para>
-Expands to <literal>__extension__</literal> when <command>gcc</command> is
-used as the compiler.
-This simply tells <command>gcc</command> not to warn about the following non-standard code
-when compiling with the <option>-pedantic</option> option.
-</para>
-
-
-
-<!-- ##### MACRO G_GNUC_CONST ##### -->
-<para>
-Expands to the GNU C <literal>const</literal> function attribute if the compiler is
-<command>gcc</command>. Declaring a function as const enables better optimization of calls
-to the function. A const function doesn't examine any values except its parameters, and has no
-effects except its return value. See the GNU C documentation for details.
-</para>
-<note><para>
-A function that has pointer arguments and examines the data pointed to
-must <emphasis>not</emphasis> be declared const. Likewise, a function that
-calls a non-const function usually must not be const. It doesn't make sense
-for a const function to return void.
-</para></note>
-
-
-
-<!-- ##### MACRO G_GNUC_PURE ##### -->
-<para>
-Expands to the GNU C <literal>pure</literal> function attribute if the compiler is
-<command>gcc</command>. Declaring a function as pure enables better optimization of
-calls to the function. A pure function has no effects except its return value and the
-return value depends only on the parameters and/or global variables.
-See the GNU C documentation for details.
-</para>
-
-
-
-<!-- ##### MACRO G_GNUC_MALLOC ##### -->
-<para>
-Expands to the GNU C <literal>malloc</literal> function attribute if the
-compiler is <command>gcc</command>. Declaring a function as malloc enables
-better optimization of the function. A function can have the malloc attribute
-if it returns a pointer which is guaranteed to not alias with any other pointer
-when the function returns (in practice, this means newly allocated memory).
-See the GNU C documentation for details.
-</para>
-
-@Since: 2.6
-
-
-<!-- ##### MACRO G_GNUC_ALLOC_SIZE ##### -->
-<para>
-Expands to the GNU C <literal>alloc_size</literal> function attribute if the
-compiler is a new enough <command>gcc</command>. This attribute tells the
-compiler that the function returns a pointer to memory of a size that is
-specified by the @x<!-- -->th function parameter.
-See the GNU C documentation for details.
-</para>
-
-@x: the index of the argument specifying the allocation size
-@Since: 2.18
-
-
-<!-- ##### MACRO G_GNUC_ALLOC_SIZE2 ##### -->
-<para>
-Expands to the GNU C <literal>alloc_size</literal> function attribute if the
-compiler is a new enough <command>gcc</command>. This attribute tells the
-compiler that the function returns a pointer to memory of a size that is
-specified by the product of two function parameters.
-See the GNU C documentation for details.
-</para>
-
-@x: the index of the argument specifying one factor of the allocation size
-@y: the index of the argument specifying the second factor of the allocation size
-@Since: 2.18
-
-
-<!-- ##### MACRO G_GNUC_DEPRECATED ##### -->
-<para>
-Expands to the GNU C <literal>deprecated</literal> attribute if the compiler
-is <command>gcc</command>.
-It can be used to mark typedefs, variables and functions as deprecated.
-When called with the <option>-Wdeprecated-declarations</option> option, the compiler will
-generate warnings when deprecated interfaces are used.
-See the GNU C documentation for details.
-</para>
-
-@Since: 2.2
-
-
-<!-- ##### MACRO G_GNUC_NORETURN ##### -->
-<para>
-Expands to the GNU C <literal>noreturn</literal> function attribute if the
-compiler is <command>gcc</command>. It is used for declaring functions which never return.
-It enables optimization of the function, and avoids possible compiler
-warnings. See the GNU C documentation for details.
-</para>
-
-
-
-<!-- ##### MACRO G_GNUC_UNUSED ##### -->
-<para>
-Expands to the GNU C <literal>unused</literal> function attribute if the compiler is
-<command>gcc</command>. It is used for declaring functions which may never be used.
-It avoids possible compiler warnings. See the GNU C documentation for details.
-</para>
-
-
-
-<!-- ##### MACRO G_GNUC_PRINTF ##### -->
-<para>
-Expands to the GNU C <literal>format</literal> function attribute if the compiler is
-<command>gcc</command>. This is used for declaring functions which take a variable number of
-arguments, with the same syntax as <function>printf()</function>.
-It allows the compiler to type-check the arguments passed to the function.
-See the GNU C documentation for details.
-</para>
-<informalexample><programlisting>
-gint g_snprintf (gchar *string,
- gulong n,
- gchar const *format,
- ...) G_GNUC_PRINTF (3, 4);
-</programlisting></informalexample>
-
-@format_idx: the index of the argument corresponding to the format string.
-(The arguments are numbered from 1).
-@arg_idx: the index of the first of the format arguments.
-
-
-<!-- ##### MACRO G_GNUC_SCANF ##### -->
-<para>
-Expands to the GNU C <literal>format</literal> function attribute if the compiler is <command>gcc</command>.
-This is used for declaring functions which take a variable number of
-arguments, with the same syntax as <function>scanf()</function>.
-It allows the compiler to type-check the arguments passed to the function.
-See the GNU C documentation for details.
-</para>
-
-@format_idx: the index of the argument corresponding to the format string.
-(The arguments are numbered from 1).
-@arg_idx: the index of the first of the format arguments.
-
-
-<!-- ##### MACRO G_GNUC_FORMAT ##### -->
-<para>
-Expands to the GNU C <literal>format_arg</literal> function attribute if the compiler is <command>gcc</command>.
-This function attribute specifies that a function takes a format
-string for a <function>printf()</function>, <function>scanf()</function>,
-<function>strftime()</function> or <function>strfmon()</function> style
-function and modifies it, so that the result can be passed to a
-<function>printf()</function>, <function>scanf()</function>,
-<function>strftime()</function> or <function>strfmon()</function> style
-function (with the remaining arguments to the format function the same as
-they would have been for the unmodified string).
-See the GNU C documentation for details.
-</para>
-<informalexample><programlisting>
-gchar *g_dgettext (gchar *domain_name, gchar *msgid) G_GNUC_FORMAT (2);
-</programlisting></informalexample>
-
-@arg_idx: the index of the argument.
-
-
-<!-- ##### MACRO G_GNUC_NULL_TERMINATED ##### -->
-<para>
-Expands to the GNU C <literal>sentinel</literal> function attribute if the
-compiler is <command>gcc</command>, or "" if it isn't. This function attribute
-only applies to variadic functions and instructs the compiler to check that
-the argument list is terminated with an explicit %NULL.
-See the GNU C documentation for details.
-</para>
-
-Since: 2.8
-
-
-
-<!-- ##### MACRO G_GNUC_WARN_UNUSED_RESULT ##### -->
-<para>
-Expands to the GNU C <literal>warn_unused_result</literal> function attribute
-if the compiler is <command>gcc</command>, or "" if it isn't. This function
-attribute makes the compiler emit a warning if the result of a function call
-is ignored. See the GNU C documentation for details.
-</para>
-
-@Since: 2.10
-
-
-<!-- ##### MACRO G_GNUC_FUNCTION ##### -->
-<para>
-Expands to "" on all modern compilers, and to <literal>__FUNCTION__</literal>
-on <command>gcc</command> version 2.x. Don't use it.
-</para>
-
-@Deprecated: 2.16: Use #G_STRFUNC instead.
-
-
-<!-- ##### MACRO G_GNUC_PRETTY_FUNCTION ##### -->
-<para>
-Expands to "" on all modern compilers, and to
-<literal>__PRETTY_FUNCTION__</literal> on <command>gcc</command> version 2.x.
-Don't use it.
-</para>
-
-@Deprecated: 2.16: Use #G_STRFUNC instead.
-
-
-<!-- ##### MACRO G_GNUC_NO_INSTRUMENT ##### -->
-<para>
-Expands to the GNU C <literal>no_instrument_function</literal> function
-attribute if the compiler is <command>gcc</command>. Functions with this
-attribute will not be
-instrumented for profiling, when the compiler is called with the
-<option>-finstrument-functions</option> option.
-See the GNU C documentation for details.
-</para>
-
-
-
-<!-- ##### MACRO G_HAVE_GNUC_VISIBILITY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_GNUC_INTERNAL ##### -->
-<para>
-This attribute can be used for marking library functions as being used
-internally to the library only, which may allow the compiler to handle
-function calls more efficiently.
-Note that static functions do not need to be marked as internal in this way.
-See the GNU C documentation for details.
-</para>
-<para>
-When using a compiler that supports the GNU C hidden visibility attribute,
-this macro expands to <literal>__attribute__((visibility("hidden")))</literal>.
-When using the Sun Studio compiler, it expands to <literal>__hidden</literal>.
-</para>
-<para>
-Note that for portability, the attribute should be placed before the
-function declaration. While GCC allows the macro after the declaration,
-Sun Studio does not.
-</para>
-<informalexample><programlisting>
-G_GNUC_INTERNAL
-void _g_log_fallback_handler (const gchar *log_domain,
- GLogLevelFlags log_level,
- const gchar *message,
- gpointer unused_data);
-</programlisting></informalexample>
-
-Since: 2.6
-
-
-
-<!-- ##### MACRO G_GNUC_MAY_ALIAS ##### -->
-<para>
-Expands to the GNU C <literal>may_alias</literal> type attribute
-if the compiler is <command>gcc</command>. Types with this attribute
-will not be subjected to type-based alias analysis, but are assumed
-to alias with any other type, just like char.
-See the GNU C documentation for details.
-</para>
-
-Since: 2.14
-
-
-
-<!-- ##### MACRO G_LIKELY ##### -->
-<para>
-Hints the compiler that the expression is likely to evaluate to a true
-value. The compiler may use this information for optimizations.
-</para>
-<informalexample><programlisting>
-if (G_LIKELY (random () != 1))
- g_print ("not one");
-</programlisting></informalexample>
-
-@expr: the expression
-@Returns: the value of @expr
-@Since: 2.2
-
-
-<!-- ##### MACRO G_UNLIKELY ##### -->
-<para>
-Hints the compiler that the expression is unlikely to evaluate to a true
-value. The compiler may use this information for optimizations.
-</para>
-<informalexample><programlisting>
-if (G_UNLIKELY (random () == 1))
- g_print ("a random one");
-</programlisting></informalexample>
-
-@expr: the expression
-@Returns: the value of @expr
-@Since: 2.2
-
-
-<!-- ##### MACRO G_STRLOC ##### -->
-<para>
-Expands to a string identifying the current code position.
-</para>
-
-
-
-<!-- ##### MACRO G_STRFUNC ##### -->
-<para>
-Expands to a string identifying the current function.
-</para>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_GINT16_MODIFIER ##### -->
-<para>
-The platform dependent length modifier for conversion specifiers for scanning
-and printing values of type #gint16 or #guint16. It is a string literal,
-but doesn't include the percent-sign, such that you can add precision and
-length modifiers between percent-sign and conversion specifier and append a
-conversion specifier.
-</para>
-
-<para>
-The following example prints "0x7b";
-<informalexample>
-<programlisting>
-gint16 value = 123;
-g_print ("%#" G_GINT16_MODIFIER "x", value);
-</programlisting>
-</informalexample>
-</para>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_GINT16_FORMAT ##### -->
-<para>
-This is the platform dependent conversion specifier for scanning and
-printing values of type #gint16. It is a string literal, but doesn't
-include the percent-sign, such that you can add precision and length
-modifiers between percent-sign and conversion specifier.
-</para>
-
-<para>
-<informalexample>
-<programlisting>
-gint16 in;
-gint32 out;
-sscanf ("42", "%" G_GINT16_FORMAT, &in)
-out = in * 1000;
-g_print ("%" G_GINT32_FORMAT, out);
-</programlisting>
-</informalexample>
-</para>
-
-
-
-<!-- ##### MACRO G_GUINT16_FORMAT ##### -->
-<para>
-This is the platform dependent conversion specifier for scanning and
-printing values of type #guint16. See also #G_GINT16_FORMAT.
-</para>
-
-
-
-<!-- ##### MACRO G_GINT32_MODIFIER ##### -->
-<para>
-The platform dependent length modifier for conversion specifiers for scanning
-and printing values of type #gint32 or #guint32. It is a string literal,
-See also #G_GINT16_MODIFIER.
-</para>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_GINT32_FORMAT ##### -->
-<para>
-This is the platform dependent conversion specifier for scanning and
-printing values of type #gint32. See also #G_GINT16_FORMAT.
-</para>
-
-
-
-<!-- ##### MACRO G_GUINT32_FORMAT ##### -->
-<para>
-This is the platform dependent conversion specifier for scanning and
-printing values of type #guint32. See also #G_GINT16_FORMAT.
-</para>
-
-
-
-<!-- ##### MACRO G_GINT64_MODIFIER ##### -->
-<para>
-The platform dependent length modifier for conversion specifiers for scanning
-and printing values of type #gint64 or #guint64. It is a string literal.
-</para>
-
-<note>
-<para>
-Some platforms do not support printing 64 bit integers,
-even though the types are supported. On such platforms #G_GINT64_MODIFIER
-is not defined.
-</para>
-</note>
-
-@Since: 2.4
-
-
-<!-- ##### MACRO G_GINT64_FORMAT ##### -->
-<para>
-This is the platform dependent conversion specifier for scanning and
-printing values of type #gint64. See also #G_GINT16_FORMAT.
-</para>
-
-<note>
-<para>
-Some platforms do not support scanning and printing 64 bit integers,
-even though the types are supported. On such platforms #G_GINT64_FORMAT
-is not defined. Note that scanf() may not support 64 bit integers, even
-if #G_GINT64_FORMAT is defined. Due to its weak error handling, scanf()
-is not recommended for parsing anyway; consider using g_ascii_strtoull()
-instead.
-</para>
-</note>
-
-
-
-<!-- ##### MACRO G_GUINT64_FORMAT ##### -->
-<para>
-This is the platform dependent conversion specifier for scanning and
-printing values of type #guint64. See also #G_GINT16_FORMAT.
-</para>
-
-<note>
-<para>
-Some platforms do not support scanning and printing 64 bit integers,
-even though the types are supported. On such platforms #G_GUINT64_FORMAT
-is not defined. Note that scanf() may not support 64 bit integers, even
-if #G_GINT64_FORMAT is defined. Due to its weak error handling, scanf() is not
-recommended for parsing anyway; consider using g_strtoull() instead.
-</para>
-</note>
-
-
-
-<!-- ##### MACRO G_GSIZE_MODIFIER ##### -->
-<para>
-The platform dependent length modifier for conversion specifiers for scanning
-and printing values of type #gsize or #gssize. It is a string literal,
-</para>
-
-@Since: 2.6
-
-
-<!-- ##### MACRO G_GSIZE_FORMAT ##### -->
-<para>
-This is the platform dependent conversion specifier for scanning and
-printing values of type #gsize. See also #G_GINT16_FORMAT.
-</para>
-
-@Since: 2.6
-
-
-<!-- ##### MACRO G_GSSIZE_FORMAT ##### -->
-<para>
-This is the platform dependent conversion specifier for scanning and
-printing values of type #gssize. See also #G_GINT16_FORMAT.
-</para>
-
-@Since: 2.6
-
-
-<!-- ##### MACRO G_GOFFSET_MODIFIER ##### -->
-<para>
-The platform dependent length modifier for conversion specifiers for scanning
-and printing values of type #goffset. It is a string literal. See also
-#G_GINT64_MODIFIER.
-</para>
-
-@Since: 2.20
-
-
-<!-- ##### MACRO G_GOFFSET_FORMAT ##### -->
-<para>
-This is the platform dependent conversion specifier for scanning and
-printing values of type #goffset. See also #G_GINT64_FORMAT.
-</para>
-
-Since: 2.20
-
-
-
-<!-- ##### MACRO G_GINTPTR_MODIFIER ##### -->
-<para>
-The platform dependent length modifier for conversion specifiers for scanning
-and printing values of type #gintptr or #guintptr. It is a string literal.
-</para>
-
-@Since: 2.22
-
-
-<!-- ##### MACRO G_GINTPTR_FORMAT ##### -->
-<para>
-This is the platform dependent conversion specifier for scanning and
-printing values of type #gintptr.
-</para>
-
-@Since: 2.22
-
-
-<!-- ##### MACRO G_GUINTPTR_FORMAT ##### -->
-<para>
-This is the platform dependent conversion specifier for scanning and
-printing values of type #guintptr.
-</para>
-
-@Since: 2.22
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-The Main Event Loop
-
-<!-- ##### SECTION Short_Description ##### -->
-manages all available sources of events
-
-<!-- ##### SECTION Long_Description ##### -->
- <para>
- The main event loop manages all the available sources of events for
- GLib and GTK+ applications. These events can come from any number of
- different types of sources such as file descriptors (plain files,
- pipes or sockets) and timeouts. New types of event sources can also
- be added using g_source_attach().
- </para>
- <para>
- To allow multiple independent sets of sources to be handled in
- different threads, each source is associated with a #GMainContext.
- A #GMainContext can only be running in a single thread, but
- sources can be added to it and removed from it from other threads.
- </para>
- <para>
- Each event source is assigned a priority. The default priority,
- #G_PRIORITY_DEFAULT, is 0. Values less than 0 denote higher
- priorities. Values greater than 0 denote lower priorities. Events
- from high priority sources are always processed before events from
- lower priority sources.
- </para>
- <para>
- Idle functions can also be added, and assigned a priority. These will
- be run whenever no events with a higher priority are ready to be
- processed.
- </para>
- <para>
- The #GMainLoop data type represents a main event loop. A #GMainLoop
- is created with g_main_loop_new(). After adding the initial event sources,
- g_main_loop_run() is called. This continuously checks for new events from
- each of the event sources and dispatches them. Finally, the
- processing of an event from one of the sources leads to a call to
- g_main_loop_quit() to exit the main loop, and g_main_loop_run() returns.
- </para>
- <para>
- It is possible to create new instances of #GMainLoop recursively.
- This is often used in GTK+ applications when showing modal dialog
- boxes. Note that event sources are associated with a particular
- #GMainContext, and will be checked and dispatched for all main
- loops associated with that #GMainContext.
- </para>
- <para>
- GTK+ contains wrappers of some of these functions, e.g. gtk_main(),
- gtk_main_quit() and gtk_events_pending().
- </para>
- <refsect2>
- <title>Creating new sources types</title>
- <para>
- One of the unusual features of the GTK+ main loop functionality
- is that new types of event source can be created and used in
- addition to the builtin type of event source. A new event source
- type is used for handling GDK events. A new source type is
- created by <firstterm>deriving</firstterm> from the #GSource
- structure. The derived type of source is represented by a
- structure that has the #GSource structure as a first element,
- and other elements specific to the new source type. To create
- an instance of the new source type, call g_source_new() passing
- in the size of the derived structure and a table of functions.
- These #GSourceFuncs determine the behavior of the new source
- types.
- </para>
- <para>
- New source types basically interact with the main context
- in two ways. Their prepare function in #GSourceFuncs can set
- a timeout to determine the maximum amount of time that the
- main loop will sleep before checking the source again. In
- addition, or as well, the source can add file descriptors to
- the set that the main context checks using g_source_add_poll().
- </para>
- </refsect2>
- <refsect2>
- <title>Customizing the main loop iteration</title>
- <para>
- Single iterations of a #GMainContext can be run with
- g_main_context_iteration(). In some cases, more detailed control
- of exactly how the details of the main loop work is desired,
- for instance, when integrating the #GMainLoop with an external
- main loop. In such cases, you can call the component functions
- of g_main_context_iteration() directly. These functions
- are g_main_context_prepare(), g_main_context_query(),
- g_main_context_check() and g_main_context_dispatch().
- </para>
- <para>
- The operation of these functions can best be seen in terms
- of a state diagram, as shown in <xref linkend="mainloop-states"/>.
- </para>
- <figure id="mainloop-states">
- <title>States of a Main Context</title>
- <graphic fileref="mainloop-states.gif" format="GIF"></graphic>
- </figure>
- </refsect2>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GMainLoop ##### -->
-<para>
-The <structname>GMainLoop</structname> struct is an opaque data type
-representing the main event loop of a GLib or GTK+ application.
-</para>
-
-
-<!-- ##### FUNCTION g_main_loop_new ##### -->
-<para>
-
-</para>
-
-@context:
-@is_running:
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_loop_ref ##### -->
-<para>
-
-</para>
-
-@loop:
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_loop_unref ##### -->
-<para>
-
-</para>
-
-@loop:
-
-
-<!-- ##### FUNCTION g_main_loop_run ##### -->
-<para>
-
-</para>
-
-@loop:
-
-
-<!-- ##### FUNCTION g_main_loop_quit ##### -->
-<para>
-
-</para>
-
-@loop:
-
-
-<!-- ##### FUNCTION g_main_loop_is_running ##### -->
-<para>
-
-</para>
-
-@loop:
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_loop_get_context ##### -->
-<para>
-
-</para>
-
-@loop:
-@Returns:
-
-
-<!-- ##### MACRO g_main_new ##### -->
-<para>
-Creates a new #GMainLoop for the default main loop.
-</para>
-
-@is_running: set to %TRUE to indicate that the loop is running. This is not
-very important since calling g_main_run() will set this to %TRUE anyway.
-@Returns: a new #GMainLoop.
-@Deprecated: 2.2: Use g_main_loop_new() instead.
-
-
-<!-- ##### MACRO g_main_destroy ##### -->
-<para>
-Frees the memory allocated for the #GMainLoop.
-</para>
-
-@loop: a #GMainLoop.
-@Deprecated: 2.2: Use g_main_loop_unref() instead.
-
-
-<!-- ##### MACRO g_main_run ##### -->
-<para>
-Runs a main loop until it stops running.
-</para>
-
-@loop: a #GMainLoop.
-@Deprecated: 2.2: Use g_main_loop_run() instead.
-
-
-<!-- ##### MACRO g_main_quit ##### -->
-<para>
-Stops the #GMainLoop. If g_main_run() was called to run the #GMainLoop,
-it will now return.
-</para>
-
-@loop: a #GMainLoop.
-@Deprecated: 2.2: Use g_main_loop_quit() instead.
-
-
-<!-- ##### MACRO g_main_is_running ##### -->
-<para>
-Checks if the main loop is running.
-</para>
-
-@loop: a #GMainLoop.
-@Returns: %TRUE if the main loop is running.
-@Deprecated: 2.2: USe g_main_loop_is_running() instead.
-
-
-<!-- ##### MACRO G_PRIORITY_HIGH ##### -->
-<para>
-Use this for high priority event sources.
-It is not used within GLib or GTK+.
-</para>
-
-
-
-<!-- ##### MACRO G_PRIORITY_DEFAULT ##### -->
-<para>
-Use this for default priority event sources.
-In GLib this priority is used when adding timeout functions with
-g_timeout_add().
-In GDK this priority is used for events from the X server.
-</para>
-
-
-
-<!-- ##### MACRO G_PRIORITY_HIGH_IDLE ##### -->
-<para>
-Use this for high priority idle functions.
-GTK+ uses #G_PRIORITY_HIGH_IDLE + 10 for resizing operations, and
-#G_PRIORITY_HIGH_IDLE + 20 for redrawing operations. (This is done to
-ensure that any pending resizes are processed before any pending redraws,
-so that widgets are not redrawn twice unnecessarily.)
-</para>
-
-
-
-<!-- ##### MACRO G_PRIORITY_DEFAULT_IDLE ##### -->
-<para>
-Use this for default priority idle functions.
-In GLib this priority is used when adding idle functions with g_idle_add().
-</para>
-
-
-
-<!-- ##### MACRO G_PRIORITY_LOW ##### -->
-<para>
-Use this for very low priority background tasks.
-It is not used within GLib or GTK+.
-</para>
-
-
-
-<!-- ##### STRUCT GMainContext ##### -->
-<para>
-The <structname>GMainContext</structname> struct is an opaque data type
-representing a set of sources to be handled in a main loop.
-</para>
-
-
-<!-- ##### FUNCTION g_main_context_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_context_ref ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_context_unref ##### -->
-<para>
-
-</para>
-
-@context:
-
-
-<!-- ##### FUNCTION g_main_context_default ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_context_iteration ##### -->
-<para>
-
-</para>
-
-@context:
-@may_block:
-@Returns:
-
-
-<!-- ##### MACRO g_main_iteration ##### -->
-<para>
-Runs a single iteration for the default #GMainContext.
-</para>
-
-@may_block: set to %TRUE if it should block (i.e. wait) until an event source
-becomes ready. It will return after an event source has been processed.
-If set to %FALSE it will return immediately if no event source is ready to be
-processed.
-@Returns: %TRUE if more events are pending.
-@Deprecated: 2.2: Use g_main_context_iteration() instead.
-
-
-<!-- ##### FUNCTION g_main_context_pending ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### MACRO g_main_pending ##### -->
-<para>
-Checks if any events are pending for the default #GMainContext
-(i.e. ready to be processed).
-</para>
-
-@Returns: %TRUE if any events are pending.
-@Deprecated: 2.2: Use g_main_context_pending() instead.
-
-
-<!-- ##### FUNCTION g_main_context_find_source_by_id ##### -->
-<para>
-
-</para>
-
-@context:
-@source_id:
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_context_find_source_by_user_data ##### -->
-<para>
-
-</para>
-
-@context:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_context_find_source_by_funcs_user_data ##### -->
-<para>
-
-</para>
-
-@context:
-@funcs:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_context_wakeup ##### -->
-<para>
-
-</para>
-
-@context:
-
-
-<!-- ##### FUNCTION g_main_context_acquire ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_context_release ##### -->
-<para>
-
-</para>
-
-@context:
-
-
-<!-- ##### FUNCTION g_main_context_is_owner ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_context_wait ##### -->
-<para>
-
-</para>
-
-@context:
-@cond:
-@mutex:
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_context_prepare ##### -->
-<para>
-
-</para>
-
-@context:
-@priority:
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_context_query ##### -->
-<para>
-
-</para>
-
-@context:
-@max_priority:
-@timeout_:
-@fds:
-@n_fds:
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_context_check ##### -->
-<para>
-
-</para>
-
-@context:
-@max_priority:
-@fds:
-@n_fds:
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_context_dispatch ##### -->
-<para>
-
-</para>
-
-@context:
-
-
-<!-- ##### FUNCTION g_main_context_set_poll_func ##### -->
-<para>
-
-</para>
-
-@context:
-@func:
-
-
-<!-- ##### FUNCTION g_main_context_get_poll_func ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GPollFunc ##### -->
-<para>
-Specifies the type of function passed to g_main_context_set_poll_func().
-The semantics of the function should match those of the
-<function>poll()</function> system call.
-</para>
-
-@ufds: an array of #GPollFD elements.
-@nfsd: the number of elements in @ufds.
-@timeout_: the maximum time to wait for an event of the file descriptors.
- A negative value indicates an infinite timeout.
-@Returns: the number of #GPollFD elements which have events or errors reported,
-or -1 if an error occurred.
-
-
-<!-- ##### FUNCTION g_main_context_add_poll ##### -->
-<para>
-
-</para>
-
-@context:
-@fd:
-@priority:
-
-
-<!-- ##### FUNCTION g_main_context_remove_poll ##### -->
-<para>
-
-</para>
-
-@context:
-@fd:
-
-
-<!-- ##### FUNCTION g_main_depth ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_current_source ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### MACRO g_main_set_poll_func ##### -->
-<para>
-Sets the function to use for the handle polling of file descriptors
-for the default main context.
-</para>
-
-@func: the function to call to poll all file descriptors.
-@Deprecated: 2.2: Use g_main_context_set_poll_func() instead.
-
-
-<!-- ##### FUNCTION g_main_context_get_thread_default ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_main_context_push_thread_default ##### -->
-<para>
-
-</para>
-
-@context:
-
-
-<!-- ##### FUNCTION g_main_context_pop_thread_default ##### -->
-<para>
-
-</para>
-
-@context:
-
-
-<!-- ##### FUNCTION g_timeout_source_new ##### -->
-<para>
-
-</para>
-
-@interval:
-@Returns:
-
-
-<!-- ##### FUNCTION g_timeout_source_new_seconds ##### -->
-<para>
-
-</para>
-
-@interval:
-@Returns:
-
-
-<!-- ##### FUNCTION g_timeout_add ##### -->
-<para>
-</para>
-
-@interval:
-@function:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_timeout_add_full ##### -->
-<para>
-</para>
-
-@priority:
-@interval:
-@function:
-@data:
-@notify:
-@Returns:
-
-
-<!-- ##### FUNCTION g_timeout_add_seconds ##### -->
-<para>
-
-</para>
-
-@interval:
-@function:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_timeout_add_seconds_full ##### -->
-<para>
-
-</para>
-
-@priority:
-@interval:
-@function:
-@data:
-@notify:
-@Returns:
-
-
-<!-- ##### FUNCTION g_idle_source_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_idle_add ##### -->
-<para>
-</para>
-
-@function:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_idle_add_full ##### -->
-<para>
-</para>
-
-@priority:
-@function:
-@data:
-@notify:
-@Returns:
-
-
-<!-- ##### FUNCTION g_idle_remove_by_data ##### -->
-<para>
-</para>
-
-@data:
-@Returns:
-
-
-<!-- ##### TYPEDEF GPid ##### -->
-<para>
-A type which is used to hold a process identification.
-On Unix, processes are identified by a process id (an
-integer), while Windows uses process handles (which are
-pointers).
-</para>
-
-
-<!-- ##### USER_FUNCTION GChildWatchFunc ##### -->
-<para>
-The type of functions to be called when a child exists.
-</para>
-
-@pid: the process id of the child process
-@status: Status information about the child process,
- see waitpid(2) for more information about this field
-@data: user data passed to g_child_watch_add()
-
-
-<!-- ##### FUNCTION g_child_watch_source_new ##### -->
-<para>
-
-</para>
-
-@pid:
-@Returns:
-
-
-<!-- ##### FUNCTION g_child_watch_add ##### -->
-<para>
-
-</para>
-
-@pid:
-@function:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_child_watch_add_full ##### -->
-<para>
-
-</para>
-
-@priority:
-@pid:
-@function:
-@data:
-@notify:
-@Returns:
-
-
-<!-- ##### STRUCT GPollFD ##### -->
-<para>
-
-<informaltable pgwide="1" frame="none" role="struct">
-<tgroup cols="2"><colspec colwidth="2*"/><colspec colwidth="8*"/>
-<tbody>
-
-<row>
-<entry>#gint fd;</entry>
-<entry>the file descriptor to poll (or a <type>HANDLE</type> on Win32 platforms).</entry>
-</row>
-
-<row>
-<entry>#gushort events;</entry>
-<entry>a bitwise combination of flags from #GIOCondition, specifying which
-events should be polled for. Typically for reading from a file descriptor
-you would use %G_IO_IN | %G_IO_HUP | %G_IO_ERR, and for writing you would use
-%G_IO_OUT | %G_IO_ERR.
-</entry>
-</row>
-
-<row>
-<entry>#gushort revents;</entry>
-<entry>a bitwise combination of flags from #GIOCondition, returned from the
-<function>poll()</function> function to indicate which events occurred.
-</entry>
-</row>
-</tbody></tgroup></informaltable>
-
-</para>
-
-@fd:
-@fd:
-@events:
-@revents:
-
-<!-- ##### FUNCTION g_poll ##### -->
-<para>
-
-</para>
-
-@fds:
-@nfds:
-@timeout:
-@Returns:
-
-
-<!-- ##### MACRO G_POLLFD_FORMAT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GSource ##### -->
-<para>
-The <structname>GSource</structname> struct is an opaque data type representing
-an event source.
-</para>
-
-
-<!-- ##### USER_FUNCTION GSourceDummyMarshal ##### -->
-<para>
-This is just a placeholder for #GClosureMarshal, which cannot be used here
-for dependency reasons.
-</para>
-
-
-
-<!-- ##### STRUCT GSourceFuncs ##### -->
-<para>
-The #GSourceFuncs struct contains a table of functions used to handle
-event sources in a generic manner.
-</para>
-<para>
-For idle sources, the prepare and check functions always return %TRUE to
-indicate that the source is always ready to be processed.
-The prepare function also returns a timeout value of 0 to ensure that the
-poll() call doesn't block (since that would be time
-wasted which could have been spent running the idle function).
-</para>
-<para>
-For timeout sources, the prepare and check functions both return %TRUE if the
-timeout interval has expired. The prepare function also returns a timeout
-value to ensure that the poll() call doesn't block too
-long and miss the next timeout.
-</para>
-<para>
-For file descriptor sources, the prepare function typically returns %FALSE,
-since it must wait until poll() has been called before
-it knows whether any events need to be processed. It sets the returned
-timeout to -1 to indicate that it doesn't mind how long the
-poll() call blocks.
-In the check function, it tests the results of the poll()
-call to see if the required condition has been met, and returns %TRUE if so.
-</para>
-
-@prepare: Called before all the file descriptors are polled.
-If the source can determine that it is ready here (without waiting for the
-results of the poll() call) it should return %TRUE.
-It can also return a @timeout_ value which should be the maximum timeout
-(in milliseconds) which should be passed to the poll() call.
-The actual timeout used will be -1 if all sources returned -1, or it will
-be the minimum of all the @timeout_ values returned which were >= 0.
-@check: Called after all the file descriptors are polled.
-The source should return %TRUE if it is ready to be dispatched.
-Note that some time may have passed since the previous prepare function was
-called, so the source should be checked again here.
-@dispatch: Called to dispatch the event source, after it has returned %TRUE in
-either its @prepare or its @check function. The @dispatch function is
-passed in a callback function and data. The callback function may be
-%NULL if the source was never connected to a callback using
-g_source_set_callback(). The @dispatch function should call the
-callback function with @user_data and whatever additional parameters are
-needed for this type of event source.
-@finalize: Called when the source is finalized.
-@closure_callback:
-@closure_marshal:
-
-<!-- ##### STRUCT GSourceCallbackFuncs ##### -->
-<para>
-The <structname>GSourceCallbackFuncs</structname> struct contains
-functions for managing callback objects.
-</para>
-
-@ref: Called when a reference is added to the callback object.
-@unref: Called when a reference to the callback object is dropped.
-@get: Called to extract the callback function and data from the callback object.
-
-<!-- ##### FUNCTION g_source_new ##### -->
-<para>
-
-</para>
-
-@source_funcs:
-@struct_size:
-@Returns:
-
-
-<!-- ##### FUNCTION g_source_ref ##### -->
-<para>
-
-</para>
-
-@source:
-@Returns:
-
-
-<!-- ##### FUNCTION g_source_unref ##### -->
-<para>
-
-</para>
-
-@source:
-
-
-<!-- ##### FUNCTION g_source_set_funcs ##### -->
-<para>
-
-</para>
-
-@source:
-@funcs:
-
-
-<!-- ##### FUNCTION g_source_attach ##### -->
-<para>
-
-</para>
-
-@source:
-@context:
-@Returns:
-
-
-<!-- ##### FUNCTION g_source_destroy ##### -->
-<para>
-
-</para>
-
-@source:
-
-
-<!-- ##### FUNCTION g_source_is_destroyed ##### -->
-<para>
-
-</para>
-
-@source:
-@Returns:
-
-
-<!-- ##### FUNCTION g_source_set_priority ##### -->
-<para>
-
-</para>
-
-@source:
-@priority:
-
-
-<!-- ##### FUNCTION g_source_get_priority ##### -->
-<para>
-
-</para>
-
-@source:
-@Returns:
-
-
-<!-- ##### FUNCTION g_source_set_can_recurse ##### -->
-<para>
-
-</para>
-
-@source:
-@can_recurse:
-
-
-<!-- ##### FUNCTION g_source_get_can_recurse ##### -->
-<para>
-
-</para>
-
-@source:
-@Returns:
-
-
-<!-- ##### FUNCTION g_source_get_id ##### -->
-<para>
-
-</para>
-
-@source:
-@Returns:
-
-
-<!-- ##### FUNCTION g_source_get_context ##### -->
-<para>
-
-</para>
-
-@source:
-@Returns:
-
-
-<!-- ##### FUNCTION g_source_set_callback ##### -->
-<para>
-
-</para>
-
-@source:
-@func:
-@data:
-@notify:
-
-
-<!-- ##### USER_FUNCTION GSourceFunc ##### -->
-<para>
-Specifies the type of function passed to g_timeout_add(), g_timeout_add_full(),
-g_idle_add(), and g_idle_add_full().
-</para>
-
-@data: data passed to the function, set when the source was created with one
-of the above functions.
-@Returns: it should return %FALSE if the source should be removed.
-
-
-<!-- ##### FUNCTION g_source_set_callback_indirect ##### -->
-<para>
-
-</para>
-
-@source:
-@callback_data:
-@callback_funcs:
-
-
-<!-- ##### FUNCTION g_source_add_poll ##### -->
-<para>
-
-</para>
-
-@source:
-@fd:
-
-
-<!-- ##### FUNCTION g_source_remove_poll ##### -->
-<para>
-
-</para>
-
-@source:
-@fd:
-
-
-<!-- ##### FUNCTION g_source_get_current_time ##### -->
-<para>
-
-</para>
-
-@source:
-@timeval:
-
-
-<!-- ##### FUNCTION g_source_remove ##### -->
-<para>
-</para>
-
-@tag:
-@Returns:
-
-
-<!-- ##### FUNCTION g_source_remove_by_funcs_user_data ##### -->
-<para>
-</para>
-
-@funcs:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_source_remove_by_user_data ##### -->
-<para>
-</para>
-
-@user_data:
-@Returns:
-
-<!--
-Local variables:
-mode: sgml
-sgml-parent-document: ("../glib-docs.sgml" "book" "refsect2" "")
-End:
--->
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Simple XML Subset Parser
-
-<!-- ##### SECTION Short_Description ##### -->
-parses a subset of XML
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The "GMarkup" parser is intended to parse a simple markup format
-that's a subset of XML. This is a small, efficient, easy-to-use
-parser. It should not be used if you expect to interoperate with other
-applications generating full-scale XML. However, it's very useful for
-application data files, config files, etc. where you know your
-application will be the only one writing the file. Full-scale XML
-parsers should be able to parse the subset used by GMarkup, so you can
-easily migrate to full-scale XML at a later time if the need arises.
-</para>
-
-<para>
-GMarkup is not guaranteed to signal an error on all invalid XML; the
-parser may accept documents that an XML parser would not. However, XML
-documents which are not well-formed<footnote id="wellformed">Being wellformed
-is a weaker condition than being valid. See the
-<ulink url="http://www.w3.org/TR/REC-xml/">XML specification</ulink> for
-definitions of these terms.</footnote> are not considered valid GMarkup
-documents.
-</para>
-
-<para>
-Simplifications to XML include:
-<itemizedlist>
-<listitem>
-<para>
-Only UTF-8 encoding is allowed.
-</para>
-</listitem>
-<listitem>
-<para>
-No user-defined entities.
-</para>
-</listitem>
-<listitem>
-<para>
-Processing instructions, comments and the doctype declaration are "passed
-through" but are not interpreted in any way.
-</para>
-</listitem>
-<listitem>
-<para>
-No DTD or validation.
-</para>
-</listitem>
-</itemizedlist>
-</para>
-
-<para>
-The markup format does support:
-<itemizedlist>
-<listitem>
-<para>
-Elements
-</para>
-</listitem>
-<listitem>
-<para>
-Attributes
-</para>
-</listitem>
-<listitem>
-<para>
-5 standard entities: <literal>&amp; &lt; &gt; &quot; &apos;</literal>
-</para>
-</listitem>
-<listitem>
-<para>
-Character references
-</para>
-</listitem>
-<listitem>
-<para>
-Sections marked as CDATA
-</para>
-</listitem>
-</itemizedlist>
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### ENUM GMarkupError ##### -->
-<para>
-Error codes returned by markup parsing.
-</para>
-
-@G_MARKUP_ERROR_BAD_UTF8: text being parsed was not valid UTF-8
-@G_MARKUP_ERROR_EMPTY: document contained nothing, or only whitespace
-@G_MARKUP_ERROR_PARSE: document was ill-formed
-@G_MARKUP_ERROR_UNKNOWN_ELEMENT: error should be set by #GMarkupParser functions; element wasn't known
-@G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE: error should be set by #GMarkupParser functions; attribute wasn't known
-@G_MARKUP_ERROR_INVALID_CONTENT: error should be set by #GMarkupParser functions; content was invalid
-@G_MARKUP_ERROR_MISSING_ATTRIBUTE: error should be set by #GMarkupParser functions; a required attribute was missing
-
-<!-- ##### MACRO G_MARKUP_ERROR ##### -->
-<para>
-Error domain for markup parsing. Errors in this domain will
-be from the #GMarkupError enumeration. See #GError for information on
-error domains.
-</para>
-
-
-
-<!-- ##### ENUM GMarkupParseFlags ##### -->
-<para>
-Flags that affect the behaviour of the parser.
-</para>
-
-@G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG: flag you should not use.
-@G_MARKUP_TREAT_CDATA_AS_TEXT: When this flag is set, CDATA marked
- sections are not passed literally to the @passthrough function of
- the parser. Instead, the content of the section (without the
- <literal><![CDATA[</literal> and <literal>]]></literal>) is
- passed to the @text function. This flag was added in GLib 2.12.
-@G_MARKUP_PREFIX_ERROR_POSITION: Normally errors caught by GMarkup
- itself have line/column information prefixed to them to let the
- caller know the location of the error. When this flag is set the
- location information is also prefixed to errors generated by the
- #GMarkupParser implementation functions.
-
-<!-- ##### STRUCT GMarkupParseContext ##### -->
-<para>
-A parse context is used to parse a stream of bytes that you expect to
-contain marked-up text. See g_markup_parse_context_new(),
-#GMarkupParser, and so on for more details.
-</para>
-
-
-<!-- ##### STRUCT GMarkupParser ##### -->
-<para>
-Any of the fields in #GMarkupParser can be %NULL, in which case they
-will be ignored. Except for the @error function, any of these
-callbacks can set an error; in particular the
-%G_MARKUP_ERROR_UNKNOWN_ELEMENT, %G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE,
-and %G_MARKUP_ERROR_INVALID_CONTENT errors are intended to be set
-from these callbacks. If you set an error from a callback,
-g_markup_parse_context_parse() will report that error back to its caller.
-</para>
-
-@start_element: Callback to invoke when the opening tag of an element
- is seen.
-@end_element: Callback to invoke when the closing tag of an element is seen.
- Note that this is also called for empty tags like
- <literal><empty/></literal>.
-@text: Callback to invoke when some text is seen (text is always
- inside an element). Note that the text of an element may be spread
- over multiple calls of this function. If the %G_MARKUP_TREAT_CDATA_AS_TEXT
- flag is set, this function is also called for the content of CDATA marked
- sections.
-@passthrough: Callback to invoke for comments, processing instructions
- and doctype declarations; if you're re-writing the parsed document,
- write the passthrough text back out in the same position. If the
- %G_MARKUP_TREAT_CDATA_AS_TEXT flag is not set, this function is also
- called for CDATA marked sections.
-@error: Callback to invoke when an error occurs.
-
-<!-- ##### FUNCTION g_markup_escape_text ##### -->
-<para>
-
-</para>
-
-@text:
-@length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_markup_printf_escaped ##### -->
-<para>
-
-</para>
-
-@format:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_markup_vprintf_escaped ##### -->
-<para>
-
-</para>
-
-@format:
-@args:
-@Returns:
-
-
-<!-- ##### FUNCTION g_markup_parse_context_end_parse ##### -->
-<para>
-
-</para>
-
-@context:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_markup_parse_context_free ##### -->
-<para>
-
-</para>
-
-@context:
-
-
-<!-- ##### FUNCTION g_markup_parse_context_get_position ##### -->
-<para>
-
-</para>
-
-@context:
-@line_number:
-@char_number:
-
-
-<!-- ##### FUNCTION g_markup_parse_context_get_element ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### FUNCTION g_markup_parse_context_get_element_stack ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### FUNCTION g_markup_parse_context_get_user_data ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### FUNCTION g_markup_parse_context_new ##### -->
-<para>
-
-</para>
-
-@parser:
-@flags:
-@user_data:
-@user_data_dnotify:
-@Returns:
-
-
-<!-- ##### FUNCTION g_markup_parse_context_parse ##### -->
-<para>
-
-</para>
-
-@context:
-@text:
-@text_len:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_markup_parse_context_push ##### -->
-<para>
-
-</para>
-
-@context:
-@parser:
-@user_data:
-
-
-<!-- ##### FUNCTION g_markup_parse_context_pop ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### ENUM GMarkupCollectType ##### -->
-<para>
-
-</para>
-
-@G_MARKUP_COLLECT_INVALID:
-@G_MARKUP_COLLECT_STRING:
-@G_MARKUP_COLLECT_STRDUP:
-@G_MARKUP_COLLECT_BOOLEAN:
-@G_MARKUP_COLLECT_TRISTATE:
-@G_MARKUP_COLLECT_OPTIONAL:
-
-<!-- ##### FUNCTION g_markup_collect_attributes ##### -->
-<para>
-
-</para>
-
-@element_name:
-@attribute_names:
-@attribute_values:
-@error:
-@first_type:
-@first_attr:
-@Varargs:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Memory Allocation
-
-<!-- ##### SECTION Short_Description ##### -->
-general memory-handling
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-These functions provide support for allocating and freeing memory.
-</para>
-
-<note>
-<para>
-If any call to allocate memory fails, the application is terminated.
-This also means that there is no need to check if the call succeeded.
-</para>
-</note>
-
-<note>
-<para>
-It's important to match g_malloc() with g_free(), plain malloc() with free(),
-and (if you're using C++) new with delete and new[] with delete[]. Otherwise
-bad things can happen, since these allocators may use different memory
-pools (and new/delete call constructors and destructors). See also
-g_mem_set_vtable().
-</para>
-</note>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO g_new ##### -->
-<para>
-Allocates @n_structs elements of type @struct_type.
-The returned pointer is cast to a pointer to the given type.
-If @n_structs is 0 it returns %NULL.
-Care is taken to avoid overflow when calculating the size of the allocated block.
-</para>
-<para>
-Since the returned pointer is already casted to the right type,
-it is normally unnecessary to cast it explicitly, and doing
-so might hide memory allocation errors.
-</para>
-
-@struct_type: the type of the elements to allocate
-@n_structs: the number of elements to allocate
-@Returns: a pointer to the allocated memory, cast to a pointer to @struct_type
-
-
-<!-- ##### MACRO g_new0 ##### -->
-<para>
-Allocates @n_structs elements of type @struct_type, initialized to 0's.
-The returned pointer is cast to a pointer to the given type.
-If @n_structs is 0 it returns %NULL.
-Care is taken to avoid overflow when calculating the size of the allocated block.
-</para>
-<para>
-Since the returned pointer is already casted to the right type,
-it is normally unnecessary to cast it explicitly, and doing
-so might hide memory allocation errors.
-</para>
-
-@struct_type: the type of the elements to allocate.
-@n_structs: the number of elements to allocate.
-@Returns: a pointer to the allocated memory, cast to a pointer to @struct_type.
-
-
-<!-- ##### MACRO g_renew ##### -->
-<para>
-Reallocates the memory pointed to by @mem, so that it now has space for
-@n_structs elements of type @struct_type. It returns the new address of
-the memory, which may have been moved.
-Care is taken to avoid overflow when calculating the size of the allocated block.
-</para>
-
-@struct_type: the type of the elements to allocate
-@mem: the currently allocated memory
-@n_structs: the number of elements to allocate
-@Returns: a pointer to the new allocated memory, cast to a pointer to @struct_type
-
-
-<!-- ##### MACRO g_try_new ##### -->
-<para>
-Attempts to allocate @n_structs elements of type @struct_type, and returns
-%NULL on failure. Contrast with g_new(), which aborts the program on failure.
-The returned pointer is cast to a pointer to the given type.
-The function returns %NULL when @n_structs is 0 of if an overflow occurs.
-</para>
-
-@struct_type: the type of the elements to allocate
-@n_structs: the number of elements to allocate
-@Returns: a pointer to the allocated memory, cast to a pointer to @struct_type
-@Since: 2.8
-
-
-<!-- ##### MACRO g_try_new0 ##### -->
-<para>
-Attempts to allocate @n_structs elements of type @struct_type, initialized
-to 0's, and returns %NULL on failure. Contrast with g_new0(), which aborts
-the program on failure.
-The returned pointer is cast to a pointer to the given type.
-The function returns %NULL when @n_structs is 0 of if an overflow occurs.
-</para>
-
-@struct_type: the type of the elements to allocate
-@n_structs: the number of elements to allocate
-@Returns: a pointer to the allocated memory, cast to a pointer to @struct_type
-@Since: 2.8
-
-
-<!-- ##### MACRO g_try_renew ##### -->
-<para>
-Attempts to reallocate the memory pointed to by @mem, so that it now has
-space for @n_structs elements of type @struct_type, and returns %NULL on
-failure. Contrast with g_renew(), which aborts the program on failure.
-It returns the new address of the memory, which may have been moved.
-The function returns %NULL if an overflow occurs.
-</para>
-
-@struct_type: the type of the elements to allocate
-@mem: the currently allocated memory
-@n_structs: the number of elements to allocate
-@Returns: a pointer to the new allocated memory, cast to a pointer to @struct_type
-@Since: 2.8
-
-
-<!-- ##### FUNCTION g_malloc ##### -->
-<para>
-Allocates @n_bytes bytes of memory.
-If @n_bytes is 0 it returns %NULL.
-</para>
-
-@n_bytes: the number of bytes to allocate
-@Returns: a pointer to the allocated memory
-
-
-<!-- ##### FUNCTION g_malloc0 ##### -->
-<para>
-Allocates @n_bytes bytes of memory, initialized to 0's.
-If @n_bytes is 0 it returns %NULL.
-</para>
-
-@n_bytes: the number of bytes to allocate
-@Returns: a pointer to the allocated memory
-
-
-<!-- ##### FUNCTION g_realloc ##### -->
-<para>
-Reallocates the memory pointed to by @mem, so that it now has space for
-@n_bytes bytes of memory. It returns the new address of the memory, which may
-have been moved. @mem may be %NULL, in which case it's considered to
-have zero-length. @n_bytes may be 0, in which case %NULL will be returned
-and @mem will be freed unless it is %NULL.
-</para>
-
-@mem: the memory to reallocate
-@n_bytes: new size of the memory in bytes
-@Returns: the new address of the allocated memory
-
-
-<!-- ##### FUNCTION g_try_malloc ##### -->
-<para>
-Attempts to allocate @n_bytes, and returns %NULL on failure.
-Contrast with g_malloc(), which aborts the program on failure.
-</para>
-
-@n_bytes: number of bytes to allocate.
-@Returns: the allocated memory, or %NULL.
-
-
-<!-- ##### FUNCTION g_try_malloc0 ##### -->
-<para>
-Attempts to allocate @n_bytes, initialized to 0's, and returns %NULL on
-failure. Contrast with g_malloc0(), which aborts the program on failure.
-</para>
-
-@n_bytes: number of bytes to allocate
-@Returns: the allocated memory, or %NULL
-@Since: 2.8
-
-
-<!-- ##### FUNCTION g_try_realloc ##### -->
-<para>
-Attempts to realloc @mem to a new size, @n_bytes, and returns %NULL
-on failure. Contrast with g_realloc(), which aborts the program
-on failure. If @mem is %NULL, behaves the same as g_try_malloc().
-</para>
-
-@mem: previously-allocated memory, or %NULL.
-@n_bytes: number of bytes to allocate.
-@Returns: the allocated memory, or %NULL.
-
-
-<!-- ##### FUNCTION g_malloc_n ##### -->
-<para>
-This function is similar to g_malloc(), allocating (@n_blocks * @n_block_bytes) bytes,
-but care is taken to detect possible overflow during multiplication.
-</para>
-
-@n_blocks: the number of blocks to allocate
-@n_block_bytes: the size of each block in bytes
-@Returns: a pointer to the allocated memory
-@Since: 2.24
-
-
-<!-- ##### FUNCTION g_malloc0_n ##### -->
-<para>
-This function is similar to g_malloc0(), allocating (@n_blocks * @n_block_bytes) bytes,
-but care is taken to detect possible overflow during multiplication.
-</para>
-
-@n_blocks: the number of blocks to allocate
-@n_block_bytes: the size of each block in bytes
-@Returns: a pointer to the allocated memory
-@Since: 2.24
-
-
-<!-- ##### FUNCTION g_realloc_n ##### -->
-<para>
-This function is similar to g_realloc(), allocating (@n_blocks * @n_block_bytes) bytes,
-but care is taken to detect possible overflow during multiplication.
-</para>
-
-@mem: the memory to reallocate
-@n_blocks: the number of blocks to allocate
-@n_block_bytes: the size of each block in bytes
-@Returns: the new address of the allocated memory
-@Since: 2.24
-
-
-<!-- ##### FUNCTION g_try_malloc_n ##### -->
-<para>
-This function is similar to g_try_malloc(), allocating (@n_blocks * @n_block_bytes) bytes,
-but care is taken to detect possible overflow during multiplication.
-</para>
-
-@n_blocks: the number of blocks to allocate
-@n_block_bytes: the size of each block in bytes
-@Returns: the allocated memory, or %NULL.
-@Since: 2.24
-
-
-<!-- ##### FUNCTION g_try_malloc0_n ##### -->
-<para>
-This function is similar to g_try_malloc0(), allocating (@n_blocks * @n_block_bytes) bytes,
-but care is taken to detect possible overflow during multiplication.
-</para>
-
-@n_blocks: the number of blocks to allocate
-@n_block_bytes: the size of each block in bytes
-@Returns: the allocated memory, or %NULL
-@Since: 2.24
-
-
-<!-- ##### FUNCTION g_try_realloc_n ##### -->
-<para>
-This function is similar to g_try_realloc(), allocating (@n_blocks * @n_block_bytes) bytes,
-but care is taken to detect possible overflow during multiplication.
-</para>
-
-@mem: previously-allocated memory, or %NULL.
-@n_blocks: the number of blocks to allocate
-@n_block_bytes: the size of each block in bytes
-@Returns: the allocated memory, or %NULL.
-@Since: 2.24
-
-
-<!-- ##### FUNCTION g_free ##### -->
-<para>
-Frees the memory pointed to by @mem.
-If @mem is %NULL it simply returns.
-</para>
-
-@mem: the memory to free
-
-
-<!-- ##### VARIABLE g_mem_gc_friendly ##### -->
-<para>
-This variable is %TRUE if the <envar>G_DEBUG</envar> environment variable
-includes the key <link linkend="G_DEBUG">gc-friendly</link>.
-</para>
-
-
-<!-- ##### MACRO g_alloca ##### -->
-<para>
-Allocates @size bytes on the stack; these bytes will be freed when the current
-stack frame is cleaned up. This macro essentially just wraps the alloca()
-function present on most UNIX variants.
-Thus it provides the same advantages and pitfalls as alloca():
-<variablelist>
- <varlistentry><term></term><listitem><para>
- + alloca() is very fast, as on most systems it's implemented by just adjusting
- the stack pointer register.
- </para></listitem></varlistentry>
- <varlistentry><term></term><listitem><para>
- + It doesn't cause any memory fragmentation, within its scope, separate alloca()
- blocks just build up and are released together at function end.
- </para></listitem></varlistentry>
- <varlistentry><term></term><listitem><para>
- - Allocation sizes have to fit into the current stack frame. For instance in a
- threaded environment on Linux, the per-thread stack size is limited to 2 Megabytes,
- so be sparse with alloca() uses.
- </para></listitem></varlistentry>
- <varlistentry><term></term><listitem><para>
- - Allocation failure due to insufficient stack space is not indicated with a %NULL
- return like e.g. with malloc(). Instead, most systems probably handle it the same
- way as out of stack space situations from infinite function recursion, i.e.
- with a segmentation fault.
- </para></listitem></varlistentry>
- <varlistentry><term></term><listitem><para>
- - Special care has to be taken when mixing alloca() with GNU C variable sized arrays.
- Stack space allocated with alloca() in the same scope as a variable sized array
- will be freed together with the variable sized array upon exit of that scope, and
- not upon exit of the enclosing function scope.
- </para></listitem></varlistentry>
-</variablelist>
-
-</para>
-
-@size: number of bytes to allocate.
-@Returns: space for @size bytes, allocated on the stack
-
-
-<!-- ##### MACRO g_newa ##### -->
-<para>
-Wraps g_alloca() in a more typesafe manner.
-</para>
-
-@struct_type: Type of memory chunks to be allocated
-@n_structs: Number of chunks to be allocated
-@Returns: Pointer to stack space for @n_structs chunks of type @struct_type
-
-
-<!-- ##### MACRO g_memmove ##### -->
-<para>
-
-</para>
-
-@dest:
-@src:
-@len:
-
-
-<!-- ##### FUNCTION g_memdup ##### -->
-<para>
-Allocates @byte_size bytes of memory, and copies @byte_size bytes into it
-from @mem. If @mem is %NULL it returns %NULL.
-</para>
-
-@mem: the memory to copy.
-@byte_size: the number of bytes to copy.
-@Returns: a pointer to the newly-allocated copy of the memory, or %NULL if @mem
-is %NULL.
-
-
-<!-- ##### STRUCT GMemVTable ##### -->
-<para>
-A set of functions used to perform memory allocation. The same #GMemVTable must
-be used for all allocations in the same program; a call to g_mem_set_vtable(),
-if it exists, should be prior to any use of GLib.
-</para>
-
-@malloc: function to use for allocating memory.
-@realloc: function to use for reallocating memory.
-@free: function to use to free memory.
-@calloc: function to use for allocating zero-filled memory.
-@try_malloc: function to use for allocating memory without a default error handler.
-@try_realloc: function to use for reallocating memory without a default error handler.
-
-<!-- ##### FUNCTION g_mem_set_vtable ##### -->
-<para>
-Sets the #GMemVTable to use for memory allocation. You can use this to provide
-custom memory allocation routines. <emphasis>This function must be called
-before using any other GLib functions.</emphasis> The @vtable only needs to
-provide malloc(), realloc(), and free() functions; GLib can provide default
-implementations of the others. The malloc() and realloc() implementations
-should return %NULL on failure, GLib will handle error-checking for you.
-@vtable is copied, so need not persist after this function has been called.
-</para>
-
-@vtable: table of memory allocation routines.
-
-
-<!-- ##### FUNCTION g_mem_is_system_malloc ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### VARIABLE glib_mem_profiler_table ##### -->
-<para>
-A #GMemVTable containing profiling variants of the memory
-allocation functions. Use them together with g_mem_profile()
-in order to get information about the memory allocation pattern
-of your program.
-</para>
-
-
-<!-- ##### FUNCTION g_mem_profile ##### -->
-<para>
-Outputs a summary of memory usage.
-</para>
-<para>
-It outputs the frequency of allocations of different sizes,
-the total number of bytes which have been allocated,
-the total number of bytes which have been freed,
-and the difference between the previous two values, i.e. the number of bytes
-still in use.
-</para>
-<para>
-Note that this function will not output anything unless you have
-previously installed the #glib_mem_profiler_table with g_mem_set_vtable().
-</para>
-
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Memory Chunks
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GMemChunk ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_ALLOC_AND_FREE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_ALLOC_ONLY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_mem_chunk_new ##### -->
-<para>
-
-</para>
-
-@name:
-@atom_size:
-@area_size:
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mem_chunk_alloc ##### -->
-<para>
-
-</para>
-
-@mem_chunk:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mem_chunk_alloc0 ##### -->
-<para>
-
-</para>
-
-@mem_chunk:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mem_chunk_free ##### -->
-<para>
-
-</para>
-
-@mem_chunk:
-@mem:
-
-
-<!-- ##### FUNCTION g_mem_chunk_destroy ##### -->
-<para>
-
-</para>
-
-@mem_chunk:
-
-
-<!-- ##### MACRO g_mem_chunk_create ##### -->
-<para>
-
-</para>
-
-@type:
-@pre_alloc:
-@alloc_type:
-
-
-<!-- ##### MACRO g_chunk_new ##### -->
-<para>
-
-</para>
-
-@type:
-@chunk:
-
-
-<!-- ##### MACRO g_chunk_new0 ##### -->
-<para>
-
-</para>
-
-@type:
-@chunk:
-
-
-<!-- ##### MACRO g_chunk_free ##### -->
-<para>
-
-</para>
-
-@mem:
-@mem_chunk:
-
-
-<!-- ##### FUNCTION g_mem_chunk_reset ##### -->
-<para>
-
-</para>
-
-@mem_chunk:
-
-
-<!-- ##### FUNCTION g_mem_chunk_clean ##### -->
-<para>
-
-</para>
-
-@mem_chunk:
-
-
-<!-- ##### FUNCTION g_blow_chunks ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_mem_chunk_info ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_mem_chunk_print ##### -->
-<para>
-
-</para>
-
-@mem_chunk:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Memory Slices
-
-<!-- ##### SECTION Short_Description ##### -->
-efficient way to allocate groups of equal-sized chunks of memory
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-Memory slices provide a space-efficient and multi-processing scalable
-way to allocate equal-sized pieces of memory, just like the original
-#GMemChunks (from GLib <= 2.8), while avoiding their excessive
-memory-waste, scalability and performance problems.
-</para>
-
-<para>
-To achieve these goals, the slice allocator uses a sophisticated,
-layered design that has been inspired by Bonwick's slab allocator
-<footnote><para>
-<ulink url="http://citeseer.ist.psu.edu/bonwick94slab.html">[Bonwick94]</ulink> Jeff Bonwick, The slab allocator: An object-caching kernel
-memory allocator. USENIX 1994, and
-<ulink url="http://citeseer.ist.psu.edu/bonwick01magazines.html">[Bonwick01]</ulink> Bonwick and Jonathan Adams, Magazines and vmem: Extending the
-slab allocator to many cpu's and arbitrary resources. USENIX 2001
-</para></footnote>.
-It uses posix_memalign() to optimize allocations of many equally-sized
-chunks, and has per-thread free lists (the so-called magazine layer)
-to quickly satisfy allocation requests of already known structure sizes.
-This is accompanied by extra caching logic to keep freed memory around
-for some time before returning it to the system. Memory that is unused
-due to alignment constraints is used for cache colorization (random
-distribution of chunk addresses) to improve CPU cache utilization. The
-caching layer of the slice allocator adapts itself to high lock contention
-to improve scalability.
-</para>
-
-<para>
-The slice allocator can allocate blocks as small as two pointers, and
-unlike malloc(), it does not reserve extra space per block. For large block
-sizes, g_slice_new() and g_slice_alloc() will automatically delegate to the
-system malloc() implementation. For newly written code it is recommended
-to use the new <literal>g_slice</literal> API instead of g_malloc() and
-friends, as long as objects are not resized during their lifetime and the
-object size used at allocation time is still available when freeing.
-</para>
-
-<example>
-<title>Using the slice allocator</title>
-<programlisting>
- gchar *mem[10000];
- gint i;
-
- /* Allocate 10000 blocks. */
- for (i = 0; i < 10000; i++)
- {
- mem[i] = g_slice_alloc (50);
-
- /* Fill in the memory with some junk. */
- for (j = 0; j < 50; j++)
- mem[i][j] = i * j;
- }
-
- /* Now free all of the blocks. */
- for (i = 0; i < 10000; i++)
- {
- g_slice_free1 (50, mem[i]);
- }
-</programlisting></example>
-
-<example>
-<title>Using the slice allocator with data structures</title>
-<programlisting>
- GRealArray *array;
-
- /* Allocate one block, using the g_slice_new(<!-- -->) macro. */
- array = g_slice_new (GRealArray);
-
- /* We can now use array just like a normal pointer to a structure. */
- array->data = NULL;
- array->len = 0;
- array->alloc = 0;
- array->zero_terminated = (zero_terminated ? 1 : 0);
- array->clear = (clear ? 1 : 0);
- array->elt_size = elt_size;
-
- /* We can free the block, so it can be reused. */
- g_slice_free (GRealArray, array);
-</programlisting></example>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### FUNCTION g_slice_alloc ##### -->
-<para>
-Allocates a block of memory from the slice allocator.
-The block adress handed out can be expected to be aligned
-to at least <literal>1 * sizeof (void*)</literal>,
-though in general slices are 2 * sizeof (void*) bytes aligned,
-if a malloc() fallback implementation is used instead,
-the alignment may be reduced in a libc dependent fashion.
-Note that the underlying slice allocation mechanism can
-be changed with the <link linkend="G_SLICE">G_SLICE=always-malloc</link>
-environment variable.
-</para>
-
-@block_size: the number of bytes to allocate
-@Returns: a pointer to the allocated memory block
-@Since: 2.10
-
-
-<!-- ##### FUNCTION g_slice_alloc0 ##### -->
-<para>
-Allocates a block of memory via g_slice_alloc()
-and initialize the returned memory to 0.
-Note that the underlying slice allocation mechanism can
-be changed with the <link linkend="G_SLICE">G_SLICE=always-malloc</link>
-environment variable.
-</para>
-
-@block_size: the number of bytes to allocate
-@Returns: a pointer to the allocated block
-@Since: 2.10
-
-
-<!-- ##### FUNCTION g_slice_copy ##### -->
-<para>
-Allocates a block of memory from the slice allocator and copies
-@block_size bytes into it from @mem_block.
-</para>
-
-@block_size: the number of bytes to allocate
-@mem_block: the memory to copy
-@Returns: a pointer to the allocated memory block
-@Since: 2.14
-
-
-<!-- ##### FUNCTION g_slice_free1 ##### -->
-<para>
-Frees a block of memory. The memory must have been allocated via
-g_slice_alloc() or g_slice_alloc0()
-and the @block_size has to match the size specified upon allocation.
-Note that the exact release behaviour can be changed with the
-<link linkend="G_DEBUG">G_DEBUG=gc-friendly</link> environment variable,
-also see <link linkend="G_SLICE">G_SLICE</link> for related debugging options.
-</para>
-
-@block_size: the size of the block
-@mem_block: a pointer to the block to free
-@Since: 2.10
-
-
-<!-- ##### FUNCTION g_slice_free_chain_with_offset ##### -->
-<para>
-Frees a linked list of memory blocks of structure type @type.
-The memory blocks must be equal-sized, allocated via
-g_slice_alloc() or g_slice_alloc0()
-and linked together by a @next pointer (similar to #GSList). The offset
-of the @next field in each block is passed as third argument.
-Note that the exact release behaviour can be changed with the
-<link linkend="G_DEBUG">G_DEBUG=gc-friendly</link> environment variable,
-also see <link linkend="G_SLICE">G_SLICE</link> for related debugging options.
-</para>
-
-@block_size: the size of the blocks
-@mem_chain: a pointer to the first block of the chain
-@next_offset: the offset of the @next field in the blocks
-@Since: 2.10
-
-
-<!-- ##### MACRO g_slice_new ##### -->
-<para>
-A convenience macro to allocate a block of memory from the slice allocator.
-It calls g_slice_alloc() with <literal>sizeof (@type)</literal> and casts
-the returned pointer to a pointer of the given type, avoiding a type cast
-in the source code.
-Note that the underlying slice allocation mechanism can
-be changed with the <link linkend="G_SLICE">G_SLICE=always-malloc</link>
-environment variable.
-</para>
-
-@type: the type to allocate, typically a structure name
-@Returns: a pointer to the allocated block, cast to a pointer to @type.
-@Since: 2.10
-
-
-<!-- ##### MACRO g_slice_new0 ##### -->
-<para>
-A convenience macro to allocate a block of memory from the slice allocator
-and set the memory to 0. It calls g_slice_alloc0() with
-<literal>sizeof (@type)</literal> and casts the returned pointer to a pointer
-of the given type, avoiding a type cast in the source code.
-Note that the underlying slice allocation mechanism can
-be changed with the <link linkend="G_SLICE">G_SLICE=always-malloc</link>
-environment variable.
-</para>
-
-@type: the type to allocate, typically a structure name
-@Returns: a pointer to the allocated block, cast to a pointer to @type.
-@Since: 2.10
-
-
-<!-- ##### MACRO g_slice_dup ##### -->
-<para>
-A convenience macro to duplicate a block of memory using the slice allocator.
-It calls g_slice_copy() with <literal>sizeof (@type)</literal> and casts
-the returned pointer to a pointer of the given type, avoiding a type cast
-in the source code.
-Note that the underlying slice allocation mechanism can
-be changed with the <link linkend="G_SLICE">G_SLICE=always-malloc</link>
-environment variable.
-</para>
-
-@type: the type to duplicate, typically a structure name
-@mem: the memory to copy into the allocated block
-@Returns: a pointer to the allocated block, cast to a pointer to @type.
-@Since: 2.14
-
-
-<!-- ##### MACRO g_slice_free ##### -->
-<para>
-A convenience macro to free a block of memory that has been allocated
-from the slice allocator. It calls g_slice_free1() using
-<literal>sizeof (type)</literal> as the block size.
-Note that the exact release behaviour can be changed with the
-<link linkend="G_DEBUG">G_DEBUG=gc-friendly</link> environment variable,
-also see <link linkend="G_SLICE">G_SLICE</link> for related debugging options.
-</para>
-
-@type: the type of the block to free, typically a structure name
-@mem: a pointer to the block to free
-@Since: 2.10
-
-
-<!-- ##### MACRO g_slice_free_chain ##### -->
-<para>
-Frees a linked list of memory blocks of structure type @type.
-The memory blocks must be equal-sized, allocated via
-g_slice_alloc() or g_slice_alloc0() and linked together by a
-@next pointer (similar to #GSList). The name of the
-@next field in @type is passed as third argument.
-Note that the exact release behaviour can be changed with the
-<link linkend="G_DEBUG">G_DEBUG=gc-friendly</link> environment variable,
-also see <link linkend="G_SLICE">G_SLICE</link> for related debugging options.
-</para>
-
-@type: the type of the @mem_chain blocks
-@mem_chain: a pointer to the first block of the chain
-@next: the field name of the next pointer in @type
-@Since: 2.10
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Message Logging
-
-<!-- ##### SECTION Short_Description ##### -->
-versatile support for logging messages with different levels of importance
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-These functions provide support for logging error messages or messages
-used for debugging.
-</para>
-
-<para>
-There are several built-in levels of messages, defined in #GLogLevelFlags.
-These can be extended with user-defined levels.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_LOG_DOMAIN ##### -->
-<para>
-Defines the log domain.
-For applications, this is typically left as the default %NULL (or "") domain.
-Libraries should define this so that any messages which they log can
-be differentiated from messages from other libraries and application code.
-But be careful not to define it in any public header files.
-</para>
-<para>
-For example, GTK+ uses this in its Makefile.am:
-</para>
-<informalexample><programlisting>
-INCLUDES = -DG_LOG_DOMAIN=\"Gtk\"
-</programlisting></informalexample>
-
-
-
-<!-- ##### MACRO G_LOG_FATAL_MASK ##### -->
-<para>
-GLib log levels that are considered fatal by default.
-</para>
-
-
-
-<!-- ##### MACRO G_LOG_LEVEL_USER_SHIFT ##### -->
-<para>
-Log level shift offset for user defined log levels (0-7 are used by GLib).
-</para>
-
-
-
-<!-- ##### USER_FUNCTION GLogFunc ##### -->
-<para>
-Specifies the prototype of log handler functions.
-</para>
-
-@log_domain: the log domain of the message.
-@log_level: the log level of the message (including the fatal and recursion
-flags).
-@message: the message to process.
-@user_data: user data, set in g_log_set_handler().
-
-
-<!-- ##### ENUM GLogLevelFlags ##### -->
-<para>
-Flags specifying the level of log messages. It is possible to change
-how GLib treats messages of the various levels using g_log_set_handler()
-and g_log_set_fatal_mask().
-</para>
-
-@G_LOG_FLAG_RECURSION: internal flag
-@G_LOG_FLAG_FATAL: internal flag
-@G_LOG_LEVEL_ERROR: log level for errors, see g_error().
- This level is also used for messages produced by g_assert().
-@G_LOG_LEVEL_CRITICAL: log level for critical messages, see g_critical().
- This level is also used for messages produced by g_return_if_fail() and
- g_return_val_if_fail().
-@G_LOG_LEVEL_WARNING: log level for warnings, see g_warning()
-@G_LOG_LEVEL_MESSAGE: log level for messages, see g_message()
-@G_LOG_LEVEL_INFO: log level for informational messages
-@G_LOG_LEVEL_DEBUG: log level for debug messages, see g_debug()
-@G_LOG_LEVEL_MASK: a mask including all log levels.
-
-<!-- ##### FUNCTION g_log ##### -->
-<para>
-Logs an error or debugging message.
-If the log level has been set as fatal, the abort()
-function is called to terminate the program.
-</para>
-
-@log_domain: the log domain, usually #G_LOG_DOMAIN.
-@log_level: the log level, either from #GLogLevelFlags or a user-defined level.
-@format: the message format. See the printf()
-documentation.
-@Varargs: the parameters to insert into the format string.
-
-
-<!-- ##### FUNCTION g_logv ##### -->
-<para>
-Logs an error or debugging message.
-If the log level has been set as fatal, the abort()
-function is called to terminate the program.
-</para>
-
-@log_domain: the log domain.
-@log_level: the log level.
-@format: the message format. See the printf()
-documentation.
-@args: the parameters to insert into the format string.
-
-
-<!-- ##### MACRO g_message ##### -->
-<para>
-A convenience function/macro to log a normal message.
-</para>
-
-@...: format string, followed by parameters to insert into the format string (as with printf())
-
-
-<!-- ##### MACRO g_warning ##### -->
-<para>
-A convenience function/macro to log a warning message.
-</para>
-
-<para>
-You can make warnings fatal at runtime by setting the %G_DEBUG environment
-variable (see <ulink url="glib-running.html">Running GLib Applications</ulink>).
-</para>
-
-@...: format string, followed by parameters to insert into the format string (as with printf())
-
-
-<!-- ##### MACRO g_critical ##### -->
-<para>
-Logs a "critical warning" (#G_LOG_LEVEL_CRITICAL). It's more or less
-application-defined what constitutes a critical vs. a regular
-warning. You could call g_log_set_always_fatal() to make critical
-warnings exit the program, then use g_critical() for fatal errors, for
-example.
-</para>
-
-<para>
-You can also make critical warnings fatal at runtime by setting
-the %G_DEBUG environment variable (see
-<ulink url="glib-running.html">Running GLib Applications</ulink>).
-</para>
-
-@...: format string, followed by parameters to insert into the format string (as with printf())
-
-
-<!-- ##### MACRO g_error ##### -->
-<para>
-A convenience function/macro to log an error message.
-Error messages are always fatal, resulting in a call to
-abort() to terminate the application.
-This function will result in a core dump; don't use it for errors you
-expect. Using this function indicates a bug in your program, i.e. an
-assertion failure.
-</para>
-
-@...: format string, followed by parameters to insert into the format string (as with printf())
-
-
-<!-- ##### MACRO g_debug ##### -->
-<para>
-A convenience function/macro to log a debug message.
-</para>
-
-@...: format string, followed by parameters to insert into the format string (as with printf())
-@Since: 2.6
-
-
-<!-- ##### FUNCTION g_log_set_handler ##### -->
-<para>
-Sets the log handler for a domain and a set of log levels.
-To handle fatal and recursive messages the @log_levels parameter
-must be combined with the #G_LOG_FLAG_FATAL and #G_LOG_FLAG_RECURSION
-bit flags.
-</para>
-<para>
-Note that since the #G_LOG_LEVEL_ERROR log level is always fatal, if
-you want to set a handler for this log level you must combine it with
-#G_LOG_FLAG_FATAL.
-</para>
-
-<example>
-<title>Adding a log handler for all warning messages in the default
-(application) domain</title>
-<programlisting>
- g_log_set_handler (NULL, G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL
- | G_LOG_FLAG_RECURSION, my_log_handler, NULL);
-</programlisting>
-</example>
-
-<example>
-<title>Adding a log handler for all critical messages from GTK+</title>
-<programlisting>
- g_log_set_handler ("Gtk", G_LOG_LEVEL_CRITICAL | G_LOG_FLAG_FATAL
- | G_LOG_FLAG_RECURSION, my_log_handler, NULL);
-</programlisting>
-</example>
-
-<example>
-<title>Adding a log handler for <emphasis>all</emphasis> messages from
-GLib</title>
-<programlisting>
- g_log_set_handler ("GLib", G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL
- | G_LOG_FLAG_RECURSION, my_log_handler, NULL);
-</programlisting>
-</example>
-
-@log_domain: the log domain, or %NULL for the default "" application domain.
-@log_levels: the log levels to apply the log handler for. To handle fatal
-and recursive messages as well, combine the log levels with the
-#G_LOG_FLAG_FATAL and #G_LOG_FLAG_RECURSION bit flags.
-@log_func: the log handler function.
-@user_data: data passed to the log handler.
-@Returns: the id of the new handler.
-
-
-<!-- ##### FUNCTION g_log_remove_handler ##### -->
-<para>
-Removes the log handler.
-</para>
-
-@log_domain: the log domain.
-@handler_id: the id of the handler, which was returned in g_log_set_handler().
-
-
-<!-- ##### FUNCTION g_log_set_always_fatal ##### -->
-<para>
-Sets the message levels which are always fatal, in any log domain.
-When a message with any of these levels is logged the program terminates.
-You can only set the levels defined by GLib to be fatal.
-%G_LOG_LEVEL_ERROR is always fatal.
-</para>
-
-<para>
-You can also make some message levels
-fatal at runtime by setting the %G_DEBUG environment variable (see
-<ulink url="glib-running.html">Running GLib Applications</ulink>).
-</para>
-
-@fatal_mask: the mask containing bits set for each level of error which is
-to be fatal.
-@Returns: the old fatal mask.
-
-
-<!-- ##### FUNCTION g_log_set_fatal_mask ##### -->
-<para>
-Sets the log levels which are fatal in the given domain.
-%G_LOG_LEVEL_ERROR is always fatal.
-</para>
-
-@log_domain: the log domain.
-@fatal_mask: the new fatal mask.
-@Returns: the old fatal mask for the log domain.
-
-
-<!-- ##### FUNCTION g_log_default_handler ##### -->
-<para>
-The default log handler set up by GLib; g_log_set_default_handler()
-allows to install an alternate default log handler.
-This is used if no log handler has been set for the particular log domain
-and log level combination. It outputs the message to stderr or stdout
-and if the log level is fatal it calls abort().
-</para>
-<para>
-stderr is used for levels %G_LOG_LEVEL_ERROR, %G_LOG_LEVEL_CRITICAL,
-%G_LOG_LEVEL_WARNING and %G_LOG_LEVEL_MESSAGE. stdout is used for the rest.
-</para>
-
-@log_domain: the log domain of the message.
-@log_level: the level of the message.
-@message: the message.
-@unused_data: data passed from g_log() which is unused.
-
-
-<!-- ##### FUNCTION g_log_set_default_handler ##### -->
-<para>
-Installs a default log handler which is used if no
-log handler has been set for the particular log domain
-and log level combination. By default, GLib uses
-g_log_default_handler() as default log handler.
-</para>
-
-@log_func: the log handler function.
-@user_data: data passed to the log handler.
-@Returns: the previous default log handler
-@Since: 2.6
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Miscellaneous Utility Functions
-
-<!-- ##### SECTION Short_Description ##### -->
-a selection of portable utility functions
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-These are portable utility functions.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### FUNCTION g_get_application_name ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_set_application_name ##### -->
-<para>
-
-</para>
-
-@application_name:
-
-
-<!-- ##### FUNCTION g_get_prgname ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_set_prgname ##### -->
-<para>
-
-</para>
-
-@prgname:
-
-
-<!-- ##### FUNCTION g_getenv ##### -->
-<para>
-
-</para>
-
-@variable:
-@Returns:
-
-
-<!-- ##### FUNCTION g_setenv ##### -->
-<para>
-
-</para>
-
-@variable:
-@value:
-@overwrite:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unsetenv ##### -->
-<para>
-
-</para>
-
-@variable:
-
-
-<!-- ##### FUNCTION g_listenv ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_get_user_name ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_get_real_name ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_get_user_cache_dir ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_get_user_data_dir ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_get_user_config_dir ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### ENUM GUserDirectory ##### -->
-<para>
-
-</para>
-
-@G_USER_DIRECTORY_DESKTOP:
-@G_USER_DIRECTORY_DOCUMENTS:
-@G_USER_DIRECTORY_DOWNLOAD:
-@G_USER_DIRECTORY_MUSIC:
-@G_USER_DIRECTORY_PICTURES:
-@G_USER_DIRECTORY_PUBLIC_SHARE:
-@G_USER_DIRECTORY_TEMPLATES:
-@G_USER_DIRECTORY_VIDEOS:
-@G_USER_N_DIRECTORIES:
-
-<!-- ##### FUNCTION g_get_user_special_dir ##### -->
-<para>
-
-</para>
-
-@directory:
-@Returns:
-
-
-<!-- ##### FUNCTION g_get_system_data_dirs ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_get_system_config_dirs ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_reload_user_special_dirs_cache ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_get_host_name ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_get_home_dir ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_get_tmp_dir ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_get_current_dir ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_basename ##### -->
-
-
-@file_name:
-@Returns:
-
-
-<!-- ##### MACRO g_dirname ##### -->
-<para>
-This function is deprecated and will be removed in the next major
-release of GLib. Use g_path_get_dirname() instead.
-</para>
-
-<para>
-Gets the directory components of a file name.
-If the file name has no directory components "." is returned.
-The returned string should be freed when no longer needed.
-</para>
-
-@Returns: the directory components of the file.
-
-
-<!-- ##### FUNCTION g_path_is_absolute ##### -->
-<para>
-
-</para>
-
-@file_name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_path_skip_root ##### -->
-<para>
-
-</para>
-
-@file_name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_path_get_basename ##### -->
-<para>
-
-</para>
-
-@file_name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_path_get_dirname ##### -->
-<para>
-
-</para>
-
-@file_name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_build_filename ##### -->
-<para>
-
-</para>
-
-@first_element:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_build_filenamev ##### -->
-<para>
-
-</para>
-
-@args:
-@Returns:
-
-
-<!-- ##### FUNCTION g_build_path ##### -->
-<para>
-
-</para>
-
-@separator:
-@first_element:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_build_pathv ##### -->
-<para>
-
-</para>
-
-@separator:
-@args:
-@Returns:
-
-
-<!-- ##### FUNCTION g_format_size_for_display ##### -->
-<para>
-
-</para>
-
-@size:
-@Returns:
-
-
-<!-- ##### FUNCTION g_find_program_in_path ##### -->
-<para>
-
-</para>
-
-@program:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bit_nth_lsf ##### -->
-<para>
-Find the position of the first bit set in @mask, searching from (but not
-including) @nth_bit upwards. Bits are numbered from 0 (least significant)
-to sizeof(#gulong) * 8 - 1 (31 or 63, usually). To start searching from the
-0th bit, set @nth_bit to -1.
-</para>
-
-@mask: a #gulong containing flags.
-@nth_bit: the index of the bit to start the search from.
-@Returns: the index of the first bit set which is higher than @nth_bit.
-
-
-<!-- ##### FUNCTION g_bit_nth_msf ##### -->
-<para>
-Find the position of the first bit set in @mask, searching from (but not
-including) @nth_bit downwards. Bits are numbered from 0 (least significant)
-to sizeof(#gulong) * 8 - 1 (31 or 63, usually). To start searching from the
-last bit, set @nth_bit to -1 or GLIB_SIZEOF_LONG * 8.
-</para>
-
-@mask: a #gulong containing flags.
-@nth_bit: the index of the bit to start the search from.
-@Returns: the index of the first bit set which is lower than @nth_bit.
-
-
-<!-- ##### FUNCTION g_bit_storage ##### -->
-<para>
-Gets the number of bits used to hold @number,
-e.g. if @number is 4, 3 bits are needed.
-</para>
-
-@number: a guint.
-@Returns: the number of bits used to hold @number.
-
-
-<!-- ##### FUNCTION g_spaced_primes_closest ##### -->
-<para>
-Gets the smallest prime number from a built-in array of primes which
-is larger than @num. This is used within GLib to calculate the optimum
-size of a #GHashTable.
-</para>
-<para>
-The built-in array of primes ranges from 11 to 13845163 such that
-each prime is approximately 1.5-2 times the previous prime.
-</para>
-
-@num: a #guint.
-@Returns: the smallest prime number from a built-in array of primes which is
-larger than @num.
-
-
-<!-- ##### FUNCTION g_atexit ##### -->
-<para>
-
-</para>
-
-@func:
-
-
-<!-- ##### FUNCTION g_parse_debug_string ##### -->
-<para>
-
-</para>
-
-@string:
-@keys:
-@nkeys:
-@Returns:
-
-
-<!-- ##### STRUCT GDebugKey ##### -->
-<para>
-Associates a string with a bit flag.
-Used in g_parse_debug_string().
-</para>
-
-@key: the string
-@value: the flag
-
-<!-- ##### USER_FUNCTION GVoidFunc ##### -->
-<para>
-Declares a type of function which takes no arguments and has no return value.
-It is used to specify the type function passed to g_atexit().
-</para>
-
-
-
-<!-- ##### USER_FUNCTION GFreeFunc ##### -->
-<para>
-Declares a type of function which takes an arbitrary data pointer argument
-and has no return value. It is not currently used in GLib or GTK+.
-</para>
-
-@data: a data pointer.
-
-
-<!-- ##### FUNCTION g_qsort_with_data ##### -->
-<para>
-
-</para>
-
-@pbase:
-@total_elems:
-@size:
-@compare_func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_nullify_pointer ##### -->
-<para>
-
-</para>
-
-@nullify_location:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Dynamic Loading of Modules
-
-<!-- ##### SECTION Short_Description ##### -->
-portable method for dynamically loading 'plug-ins'
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-These functions provide a portable way to dynamically load object files
-(commonly known as 'plug-ins').
-The current implementation supports all systems that provide
-an implementation of dlopen() (e.g. Linux/Sun), as well as HP-UX via its
-shl_load() mechanism, and Windows platforms via DLLs.
-</para>
-
-<para>
-A program which wants to use these functions must be linked to the
-libraries output by the command <command>pkg-config --libs gmodule-2.0</command>.
-</para>
-
-<para>
-To use them you must first determine whether dynamic loading
-is supported on the platform by calling g_module_supported().
-If it is, you can open a module with g_module_open(),
-find the module's symbols (e.g. function names) with g_module_symbol(),
-and later close the module with g_module_close().
-g_module_name() will return the file name of a currently opened module.
-</para>
-<para>
-If any of the above functions fail, the error status can be found with
-g_module_error().
-</para>
-<para>
-The #GModule implementation features reference counting for opened modules,
-and supports hook functions within a module which are called when the
-module is loaded and unloaded (see #GModuleCheckInit and #GModuleUnload).
-</para>
-<para>
-If your module introduces static data to common subsystems in the running
-program, e.g. through calling <literal>g_quark_from_static_string ("my-module-stuff")</literal>,
-it must ensure that it is never unloaded, by calling g_module_make_resident().
-</para>
-
-<para>
-<example>
-<title>Calling a function defined in a <structname>GModule</structname></title>
-<programlisting>
-/* the function signature for 'say_hello' */
-typedef void (* SayHelloFunc) (const char *message);
-
-gboolean
-just_say_hello (const char *filename, GError **error)
-{
- SayHelloFunc say_hello;
- GModule *module;
-
- module = g_module_open (filename, G_MODULE_BIND_LAZY);
- if (!module)
- {
- g_set_error (error, FOO_ERROR, FOO_ERROR_BLAH,
- "%s", g_module_error (<!-- -->));
- return FALSE;
- }
-
- if (!g_module_symbol (module, "say_hello", (gpointer *)&say_hello))
- {
- g_set_error (error, SAY_ERROR, SAY_ERROR_OPEN,
- "%s: %s", filename, g_module_error (<!-- -->));
- if (!g_module_close (module))
- g_warning ("%s: %s", filename, g_module_error (<!-- -->));
- return FALSE;
- }
-
- if (say_hello == NULL)
- {
- g_set_error (error, SAY_ERROR, SAY_ERROR_OPEN, "symbol say_hello is NULL");
- if (!g_module_close (module))
- g_warning ("%s: %s", filename, g_module_error (<!-- -->));
- return FALSE;
- }
-
- /* call our function in the module */
- say_hello ("Hello world!");
-
- if (!g_module_close (module))
- g_warning ("%s: %s", filename, g_module_error (<!-- -->));
-
- return TRUE;
-}
-</programlisting>
-</example>
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GModule ##### -->
-<para>
-The #GModule struct is an opaque data structure to represent a
-<link linkend="glib-Dynamic-Loading-of-Modules">Dynamically-Loaded Module</link>.
-It should only be accessed via the following functions.
-</para>
-
-
-<!-- ##### FUNCTION g_module_supported ##### -->
-<para>
-Checks if modules are supported on the current platform.
-</para>
-
-@Returns: %TRUE if modules are supported.
-
-
-<!-- ##### FUNCTION g_module_build_path ##### -->
-<para>
-A portable way to build the filename of a module. The platform-specific
-prefix and suffix are added to the filename, if needed, and the result is
-added to the directory, using the correct separator character.
-</para>
-<para>
-The directory should specify the directory where the module can be found.
-It can be %NULL or an empty string to indicate that the module is in a standard
-platform-specific directory, though this is not recommended since the
-wrong module may be found.
-</para>
-<para>
-For example, calling g_module_build_path() on a Linux system with a @directory
-of <filename>/lib</filename> and a @module_name of "mylibrary" will return
-<filename>/lib/libmylibrary.so</filename>. On a Windows system, using
-<filename>\Windows</filename> as the directory it will return
-<filename>\Windows\mylibrary.dll</filename>.
-</para>
-
-@directory: the directory where the module is. This can be %NULL or the empty
-string to indicate that the standard platform-specific directories will be
-used, though that is not recommended.
-@module_name: the name of the module.
-@Returns: the complete path of the module, including the standard library
-prefix and suffix. This should be freed when no longer needed.
-
-
-<!-- ##### FUNCTION g_module_open ##### -->
-<para>
-Opens a module. If the module has already been opened, its reference
-count is incremented.
-</para>
-
-<para>
-First of all g_module_open() tries to open @file_name as a module. If
-that fails and @file_name has the ".la"-suffix (and is a libtool archive)
-it tries to open the corresponding module. If that fails and it doesn't
-have the proper module suffix for the platform (#G_MODULE_SUFFIX), this
-suffix will be appended and the corresponding module will be opended. If
-that fails and @file_name doesn't have the ".la"-suffix, this suffix is
-appended and g_module_open() tries to open the corresponding module. If
-eventually that fails as well, %NULL is returned.
-</para>
-
-@file_name: the name of the file containing the module, or %NULL to obtain
- a #GModule representing the main program itself.
-@flags: the flags used for opening the module. This can be the logical
-OR of any of the #GModuleFlags.
-@Returns: a #GModule on success, or %NULL on failure.
-
-
-<!-- ##### ENUM GModuleFlags ##### -->
-<para>
-Flags passed to g_module_open(). Note that these flags are
-not supported on all platforms.
-</para>
-
-@G_MODULE_BIND_LAZY: specifies that symbols are only resolved when needed.
- The default action is to bind all symbols when the module is loaded.
-@G_MODULE_BIND_LOCAL: specifies that symbols in the module should
- not be added to the global name space. The default action on most
- platforms is to place symbols in the module in the global name space,
- which may cause conflicts with existing symbols.
-@G_MODULE_BIND_MASK: mask for all flags.
-
-<!-- ##### FUNCTION g_module_symbol ##### -->
-<para>
-Gets a symbol pointer from a module, such as one exported by #G_MODULE_EXPORT.
-</para>
-<para>
-Note that a valid symbol can be %NULL.
-</para>
-
-@module: a #GModule.
-@symbol_name: the name of the symbol to find.
-@symbol: returns the pointer to the symbol value.
-@Returns: %TRUE on success.
-
-
-<!-- ##### FUNCTION g_module_name ##### -->
-<para>
-Gets the filename from a #GModule.
-</para>
-
-@module: a #GModule.
-@Returns: the filename of the module, or "main" if the module is the main
-program itself.
-
-
-<!-- ##### FUNCTION g_module_make_resident ##### -->
-<para>
-Ensures that a module will never be unloaded.
-Any future g_module_close() calls on the module will be ignored.
-</para>
-
-@module: a #GModule to make permanently resident.
-
-
-<!-- ##### FUNCTION g_module_close ##### -->
-<para>
-Closes a module.
-</para>
-
-@module: a #GModule to close.
-@Returns: %TRUE on success.
-
-
-<!-- ##### FUNCTION g_module_error ##### -->
-<para>
-Gets a string describing the last module error.
-</para>
-
-@Returns: a string describing the last module error.
-
-
-<!-- ##### USER_FUNCTION GModuleCheckInit ##### -->
-<para>
-Specifies the type of the module initialization function.
-<indexterm zone="g-module-check-init"><primary>g_module_check_init</primary></indexterm>
-If a module contains a function named g_module_check_init() it is called
-automatically when the module is loaded. It is passed the #GModule structure
-and should return %NULL on success or a string describing the initialization
-error.
-</para>
-
-@module: the #GModule corresponding to the module which has just been loaded.
-@Returns: %NULL on success, or a string describing the initialization error.
-
-
-<!-- ##### USER_FUNCTION GModuleUnload ##### -->
-<para>
-<indexterm zone="g-module-unload"><primary>g_module_unload</primary></indexterm>
-Specifies the type of the module function called when it is unloaded.
-If a module contains a function named g_module_unload() it is called
-automatically when the module is unloaded.
-It is passed the #GModule structure.
-</para>
-
-@module: the #GModule about to be unloaded.
-
-
-<!-- ##### MACRO G_MODULE_SUFFIX ##### -->
-<para>
-Expands to the proper shared library suffix for the current platform
-without the leading dot. For the most Unices and Linux this is "so",
-for some HP-UX versions this is "sl" and for Windows this is "dll".
-</para>
-
-
-
-<!-- ##### MACRO G_MODULE_EXPORT ##### -->
-<para>
-Used to declare functions exported by modules. This is a no-op on Linux and
-Unices, but when compiling for Windows, it marks a symbol to be exported from
-the library or executable being built.
-</para>
-
-
-
-<!-- ##### MACRO G_MODULE_IMPORT ##### -->
-<para>
-Used to declare functions imported from modules.
-</para>
-
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Numerical Definitions
-
-<!-- ##### SECTION Short_Description ##### -->
-mathematical constants, and floating point decomposition
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-GLib offers mathematical constants such as #G_PI for the value of pi;
-many platforms have these in the C library, but some don't, the GLib
-versions always exist.
-</para>
-
-<para>
-The #GFloatIEEE754 and #GDoubleIEEE754 unions are used to access the
- sign, mantissa and exponent of IEEE floats and doubles. These
- unions are defined as appropriate for a given platform.
- IEEE floats and doubles are supported (used for
- storage) by at least Intel, PPC and Sparc, for reference: <ulink url="http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html">http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html</ulink>
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<ulink url="http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html">http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html</ulink>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_IEEE754_FLOAT_BIAS ##### -->
-<para>
-See <ulink url="http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html">http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html</ulink>
-</para>
-
-
-
-<!-- ##### MACRO G_IEEE754_DOUBLE_BIAS ##### -->
-<para>
-See <ulink url="http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html">http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html</ulink>
-</para>
-
-
-
-<!-- ##### UNION GFloatIEEE754 ##### -->
-<para>
-The #GFloatIEEE754 and #GDoubleIEEE754 unions are used to access the
- sign, mantissa and exponent of IEEE floats and doubles. These
- unions are defined as appropriate for a given platform.
- IEEE floats and doubles are supported (used for
- storage) by at least Intel, PPC and Sparc, for reference:
-<ulink url="http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html">http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html</ulink>
-</para>
-
-
-<!-- ##### UNION GDoubleIEEE754 ##### -->
-<para>
-The #GFloatIEEE754 and #GDoubleIEEE754 unions are used to access the
- sign, mantissa and exponent of IEEE floats and doubles. These
- unions are defined as appropriate for a given platform.
- IEEE floats and doubles are supported (used for
- storage) by at least Intel, PPC and Sparc, for reference:
-<ulink url="http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html">http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html</ulink>
-</para>
-
-
-<!-- ##### MACRO G_E ##### -->
-<para>
-The base of natural logarithms.
-</para>
-
-
-
-<!-- ##### MACRO G_LN2 ##### -->
-<para>
-The natural logarithm of 2.
-</para>
-
-
-
-<!-- ##### MACRO G_LN10 ##### -->
-<para>
-The natural logarithm of 10.
-</para>
-
-
-
-<!-- ##### MACRO G_PI ##### -->
-<para>
-The value of pi (ratio of circle's circumference to its diameter).
-</para>
-
-
-
-<!-- ##### MACRO G_PI_2 ##### -->
-<para>
-Pi divided by 2.
-</para>
-
-
-
-<!-- ##### MACRO G_PI_4 ##### -->
-<para>
-Pi divided by 4.
-</para>
-
-
-
-<!-- ##### MACRO G_SQRT2 ##### -->
-<para>
-The square root of two.
-</para>
-
-
-
-<!-- ##### MACRO G_LOG_2_BASE_10 ##### -->
-<para>
-Used for fooling around with float formats, see
-<ulink url="http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html">http://cch.loria.fr/documentation/IEEE754/numerical_comp_guide/ncg_math.doc.html</ulink>
-</para>
-
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Commandline option parser
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### ENUM GOptionError ##### -->
-<para>
-
-</para>
-
-@G_OPTION_ERROR_UNKNOWN_OPTION:
-@G_OPTION_ERROR_BAD_VALUE:
-@G_OPTION_ERROR_FAILED:
-
-<!-- ##### MACRO G_OPTION_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### USER_FUNCTION GOptionArgFunc ##### -->
-<para>
-
-</para>
-
-@option_name:
-@value:
-@data:
-@error:
-@Returns:
-
-
-<!-- ##### STRUCT GOptionContext ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_option_context_new ##### -->
-<para>
-
-</para>
-
-@parameter_string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_option_context_set_summary ##### -->
-<para>
-
-</para>
-
-@context:
-@summary:
-
-
-<!-- ##### FUNCTION g_option_context_get_summary ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### FUNCTION g_option_context_set_description ##### -->
-<para>
-
-</para>
-
-@context:
-@description:
-
-
-<!-- ##### FUNCTION g_option_context_get_description ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GTranslateFunc ##### -->
-<para>
-
-</para>
-
-@str:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_option_context_set_translate_func ##### -->
-<para>
-
-</para>
-
-@context:
-@func:
-@data:
-@destroy_notify:
-
-
-<!-- ##### FUNCTION g_option_context_set_translation_domain ##### -->
-<para>
-
-</para>
-
-@context:
-@domain:
-
-
-<!-- ##### FUNCTION g_option_context_free ##### -->
-<para>
-
-</para>
-
-@context:
-
-
-<!-- ##### FUNCTION g_option_context_parse ##### -->
-<para>
-
-</para>
-
-@context:
-@argc:
-@argv:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_option_context_set_help_enabled ##### -->
-<para>
-
-</para>
-
-@context:
-@help_enabled:
-
-
-<!-- ##### FUNCTION g_option_context_get_help_enabled ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### FUNCTION g_option_context_set_ignore_unknown_options ##### -->
-<para>
-
-</para>
-
-@context:
-@ignore_unknown:
-
-
-<!-- ##### FUNCTION g_option_context_get_ignore_unknown_options ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### FUNCTION g_option_context_get_help ##### -->
-<para>
-
-</para>
-
-@context:
-@main_help:
-@group:
-@Returns:
-
-
-<!-- ##### ENUM GOptionArg ##### -->
-<para>
-
-</para>
-
-@G_OPTION_ARG_NONE:
-@G_OPTION_ARG_STRING:
-@G_OPTION_ARG_INT:
-@G_OPTION_ARG_CALLBACK:
-@G_OPTION_ARG_FILENAME:
-@G_OPTION_ARG_STRING_ARRAY:
-@G_OPTION_ARG_FILENAME_ARRAY:
-@G_OPTION_ARG_DOUBLE:
-@G_OPTION_ARG_INT64:
-
-<!-- ##### ENUM GOptionFlags ##### -->
-<para>
-
-</para>
-
-@G_OPTION_FLAG_HIDDEN:
-@G_OPTION_FLAG_IN_MAIN:
-@G_OPTION_FLAG_REVERSE:
-@G_OPTION_FLAG_NO_ARG:
-@G_OPTION_FLAG_FILENAME:
-@G_OPTION_FLAG_OPTIONAL_ARG:
-@G_OPTION_FLAG_NOALIAS:
-
-<!-- ##### MACRO G_OPTION_REMAINING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GOptionEntry ##### -->
-<para>
-
-</para>
-
-@long_name:
-@short_name:
-@flags:
-@arg:
-@arg_data:
-@description:
-@arg_description:
-
-<!-- ##### FUNCTION g_option_context_add_main_entries ##### -->
-<para>
-
-</para>
-
-@context:
-@entries:
-@translation_domain:
-
-
-<!-- ##### STRUCT GOptionGroup ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_option_context_add_group ##### -->
-<para>
-
-</para>
-
-@context:
-@group:
-
-
-<!-- ##### FUNCTION g_option_context_set_main_group ##### -->
-<para>
-
-</para>
-
-@context:
-@group:
-
-
-<!-- ##### FUNCTION g_option_context_get_main_group ##### -->
-<para>
-
-</para>
-
-@context:
-@Returns:
-
-
-<!-- ##### FUNCTION g_option_group_new ##### -->
-<para>
-
-</para>
-
-@name:
-@description:
-@help_description:
-@user_data:
-@destroy:
-@Returns:
-
-
-<!-- ##### FUNCTION g_option_group_free ##### -->
-<para>
-
-</para>
-
-@group:
-
-
-<!-- ##### FUNCTION g_option_group_add_entries ##### -->
-<para>
-
-</para>
-
-@group:
-@entries:
-
-
-<!-- ##### USER_FUNCTION GOptionParseFunc ##### -->
-<para>
-
-</para>
-
-@context:
-@group:
-@data:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_option_group_set_parse_hooks ##### -->
-<para>
-
-</para>
-
-@group:
-@pre_parse_func:
-@post_parse_func:
-
-
-<!-- ##### USER_FUNCTION GOptionErrorFunc ##### -->
-<para>
-
-</para>
-
-@context:
-@group:
-@data:
-@error:
-
-
-<!-- ##### FUNCTION g_option_group_set_error_hook ##### -->
-<para>
-
-</para>
-
-@group:
-@error_func:
-
-
-<!-- ##### FUNCTION g_option_group_set_translate_func ##### -->
-<para>
-
-</para>
-
-@group:
-@func:
-@data:
-@destroy_notify:
-
-
-<!-- ##### FUNCTION g_option_group_set_translation_domain ##### -->
-<para>
-
-</para>
-
-@group:
-@domain:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Glob-style pattern matching
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GPatternSpec ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_pattern_spec_new ##### -->
-<para>
-
-</para>
-
-@pattern:
-@Returns:
-
-
-<!-- ##### FUNCTION g_pattern_spec_free ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### FUNCTION g_pattern_spec_equal ##### -->
-<para>
-
-</para>
-
-@pspec1:
-@pspec2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_pattern_match ##### -->
-<para>
-
-</para>
-
-@pspec:
-@string_length:
-@string:
-@string_reversed:
-@Returns:
-
-
-<!-- ##### FUNCTION g_pattern_match_string ##### -->
-<para>
-
-</para>
-
-@pspec:
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_pattern_match_simple ##### -->
-<para>
-
-</para>
-
-@pattern:
-@string:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Quarks
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### TYPEDEF GQuark ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_quark_from_string ##### -->
-<para>
-
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_quark_from_static_string ##### -->
-<para>
-
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_quark_to_string ##### -->
-<para>
-
-</para>
-
-@quark:
-@Returns:
-
-
-<!-- ##### FUNCTION g_quark_try_string ##### -->
-<para>
-
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_intern_string ##### -->
-<para>
-
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_intern_static_string ##### -->
-<para>
-
-</para>
-
-@string:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Double-ended Queues
-
-<!-- ##### SECTION Short_Description ##### -->
-double-ended queue data structure
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The #GQueue structure and its associated functions provide a standard
-queue data structure. Internally, #GQueue uses the same data structure as
-#GList to store elements.
-</para>
-<para>
-The data contained in each element can be either integer values, by using one
-of the
-<link linkend="glib-Type-Conversion-Macros">Type Conversion Macros</link>,
-or simply pointers to any type of data.
-</para>
-<para>
-To create a new #GQueue, use g_queue_new().
-</para>
-<para>
-To initialize a statically-allocated #GQueue, use #G_QUEUE_INIT or
-g_queue_init().
-</para>
-<para>
-To add elements, use g_queue_push_head(), g_queue_push_head_link(),
-g_queue_push_tail() and g_queue_push_tail_link().
-</para>
-<para>
-To remove elements, use g_queue_pop_head() and g_queue_pop_tail().
-</para>
-<para>
-To free the entire queue, use g_queue_free().
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GQueue ##### -->
-<para>
-Contains the public fields of a <link linkend="glib-queues">Queue</link>.
-</para>
-
-@head: a pointer to the first element of the queue.
-@tail: a pointer to the last element of the queue.
-@length: the number of elements in the queue.
-
-<!-- ##### FUNCTION g_queue_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_free ##### -->
-<para>
-
-</para>
-
-@queue:
-
-
-<!-- ##### MACRO G_QUEUE_INIT ##### -->
-<para>
-A statically-allocated #GQueue must be initialized with this macro before it
-can be used. This macro can be used to initialize a variable, but it cannot
-be assigned to a variable. In that case you have to use g_queue_init().
-</para>
-
-<informalexample>
-<programlisting>
-GQueue my_queue = G_QUEUE_INIT;
-</programlisting>
-</informalexample>
-
-@Since: 2.14
-
-
-<!-- ##### FUNCTION g_queue_init ##### -->
-<para>
-
-</para>
-
-@queue:
-
-
-<!-- ##### FUNCTION g_queue_clear ##### -->
-<para>
-
-</para>
-
-@queue:
-
-
-<!-- ##### FUNCTION g_queue_is_empty ##### -->
-<para>
-
-</para>
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_get_length ##### -->
-<para>
-
-</para>
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_reverse ##### -->
-<para>
-
-</para>
-
-@queue:
-
-
-<!-- ##### FUNCTION g_queue_copy ##### -->
-<para>
-
-</para>
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_foreach ##### -->
-<para>
-
-</para>
-
-@queue:
-@func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_queue_find ##### -->
-<para>
-
-</para>
-
-@queue:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_find_custom ##### -->
-<para>
-
-</para>
-
-@queue:
-@data:
-@func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_sort ##### -->
-<para>
-
-</para>
-
-@queue:
-@compare_func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_queue_push_head ##### -->
-<para>
-
-</para>
-
-@queue:
-@data:
-
-
-<!-- ##### FUNCTION g_queue_push_tail ##### -->
-<para>
-
-</para>
-
-@queue:
-@data:
-
-
-<!-- ##### FUNCTION g_queue_push_nth ##### -->
-<para>
-
-</para>
-
-@queue:
-@data:
-@n:
-
-
-<!-- ##### FUNCTION g_queue_pop_head ##### -->
-<para>
-
-</para>
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_pop_tail ##### -->
-<para>
-
-</para>
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_pop_nth ##### -->
-<para>
-
-</para>
-
-@queue:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_peek_head ##### -->
-<para>
-
-</para>
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_peek_tail ##### -->
-<para>
-
-</para>
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_peek_nth ##### -->
-<para>
-
-</para>
-
-@queue:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_index ##### -->
-<para>
-
-</para>
-
-@queue:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_remove ##### -->
-<para>
-
-</para>
-
-@queue:
-@data:
-
-
-<!-- ##### FUNCTION g_queue_remove_all ##### -->
-<para>
-
-</para>
-
-@queue:
-@data:
-
-
-<!-- ##### FUNCTION g_queue_insert_before ##### -->
-<para>
-
-</para>
-
-@queue:
-@sibling:
-@data:
-
-
-<!-- ##### FUNCTION g_queue_insert_after ##### -->
-<para>
-
-</para>
-
-@queue:
-@sibling:
-@data:
-
-
-<!-- ##### FUNCTION g_queue_insert_sorted ##### -->
-<para>
-
-</para>
-
-@queue:
-@data:
-@func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_queue_push_head_link ##### -->
-<para>
-
-</para>
-
-@queue:
-@link_:
-
-
-<!-- ##### FUNCTION g_queue_push_tail_link ##### -->
-<para>
-
-</para>
-
-@queue:
-@link_:
-
-
-<!-- ##### FUNCTION g_queue_push_nth_link ##### -->
-<para>
-
-</para>
-
-@queue:
-@n:
-@link_:
-
-
-<!-- ##### FUNCTION g_queue_pop_head_link ##### -->
-<para>
-
-</para>
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_pop_tail_link ##### -->
-<para>
-
-</para>
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_pop_nth_link ##### -->
-<para>
-
-</para>
-
-@queue:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_peek_head_link ##### -->
-<para>
-
-</para>
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_peek_tail_link ##### -->
-<para>
-
-</para>
-
-@queue:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_peek_nth_link ##### -->
-<para>
-
-</para>
-
-@queue:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_link_index ##### -->
-<para>
-
-</para>
-
-@queue:
-@link_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_queue_unlink ##### -->
-<para>
-
-</para>
-
-@queue:
-@link_:
-
-
-<!-- ##### FUNCTION g_queue_delete_link ##### -->
-<para>
-
-</para>
-
-@queue:
-@link_:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Random Numbers
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GRand ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_rand_new_with_seed ##### -->
-<para>
-
-</para>
-
-@seed:
-@Returns:
-
-
-<!-- ##### FUNCTION g_rand_new_with_seed_array ##### -->
-<para>
-
-</para>
-
-@seed:
-@seed_length:
-@Returns:
-
-
-<!-- ##### FUNCTION g_rand_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_rand_copy ##### -->
-<para>
-
-</para>
-
-@rand_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_rand_free ##### -->
-<para>
-
-</para>
-
-@rand_:
-
-
-<!-- ##### FUNCTION g_rand_set_seed ##### -->
-<para>
-
-</para>
-
-@rand_:
-@seed:
-
-
-<!-- ##### FUNCTION g_rand_set_seed_array ##### -->
-<para>
-
-</para>
-
-@rand_:
-@seed:
-@seed_length:
-
-
-<!-- ##### MACRO g_rand_boolean ##### -->
-<para>
-
-</para>
-
-@rand_:
-
-
-<!-- ##### FUNCTION g_rand_int ##### -->
-<para>
-
-</para>
-
-@rand_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_rand_int_range ##### -->
-<para>
-
-</para>
-
-@rand_:
-@begin:
-@end:
-@Returns:
-
-
-<!-- ##### FUNCTION g_rand_double ##### -->
-<para>
-
-</para>
-
-@rand_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_rand_double_range ##### -->
-<para>
-
-</para>
-
-@rand_:
-@begin:
-@end:
-@Returns:
-
-
-<!-- ##### FUNCTION g_random_set_seed ##### -->
-<para>
-
-</para>
-
-@seed:
-
-
-<!-- ##### MACRO g_random_boolean ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_random_int ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_random_int_range ##### -->
-<para>
-
-</para>
-
-@begin:
-@end:
-@Returns:
-
-
-<!-- ##### FUNCTION g_random_double ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_random_double_range ##### -->
-<para>
-
-</para>
-
-@begin:
-@end:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Relations and Tuples
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GRelation ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_relation_new ##### -->
-<para>
-
-</para>
-
-@fields:
-@Returns:
-
-
-<!-- ##### FUNCTION g_relation_index ##### -->
-<para>
-
-</para>
-
-@relation:
-@field:
-@hash_func:
-@key_equal_func:
-
-
-<!-- ##### FUNCTION g_relation_insert ##### -->
-<para>
-
-</para>
-
-@relation:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_relation_exists ##### -->
-<para>
-
-</para>
-
-@relation:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_relation_count ##### -->
-<para>
-
-</para>
-
-@relation:
-@key:
-@field:
-@Returns:
-
-
-<!-- ##### FUNCTION g_relation_select ##### -->
-<para>
-
-</para>
-
-@relation:
-@key:
-@field:
-@Returns:
-
-
-<!-- ##### FUNCTION g_relation_delete ##### -->
-<para>
-
-</para>
-
-@relation:
-@key:
-@field:
-@Returns:
-
-
-<!-- ##### FUNCTION g_relation_destroy ##### -->
-<para>
-
-</para>
-
-@relation:
-
-
-<!-- ##### FUNCTION g_relation_print ##### -->
-<para>
-
-</para>
-
-@relation:
-
-
-<!-- ##### STRUCT GTuples ##### -->
-<para>
-
-</para>
-
-@len:
-
-<!-- ##### FUNCTION g_tuples_destroy ##### -->
-<para>
-
-</para>
-
-@tuples:
-
-
-<!-- ##### FUNCTION g_tuples_index ##### -->
-<para>
-
-</para>
-
-@tuples:
-@index_:
-@field:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Lexical Scanner
-
-<!-- ##### SECTION Short_Description ##### -->
-a general purpose lexical scanner
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-The #GScanner and its associated functions provide a general purpose
-lexical scanner.
-</para>
-
-<!--
-FIXME: really needs an example and more detail, but I don't completely
-understand it myself. Look at gtkrc.c for some code using the scanner.
--->
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GScanner ##### -->
-<para>
-The data structure representing a lexical scanner.
-</para>
-<para>
-You should set <structfield>input_name</structfield> after creating
-the scanner, since it is used by the default message handler when
-displaying warnings and errors. If you are scanning a file, the file
-name would be a good choice.
-</para>
-<para>
-The <structfield>user_data</structfield> and
-<structfield>max_parse_errors</structfield> fields are not used.
-If you need to associate extra data with the scanner you can place them here.
-</para>
-<para>
-If you want to use your own message handler you can set the
-<structfield>msg_handler</structfield> field. The type of the message
-handler function is declared by #GScannerMsgFunc.
-</para>
-
-@user_data:
-@max_parse_errors:
-@parse_errors:
-@input_name:
-@qdata:
-@config:
-@token: token parsed by the last g_scanner_get_next_token()
-@value: value of the last token from g_scanner_get_next_token()
-@line: line number of the last token from g_scanner_get_next_token()
-@position: char number of the last token from g_scanner_get_next_token()
-@next_token: token parsed by the last g_scanner_peek_next_token()
-@next_value: value of the last token from g_scanner_peek_next_token()
-@next_line: line number of the last token from g_scanner_peek_next_token()
-@next_position: char number of the last token from g_scanner_peek_next_token()
-@symbol_table:
-@input_fd:
-@text:
-@text_end:
-@buffer:
-@scope_id:
-@msg_handler: function to handle GScanner message output
-
-<!-- ##### STRUCT GScannerConfig ##### -->
-<para>
-Specifies the #GScanner parser configuration. Most settings can be changed during
-the parsing phase and will affect the lexical parsing of the next unpeeked token.
-</para>
-<para>
-<structfield>cset_skip_characters</structfield> specifies which characters
-should be skipped by the scanner (the default is the whitespace characters:
-space, tab, carriage-return and line-feed).
-</para>
-<para>
-<structfield>cset_identifier_first</structfield> specifies the characters
-which can start identifiers (the default is #G_CSET_a_2_z, "_", and
-#G_CSET_A_2_Z).
-</para>
-<para>
-<structfield>cset_identifier_nth</structfield> specifies the characters
-which can be used in identifiers, after the first character (the default
-is #G_CSET_a_2_z, "_0123456789", #G_CSET_A_2_Z, #G_CSET_LATINS,
-#G_CSET_LATINC).
-</para>
-<para>
-<structfield>cpair_comment_single</structfield> specifies the characters
-at the start and end of single-line comments. The default is "#\n" which
-means that single-line comments start with a '#' and continue until a '\n'
-(end of line).
-</para>
-<para>
-<structfield>case_sensitive</structfield> specifies if symbols are
-case sensitive (the default is %FALSE).
-</para>
-<para>
-<structfield>skip_comment_multi</structfield> specifies if multi-line
-comments are skipped and not returned as tokens (the default is %TRUE).
-</para>
-<para>
-<structfield>skip_comment_single</structfield> specifies if single-line
-comments are skipped and not returned as tokens (the default is %TRUE).
-</para>
-<para>
-<structfield>scan_comment_multi</structfield> specifies if multi-line
-comments are recognized (the default is %TRUE).
-</para>
-<para>
-<structfield>scan_identifier</structfield> specifies if identifiers
-are recognized (the default is %TRUE).
-</para>
-<para>
-<structfield>scan_identifier_1char</structfield> specifies if single-character
-identifiers are recognized (the default is %FALSE).
-</para>
-<para>
-<structfield>scan_identifier_NULL</structfield> specifies if
-<literal>NULL</literal> is reported as #G_TOKEN_IDENTIFIER_NULL.
-(the default is %FALSE).
-</para>
-<para>
-<structfield>scan_symbols</structfield> specifies if symbols are
-recognized (the default is %TRUE).
-</para>
-<para>
-<structfield>scan_binary</structfield> specifies if binary numbers
-are recognized (the default is %FALSE).
-</para>
-<para>
-<structfield>scan_octal</structfield> specifies if octal numbers
-are recognized (the default is %TRUE).
-</para>
-<para>
-<structfield>scan_float</structfield> specifies if floating point numbers
-are recognized (the default is %TRUE).
-</para>
-<para>
-<structfield>scan_hex</structfield> specifies if hexadecimal numbers
-are recognized (the default is %TRUE).
-</para>
-<para>
-<structfield>scan_hex_dollar</structfield> specifies if '$' is recognized
-as a prefix for hexadecimal numbers (the default is %FALSE).
-</para>
-<para>
-<structfield>scan_string_sq</structfield> specifies if strings can be
-enclosed in single quotes (the default is %TRUE).
-</para>
-<para>
-<structfield>scan_string_dq</structfield> specifies if strings can be
-enclosed in double quotes (the default is %TRUE).
-</para>
-<para>
-<structfield>numbers_2_int</structfield> specifies if binary, octal and
-hexadecimal numbers are reported as #G_TOKEN_INT (the default is %TRUE).
-</para>
-<para>
-<structfield>int_2_float</structfield> specifies if all numbers are
-reported as #G_TOKEN_FLOAT (the default is %FALSE).
-</para>
-<para>
-<structfield>identifier_2_string</structfield> specifies if identifiers
-are reported as strings (the default is %FALSE).
-</para>
-<para>
-<structfield>char_2_token</structfield> specifies if characters
-are reported by setting <literal>token = ch</literal> or as #G_TOKEN_CHAR
-(the default is %TRUE).
-</para>
-<para>
-<structfield>symbol_2_token</structfield> specifies if symbols
-are reported by setting <literal>token = v_symbol</literal> or as
-#G_TOKEN_SYMBOL (the default is %FALSE).
-</para>
-<para>
-<structfield>scope_0_fallback</structfield> specifies if a symbol
-is searched for in the default scope in addition to the current scope
-(the default is %FALSE).
-</para>
-
-@cset_skip_characters:
-@cset_identifier_first:
-@cset_identifier_nth:
-@cpair_comment_single:
-@case_sensitive:
-@skip_comment_multi:
-@skip_comment_single:
-@scan_comment_multi:
-@scan_identifier:
-@scan_identifier_1char:
-@scan_identifier_NULL:
-@scan_symbols:
-@scan_binary:
-@scan_octal:
-@scan_float:
-@scan_hex:
-@scan_hex_dollar:
-@scan_string_sq:
-@scan_string_dq:
-@numbers_2_int:
-@int_2_float:
-@identifier_2_string:
-@char_2_token:
-@symbol_2_token:
-@scope_0_fallback:
-@store_int64:
-@padding_dummy:
-
-<!-- ##### FUNCTION g_scanner_new ##### -->
-<para>
-Creates a new #GScanner.
-The @config_templ structure specifies the initial settings of the scanner,
-which are copied into the #GScanner <structfield>config</structfield> field.
-If you pass %NULL then the default settings are used.
-</para>
-
-@config_templ: the initial scanner settings.
-@Returns: the new #GScanner.
-
-
-<!-- ##### FUNCTION g_scanner_destroy ##### -->
-<para>
-Frees all memory used by the #GScanner.
-</para>
-
-@scanner: a #GScanner.
-
-
-<!-- ##### FUNCTION g_scanner_input_file ##### -->
-<para>
-Prepares to scan a file.
-</para>
-
-@scanner: a #GScanner.
-@input_fd: a file descriptor.
-
-
-<!-- ##### FUNCTION g_scanner_sync_file_offset ##### -->
-<para>
-Rewinds the filedescriptor to the current buffer position and blows
-the file read ahead buffer. This is useful for third party uses of
-the scanners filedescriptor, which hooks onto the current scanning
-position.
-</para>
-
-@scanner: a #GScanner.
-
-
-<!-- ##### FUNCTION g_scanner_input_text ##### -->
-<para>
-Prepares to scan a text buffer.
-</para>
-
-@scanner: a #GScanner.
-@text: the text buffer to scan.
-@text_len: the length of the text buffer.
-
-
-<!-- ##### FUNCTION g_scanner_peek_next_token ##### -->
-<para>
-Parses the next token, without removing it from the input stream.
-The token data is placed in the
-<structfield>next_token</structfield>,
-<structfield>next_value</structfield>,
-<structfield>next_line</structfield>, and
-<structfield>next_position</structfield> fields of the #GScanner structure.
-</para>
-<para>
-Note that, while the token is not removed from the input stream (i.e.
-the next call to g_scanner_get_next_token() will return the same token),
-it will not be reevaluated. This can lead to surprising results when
-changing scope or the scanner configuration after peeking the next token.
-Getting the next token after switching the scope or configuration will
-return whatever was peeked before, regardless of any symbols that may
-have been added or removed in the new scope.
-</para>
-
-@scanner: a #GScanner.
-@Returns: the type of the token.
-
-
-<!-- ##### FUNCTION g_scanner_get_next_token ##### -->
-<para>
-Parses the next token just like g_scanner_peek_next_token() and also
-removes it from the input stream.
-The token data is placed in the
-<structfield>token</structfield>,
-<structfield>value</structfield>,
-<structfield>line</structfield>, and
-<structfield>position</structfield> fields of the #GScanner structure.
-</para>
-
-@scanner: a #GScanner.
-@Returns: the type of the token.
-
-
-<!-- ##### FUNCTION g_scanner_eof ##### -->
-<para>
-Returns %TRUE if the scanner has reached the end of the file or text buffer.
-</para>
-
-@scanner: a #GScanner.
-@Returns: %TRUE if the scanner has reached the end of the file or text buffer.
-
-
-<!-- ##### FUNCTION g_scanner_cur_line ##### -->
-<para>
-Returns the current line in the input stream (counting from 1).
-This is the line of the last token parsed via g_scanner_get_next_token().
-</para>
-
-@scanner: a #GScanner.
-@Returns: the current line.
-
-
-<!-- ##### FUNCTION g_scanner_cur_position ##### -->
-<para>
-Returns the current position in the current line (counting from 0).
-This is the position of the last token parsed via g_scanner_get_next_token().
-</para>
-
-@scanner: a #GScanner.
-@Returns: the current position on the line.
-
-
-<!-- ##### FUNCTION g_scanner_cur_token ##### -->
-<para>
-Gets the current token type.
-This is simply the <structfield>token</structfield> field in the #GScanner
-structure.
-</para>
-
-@scanner: a #GScanner.
-@Returns: the current token type.
-
-
-<!-- ##### FUNCTION g_scanner_cur_value ##### -->
-<para>
-Gets the current token value.
-This is simply the <structfield>value</structfield> field in the #GScanner
-structure.
-</para>
-
-@scanner: a #GScanner.
-@Returns: the current token value.
-
-
-<!-- ##### FUNCTION g_scanner_set_scope ##### -->
-<para>
-Sets the current scope.
-</para>
-
-@scanner: a #GScanner.
-@scope_id: the new scope id.
-@Returns: the old scope id.
-
-
-<!-- ##### FUNCTION g_scanner_scope_add_symbol ##### -->
-<para>
-Adds a symbol to the given scope.
-</para>
-
-@scanner: a #GScanner.
-@scope_id: the scope id.
-@symbol: the symbol to add.
-@value: the value of the symbol.
-
-
-<!-- ##### FUNCTION g_scanner_scope_foreach_symbol ##### -->
-<para>
-Calls the given function for each of the symbol/value pairs in the
-given scope of the #GScanner. The function is passed the symbol and
-value of each pair, and the given @user_data parameter.
-</para>
-
-@scanner: a #GScanner.
-@scope_id: the scope id.
-@func: the function to call for each symbol/value pair.
-@user_data: user data to pass to the function.
-
-
-<!-- ##### FUNCTION g_scanner_scope_lookup_symbol ##### -->
-<para>
-Looks up a symbol in a scope and return its value. If the
-symbol is not bound in the scope, %NULL is returned.
-</para>
-
-@scanner: a #GScanner.
-@scope_id: the scope id.
-@symbol: the symbol to look up.
-@Returns: the value of @symbol in the given scope, or %NULL
-if @symbol is not bound in the given scope.
-
-
-<!-- ##### FUNCTION g_scanner_scope_remove_symbol ##### -->
-<para>
-Removes a symbol from a scope.
-</para>
-
-@scanner: a #GScanner.
-@scope_id: the scope id.
-@symbol: the symbol to remove.
-
-
-<!-- ##### MACRO g_scanner_add_symbol ##### -->
-<para>
-Adds a symbol to the default scope.
-</para>
-
-@scanner: a #GScanner.
-@symbol: the symbol to add.
-@value: the value of the symbol.
-@Deprecated: 2.2: Use g_scanner_scope_add_symbol() instead.
-
-
-<!-- ##### MACRO g_scanner_remove_symbol ##### -->
-<para>
-Removes a symbol from the default scope.
-</para>
-
-@scanner: a #GScanner.
-@symbol: the symbol to remove.
-@Deprecated: 2.2: Use g_scanner_scope_remove_symbol() instead.
-
-
-<!-- ##### MACRO g_scanner_foreach_symbol ##### -->
-<para>
-Calls a function for each symbol in the default scope.
-</para>
-
-@scanner: a #GScanner.
-@func: the function to call with each symbol.
-@data: data to pass to the function.
-@Deprecated: 2.2: Use g_scanner_scope_foreach_symbol() instead.
-
-
-<!-- ##### MACRO g_scanner_freeze_symbol_table ##### -->
-<para>
-There is no reason to use this macro, since it does nothing.
-</para>
-
-@scanner: a #GScanner.
-@Deprecated: 2.2: This macro does nothing.
-
-
-<!-- ##### MACRO g_scanner_thaw_symbol_table ##### -->
-<para>
-There is no reason to use this macro, since it does nothing.
-</para>
-
-@scanner: a #GScanner.
-@Deprecated: 2.2: This macro does nothing.
-
-
-<!-- ##### FUNCTION g_scanner_lookup_symbol ##### -->
-<para>
-Looks up a symbol in the current scope and return its value. If the
-symbol is not bound in the current scope, %NULL is returned.
-</para>
-
-@scanner: a #GScanner.
-@symbol: the symbol to look up.
-@Returns: the value of @symbol in the current scope, or %NULL
-if @symbol is not bound in the current scope.
-
-
-<!-- ##### FUNCTION g_scanner_warn ##### -->
-<para>
-Outputs a warning message, via the #GScanner message handler.
-</para>
-
-@scanner: a #GScanner.
-@format: the message format. See the <function>printf()</function>
-documentation.
-@Varargs: the parameters to insert into the format string.
-
-
-<!-- ##### FUNCTION g_scanner_error ##### -->
-<para>
-Outputs an error message, via the #GScanner message handler.
-</para>
-
-@scanner: a #GScanner.
-@format: the message format. See the <function>printf()</function>
-documentation.
-@Varargs: the parameters to insert into the format string.
-
-
-<!-- ##### FUNCTION g_scanner_unexp_token ##### -->
-<para>
-Outputs a message through the scanner's msg_handler, resulting from an
-unexpected token in the input stream.
-Note that you should not call g_scanner_peek_next_token() followed by
-g_scanner_unexp_token() without an intermediate call to
-g_scanner_get_next_token(), as g_scanner_unexp_token() evaluates the
-scanner's current token (not the peeked token) to construct part
-of the message.
-</para>
-
-@scanner: a #GScanner.
-@expected_token: the expected token.
-@identifier_spec: a string describing how the scanner's user refers to
- identifiers (%NULL defaults to "identifier").
- This is used if @expected_token is #G_TOKEN_IDENTIFIER
- or #G_TOKEN_IDENTIFIER_NULL.
-@symbol_spec: a string describing how the scanner's user refers to
- symbols (%NULL defaults to "symbol").
- This is used if @expected_token is #G_TOKEN_SYMBOL or
- any token value greater than #G_TOKEN_LAST.
-@symbol_name: the name of the symbol, if the scanner's current token
- is a symbol.
-@message: a message string to output at the end of the warning/error, or %NULL.
-@is_error: if %TRUE it is output as an error. If %FALSE it is output as a
- warning.
-
-
-<!-- ##### USER_FUNCTION GScannerMsgFunc ##### -->
-<para>
-Specifies the type of the message handler function.
-</para>
-
-@scanner: a #GScanner.
-@message: the message.
-@error: %TRUE if the message signals an error, %FALSE if it
- signals a warning.
-
-
-<!-- ##### MACRO G_CSET_a_2_z ##### -->
-<para>
-The set of lowercase ASCII alphabet characters.
-Used for specifying valid identifier characters in #GScannerConfig.
-</para>
-
-
-
-<!-- ##### MACRO G_CSET_A_2_Z ##### -->
-<para>
-The set of uppercase ASCII alphabet characters.
-Used for specifying valid identifier characters in #GScannerConfig.
-</para>
-
-
-
-<!-- ##### MACRO G_CSET_DIGITS ##### -->
-<para>
-The set of digits.
-Used for specifying valid identifier characters in #GScannerConfig.
-</para>
-
-
-
-<!-- ##### MACRO G_CSET_LATINC ##### -->
-<para>
-The set of uppercase ISO 8859-1 alphabet characters which are
-not ASCII characters.
-Used for specifying valid identifier characters in #GScannerConfig.
-</para>
-
-
-
-<!-- ##### MACRO G_CSET_LATINS ##### -->
-<para>
-The set of lowercase ISO 8859-1 alphabet characters which are
-not ASCII characters.
-Used for specifying valid identifier characters in #GScannerConfig.
-</para>
-
-
-
-<!-- ##### ENUM GTokenType ##### -->
-<para>
-The possible types of token returned from each g_scanner_get_next_token() call.
-</para>
-
-@G_TOKEN_EOF: the end of the file.
-@G_TOKEN_LEFT_PAREN: a '(' character.
-@G_TOKEN_LEFT_CURLY: a '{' character.
-@G_TOKEN_RIGHT_CURLY: a '}' character.
-
-<!-- ##### UNION GTokenValue ##### -->
-<para>
-A union holding the value of the token.
-</para>
-
-
-<!-- ##### ENUM GErrorType ##### -->
-<para>
-The possible errors, used in the <structfield>v_error</structfield> field
-of #GTokenValue, when the token is a #G_TOKEN_ERROR.
-</para>
-
-@G_ERR_UNKNOWN: unknown error.
-@G_ERR_UNEXP_EOF: unexpected end of file.
-@G_ERR_UNEXP_EOF_IN_STRING: unterminated string constant.
-@G_ERR_UNEXP_EOF_IN_COMMENT: unterminated comment.
-@G_ERR_NON_DIGIT_IN_CONST: non-digit character in a number.
-@G_ERR_DIGIT_RADIX: digit beyond radix in a number.
-@G_ERR_FLOAT_RADIX: non-decimal floating point number.
-@G_ERR_FLOAT_MALFORMED: malformed floating point number.
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Sequences
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSequence ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### TYPEDEF GSequenceIter ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### USER_FUNCTION GSequenceIterCompareFunc ##### -->
-<para>
-
-</para>
-
-@a:
-@b:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_new ##### -->
-<para>
-
-</para>
-
-@data_destroy:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_free ##### -->
-<para>
-
-</para>
-
-@seq:
-
-
-<!-- ##### FUNCTION g_sequence_get_length ##### -->
-<para>
-
-</para>
-
-@seq:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_foreach ##### -->
-<para>
-
-</para>
-
-@seq:
-@func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_sequence_foreach_range ##### -->
-<para>
-
-</para>
-
-@begin:
-@end:
-@func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_sequence_sort ##### -->
-<para>
-
-</para>
-
-@seq:
-@cmp_func:
-@cmp_data:
-
-
-<!-- ##### FUNCTION g_sequence_sort_iter ##### -->
-<para>
-
-</para>
-
-@seq:
-@cmp_func:
-@cmp_data:
-
-
-<!-- ##### FUNCTION g_sequence_get_begin_iter ##### -->
-<para>
-
-</para>
-
-@seq:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_get_end_iter ##### -->
-<para>
-
-</para>
-
-@seq:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_get_iter_at_pos ##### -->
-<para>
-
-</para>
-
-@seq:
-@pos:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_append ##### -->
-<para>
-
-</para>
-
-@seq:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_prepend ##### -->
-<para>
-
-</para>
-
-@seq:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_insert_before ##### -->
-<para>
-
-</para>
-
-@iter:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_move ##### -->
-<para>
-
-</para>
-
-@src:
-@dest:
-
-
-<!-- ##### FUNCTION g_sequence_swap ##### -->
-<para>
-
-</para>
-
-@a:
-@b:
-
-
-<!-- ##### FUNCTION g_sequence_insert_sorted ##### -->
-<para>
-
-</para>
-
-@seq:
-@data:
-@cmp_func:
-@cmp_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_insert_sorted_iter ##### -->
-<para>
-
-</para>
-
-@seq:
-@data:
-@iter_cmp:
-@cmp_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_sort_changed ##### -->
-<para>
-
-</para>
-
-@iter:
-@cmp_func:
-@cmp_data:
-
-
-<!-- ##### FUNCTION g_sequence_sort_changed_iter ##### -->
-<para>
-
-</para>
-
-@iter:
-@iter_cmp:
-@cmp_data:
-
-
-<!-- ##### FUNCTION g_sequence_remove ##### -->
-<para>
-
-</para>
-
-@iter:
-
-
-<!-- ##### FUNCTION g_sequence_remove_range ##### -->
-<para>
-
-</para>
-
-@begin:
-@end:
-
-
-<!-- ##### FUNCTION g_sequence_move_range ##### -->
-<para>
-
-</para>
-
-@dest:
-@begin:
-@end:
-
-
-<!-- ##### FUNCTION g_sequence_search ##### -->
-<para>
-
-</para>
-
-@seq:
-@data:
-@cmp_func:
-@cmp_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_search_iter ##### -->
-<para>
-
-</para>
-
-@seq:
-@data:
-@iter_cmp:
-@cmp_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_get ##### -->
-<para>
-
-</para>
-
-@iter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_set ##### -->
-<para>
-
-</para>
-
-@iter:
-@data:
-
-
-<!-- ##### FUNCTION g_sequence_iter_is_begin ##### -->
-<para>
-
-</para>
-
-@iter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_iter_is_end ##### -->
-<para>
-
-</para>
-
-@iter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_iter_next ##### -->
-<para>
-
-</para>
-
-@iter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_iter_prev ##### -->
-<para>
-
-</para>
-
-@iter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_iter_get_position ##### -->
-<para>
-
-</para>
-
-@iter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_iter_move ##### -->
-<para>
-
-</para>
-
-@iter:
-@delta:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_iter_get_sequence ##### -->
-<para>
-
-</para>
-
-@iter:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_iter_compare ##### -->
-<para>
-
-</para>
-
-@a:
-@b:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sequence_range_get_midpoint ##### -->
-<para>
-
-</para>
-
-@begin:
-@end:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Shell-related Utilities
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### ENUM GShellError ##### -->
-<para>
-
-</para>
-
-@G_SHELL_ERROR_BAD_QUOTING:
-@G_SHELL_ERROR_EMPTY_STRING:
-@G_SHELL_ERROR_FAILED:
-
-<!-- ##### MACRO G_SHELL_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_shell_parse_argv ##### -->
-<para>
-
-</para>
-
-@command_line:
-@argcp:
-@argvp:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_shell_quote ##### -->
-<para>
-
-</para>
-
-@unquoted_string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_shell_unquote ##### -->
-<para>
-
-</para>
-
-@quoted_string:
-@error:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Spawning Processes
-
-<!-- ##### SECTION Short_Description ##### -->
-process launching
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### ENUM GSpawnError ##### -->
-<para>
-Error codes returned by spawning processes.
-</para>
-
-@G_SPAWN_ERROR_FORK: Fork failed due to lack of memory.
-@G_SPAWN_ERROR_READ: Read or select on pipes failed.
-@G_SPAWN_ERROR_CHDIR: Changing to working directory failed.
-@G_SPAWN_ERROR_ACCES: execv() returned %EACCES.
-@G_SPAWN_ERROR_PERM: execv() returned %EPERM.
-@G_SPAWN_ERROR_2BIG: execv() returned %E2BIG.
-@G_SPAWN_ERROR_NOEXEC: execv() returned %ENOEXEC.
-@G_SPAWN_ERROR_NAMETOOLONG: execv() returned %ENAMETOOLONG.
-@G_SPAWN_ERROR_NOENT: execv() returned %ENOENT.
-@G_SPAWN_ERROR_NOMEM: execv() returned %ENOMEM.
-@G_SPAWN_ERROR_NOTDIR: execv() returned %ENOTDIR.
-@G_SPAWN_ERROR_LOOP: execv() returned %ELOOP.
-@G_SPAWN_ERROR_TXTBUSY: execv() returned %ETXTBUSY.
-@G_SPAWN_ERROR_IO: execv() returned %EIO.
-@G_SPAWN_ERROR_NFILE: execv() returned %ENFILE.
-@G_SPAWN_ERROR_MFILE: execv() returned %EMFILE.
-@G_SPAWN_ERROR_INVAL: execv() returned %EINVAL.
-@G_SPAWN_ERROR_ISDIR: execv() returned %EISDIR.
-@G_SPAWN_ERROR_LIBBAD: execv() returned %ELIBBAD.
-@G_SPAWN_ERROR_FAILED: Some other fatal failure, <literal>error->message</literal> should explain.
-
-<!-- ##### MACRO G_SPAWN_ERROR ##### -->
-<para>
-Error domain for spawning processes. Errors in this domain will
-be from the #GSpawnError enumeration. See #GError for information on
-error domains.
-</para>
-
-
-
-<!-- ##### ENUM GSpawnFlags ##### -->
-<para>
-Flags passed to g_spawn_sync(), g_spawn_async() and g_spawn_async_with_pipes().
-</para>
-
-@G_SPAWN_LEAVE_DESCRIPTORS_OPEN: the parent's open file descriptors will be
- inherited by the child; otherwise all descriptors except stdin/stdout/stderr
- will be closed before calling exec() in the child.
-@G_SPAWN_DO_NOT_REAP_CHILD: the child will not be automatically reaped; you
- must use g_child_watch_add() yourself (or call waitpid()
- or handle <literal>SIGCHLD</literal> yourself), or the child will become a zombie.
-@G_SPAWN_SEARCH_PATH: <literal>argv[0]</literal> need not be an absolute path,
- it will be looked for in the user's <envar>PATH</envar>.
-@G_SPAWN_STDOUT_TO_DEV_NULL: the child's standard output will be discarded,
- instead of going to the same location as the parent's standard output.
-@G_SPAWN_STDERR_TO_DEV_NULL: the child's standard error will be discarded.
-@G_SPAWN_CHILD_INHERITS_STDIN: the child will inherit the parent's standard
- input (by default, the child's standard input is attached to
- <filename>/dev/null</filename>).
-@G_SPAWN_FILE_AND_ARGV_ZERO: the first element of <literal>argv</literal> is
- the file to execute, while the remaining elements are the actual argument
- vector to pass to the file. Normally g_spawn_async_with_pipes() uses
- <literal>argv[0]</literal> as the file to execute, and passes all of
- <literal>argv</literal> to the child.
-
-<!-- ##### USER_FUNCTION GSpawnChildSetupFunc ##### -->
-<para>
-Specifies the type of the setup function passed to g_spawn_async(),
-g_spawn_sync() and g_spawn_async_with_pipes(). On POSIX platforms it
-is called in the child after GLib has performed all the setup it plans
-to perform but before calling exec(). On POSIX actions taken in this
-function will thus only affect the child, not the parent.
-</para>
-
-<para>
-Note that POSIX allows only async-signal-safe functions (see signal(7))
-to be called in the child between fork() and exec(), which drastically
-limits the usefulness of child setup functions.
-</para>
-
-<para>
-Also note that modifying the environment from the child setup function
-may not have the intended effect, since it will get overridden by
-a non-%NULL @env argument to the <literal>g_spawn...</literal> functions.
-</para>
-
-<para>
-On Windows the function is called in the parent. Its usefulness on
-Windows is thus questionable. In many cases executing the child setup
-function in the parent can have ill effects, and you should be very
-careful when porting software to Windows that uses child setup
-functions.
-</para>
-
-@user_data: user data to pass to the function.
-
-
-<!-- ##### FUNCTION g_spawn_async_with_pipes ##### -->
-<para>
-
-</para>
-
-@working_directory:
-@argv:
-@envp:
-@flags:
-@child_setup:
-@user_data:
-@child_pid:
-@standard_input:
-@standard_output:
-@standard_error:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_spawn_async ##### -->
-<para>
-
-</para>
-
-@working_directory:
-@argv:
-@envp:
-@flags:
-@child_setup:
-@user_data:
-@child_pid:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_spawn_sync ##### -->
-<para>
-
-</para>
-
-@working_directory:
-@argv:
-@envp:
-@flags:
-@child_setup:
-@user_data:
-@standard_output:
-@standard_error:
-@exit_status:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_spawn_command_line_async ##### -->
-<para>
-
-</para>
-
-@command_line:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_spawn_command_line_sync ##### -->
-<para>
-
-</para>
-
-@command_line:
-@standard_output:
-@standard_error:
-@exit_status:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_spawn_close_pid ##### -->
-<para>
-
-</para>
-
-@pid:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-String Chunks
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GStringChunk ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_string_chunk_new ##### -->
-<para>
-
-</para>
-
-@size:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_chunk_insert ##### -->
-<para>
-
-</para>
-
-@chunk:
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_chunk_insert_const ##### -->
-<para>
-
-</para>
-
-@chunk:
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_chunk_insert_len ##### -->
-<para>
-
-</para>
-
-@chunk:
-@string:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_chunk_clear ##### -->
-<para>
-
-</para>
-
-@chunk:
-
-
-<!-- ##### FUNCTION g_string_chunk_free ##### -->
-<para>
-
-</para>
-
-@chunk:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-String Utility Functions
-
-<!-- ##### SECTION Short_Description ##### -->
-various string-related functions
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-This section describes a number of utility functions for creating,
-duplicating, and manipulating strings.
-</para>
-<para>
-Note that the functions g_printf(), g_fprintf(), g_sprintf(), g_snprintf(),
-g_vprintf(), g_vfprintf(), g_vsprintf() and g_vsnprintf() are declared in
-the header <filename>gprintf.h</filename> which is <emphasis>not</emphasis>
-included in <filename>glib.h</filename> (otherwise using
-<filename>glib.h</filename> would drag in <filename>stdio.h</filename>), so
-you'll have to explicitly include <literal><glib/gprintf.h></literal>
-in order to use the GLib printf() functions.
-</para>
-<para id="string-precision">
-While you may use the printf() functions to format UTF-8 strings, notice that
-the precision of a <literal>%Ns</literal> parameter is interpreted as the
-number of <emphasis>bytes</emphasis>, not <emphasis>characters</emphasis> to print.
-On top of that, the GNU libc implementation of the printf() functions has the "feature"
-that it checks that the string given for the <literal>%Ns</literal> parameter
-consists of a whole number of characters in the current encoding. So, unless you
-are sure you are always going to be in an UTF-8 locale or your know your text is restricted
-to ASCII, avoid using <literal>%Ns</literal>.
-If your intention is to format strings for a certain number of columns, then
-<literal>%Ns</literal> is not a correct solution anyway, since it fails to take
-wide characters (see g_unichar_iswide()) into account.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### FUNCTION g_strdup ##### -->
-<para>
-
-</para>
-
-@str:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strndup ##### -->
-<para>
-
-</para>
-
-@str:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strdupv ##### -->
-<para>
-</para>
-
-@str_array:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strnfill ##### -->
-<para>
-
-</para>
-
-@length:
-@fill_char:
-@Returns:
-
-
-<!-- ##### FUNCTION g_stpcpy ##### -->
-<para>
-
-</para>
-
-@dest:
-@src:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strstr_len ##### -->
-<para>
-
-</para>
-
-@haystack:
-@haystack_len:
-@needle:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strrstr ##### -->
-<para>
-
-</para>
-
-@haystack:
-@needle:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strrstr_len ##### -->
-<para>
-
-</para>
-
-@haystack:
-@haystack_len:
-@needle:
-@Returns:
-
-
-<!-- ##### FUNCTION g_str_has_prefix ##### -->
-<para>
-
-</para>
-
-@str:
-@prefix:
-@Returns:
-
-
-<!-- ##### FUNCTION g_str_has_suffix ##### -->
-<para>
-
-</para>
-
-@str:
-@suffix:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strcmp0 ##### -->
-<para>
-
-</para>
-
-@str1:
-@str2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strlcpy ##### -->
-<para>
-
-</para>
-
-@dest:
-@src:
-@dest_size:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strlcat ##### -->
-<para>
-
-</para>
-
-@dest:
-@src:
-@dest_size:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strdup_printf ##### -->
-<para>
-</para>
-
-@format:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strdup_vprintf ##### -->
-<para>
-
-</para>
-
-@format:
-@args:
-@Returns:
-
-
-<!-- ##### FUNCTION g_printf ##### -->
-<para>
-
-</para>
-
-@format:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_vprintf ##### -->
-<para>
-
-</para>
-
-@format:
-@args:
-@Returns:
-
-
-<!-- ##### FUNCTION g_fprintf ##### -->
-<para>
-
-</para>
-
-@file:
-@format:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_vfprintf ##### -->
-<para>
-
-</para>
-
-@file:
-@format:
-@args:
-@Returns:
-
-
-<!-- ##### FUNCTION g_sprintf ##### -->
-<para>
-
-</para>
-
-@string:
-@format:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_vsprintf ##### -->
-<para>
-
-</para>
-
-@string:
-@format:
-@args:
-@Returns:
-
-
-<!-- ##### FUNCTION g_snprintf ##### -->
-<para>
-</para>
-
-@string:
-@n:
-@format:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_vsnprintf ##### -->
-<para>
-</para>
-
-@string:
-@n:
-@format:
-@args:
-@Returns:
-
-
-<!-- ##### FUNCTION g_vasprintf ##### -->
-<para>
-
-</para>
-
-@string:
-@format:
-@args:
-@Returns:
-
-
-<!-- ##### FUNCTION g_printf_string_upper_bound ##### -->
-<para>
-Calculates the maximum space needed to store the output of the sprintf()
-function.
-</para>
-
-@format: the format string. See the printf() documentation.
-@args: the parameters to be inserted into the format string.
-@Returns: the maximum space needed to store the formatted string.
-
-
-<!-- ##### FUNCTION g_ascii_isalnum ##### -->
-<para>
-Determines whether a character is alphanumeric.
-</para>
-<para>
-Unlike the standard C library isalnum() function, this only
-recognizes standard ASCII letters and ignores the locale, returning
-%FALSE for all non-ASCII characters. Also unlike the standard
-library function, this takes a <type>char</type>, not an <type>int</type>,
-so don't call it on %EOF but no need to cast to #guchar before passing a
-possibly non-ASCII character in.
-</para>
-
-@c: any character
-@Returns: %TRUE if @c is an ASCII alphanumeric character
-
-
-<!-- ##### FUNCTION g_ascii_isalpha ##### -->
-<para>
-Determines whether a character is alphabetic (i.e. a letter).
-</para>
-<para>
-Unlike the standard C library isalpha() function, this only
-recognizes standard ASCII letters and ignores the locale, returning
-%FALSE for all non-ASCII characters. Also unlike the standard
-library function, this takes a <type>char</type>, not an <type>int</type>,
-so don't call it on %EOF but no need to cast to #guchar before passing a
-possibly non-ASCII character in.
-</para>
-
-@c: any character
-@Returns: %TRUE if @c is an ASCII alphabetic character
-
-
-<!-- ##### FUNCTION g_ascii_iscntrl ##### -->
-<para>
-Determines whether a character is a control character.
-</para>
-<para>
-Unlike the standard C library iscntrl() function, this only
-recognizes standard ASCII control characters and ignores the locale,
-returning %FALSE for all non-ASCII characters. Also unlike the standard
-library function, this takes a <type>char</type>, not an <type>int</type>,
-so don't call it on %EOF but no need to cast to #guchar before passing a
-possibly non-ASCII character in.
-</para>
-
-@c: any character
-@Returns: %TRUE if @c is an ASCII control character.
-
-
-<!-- ##### FUNCTION g_ascii_isdigit ##### -->
-<para>
-Determines whether a character is digit (0-9).
-</para>
-<para>
-Unlike the standard C library isdigit() function,
-this takes a <type>char</type>, not an <type>int</type>, so don't call it
-on %EOF but no need to cast to #guchar before passing a possibly
-non-ASCII character in.
-</para>
-
-@c: any character
-@Returns: %TRUE if @c is an ASCII digit.
-
-
-<!-- ##### FUNCTION g_ascii_isgraph ##### -->
-<para>
-Determines whether a character is a printing character and not a space.
-</para>
-<para>
-Unlike the standard C library isgraph() function,
-this only recognizes standard ASCII characters and ignores the locale,
-returning %FALSE for all non-ASCII characters. Also unlike the standard
-library function, this takes a <type>char</type>, not an <type>int</type>,
-so don't call it on %EOF but no need to cast to #guchar before passing a
-possibly non-ASCII character in.
-</para>
-
-@c: any character
-@Returns: %TRUE if @c is an ASCII printing character other than space.
-
-
-<!-- ##### FUNCTION g_ascii_islower ##### -->
-<para>
-Determines whether a character is an ASCII lower case letter.
-</para>
-<para>
-Unlike the standard C library islower() function,
-this only recognizes standard ASCII letters and ignores the locale,
-returning %FALSE for all non-ASCII characters. Also unlike the standard
-library function, this takes a <type>char</type>, not an <type>int</type>,
-so don't call it on %EOF but no need to worry about casting to #guchar
-before passing a possibly non-ASCII character in.
-</para>
-
-@c: any character
-@Returns: %TRUE if @c is an ASCII lower case letter
-
-
-<!-- ##### FUNCTION g_ascii_isprint ##### -->
-<para>
-Determines whether a character is a printing character.
-</para>
-<para>
-Unlike the standard C library isprint() function,
-this only recognizes standard ASCII characters and ignores the locale,
-returning %FALSE for all non-ASCII characters. Also unlike the standard
-library function, this takes a <type>char</type>, not an <type>int</type>,
-so don't call it on %EOF but no need to cast to #guchar before passing a
-possibly non-ASCII character in.
-</para>
-
-@c: any character
-@Returns: %TRUE if @c is an ASCII printing character.
-
-
-<!-- ##### FUNCTION g_ascii_ispunct ##### -->
-<para>
-Determines whether a character is a punctuation character.
-</para>
-<para>
-Unlike the standard C library ispunct() function,
-this only recognizes standard ASCII letters and ignores the locale,
-returning %FALSE for all non-ASCII characters. Also unlike the standard
-library function, this takes a <type>char</type>, not an <type>int</type>,
-so don't call it on %EOF but no need to cast to #guchar before passing a
-possibly non-ASCII character in.
-</para>
-
-@c: any character
-@Returns: %TRUE if @c is an ASCII punctuation character.
-
-
-<!-- ##### FUNCTION g_ascii_isspace ##### -->
-<para>
-Determines whether a character is a white-space character.
-</para>
-<para>
-Unlike the standard C library isspace() function,
-this only recognizes standard ASCII white-space and ignores the locale,
-returning %FALSE for all non-ASCII characters. Also unlike the standard
-library function, this takes a <type>char</type>, not an <type>int</type>,
-so don't call it on %EOF but no need to cast to #guchar before passing a
-possibly non-ASCII character in.
-</para>
-
-@c: any character
-@Returns: %TRUE if @c is an ASCII white-space character
-
-
-<!-- ##### FUNCTION g_ascii_isupper ##### -->
-<para>
-Determines whether a character is an ASCII upper case letter.
-</para>
-<para>
-Unlike the standard C library isupper() function,
-this only recognizes standard ASCII letters and ignores the locale,
-returning %FALSE for all non-ASCII characters. Also unlike the standard
-library function, this takes a <type>char</type>, not an <type>int</type>,
-so don't call it on %EOF but no need to worry about casting to #guchar
-before passing a possibly non-ASCII character in.
-</para>
-
-@c: any character
-@Returns: %TRUE if @c is an ASCII upper case letter
-
-
-<!-- ##### FUNCTION g_ascii_isxdigit ##### -->
-<para>
-Determines whether a character is a hexadecimal-digit character.
-</para>
-<para>
-Unlike the standard C library isxdigit() function,
-this takes a <type>char</type>, not an <type>int</type>, so
-don't call it on %EOF but no need to cast to #guchar before passing a
-possibly non-ASCII character in.
-</para>
-
-@c: any character
-@Returns: %TRUE if @c is an ASCII hexadecimal-digit character.
-
-
-<!-- ##### FUNCTION g_ascii_digit_value ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ascii_xdigit_value ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ascii_strcasecmp ##### -->
-<para>
-
-</para>
-
-@s1:
-@s2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ascii_strncasecmp ##### -->
-<para>
-
-</para>
-
-@s1:
-@s2:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ascii_strup ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ascii_strdown ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ascii_tolower ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ascii_toupper ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_ascii_up ##### -->
-<para>
-
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_ascii_down ##### -->
-<para>
-
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strup ##### -->
-<para>
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strdown ##### -->
-<para>
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strcasecmp ##### -->
-<para>
-</para>
-
-@s1:
-@s2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strncasecmp ##### -->
-<para>
-</para>
-
-@s1:
-@s2:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strreverse ##### -->
-<para>
-
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ascii_strtoll ##### -->
-<para>
-
-</para>
-
-@nptr:
-@endptr:
-@base:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ascii_strtoull ##### -->
-<para>
-
-</para>
-
-@nptr:
-@endptr:
-@base:
-@Returns:
-
-
-<!-- ##### MACRO G_ASCII_DTOSTR_BUF_SIZE ##### -->
-<para>
-A good size for a buffer to be passed into g_ascii_dtostr().
-It is guaranteed to be enough for all output of that function on systems with
- 64bit IEEE-compatible doubles.
-</para>
-<para>
-The typical usage would be something like:
-<informalexample><programlisting>
- char buf[G_ASCII_DTOSTR_BUF_SIZE];
-
- fprintf (out, "value=%s\n", g_ascii_dtostr (buf, sizeof (buf), value));
-</programlisting></informalexample>
-</para>
-
-
-
-<!-- ##### FUNCTION g_ascii_strtod ##### -->
-<para>
-
-</para>
-
-@nptr:
-@endptr:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ascii_dtostr ##### -->
-<para>
-
-</para>
-
-@buffer:
-@buf_len:
-@d:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ascii_formatd ##### -->
-<para>
-
-</para>
-
-@buffer:
-@buf_len:
-@format:
-@d:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strtod ##### -->
-<para>
-
-</para>
-
-@nptr:
-@endptr:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strchug ##### -->
-<para>
-Removes leading whitespace from a string, by moving the rest of the
-characters forward.
-</para>
-<para>
-This function doesn't allocate or reallocate any memory; it modifies @string
-in place. The pointer to @string is returned to allow the nesting of functions.
-</para>
-<para>
-Also see g_strchomp() and g_strstrip().
-</para>
-
-@string: a string to remove the leading whitespace from.
-@Returns: @string.
-
-
-<!-- ##### FUNCTION g_strchomp ##### -->
-<para>
-Removes trailing whitespace from a string.
-</para>
-<para>
-This function doesn't allocate or reallocate any memory; it modifies @string in
-place. The pointer to @string is returned to allow the nesting of functions.
-</para>
-<para>
-Also see g_strchug() and g_strstrip().
-</para>
-
-@string: a string to remove the trailing whitespace from.
-@Returns: @string.
-
-
-<!-- ##### MACRO g_strstrip ##### -->
-<para>
-Removes leading and trailing whitespace from a string. See g_strchomp() and
-g_strchug().
-</para>
-
-@string: a string to remove the leading and trailing whitespace from.
-
-
-<!-- ##### FUNCTION g_strdelimit ##### -->
-<para>
-Converts any delimiter characters in @string to @new_delimiter.
-Any characters in @string which are found in @delimiters are changed
-to the @new_delimiter character. Modifies @string in place, and returns
-@string itself, not a copy. The return value is to allow nesting such as
-<literal>g_ascii_strup (g_strdelimit (str, "abc", '?'))</literal>.
-</para>
-
-@string: the string to convert.
-@delimiters: a string containing the current delimiters, or %NULL to use the
-standard delimiters defined in #G_STR_DELIMITERS.
-@new_delimiter: the new delimiter character.
-@Returns: @string.
-
-
-<!-- ##### MACRO G_STR_DELIMITERS ##### -->
-<para>
-The standard delimiters, used in g_strdelimit().
-</para>
-
-
-
-<!-- ##### FUNCTION g_strescape ##### -->
-<para>
-Escapes the special characters '\b', '\f', '\n', '\r', '\t', '\' and
-'"' in the string @source by inserting a '\' before
-them. Additionally all characters in the range 0x01-0x1F (everything
-below SPACE) and in the range 0x7F-0xFF (all non-ASCII chars) are
-replaced with a '\' followed by their octal representation. Characters
-supplied in @exceptions are not escaped.
-</para>
-
-<para>
-g_strcompress() does the reverse conversion.
-</para>
-
-@source: a string to escape.
-@exceptions: a string of characters not to escape in @source.
-@Returns: a newly-allocated copy of @source with certain
-characters escaped. See above.
-
-
-<!-- ##### FUNCTION g_strcompress ##### -->
-<para>
-Replaces all escaped characters with their one byte equivalent. It
-does the reverse conversion of g_strescape().
-</para>
-
-@source: a string to compress.
-@Returns: a newly-allocated copy of @source with all escaped
-character compressed.
-
-
-<!-- ##### FUNCTION g_strcanon ##### -->
-<para>
-For each character in @string, if the character is not in @valid_chars,
-replaces the character with @substitutor. Modifies @string in place,
-and return @string itself, not a copy. The return value is to allow
-nesting such as <literal>g_ascii_strup (g_strcanon (str, "abc", '?'))</literal>.
-</para>
-
-@string: a nul-terminated array of bytes.
-@valid_chars: bytes permitted in @string.
-@substitutor: replacement character for disallowed bytes.
-@Returns: @string.
-
-
-<!-- ##### FUNCTION g_strsplit ##### -->
-<para>
-</para>
-
-@string:
-@delimiter:
-@max_tokens:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strsplit_set ##### -->
-<para>
-
-</para>
-
-@string:
-@delimiters:
-@max_tokens:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strfreev ##### -->
-<para>
-
-</para>
-
-@str_array:
-
-
-<!-- ##### FUNCTION g_strconcat ##### -->
-<para>
-
-</para>
-
-@string1:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strjoin ##### -->
-<para>
-
-</para>
-
-@separator:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strjoinv ##### -->
-<para>
-
-</para>
-
-@separator:
-@str_array:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strv_length ##### -->
-<para>
-
-</para>
-
-@str_array:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strerror ##### -->
-<para>
-
-</para>
-
-@errnum:
-@Returns:
-
-
-<!-- ##### FUNCTION g_strsignal ##### -->
-<para>
-
-</para>
-
-@signum:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Strings
-
-<!-- ##### SECTION Short_Description ##### -->
-text buffers which grow automatically as text is added
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-A #GString is similar to a standard C string, except that it grows
-automatically as text is appended or inserted. Also, it stores the
-length of the string, so can be used for binary data with embedded
-nul bytes.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GString ##### -->
-<para>
-The #GString struct contains the public fields of a #GString.
-</para>
-
-@str: points to the character data. It may move as text is added.
- The <structfield>str</structfield> field is nul-terminated and so
- can be used as an ordinary C string.
-@len: contains the length of the string, not including the
- terminating nul byte.
-@allocated_len: the number of bytes that can be stored in the
- string before it needs to be reallocated. May be larger than @len.
-
-<!-- ##### FUNCTION g_string_new ##### -->
-<para>
-
-</para>
-
-@init:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_new_len ##### -->
-<para>
-
-</para>
-
-@init:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_sized_new ##### -->
-<para>
-
-</para>
-
-@dfl_size:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_assign ##### -->
-<para>
-
-</para>
-
-@string:
-@rval:
-@Returns:
-
-
-<!-- ##### MACRO g_string_sprintf ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO g_string_sprintfa ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_string_vprintf ##### -->
-<para>
-
-</para>
-
-@string:
-@format:
-@args:
-
-
-<!-- ##### FUNCTION g_string_append_vprintf ##### -->
-<para>
-
-</para>
-
-@string:
-@format:
-@args:
-
-
-<!-- ##### FUNCTION g_string_printf ##### -->
-<para>
-
-</para>
-
-@string:
-@format:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_string_append_printf ##### -->
-<para>
-
-</para>
-
-@string:
-@format:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_string_append ##### -->
-<para>
-
-</para>
-
-@string:
-@val:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_append_c ##### -->
-<para>
-
-</para>
-
-@string:
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_append_unichar ##### -->
-<para>
-
-</para>
-
-@string:
-@wc:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_append_len ##### -->
-<para>
-
-</para>
-
-@string:
-@val:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_append_uri_escaped ##### -->
-<para>
-
-</para>
-
-@string:
-@unescaped:
-@reserved_chars_allowed:
-@allow_utf8:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_prepend ##### -->
-<para>
-
-</para>
-
-@string:
-@val:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_prepend_c ##### -->
-<para>
-
-</para>
-
-@string:
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_prepend_unichar ##### -->
-<para>
-
-</para>
-
-@string:
-@wc:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_prepend_len ##### -->
-<para>
-
-</para>
-
-@string:
-@val:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_insert ##### -->
-<para>
-
-</para>
-
-@string:
-@pos:
-@val:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_insert_c ##### -->
-<para>
-
-</para>
-
-@string:
-@pos:
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_insert_unichar ##### -->
-<para>
-
-</para>
-
-@string:
-@pos:
-@wc:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_insert_len ##### -->
-<para>
-
-</para>
-
-@string:
-@pos:
-@val:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_overwrite ##### -->
-<para>
-
-</para>
-
-@string:
-@pos:
-@val:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_overwrite_len ##### -->
-<para>
-
-</para>
-
-@string:
-@pos:
-@val:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_erase ##### -->
-<para>
-
-</para>
-
-@string:
-@pos:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_truncate ##### -->
-<para>
-
-</para>
-
-@string:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_set_size ##### -->
-<para>
-
-</para>
-
-@string:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_free ##### -->
-<para>
-
-</para>
-
-@string:
-@free_segment:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_up ##### -->
-<para>
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_down ##### -->
-<para>
-</para>
-
-@string:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_hash ##### -->
-<para>
-
-</para>
-
-@str:
-@Returns:
-
-
-<!-- ##### FUNCTION g_string_equal ##### -->
-<para>
-
-</para>
-
-@v:
-@v2:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Testing
-
-<!-- ##### SECTION Short_Description ##### -->
-a test framework
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-GLib provides a framework for writing and maintaining unit tests
-in parallel to the code they are testing. The API is designed according
-to established concepts found in the other test frameworks (JUnit, NUnit,
-RUnit), which in turn is based on smalltalk unit testing concepts.
-<variablelist>
- <varlistentry>
- <term>Test case</term>
- <listitem><para>
- Tests (test methods) are grouped together with their
- fixture into test cases.
- </para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Fixture</term>
- <listitem><para>
- A test fixture consists of fixture data and setup and teardown methods
- to establish the environment for the test functions. We use fresh
- fixtures, i.e. fixtures are newly set up and torn down around each test
- invocation to avoid dependencies between tests.
- </para></listitem>
- </varlistentry>
- <varlistentry>
- <term>Test suite</term>
- <listitem><para>
- Test cases can be grouped into test suites, to allow subsets of the
- available tests to be run. Test suites can be grouped into other test
- suites as well.
- </para></listitem>
- </varlistentry>
-</variablelist>
-The API is designed to handle creation and registration of test suites and
-test cases implicitly. A simple call like
-<informalexample><programlisting>
- g_test_add_func ("/misc/assertions", test_assertions);
-</programlisting></informalexample>
-creates a test suite called "misc" with a single test case named "assertions",
-which consists of running the test_assertions function.
-</para>
-<para>
-In addition to the traditional g_assert(), the test framework provides
-an extended set of assertions for string and numerical comparisons:
-g_assert_cmpfloat(), g_assert_cmpint(), g_assert_cmpuint(), g_assert_cmphex(),
-g_assert_cmpstr(). The advantage of these variants over plain g_assert()
-is that the assertion messages can be more elaborate, and include the
-values of the compared entities.
-</para>
-<para>
-GLib ships with two utilities called gtester and gtester-report to
-facilitate running tests and producing nicely formatted test reports.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<link linkend="gtester">gtester</link>,
-<link linkend="gtester-report">gtester-report</link>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### FUNCTION g_test_minimized_result ##### -->
-<para>
-
-</para>
-
-@minimized_quantity:
-@format:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_test_maximized_result ##### -->
-<para>
-
-</para>
-
-@maximized_quantity:
-@format:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_test_init ##### -->
-<para>
-
-</para>
-
-@argc:
-@argv:
-@Varargs:
-
-
-<!-- ##### MACRO g_test_quick ##### -->
-<para>
-Returns %TRUE if tests are run in quick mode.
-</para>
-
-
-
-<!-- ##### MACRO g_test_slow ##### -->
-<para>
-Returns %TRUE if tests are run in slow mode.
-</para>
-
-
-
-<!-- ##### MACRO g_test_thorough ##### -->
-<para>
-Returns %TRUE if tests are run in thorough mode.
-</para>
-
-
-
-<!-- ##### MACRO g_test_perf ##### -->
-<para>
-Returns %TRUE if tests are run in performance mode.
-</para>
-
-
-
-<!-- ##### MACRO g_test_verbose ##### -->
-<para>
-Returns %TRUE if tests are run in verbose mode.
-</para>
-
-
-
-<!-- ##### MACRO g_test_quiet ##### -->
-<para>
-Returns %TRUE if tests are run in quiet mode.
-</para>
-
-
-
-<!-- ##### FUNCTION g_test_run ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_test_add_func ##### -->
-<para>
-
-</para>
-
-@testpath:
-@test_func:
-
-
-<!-- ##### FUNCTION g_test_add_data_func ##### -->
-<para>
-
-</para>
-
-@testpath:
-@test_data:
-@test_func:
-
-
-<!-- ##### MACRO g_test_add ##### -->
-<para>
-
-</para>
-
-@testpath:
-@Fixture:
-@tdata:
-@fsetup:
-@ftest:
-@fteardown:
-
-
-<!-- ##### FUNCTION g_test_message ##### -->
-<para>
-
-</para>
-
-@format:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_test_bug_base ##### -->
-<para>
-
-</para>
-
-@uri_pattern:
-
-
-<!-- ##### FUNCTION g_test_bug ##### -->
-<para>
-
-</para>
-
-@bug_uri_snippet:
-
-
-<!-- ##### USER_FUNCTION GTestLogFatalFunc ##### -->
-<para>
-
-</para>
-
-@log_domain:
-@log_level:
-@message:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_test_log_set_fatal_handler ##### -->
-<para>
-
-</para>
-
-@log_func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_test_timer_start ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_test_timer_elapsed ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_test_timer_last ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_test_queue_free ##### -->
-<para>
-
-</para>
-
-@gfree_pointer:
-
-
-<!-- ##### FUNCTION g_test_queue_destroy ##### -->
-<para>
-
-</para>
-
-@destroy_func:
-@destroy_data:
-
-
-<!-- ##### MACRO g_test_queue_unref ##### -->
-<para>
-Enqueue an object to be released with g_object_unref() during
-the next teardown phase. This is equivalent to calling g_test_queue_destroy()
-with a destroy callback of g_object_unref().
-</para>
-
-@gobject: the object to unref
-@Since: 2.16
-
-
-<!-- ##### ENUM GTestTrapFlags ##### -->
-<para>
-Test traps are guards around forked tests. These flags
-determine what traps to set.
-</para>
-
-@G_TEST_TRAP_SILENCE_STDOUT: Redirect stdout of the test child to
- <filename>/dev/null</filename> so it cannot be observed on the
- console during test runs. The actual output is still captured
- though to allow later tests with g_test_trap_assert_stdout().
-@G_TEST_TRAP_SILENCE_STDERR: Redirect stderr of the test child to
- <filename>/dev/null</filename> so it cannot be observed on the
- console during test runs. The actual output is still captured
- though to allow later tests with g_test_trap_assert_stderr().
-@G_TEST_TRAP_INHERIT_STDIN: If this flag is given, stdin of the forked
- child process is shared with stdin of its parent process. It is
- redirected to <filename>/dev/null</filename> otherwise.
-
-<!-- ##### FUNCTION g_test_trap_fork ##### -->
-<para>
-
-</para>
-
-@usec_timeout:
-@test_trap_flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_test_trap_has_passed ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_test_trap_reached_timeout ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### MACRO g_test_trap_assert_passed ##### -->
-<para>
-Assert that the last forked test passed. See g_test_trap_fork().
-</para>
-
-@Since: 2.16
-
-
-<!-- ##### MACRO g_test_trap_assert_failed ##### -->
-<para>
-Assert that the last forked test failed. See g_test_trap_fork().
-</para>
-
-@Since: 2.16
-
-
-<!-- ##### MACRO g_test_trap_assert_stdout ##### -->
-<para>
-Assert that the stdout output of the last forked test matches @soutpattern.
-See g_test_trap_fork().
-</para>
-
-@soutpattern: a glob-style <link linkend="glib-Glob-style-pattern-matching">pattern</link>
-@Since: 2.16
-
-
-<!-- ##### MACRO g_test_trap_assert_stdout_unmatched ##### -->
-<para>
-Assert that the stdout output of the last forked test does not match
-@soutpattern. See g_test_trap_fork().
-</para>
-
-@soutpattern: a glob-style <link linkend="glib-Glob-style-pattern-matching">pattern</link>
-@Since: 2.16
-
-
-<!-- ##### MACRO g_test_trap_assert_stderr ##### -->
-<para>
-Assert that the stderr output of the last forked test matches @serrpattern.
-See g_test_trap_fork().
-</para>
-
-@serrpattern: a glob-style <link linkend="glib-Glob-style-pattern-matching">pattern</link>
-@Since: 2.16
-
-
-<!-- ##### MACRO g_test_trap_assert_stderr_unmatched ##### -->
-<para>
-Assert that the stderr output of the last forked test does not match
-@serrpattern. See g_test_trap_fork().
-</para>
-
-@serrpattern: a glob-style <link linkend="glib-Glob-style-pattern-matching">pattern</link>
-@Since: 2.16
-
-
-<!-- ##### MACRO g_test_rand_bit ##### -->
-<para>
-Get a reproducible random bit (0 or 1),
-see g_test_rand_int() for details on test case random numbers.
-</para>
-
-@Since: 2.16
-
-
-<!-- ##### FUNCTION g_test_rand_int ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_test_rand_int_range ##### -->
-<para>
-
-</para>
-
-@begin:
-@end:
-@Returns:
-
-
-<!-- ##### FUNCTION g_test_rand_double ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_test_rand_double_range ##### -->
-<para>
-
-</para>
-
-@range_start:
-@range_end:
-@Returns:
-
-
-<!-- ##### MACRO g_assert ##### -->
-<para>
-Debugging macro to terminate the application if the assertion fails.
-If the assertion fails (i.e. the expression is not true), an error message
-is logged and the application is terminated.
-</para>
-<para>
-The macro can be turned off in final releases of code by defining
-#G_DISABLE_ASSERT when compiling the application.
-</para>
-
-@expr: the expression to check.
-
-
-<!-- ##### MACRO g_assert_not_reached ##### -->
-<para>
-Debugging macro to terminate the application if it is ever reached.
-If it is reached, an error message is logged and the application is terminated.
-</para>
-<para>
-The macro can be turned off in final releases of code by defining
-#G_DISABLE_ASSERT when compiling the application.
-</para>
-
-
-
-<!-- ##### MACRO g_assert_cmpstr ##### -->
-<para>
-Debugging macro to terminate the application with a warning message
-if a string comparison fails.
-The strings are compared using g_strcmp0().
-</para>
-<para>
-The effect of <literal>g_assert_cmpstr (s1, op, s2)</literal> is the same
-as <literal>g_assert (g_strcmp0 (s1, s2) op 0)</literal>. The advantage of this macro
-is that it can produce a message that includes the actual values of @s1
-and @s2.
-</para>
-<informalexample><programlisting>
- g_assert_cmpstr (mystring, ==, "fubar");
-</programlisting></informalexample>
-
-@s1: a string (may be %NULL)
-@cmp: The comparison operator to use. One of ==, !=, <, >, <=, >=.
-@s2: another string (may be %NULL)
-@Since: 2.16
-
-
-<!-- ##### MACRO g_assert_cmpint ##### -->
-<para>
-Debugging macro to terminate the application with a warning message
-if an integer comparison fails.
-</para>
-<para>
-The effect of <literal>g_assert_cmpint (n1, op, n2)</literal> is the same
-as <literal>g_assert (n1 op n2)</literal>. The advantage of this macro
-is that it can produce a message that includes the actual values of @n1
-and @n2.
-</para>
-
-@n1: an integer
-@cmp: The comparison operator to use. One of ==, !=, <, >, <=, >=.
-@n2: another integer
-@Since: 2.16
-
-
-<!-- ##### MACRO g_assert_cmpuint ##### -->
-<para>
-Debugging macro to terminate the application with a warning message
-if an unsigned integer comparison fails.
-</para>
-<para>
-The effect of <literal>g_assert_cmpuint (n1, op, n2)</literal> is the same
-as <literal>g_assert (n1 op n2)</literal>. The advantage of this macro
-is that it can produce a message that includes the actual values of @n1
-and @n2.
-</para>
-
-@n1: an unsigned integer
-@cmp: The comparison operator to use. One of ==, !=, <, >, <=, >=.
-@n2: another unsigned integer
-@Since: 2.16
-
-
-<!-- ##### MACRO g_assert_cmphex ##### -->
-<para>
-Debugging macro to terminate the application with a warning message
-if an unsigned integer comparison fails. This is a variant of
-g_assert_cmpuint() that displays the numbers in hexadecimal notation
-in the message.
-</para>
-
-@n1: an unsigned integer
-@cmp: The comparison operator to use. One of ==, !=, <, >, <=, >=.
-@n2: another unsigned integer
-@Since: 2.16
-
-
-<!-- ##### MACRO g_assert_cmpfloat ##### -->
-<para>
-Debugging macro to terminate the application with a warning message
-if a floating point number comparison fails.
-</para>
-<para>
-The effect of <literal>g_assert_cmpfloat (n1, op, n2)</literal> is the same
-as <literal>g_assert (n1 op n2)</literal>. The advantage of this function
-is that it can produce a message that includes the actual values of @n1
-and @n2.
-</para>
-
-@n1: an floating point number
-@cmp: The comparison operator to use. One of ==, !=, <, >, <=, >=.
-@n2: another floating point number
-@Since: 2.16
-
-
-<!-- ##### MACRO g_assert_no_error ##### -->
-<para>
-Debugging macro to terminate the application with a warning message
-if a method has returned a #GError.
-</para>
-<para>
-The effect of <literal>g_assert_no_error (err)</literal> is the same
-as <literal>g_assert (err == NULL)</literal>. The advantage of this macro
-is that it can produce a message that includes the error message and code.
-</para>
-
-@err: a #GError, possibly %NULL
-@Since: 2.20
-
-
-<!-- ##### MACRO g_assert_error ##### -->
-<para>
-Debugging macro to terminate the application with a warning message
-if a method has not returned the correct #GError.
-</para>
-<para>
-The effect of <literal>g_assert_error (err, dom, c)</literal> is the same
-as <literal>g_assert (err != NULL && err->domain == dom && err->code == c)</literal>.
-The advantage of this macro is that it can produce a message that
-includes the incorrect error message and code.
-</para>
-<para>
-This can only be used to test for a specific error. If you want to
-test that @err is set, but don't care what it's set to, just use
-<literal>g_assert (err != NULL)</literal>
-</para>
-
-@err: a #GError, possibly %NULL
-@dom: the expected error domain (a #GQuark)
-@c: the expected error code
-@Since: 2.20
-
-
-<!-- ##### TYPEDEF GTestCase ##### -->
-<para>
-An opaque structure representing a test case.
-</para>
-
-
-<!-- ##### TYPEDEF GTestSuite ##### -->
-<para>
-An opaque structure representing a test suite.
-</para>
-
-
-<!-- ##### FUNCTION g_test_create_case ##### -->
-<para>
-
-</para>
-
-@test_name:
-@data_size:
-@test_data:
-@data_setup:
-@data_test:
-@data_teardown:
-@Returns:
-
-
-<!-- ##### FUNCTION g_test_create_suite ##### -->
-<para>
-
-</para>
-
-@suite_name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_test_get_root ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_test_suite_add ##### -->
-<para>
-
-</para>
-
-@suite:
-@test_case:
-
-
-<!-- ##### FUNCTION g_test_suite_add_suite ##### -->
-<para>
-
-</para>
-
-@suite:
-@nestedsuite:
-
-
-<!-- ##### FUNCTION g_test_run_suite ##### -->
-<para>
-
-</para>
-
-@suite:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Thread Pools
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GThreadPool ##### -->
-<para>
-
-</para>
-
-@func:
-@user_data:
-@exclusive:
-
-<!-- ##### FUNCTION g_thread_pool_new ##### -->
-<para>
-
-</para>
-
-@func:
-@user_data:
-@max_threads:
-@exclusive:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_thread_pool_push ##### -->
-<para>
-
-</para>
-
-@pool:
-@data:
-@error:
-
-
-<!-- ##### FUNCTION g_thread_pool_set_max_threads ##### -->
-<para>
-
-</para>
-
-@pool:
-@max_threads:
-@error:
-
-
-<!-- ##### FUNCTION g_thread_pool_get_max_threads ##### -->
-<para>
-
-</para>
-
-@pool:
-@Returns:
-
-
-<!-- ##### FUNCTION g_thread_pool_get_num_threads ##### -->
-<para>
-
-</para>
-
-@pool:
-@Returns:
-
-
-<!-- ##### FUNCTION g_thread_pool_unprocessed ##### -->
-<para>
-
-</para>
-
-@pool:
-@Returns:
-
-
-<!-- ##### FUNCTION g_thread_pool_free ##### -->
-<para>
-
-</para>
-
-@pool:
-@immediate:
-@wait_:
-
-
-<!-- ##### FUNCTION g_thread_pool_set_max_unused_threads ##### -->
-<para>
-
-</para>
-
-@max_threads:
-
-
-<!-- ##### FUNCTION g_thread_pool_get_max_unused_threads ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_thread_pool_get_num_unused_threads ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_thread_pool_stop_unused_threads ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_thread_pool_set_sort_function ##### -->
-<para>
-
-</para>
-
-@pool:
-@func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_thread_pool_set_max_idle_time ##### -->
-<para>
-
-</para>
-
-@interval:
-
-
-<!-- ##### FUNCTION g_thread_pool_get_max_idle_time ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Threads
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_THREADS_ENABLED ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_THREADS_IMPL_POSIX ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_THREADS_IMPL_NONE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_THREAD_ERROR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### ENUM GThreadError ##### -->
-<para>
-
-</para>
-
-@G_THREAD_ERROR_AGAIN:
-
-<!-- ##### STRUCT GThreadFunctions ##### -->
-<para>
-
-</para>
-
-@mutex_new:
-@mutex_lock:
-@mutex_trylock:
-@mutex_unlock:
-@mutex_free:
-@cond_new:
-@cond_signal:
-@cond_broadcast:
-@cond_wait:
-@cond_timed_wait:
-@cond_free:
-@private_new:
-@private_get:
-@private_set:
-@thread_create:
-@thread_yield:
-@thread_join:
-@thread_exit:
-@thread_set_priority:
-@thread_self:
-@thread_equal:
-
-<!-- ##### FUNCTION g_thread_init ##### -->
-<para>
-
-</para>
-
-@vtable:
-
-
-<!-- ##### FUNCTION g_thread_supported ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_thread_get_initialized ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GThreadFunc ##### -->
-<para>
-
-</para>
-
-@data:
-@Returns:
-
-
-<!-- ##### ENUM GThreadPriority ##### -->
-<para>
-
-</para>
-
-@G_THREAD_PRIORITY_LOW:
-@G_THREAD_PRIORITY_NORMAL:
-@G_THREAD_PRIORITY_HIGH:
-@G_THREAD_PRIORITY_URGENT:
-
-<!-- ##### STRUCT GThread ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_thread_create ##### -->
-<para>
-
-</para>
-
-@func:
-@data:
-@joinable:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_thread_create_full ##### -->
-<para>
-
-</para>
-
-@func:
-@data:
-@stack_size:
-@joinable:
-@bound:
-@priority:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_thread_self ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_thread_join ##### -->
-<para>
-
-</para>
-
-@thread:
-@Returns:
-
-
-<!-- ##### FUNCTION g_thread_set_priority ##### -->
-<para>
-
-</para>
-
-@thread:
-@priority:
-
-
-<!-- ##### FUNCTION g_thread_yield ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_thread_exit ##### -->
-<para>
-
-</para>
-
-@retval:
-
-
-<!-- ##### FUNCTION g_thread_foreach ##### -->
-<para>
-
-</para>
-
-@thread_func:
-@user_data:
-
-
-<!-- ##### STRUCT GMutex ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_mutex_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_mutex_lock ##### -->
-<para>
-
-</para>
-
-@mutex:
-
-
-<!-- ##### FUNCTION g_mutex_trylock ##### -->
-<para>
-
-</para>
-
-@mutex:
-@Returns:
-
-
-<!-- ##### FUNCTION g_mutex_unlock ##### -->
-<para>
-
-</para>
-
-@mutex:
-
-
-<!-- ##### FUNCTION g_mutex_free ##### -->
-<para>
-
-</para>
-
-@mutex:
-
-
-<!-- ##### STRUCT GStaticMutex ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_STATIC_MUTEX_INIT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_static_mutex_init ##### -->
-<para>
-
-</para>
-
-@mutex:
-
-
-<!-- ##### FUNCTION g_static_mutex_lock ##### -->
-<para>
-
-</para>
-
-@mutex:
-
-
-<!-- ##### FUNCTION g_static_mutex_trylock ##### -->
-<para>
-
-</para>
-
-@mutex:
-@Returns:
-
-
-<!-- ##### FUNCTION g_static_mutex_unlock ##### -->
-<para>
-
-</para>
-
-@mutex:
-
-
-<!-- ##### FUNCTION g_static_mutex_get_mutex ##### -->
-<para>
-
-</para>
-
-@mutex:
-@Returns:
-
-
-<!-- ##### FUNCTION g_static_mutex_free ##### -->
-<para>
-
-</para>
-
-@mutex:
-
-
-<!-- ##### MACRO G_LOCK_DEFINE ##### -->
-<para>
-
-</para>
-
-@name:
-
-
-<!-- ##### MACRO G_LOCK_DEFINE_STATIC ##### -->
-<para>
-
-</para>
-
-@name:
-
-
-<!-- ##### MACRO G_LOCK_EXTERN ##### -->
-<para>
-
-</para>
-
-@name:
-
-
-<!-- ##### MACRO G_LOCK ##### -->
-<para>
-
-</para>
-
-@name:
-
-
-<!-- ##### MACRO G_TRYLOCK ##### -->
-<para>
-
-</para>
-
-@name:
-
-
-<!-- ##### MACRO G_UNLOCK ##### -->
-<para>
-
-</para>
-
-@name:
-
-
-<!-- ##### STRUCT GStaticRecMutex ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_STATIC_REC_MUTEX_INIT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_static_rec_mutex_init ##### -->
-<para>
-
-</para>
-
-@mutex:
-
-
-<!-- ##### FUNCTION g_static_rec_mutex_lock ##### -->
-<para>
-
-</para>
-
-@mutex:
-
-
-<!-- ##### FUNCTION g_static_rec_mutex_trylock ##### -->
-<para>
-
-</para>
-
-@mutex:
-@Returns:
-
-
-<!-- ##### FUNCTION g_static_rec_mutex_unlock ##### -->
-<para>
-
-</para>
-
-@mutex:
-
-
-<!-- ##### FUNCTION g_static_rec_mutex_lock_full ##### -->
-<para>
-
-</para>
-
-@mutex:
-@depth:
-
-
-<!-- ##### FUNCTION g_static_rec_mutex_unlock_full ##### -->
-<para>
-
-</para>
-
-@mutex:
-@Returns:
-
-
-<!-- ##### FUNCTION g_static_rec_mutex_free ##### -->
-<para>
-
-</para>
-
-@mutex:
-
-
-<!-- ##### STRUCT GStaticRWLock ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_STATIC_RW_LOCK_INIT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_static_rw_lock_init ##### -->
-<para>
-
-</para>
-
-@lock:
-
-
-<!-- ##### FUNCTION g_static_rw_lock_reader_lock ##### -->
-<para>
-
-</para>
-
-@lock:
-
-
-<!-- ##### FUNCTION g_static_rw_lock_reader_trylock ##### -->
-<para>
-
-</para>
-
-@lock:
-@Returns:
-
-
-<!-- ##### FUNCTION g_static_rw_lock_reader_unlock ##### -->
-<para>
-
-</para>
-
-@lock:
-
-
-<!-- ##### FUNCTION g_static_rw_lock_writer_lock ##### -->
-<para>
-
-</para>
-
-@lock:
-
-
-<!-- ##### FUNCTION g_static_rw_lock_writer_trylock ##### -->
-<para>
-
-</para>
-
-@lock:
-@Returns:
-
-
-<!-- ##### FUNCTION g_static_rw_lock_writer_unlock ##### -->
-<para>
-
-</para>
-
-@lock:
-
-
-<!-- ##### FUNCTION g_static_rw_lock_free ##### -->
-<para>
-
-</para>
-
-@lock:
-
-
-<!-- ##### STRUCT GCond ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_cond_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_cond_signal ##### -->
-<para>
-
-</para>
-
-@cond:
-
-
-<!-- ##### FUNCTION g_cond_broadcast ##### -->
-<para>
-
-</para>
-
-@cond:
-
-
-<!-- ##### FUNCTION g_cond_wait ##### -->
-<para>
-
-</para>
-
-@cond:
-@mutex:
-
-
-<!-- ##### FUNCTION g_cond_timed_wait ##### -->
-<para>
-
-</para>
-
-@cond:
-@mutex:
-@abs_time:
-@Returns:
-
-
-<!-- ##### FUNCTION g_cond_free ##### -->
-<para>
-
-</para>
-
-@cond:
-
-
-<!-- ##### STRUCT GPrivate ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_private_new ##### -->
-<para>
-
-</para>
-
-@destructor:
-@Returns:
-
-
-<!-- ##### FUNCTION g_private_get ##### -->
-<para>
-
-</para>
-
-@private_key:
-@Returns:
-
-
-<!-- ##### FUNCTION g_private_set ##### -->
-<para>
-
-</para>
-
-@private_key:
-@data:
-
-
-<!-- ##### STRUCT GStaticPrivate ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_STATIC_PRIVATE_INIT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_static_private_init ##### -->
-<para>
-
-</para>
-
-@private_key:
-
-
-<!-- ##### FUNCTION g_static_private_get ##### -->
-<para>
-
-</para>
-
-@private_key:
-@Returns:
-
-
-<!-- ##### FUNCTION g_static_private_set ##### -->
-<para>
-
-</para>
-
-@private_key:
-@data:
-@notify:
-
-
-<!-- ##### FUNCTION g_static_private_free ##### -->
-<para>
-
-</para>
-
-@private_key:
-
-
-<!-- ##### STRUCT GOnce ##### -->
-<para>
-
-</para>
-
-@status:
-@retval:
-
-<!-- ##### ENUM GOnceStatus ##### -->
-<para>
-
-</para>
-
-@G_ONCE_STATUS_NOTCALLED:
-@G_ONCE_STATUS_PROGRESS:
-@G_ONCE_STATUS_READY:
-
-<!-- ##### MACRO G_ONCE_INIT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO g_once ##### -->
-<para>
-
-</para>
-
-@once:
-@func:
-@arg:
-
-
-<!-- ##### FUNCTION g_once_init_enter ##### -->
-<para>
-
-</para>
-
-@value_location:
-@Returns:
-
-
-<!-- ##### FUNCTION g_once_init_leave ##### -->
-<para>
-
-</para>
-
-@value_location:
-@initialization_value:
-
-
-<!-- ##### FUNCTION g_bit_lock ##### -->
-<para>
-
-</para>
-
-@address:
-@lock_bit:
-
-
-<!-- ##### FUNCTION g_bit_trylock ##### -->
-<para>
-
-</para>
-
-@address:
-@lock_bit:
-@Returns:
-
-
-<!-- ##### FUNCTION g_bit_unlock ##### -->
-<para>
-
-</para>
-
-@address:
-@lock_bit:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Timers
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GTimer ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_timer_new ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_timer_start ##### -->
-<para>
-
-</para>
-
-@timer:
-
-
-<!-- ##### FUNCTION g_timer_stop ##### -->
-<para>
-
-</para>
-
-@timer:
-
-
-<!-- ##### FUNCTION g_timer_continue ##### -->
-<para>
-
-</para>
-
-@timer:
-
-
-<!-- ##### FUNCTION g_timer_elapsed ##### -->
-<para>
-
-</para>
-
-@timer:
-@microseconds:
-@Returns:
-
-
-<!-- ##### FUNCTION g_timer_reset ##### -->
-<para>
-
-</para>
-
-@timer:
-
-
-<!-- ##### FUNCTION g_timer_destroy ##### -->
-<para>
-
-</para>
-
-@timer:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Trash Stacks
-
-<!-- ##### SECTION Short_Description ##### -->
-maintain a stack of unused allocated memory chunks
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-A #GTrashStack is an efficient way to keep a stack of unused allocated
-memory chunks. Each memory chunk is required to be large enough to hold
-a #gpointer. This allows the stack to be maintained without any space
-overhead, since the stack pointers can be stored inside the memory chunks.
-</para>
-<para>
-There is no function to create a #GTrashStack. A %NULL #GTrashStack*
-is a perfectly valid empty stack.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GTrashStack ##### -->
-<para>
-Each piece of memory that is pushed onto the stack
-is cast to a <structname>GTrashStack*</structname>.
-</para>
-
-@next: pointer to the previous element of the stack,
-gets stored in the first <literal>sizeof (gpointer)</literal>
-bytes of the element.
-
-<!-- ##### FUNCTION g_trash_stack_push ##### -->
-<para>
-Pushes a piece of memory onto a #GTrashStack.
-</para>
-
-@stack_p: a pointer to a #GTrashStack.
-@data_p: the piece of memory to push on the stack.
-
-
-<!-- ##### FUNCTION g_trash_stack_pop ##### -->
-<para>
-Pops a piece of memory off a #GTrashStack.
-</para>
-
-@stack_p: a pointer to a #GTrashStack.
-@Returns: the element at the top of the stack.
-
-
-<!-- ##### FUNCTION g_trash_stack_peek ##### -->
-<para>
-Returns the element at the top of a #GTrashStack which may be %NULL.
-</para>
-
-@stack_p: a pointer to a #GTrashStack.
-@Returns: the element at the top of the stack.
-
-
-<!-- ##### FUNCTION g_trash_stack_height ##### -->
-<para>
-Returns the height of a #GTrashStack.
-Note that execution of this function is of O(N) complexity
-where N denotes the number of items on the stack.
-</para>
-
-@stack_p: a pointer to a #GTrashStack.
-@Returns: the height of the stack.
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Balanced Binary Trees
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GTree ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_tree_new ##### -->
-<para>
-
-</para>
-
-@key_compare_func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_tree_ref ##### -->
-<para>
-
-</para>
-
-@tree:
-@Returns:
-
-
-<!-- ##### FUNCTION g_tree_unref ##### -->
-<para>
-
-</para>
-
-@tree:
-
-
-<!-- ##### FUNCTION g_tree_new_with_data ##### -->
-<para>
-
-</para>
-
-@key_compare_func:
-@key_compare_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_tree_new_full ##### -->
-<para>
-
-</para>
-
-@key_compare_func:
-@key_compare_data:
-@key_destroy_func:
-@value_destroy_func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_tree_insert ##### -->
-<para>
-
-</para>
-
-@tree:
-@key:
-@value:
-
-
-<!-- ##### FUNCTION g_tree_replace ##### -->
-<para>
-
-</para>
-
-@tree:
-@key:
-@value:
-
-
-<!-- ##### FUNCTION g_tree_nnodes ##### -->
-<para>
-
-</para>
-
-@tree:
-@Returns:
-
-
-<!-- ##### FUNCTION g_tree_height ##### -->
-<para>
-
-</para>
-
-@tree:
-@Returns:
-
-
-<!-- ##### FUNCTION g_tree_lookup ##### -->
-<para>
-
-</para>
-
-@tree:
-@key:
-@Returns:
-
-
-<!-- ##### FUNCTION g_tree_lookup_extended ##### -->
-<para>
-
-</para>
-
-@tree:
-@lookup_key:
-@orig_key:
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_tree_foreach ##### -->
-<para>
-
-</para>
-
-@tree:
-@func:
-@user_data:
-
-
-<!-- ##### FUNCTION g_tree_traverse ##### -->
-<para>
-
-</para>
-
-@tree:
-@traverse_func:
-@traverse_type:
-@user_data:
-
-
-<!-- ##### USER_FUNCTION GTraverseFunc ##### -->
-<para>
-
-</para>
-
-@key:
-@value:
-@data:
-@Returns:
-
-
-<!-- ##### ENUM GTraverseType ##### -->
-<para>
-
-</para>
-
-@G_IN_ORDER:
-@G_PRE_ORDER:
-@G_POST_ORDER:
-@G_LEVEL_ORDER:
-
-<!-- ##### FUNCTION g_tree_search ##### -->
-<para>
-
-</para>
-
-@tree:
-@search_func:
-@user_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_tree_remove ##### -->
-<para>
-
-</para>
-
-@tree:
-@key:
-@Returns:
-
-
-<!-- ##### FUNCTION g_tree_steal ##### -->
-<para>
-
-</para>
-
-@tree:
-@key:
-@Returns:
-
-
-<!-- ##### FUNCTION g_tree_destroy ##### -->
-<para>
-
-</para>
-
-@tree:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-N-ary Trees
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GNode ##### -->
-<para>
-
-</para>
-
-@data:
-@next:
-@prev:
-@parent:
-@children:
-
-<!-- ##### FUNCTION g_node_new ##### -->
-<para>
-
-</para>
-
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_copy ##### -->
-<para>
-
-</para>
-
-@node:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GCopyFunc ##### -->
-<para>
-
-</para>
-
-@src:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_copy_deep ##### -->
-<para>
-
-</para>
-
-@node:
-@copy_func:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_insert ##### -->
-<para>
-
-</para>
-
-@parent:
-@position:
-@node:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_insert_before ##### -->
-<para>
-
-</para>
-
-@parent:
-@sibling:
-@node:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_insert_after ##### -->
-<para>
-
-</para>
-
-@parent:
-@sibling:
-@node:
-@Returns:
-
-
-<!-- ##### MACRO g_node_append ##### -->
-<para>
-
-</para>
-
-@parent:
-@node:
-
-
-<!-- ##### FUNCTION g_node_prepend ##### -->
-<para>
-
-</para>
-
-@parent:
-@node:
-@Returns:
-
-
-<!-- ##### MACRO g_node_insert_data ##### -->
-<para>
-
-</para>
-
-@parent:
-@position:
-@data:
-
-
-<!-- ##### MACRO g_node_insert_data_before ##### -->
-<para>
-
-</para>
-
-@parent:
-@sibling:
-@data:
-
-
-<!-- ##### MACRO g_node_append_data ##### -->
-<para>
-
-</para>
-
-@parent:
-@data:
-
-
-<!-- ##### MACRO g_node_prepend_data ##### -->
-<para>
-
-</para>
-
-@parent:
-@data:
-
-
-<!-- ##### FUNCTION g_node_reverse_children ##### -->
-<para>
-
-</para>
-
-@node:
-
-
-<!-- ##### FUNCTION g_node_traverse ##### -->
-<para>
-
-</para>
-
-@root:
-@order:
-@flags:
-@max_depth:
-@func:
-@data:
-
-
-<!-- ##### ENUM GTraverseFlags ##### -->
-<para>
-
-</para>
-
-@G_TRAVERSE_LEAVES:
-@G_TRAVERSE_NON_LEAVES:
-@G_TRAVERSE_ALL:
-@G_TRAVERSE_MASK:
-@G_TRAVERSE_LEAFS:
-@G_TRAVERSE_NON_LEAFS:
-
-<!-- ##### USER_FUNCTION GNodeTraverseFunc ##### -->
-<para>
-
-</para>
-
-@node:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_children_foreach ##### -->
-<para>
-
-</para>
-
-@node:
-@flags:
-@func:
-@data:
-
-
-<!-- ##### USER_FUNCTION GNodeForeachFunc ##### -->
-<para>
-
-</para>
-
-@node:
-@data:
-
-
-<!-- ##### FUNCTION g_node_get_root ##### -->
-<para>
-
-</para>
-
-@node:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_find ##### -->
-<para>
-
-</para>
-
-@root:
-@order:
-@flags:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_find_child ##### -->
-<para>
-
-</para>
-
-@node:
-@flags:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_child_index ##### -->
-<para>
-
-</para>
-
-@node:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_child_position ##### -->
-<para>
-
-</para>
-
-@node:
-@child:
-@Returns:
-
-
-<!-- ##### MACRO g_node_first_child ##### -->
-<para>
-
-</para>
-
-@node:
-
-
-<!-- ##### FUNCTION g_node_last_child ##### -->
-<para>
-
-</para>
-
-@node:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_nth_child ##### -->
-<para>
-
-</para>
-
-@node:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_first_sibling ##### -->
-<para>
-
-</para>
-
-@node:
-@Returns:
-
-
-<!-- ##### MACRO g_node_next_sibling ##### -->
-<para>
-
-</para>
-
-@node:
-
-
-<!-- ##### MACRO g_node_prev_sibling ##### -->
-<para>
-
-</para>
-
-@node:
-
-
-<!-- ##### FUNCTION g_node_last_sibling ##### -->
-<para>
-
-</para>
-
-@node:
-@Returns:
-
-
-<!-- ##### MACRO G_NODE_IS_LEAF ##### -->
-<para>
-
-</para>
-
-@node:
-
-
-<!-- ##### MACRO G_NODE_IS_ROOT ##### -->
-<para>
-
-</para>
-
-@node:
-
-
-<!-- ##### FUNCTION g_node_depth ##### -->
-<para>
-
-</para>
-
-@node:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_n_nodes ##### -->
-<para>
-
-</para>
-
-@root:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_n_children ##### -->
-<para>
-
-</para>
-
-@node:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_is_ancestor ##### -->
-<para>
-
-</para>
-
-@node:
-@descendant:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_max_height ##### -->
-<para>
-
-</para>
-
-@root:
-@Returns:
-
-
-<!-- ##### FUNCTION g_node_unlink ##### -->
-<para>
-
-</para>
-
-@node:
-
-
-<!-- ##### FUNCTION g_node_destroy ##### -->
-<para>
-
-</para>
-
-@root:
-
-
-<!-- ##### FUNCTION g_node_push_allocator ##### -->
-<para>
-
-</para>
-
-@dummy:
-
-
-<!-- ##### FUNCTION g_node_pop_allocator ##### -->
-<para>
-
-</para>
-
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Type Conversion Macros
-
-<!-- ##### SECTION Short_Description ##### -->
-portably storing integers in pointer variables
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-Many times GLib, GTK+, and other libraries allow you to pass "user
-data" to a callback, in the form of a void pointer. From time to time
-you want to pass an integer instead of a pointer. You could allocate
-an integer, with something like:
-<informalexample><programlisting>
- int *ip = g_new (int, 1);
- *ip = 42;
-</programlisting></informalexample>
-But this is inconvenient, and it's annoying to have to free the
-memory at some later time.
-</para>
-<para>
-Pointers are always at least 32 bits in size (on all platforms GLib
-intends to support). Thus you can store at least 32-bit integer values
-in a pointer value. Naively, you might try this, but it's incorrect:
-<informalexample><programlisting>
- gpointer p;
- int i;
- p = (void*) 42;
- i = (int) p;
-</programlisting></informalexample>
-Again, that example was <emphasis>not</emphasis> correct, don't copy it.
-The problem is that on some systems you need to do this:
-<informalexample><programlisting>
- gpointer p;
- int i;
- p = (void*) (long) 42;
- i = (int) (long) p;
-</programlisting></informalexample>
-So GPOINTER_TO_INT(), GINT_TO_POINTER(), etc. do the right thing
-on the current platform.
-</para>
-<para>
-<warning>
-<para>
-YOU MAY NOT STORE POINTERS IN INTEGERS. THIS IS NOT PORTABLE IN ANY
-WAY SHAPE OR FORM. These macros <emphasis>ONLY</emphasis> allow
-storing integers in pointers, and only preserve 32 bits of the
-integer; values outside the range of a 32-bit integer will be mangled.
-</para>
-</warning>
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO GINT_TO_POINTER ##### -->
-<para>
-Stuffs an integer into a pointer type.
-</para>
-<para>
-Remember, YOU MAY NOT STORE POINTERS IN INTEGERS. THIS IS NOT PORTABLE
-IN ANY WAY SHAPE OR FORM. These macros <emphasis>ONLY</emphasis> allow
-storing integers in pointers, and only preserve 32 bits of the
-integer; values outside the range of a 32-bit integer will be mangled.
-</para>
-
-@i: integer to stuff into a pointer.
-
-
-<!-- ##### MACRO GPOINTER_TO_INT ##### -->
-<para>
-Extracts an integer from a pointer. The integer must have
-been stored in the pointer with GINT_TO_POINTER().
-</para>
-<para>
-Remember, YOU MAY NOT STORE POINTERS IN INTEGERS. THIS IS NOT PORTABLE
-IN ANY WAY SHAPE OR FORM. These macros <emphasis>ONLY</emphasis> allow
-storing integers in pointers, and only preserve 32 bits of the
-integer; values outside the range of a 32-bit integer will be mangled.
-</para>
-
-@p: pointer containing an integer.
-
-
-<!-- ##### MACRO GUINT_TO_POINTER ##### -->
-<para>
-Stuffs an unsigned integer into a pointer type.
-</para>
-
-@u: unsigned integer to stuff into the pointer.
-
-
-<!-- ##### MACRO GPOINTER_TO_UINT ##### -->
-<para>
-Extracts an unsigned integer from a pointer. The integer must have
-been stored in the pointer with GUINT_TO_POINTER().
-</para>
-
-@p: pointer to extract an unsigned integer from.
-
-
-<!-- ##### MACRO GSIZE_TO_POINTER ##### -->
-<para>
-Stuffs a #gsize into a pointer type.
-</para>
-
-@s: #gsize to stuff into the pointer.
-
-
-<!-- ##### MACRO GPOINTER_TO_SIZE ##### -->
-<para>
-Extracts a #gsize from a pointer. The #gsize must have
-been stored in the pointer with GSIZE_TO_POINTER().
-</para>
-
-@p: pointer to extract a #gsize from.
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Basic Types
-
-<!-- ##### SECTION Short_Description ##### -->
-standard GLib types, defined for ease-of-use and portability
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-GLib defines a number of commonly used types, which can be divided into
-4 groups:
-
-<itemizedlist>
-<listitem><para>
-New types which are not part of standard C (but are defined
-in various C standard library header files) -
-#gboolean, #gsize, #gssize, #goffset, #gintptr, #guintptr.
-</para></listitem>
-
-<listitem><para>
-Integer types which are guaranteed to be the same size across all platforms -
-#gint8, #guint8, #gint16, #guint16, #gint32, #guint32, #gint64, #guint64.
-</para></listitem>
-
-<listitem><para>
-Types which are easier to use than their standard C counterparts -
-#gpointer, #gconstpointer, #guchar, #guint, #gushort, #gulong.
-</para></listitem>
-
-<listitem><para>
-Types which correspond exactly to standard C types, but are included
-for completeness - #gchar, #gint, #gshort, #glong, #gfloat, #gdouble.
-</para></listitem>
-</itemizedlist>
-
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### TYPEDEF gboolean ##### -->
-<para>
-A standard <type>boolean</type> type.
-Variables of this type should only contain the value %TRUE or %FALSE.
-</para>
-
-
-<!-- ##### TYPEDEF gpointer ##### -->
-<para>
-An untyped pointer.
-#gpointer looks better and is easier to use than <type>void*</type>.
-</para>
-
-
-<!-- ##### TYPEDEF gconstpointer ##### -->
-<para>
-An untyped pointer to constant data.
-The data pointed to should not be changed.
-</para>
-<para>
-This is typically used in function prototypes to indicate that the
-data pointed to will not be altered by the function.
-</para>
-
-
-<!-- ##### TYPEDEF gchar ##### -->
-<para>
-Corresponds to the standard C <type>char</type> type.
-</para>
-
-
-<!-- ##### TYPEDEF guchar ##### -->
-<para>
-Corresponds to the standard C <type>unsigned char</type> type.
-</para>
-
-
-<!-- ##### TYPEDEF gint ##### -->
-<para>
-Corresponds to the standard C <type>int</type> type.
-Values of this type can range from #G_MININT to #G_MAXINT.
-</para>
-
-
-<!-- ##### TYPEDEF guint ##### -->
-<para>
-Corresponds to the standard C <type>unsigned int</type> type.
-Values of this type can range from 0 to #G_MAXUINT.
-</para>
-
-
-<!-- ##### TYPEDEF gshort ##### -->
-<para>
-Corresponds to the standard C <type>short</type> type.
-Values of this type can range from #G_MINSHORT to #G_MAXSHORT.
-</para>
-
-
-<!-- ##### TYPEDEF gushort ##### -->
-<para>
-Corresponds to the standard C <type>unsigned short</type> type.
-Values of this type can range from 0 to #G_MAXUSHORT.
-</para>
-
-
-<!-- ##### TYPEDEF glong ##### -->
-<para>
-Corresponds to the standard C <type>long</type> type.
-Values of this type can range from #G_MINLONG to #G_MAXLONG.
-</para>
-
-
-<!-- ##### TYPEDEF gulong ##### -->
-<para>
-Corresponds to the standard C <type>unsigned long</type> type.
-Values of this type can range from 0 to #G_MAXULONG.
-</para>
-
-
-<!-- ##### TYPEDEF gint8 ##### -->
-<para>
-A signed integer guaranteed to be 8 bits on all platforms.
-Values of this type can range from #G_MININT8 (= -128) to
-#G_MAXINT8 (= 127).
-</para>
-
-
-<!-- ##### TYPEDEF guint8 ##### -->
-<para>
-An unsigned integer guaranteed to be 8 bits on all platforms.
-Values of this type can range from 0 to #G_MAXUINT8 (= 255).
-</para>
-
-
-<!-- ##### TYPEDEF gint16 ##### -->
-<para>
-A signed integer guaranteed to be 16 bits on all platforms.
-Values of this type can range from #G_MININT16 (= -32,768) to
-#G_MAXINT16 (= 32,767).
-</para>
-<para>
-To print or scan values of this type, use
-%G_GINT16_MODIFIER and/or %G_GINT16_FORMAT.
-</para>
-
-
-<!-- ##### TYPEDEF guint16 ##### -->
-<para>
-An unsigned integer guaranteed to be 16 bits on all platforms.
-Values of this type can range from 0 to #G_MAXUINT16 (= 65,535).
-</para>
-<para>
-To print or scan values of this type, use
-%G_GINT16_MODIFIER and/or %G_GUINT16_FORMAT.
-</para>
-
-
-<!-- ##### TYPEDEF gint32 ##### -->
-<para>
-A signed integer guaranteed to be 32 bits on all platforms.
-Values of this type can range from #G_MININT32 (= -2,147,483,648) to
-#G_MAXINT32 (= 2,147,483,647).
-</para>
-<para>
-To print or scan values of this type, use
-%G_GINT32_MODIFIER and/or %G_GINT32_FORMAT.
-</para>
-
-
-<!-- ##### TYPEDEF guint32 ##### -->
-<para>
-An unsigned integer guaranteed to be 32 bits on all platforms.
-Values of this type can range from 0 to #G_MAXUINT32 (= 4,294,967,295).
-</para>
-<para>
-To print or scan values of this type, use
-%G_GINT32_MODIFIER and/or %G_GUINT32_FORMAT.
-</para>
-
-
-<!-- ##### MACRO G_HAVE_GINT64 ##### -->
-<para>
-This macro is defined if 64-bit signed and unsigned integers are available
-on the platform.
-</para>
-
-@Deprecated: GLib requires 64-bit integer support since version 2.0, therefore
-%G_HAVE_GINT64 is <emphasis>always</emphasis> defined.
-
-
-<!-- ##### TYPEDEF gint64 ##### -->
-<para>
-A signed integer guaranteed to be 64 bits on all platforms.
-Values of this type can range from #G_MININT64 (= -9,223,372,036,854,775,808) to
-#G_MAXINT64 (= 9,223,372,036,854,775,807).
-</para>
-<para>
-To print or scan values of this type, use
-%G_GINT64_MODIFIER and/or %G_GINT64_FORMAT.
-</para>
-
-
-<!-- ##### TYPEDEF guint64 ##### -->
-<para>
-An unsigned integer guaranteed to be 64 bits on all platforms.
-Values of this type can range from 0 to #G_MAXUINT64 (= 18,446,744,073,709,551,615).
-</para>
-<para>
-To print or scan values of this type, use
-%G_GINT64_MODIFIER and/or %G_GUINT64_FORMAT.
-</para>
-
-
-<!-- ##### MACRO G_GINT64_CONSTANT ##### -->
-<para>
-This macro is used to insert 64-bit integer literals into the source code.
-</para>
-
-@val: a literal integer value, e.g. 0x1d636b02300a7aa7.
-
-
-<!-- ##### MACRO G_GUINT64_CONSTANT ##### -->
-<para>
-This macro is used to insert 64-bit unsigned integer literals into the
-source code.
-</para>
-
-@val: a literal integer value, e.g. 0x1d636b02300a7aa7U.
-@Since: 2.10
-
-
-<!-- ##### TYPEDEF gfloat ##### -->
-<para>
-Corresponds to the standard C <type>float</type> type.
-Values of this type can range from -#G_MAXFLOAT to #G_MAXFLOAT.
-</para>
-
-
-<!-- ##### TYPEDEF gdouble ##### -->
-<para>
-Corresponds to the standard C <type>double</type> type.
-Values of this type can range from -#G_MAXDOUBLE to #G_MAXDOUBLE.
-</para>
-
-
-<!-- ##### TYPEDEF gsize ##### -->
-<para>
-An unsigned integer type of the result of the sizeof operator, corresponding
-to the size_t type defined in C99. This type is wide enough to hold the numeric
-value of a pointer, so it is usually 32bit wide on a 32bit platform and
-64bit wide on a 64bit platform.
-Values of this type can range from 0 to #G_MAXSIZE.
-</para>
-<para>
-To print or scan values of this type, use
-%G_GSIZE_MODIFIER and/or %G_GSIZE_FORMAT.
-</para>
-
-
-<!-- ##### TYPEDEF gssize ##### -->
-<para>
-A signed variant of gsize, corresponding to the ssize_t defined on most platforms.
-Values of this type can range from #G_MINSSIZE to #G_MAXSSIZE.
-</para>
-<para>
-To print or scan values of this type, use
-%G_GSIZE_MODIFIER and/or %G_GSSIZE_FORMAT.
-</para>
-
-
-<!-- ##### TYPEDEF goffset ##### -->
-<para>
-A signed integer type that is used for file offsets, corresponding to the
-C99 type off64_t.
-Values of this type can range from #G_MINOFFSET to #G_MAXOFFSET.
-</para>
-<para>
-To print or scan values of this type, use
-%G_GOFFSET_MODIFIER and/or %G_GOFFSET_FORMAT.
-</para>
-
-Since: 2.14
-
-
-<!-- ##### MACRO G_GOFFSET_CONSTANT ##### -->
-<para>
-This macro is used to insert #goffset 64-bit integer literals into the source code.
-See also #G_GINT64_CONSTANT.
-</para>
-
-@val: a literal integer value, e.g. 0x1d636b02300a7aa7.
-Since: 2.20
-
-
-<!-- ##### TYPEDEF gintptr ##### -->
-<para>
-Corresponds to the C99 type <type>intptr_t</type>, a signed integer type that
-can hold any pointer.
-</para>
-<para>
-To print or scan values of this type, use
-%G_GINTPTR_MODIFIER and/or %G_GINTPTR_FORMAT.
-</para>
-
-Since: 2.18
-
-
-<!-- ##### TYPEDEF guintptr ##### -->
-<para>
-Corresponds to the C99 type <type>uintptr_t</type>, an unsigned integer type that
-can hold any pointer.
-</para>
-<para>
-To print or scan values of this type, use
-%G_GINTPTR_MODIFIER and/or %G_GUINTPTR_FORMAT.
-</para>
-
-Since: 2.18
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Unicode Manipulation
-
-<!-- ##### SECTION Short_Description ##### -->
-functions operating on Unicode characters and UTF-8 strings
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-This section describes a number of functions for dealing with
-Unicode characters and strings. There are analogues of the
-traditional <filename>ctype.h</filename> character classification
-and case conversion functions, UTF-8 analogues of some string utility
-functions, functions to perform normalization, case conversion and
-collation on UTF-8 strings and finally functions to convert between
-the UTF-8, UTF-16 and UCS-4 encodings of Unicode.
-</para>
-
-<para>
-The implementations of the Unicode functions in GLib are based
-on the Unicode Character Data tables, which are available from
-<ulink url="http://www.unicode.org/">www.unicode.org</ulink>.
-GLib 2.8 supports Unicode 4.0, GLib 2.10 supports Unicode 4.1,
-GLib 2.12 supports Unicode 5.0, GLib 2.16.3 supports Unicode 5.1.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-<variablelist>
-
-<varlistentry>
-<term>g_locale_to_utf8(), g_locale_from_utf8()</term>
-<listitem><para>
-Convenience functions for converting between UTF-8 and the locale encoding.
-</para></listitem>
-</varlistentry>
-
-</variablelist>
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### TYPEDEF gunichar ##### -->
-<para>
-A type which can hold any UTF-32 or UCS-4 character code, also known
-as a Unicode code point.
-</para>
-<para>
-If you want to produce the UTF-8 representation of a #gunichar,
-use g_ucs4_to_utf8(). See also g_utf8_to_ucs4() for the reverse process.
-</para>
-<para>
-To print/scan values of this type as integer, use
-%G_GINT32_MODIFIER and/or %G_GUINT32_FORMAT.
-</para>
-<para>
-The notation to express a Unicode code point in running text is as a
-hexadecimal number with four to six digits and uppercase letters, prefixed
-by the string "U+". Leading zeros are omitted, unless the code point would
-have fewer than four hexadecimal digits.
-For example, "U+0041 LATIN CAPITAL LETTER A".
-To print a code point in the U+-notation, use the format string
-"U+%04"G_GINT32_FORMAT"X".
-To scan, use the format string "U+%06"G_GINT32_FORMAT"X".
-<informalexample>
-<programlisting>
-gunichar c;
-sscanf ("U+0041", "U+%06"G_GINT32_FORMAT"X", &c)
-g_print ("Read U+%04"G_GINT32_FORMAT"X", c);
-</programlisting>
-</informalexample>
-</para>
-
-
-<!-- ##### TYPEDEF gunichar2 ##### -->
-<para>
-A type which can hold any UTF-16 code
-point<footnote id="utf16_surrogate_pairs">UTF-16 also has so called
-<firstterm>surrogate pairs</firstterm> to encode characters beyond the
-BMP as pairs of 16bit numbers. Surrogate pairs cannot be stored in a
-single gunichar2 field, but all GLib functions accepting gunichar2 arrays
-will correctly interpret surrogate pairs.</footnote>.
-</para>
-<para>
-To print/scan values of this type to/from text you need to convert
-to/from UTF-8, using g_utf16_to_utf8()/g_utf8_to_utf16().
-</para>
-<para>
-To print/scan values of this type as integer, use
-%G_GINT16_MODIFIER and/or %G_GUINT16_FORMAT.
-</para>
-
-
-<!-- ##### FUNCTION g_unichar_validate ##### -->
-<para>
-
-</para>
-
-@ch:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_isalnum ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_isalpha ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_iscntrl ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_isdefined ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_isdigit ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_isgraph ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_islower ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_ismark ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_isprint ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_ispunct ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_isspace ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_istitle ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_isupper ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_isxdigit ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_iswide ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_iswide_cjk ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_iszerowidth ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_toupper ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_tolower ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_totitle ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_digit_value ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_xdigit_value ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### ENUM GUnicodeType ##### -->
-<para>
-These are the possible character classifications from the
-Unicode specification.
-See <ulink url="http://www.unicode.org/Public/UNIDATA/UnicodeData.html"
->http://www.unicode.org/Public/UNIDATA/UnicodeData.html</ulink>.
-</para>
-
-@G_UNICODE_CONTROL: General category "Other, Control" (Cc)
-@G_UNICODE_FORMAT: General category "Other, Format" (Cf)
-@G_UNICODE_UNASSIGNED: General category "Other, Not Assigned" (Cn)
-@G_UNICODE_PRIVATE_USE: General category "Other, Private Use" (Co)
-@G_UNICODE_SURROGATE: General category "Other, Surrogate" (Cs)
-@G_UNICODE_LOWERCASE_LETTER: General category "Letter, Lowercase" (Ll)
-@G_UNICODE_MODIFIER_LETTER: General category "Letter, Modifier" (Lm)
-@G_UNICODE_OTHER_LETTER: General category "Letter, Other" (Lo)
-@G_UNICODE_TITLECASE_LETTER: General category "Letter, Titlecase" (Lt)
-@G_UNICODE_UPPERCASE_LETTER: General category "Letter, Uppercase" (Lu)
-@G_UNICODE_COMBINING_MARK: General category "Mark, Spacing Combining" (Mc)
-@G_UNICODE_ENCLOSING_MARK: General category "Mark, Enclosing" (Me)
-@G_UNICODE_NON_SPACING_MARK: General category "Mark, Nonspacing" (Mn)
-@G_UNICODE_DECIMAL_NUMBER: General category "Number, Decimal Digit" (Nd)
-@G_UNICODE_LETTER_NUMBER: General category "Number, Letter" (Nl)
-@G_UNICODE_OTHER_NUMBER: General category "Number, Other" (No)
-@G_UNICODE_CONNECT_PUNCTUATION: General category "Punctuation, Connector" (Pc)
-@G_UNICODE_DASH_PUNCTUATION: General category "Punctuation, Dash" (Pd)
-@G_UNICODE_CLOSE_PUNCTUATION: General category "Punctuation, Close" (Pe)
-@G_UNICODE_FINAL_PUNCTUATION: General category "Punctuation, Final quote" (Pf)
-@G_UNICODE_INITIAL_PUNCTUATION: General category "Punctuation, Initial quote" (Pi)
-@G_UNICODE_OTHER_PUNCTUATION: General category "Punctuation, Other" (Po)
-@G_UNICODE_OPEN_PUNCTUATION: General category "Punctuation, Open" (Ps)
-@G_UNICODE_CURRENCY_SYMBOL: General category "Symbol, Currency" (Sc)
-@G_UNICODE_MODIFIER_SYMBOL: General category "Symbol, Modifier" (Sk)
-@G_UNICODE_MATH_SYMBOL: General category "Symbol, Math" (Sm)
-@G_UNICODE_OTHER_SYMBOL: General category "Symbol, Other" (So)
-@G_UNICODE_LINE_SEPARATOR: General category "Separator, Line" (Zl)
-@G_UNICODE_PARAGRAPH_SEPARATOR: General category "Separator, Paragraph" (Zp)
-@G_UNICODE_SPACE_SEPARATOR: General category "Separator, Space" (Zs)
-
-<!-- ##### FUNCTION g_unichar_type ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### ENUM GUnicodeBreakType ##### -->
-<para>
-These are the possible line break classifications.
-The five Hangul types were added in Unicode 4.1, so, has been
-introduced in GLib 2.10. Note that new types may be added in the future.
-Applications should be ready to handle unknown values.
-They may be regarded as %G_UNICODE_BREAK_UNKNOWN.
-See <ulink url="http://www.unicode.org/unicode/reports/tr14/"
->http://www.unicode.org/unicode/reports/tr14/</ulink>.
-</para>
-
-@G_UNICODE_BREAK_MANDATORY: Mandatory Break (BK)
-@G_UNICODE_BREAK_CARRIAGE_RETURN: Carriage Return (CR)
-@G_UNICODE_BREAK_LINE_FEED: Line Feed (LF)
-@G_UNICODE_BREAK_COMBINING_MARK: Attached Characters and Combining Marks (CM)
-@G_UNICODE_BREAK_SURROGATE: Surrogates (SG)
-@G_UNICODE_BREAK_ZERO_WIDTH_SPACE: Zero Width Space (ZW)
-@G_UNICODE_BREAK_INSEPARABLE: Inseparable (IN)
-@G_UNICODE_BREAK_NON_BREAKING_GLUE: Non-breaking ("Glue") (GL)
-@G_UNICODE_BREAK_CONTINGENT: Contingent Break Opportunity (CB)
-@G_UNICODE_BREAK_SPACE: Space (SP)
-@G_UNICODE_BREAK_AFTER: Break Opportunity After (BA)
-@G_UNICODE_BREAK_BEFORE: Break Opportunity Before (BB)
-@G_UNICODE_BREAK_BEFORE_AND_AFTER: Break Opportunity Before and After (B2)
-@G_UNICODE_BREAK_HYPHEN: Hyphen (HY)
-@G_UNICODE_BREAK_NON_STARTER: Nonstarter (NS)
-@G_UNICODE_BREAK_OPEN_PUNCTUATION: Opening Punctuation (OP)
-@G_UNICODE_BREAK_CLOSE_PUNCTUATION: Closing Punctuation (CL)
-@G_UNICODE_BREAK_QUOTATION: Ambiguous Quotation (QU)
-@G_UNICODE_BREAK_EXCLAMATION: Exclamation/Interrogation (EX)
-@G_UNICODE_BREAK_IDEOGRAPHIC: Ideographic (ID)
-@G_UNICODE_BREAK_NUMERIC: Numeric (NU)
-@G_UNICODE_BREAK_INFIX_SEPARATOR: Infix Separator (Numeric) (IS)
-@G_UNICODE_BREAK_SYMBOL: Symbols Allowing Break After (SY)
-@G_UNICODE_BREAK_ALPHABETIC: Ordinary Alphabetic and Symbol Characters (AL)
-@G_UNICODE_BREAK_PREFIX: Prefix (Numeric) (PR)
-@G_UNICODE_BREAK_POSTFIX: Postfix (Numeric) (PO)
-@G_UNICODE_BREAK_COMPLEX_CONTEXT: Complex Content Dependent (South East Asian) (SA)
-@G_UNICODE_BREAK_AMBIGUOUS: Ambiguous (Alphabetic or Ideographic) (AI)
-@G_UNICODE_BREAK_UNKNOWN: Unknown (XX)
-@G_UNICODE_BREAK_NEXT_LINE: Next Line (NL)
-@G_UNICODE_BREAK_WORD_JOINER: Word Joiner (WJ)
-@G_UNICODE_BREAK_HANGUL_L_JAMO: Hangul L Jamo (JL)
-@G_UNICODE_BREAK_HANGUL_V_JAMO: Hangul V Jamo (JV)
-@G_UNICODE_BREAK_HANGUL_T_JAMO: Hangul T Jamo (JT)
-@G_UNICODE_BREAK_HANGUL_LV_SYLLABLE: Hangul LV Syllable (H2)
-@G_UNICODE_BREAK_HANGUL_LVT_SYLLABLE: Hangul LVT Syllable (H3)
-
-<!-- ##### FUNCTION g_unichar_break_type ##### -->
-<para>
-
-</para>
-
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_combining_class ##### -->
-<para>
-
-</para>
-
-@uc:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unicode_canonical_ordering ##### -->
-<para>
-
-</para>
-
-@string:
-@len:
-
-
-<!-- ##### FUNCTION g_unicode_canonical_decomposition ##### -->
-<para>
-
-</para>
-
-@ch:
-@result_len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_get_mirror_char ##### -->
-<para>
-
-</para>
-
-@ch:
-@mirrored_ch:
-@Returns:
-
-
-<!-- ##### ENUM GUnicodeScript ##### -->
-<para>
-The #GUnicodeScript enumeration identifies different writing
-systems. The values correspond to the names as defined in the
-Unicode standard. The enumeration has been added in GLib 2.14,
-and is interchangeable with #PangoScript.
-Note that new types may be added in the future. Applications
-should be ready to handle unknown values.
-See <ulink
-url="http://www.unicode.org/reports/tr24/">Unicode Standard Annex
-#24: Script names</ulink>.
-</para>
-
-@G_UNICODE_SCRIPT_INVALID_CODE: a value never returned from g_unichar_get_script()
-@G_UNICODE_SCRIPT_COMMON: a character used by multiple different scripts
-@G_UNICODE_SCRIPT_INHERITED: a mark glyph that takes its script from the
- base glyph to which it is attached
-@G_UNICODE_SCRIPT_ARABIC: Arabic
-@G_UNICODE_SCRIPT_ARMENIAN: Armenian
-@G_UNICODE_SCRIPT_BENGALI: Bengali
-@G_UNICODE_SCRIPT_BOPOMOFO: Bopomofo
-@G_UNICODE_SCRIPT_CHEROKEE: Cherokee
-@G_UNICODE_SCRIPT_COPTIC: Coptic
-@G_UNICODE_SCRIPT_CYRILLIC: Cyrillic
-@G_UNICODE_SCRIPT_DESERET: Deseret
-@G_UNICODE_SCRIPT_DEVANAGARI: Devanagari
-@G_UNICODE_SCRIPT_ETHIOPIC: Ethiopic
-@G_UNICODE_SCRIPT_GEORGIAN: Georgian
-@G_UNICODE_SCRIPT_GOTHIC: Gothic
-@G_UNICODE_SCRIPT_GREEK: Greek
-@G_UNICODE_SCRIPT_GUJARATI: Gujarati
-@G_UNICODE_SCRIPT_GURMUKHI: Gurmukhi
-@G_UNICODE_SCRIPT_HAN: Han
-@G_UNICODE_SCRIPT_HANGUL: Hangul
-@G_UNICODE_SCRIPT_HEBREW: Hebrew
-@G_UNICODE_SCRIPT_HIRAGANA: Hiragana
-@G_UNICODE_SCRIPT_KANNADA: Kannada
-@G_UNICODE_SCRIPT_KATAKANA: Katakana
-@G_UNICODE_SCRIPT_KHMER: Khmer
-@G_UNICODE_SCRIPT_LAO: Lao
-@G_UNICODE_SCRIPT_LATIN: Latin
-@G_UNICODE_SCRIPT_MALAYALAM: Malayalam
-@G_UNICODE_SCRIPT_MONGOLIAN: Mongolian
-@G_UNICODE_SCRIPT_MYANMAR: Myanmar
-@G_UNICODE_SCRIPT_OGHAM: Ogham
-@G_UNICODE_SCRIPT_OLD_ITALIC: Old Italic
-@G_UNICODE_SCRIPT_ORIYA: Oriya
-@G_UNICODE_SCRIPT_RUNIC: Runic
-@G_UNICODE_SCRIPT_SINHALA: Sinhala
-@G_UNICODE_SCRIPT_SYRIAC: Syriac
-@G_UNICODE_SCRIPT_TAMIL: Tamil
-@G_UNICODE_SCRIPT_TELUGU: Telugu
-@G_UNICODE_SCRIPT_THAANA: Thaana
-@G_UNICODE_SCRIPT_THAI: Thai
-@G_UNICODE_SCRIPT_TIBETAN: Tibetan
-@G_UNICODE_SCRIPT_CANADIAN_ABORIGINAL:
- Canadian Aboriginal
-@G_UNICODE_SCRIPT_YI: Yi
-@G_UNICODE_SCRIPT_TAGALOG: Tagalog
-@G_UNICODE_SCRIPT_HANUNOO: Hanunoo
-@G_UNICODE_SCRIPT_BUHID: Buhid
-@G_UNICODE_SCRIPT_TAGBANWA: Tagbanwa
-@G_UNICODE_SCRIPT_BRAILLE: Braille
-@G_UNICODE_SCRIPT_CYPRIOT: Cypriot
-@G_UNICODE_SCRIPT_LIMBU: Limbu
-@G_UNICODE_SCRIPT_OSMANYA: Osmanya
-@G_UNICODE_SCRIPT_SHAVIAN: Shavian
-@G_UNICODE_SCRIPT_LINEAR_B: Linear B
-@G_UNICODE_SCRIPT_TAI_LE: Tai Le
-@G_UNICODE_SCRIPT_UGARITIC: Ugaritic
-@G_UNICODE_SCRIPT_NEW_TAI_LUE: New Tai Lue
-@G_UNICODE_SCRIPT_BUGINESE: Buginese
-@G_UNICODE_SCRIPT_GLAGOLITIC: Glagolitic
-@G_UNICODE_SCRIPT_TIFINAGH: Tifinagh
-@G_UNICODE_SCRIPT_SYLOTI_NAGRI: Syloti Nagri
-@G_UNICODE_SCRIPT_OLD_PERSIAN: Old Persian
-@G_UNICODE_SCRIPT_KHAROSHTHI: Kharoshthi
-@G_UNICODE_SCRIPT_UNKNOWN: an unassigned code point
-@G_UNICODE_SCRIPT_BALINESE: Balinese
-@G_UNICODE_SCRIPT_CUNEIFORM: Cuneiform
-@G_UNICODE_SCRIPT_PHOENICIAN: Phoenician
-@G_UNICODE_SCRIPT_PHAGS_PA: Phags-pa
-@G_UNICODE_SCRIPT_NKO: N'Ko
-@G_UNICODE_SCRIPT_KAYAH_LI: Kayah Li. Since 2.16.3
-@G_UNICODE_SCRIPT_LEPCHA: Lepcha. Since 2.16.3
-@G_UNICODE_SCRIPT_REJANG: Rejang. Since 2.16.3
-@G_UNICODE_SCRIPT_SUNDANESE: Sundanese. Since 2.16.3
-@G_UNICODE_SCRIPT_SAURASHTRA: Saurashtra. Since 2.16.3
-@G_UNICODE_SCRIPT_CHAM: Cham. Since 2.16.3
-@G_UNICODE_SCRIPT_OL_CHIKI: Ol Chiki. Since 2.16.3
-@G_UNICODE_SCRIPT_VAI: Vai. Since 2.16.3
-@G_UNICODE_SCRIPT_CARIAN: Carian. Since 2.16.3
-@G_UNICODE_SCRIPT_LYCIAN: Lycian. Since 2.16.3
-@G_UNICODE_SCRIPT_LYDIAN: Lydian. Since 2.16.3
-
-<!-- ##### FUNCTION g_unichar_get_script ##### -->
-<para>
-
-</para>
-
-@ch:
-@Returns:
-
-
-<!-- ##### MACRO g_utf8_next_char ##### -->
-<para>
-Skips to the next character in a UTF-8 string. The string must be
-valid; this macro is as fast as possible, and has no error-checking.
-You would use this macro to iterate over a string character by
-character. The macro returns the start of the next UTF-8 character.
-Before using this macro, use g_utf8_validate() to validate strings
-that may contain invalid UTF-8.
-</para>
-
-@p: Pointer to the start of a valid UTF-8 character.
-
-
-<!-- ##### FUNCTION g_utf8_get_char ##### -->
-<para>
-
-</para>
-
-@p:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_get_char_validated ##### -->
-<para>
-
-</para>
-
-@p:
-@max_len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_offset_to_pointer ##### -->
-<para>
-
-</para>
-
-@str:
-@offset:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_pointer_to_offset ##### -->
-<para>
-
-</para>
-
-@str:
-@pos:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_prev_char ##### -->
-<para>
-
-</para>
-
-@p:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_find_next_char ##### -->
-<para>
-
-</para>
-
-@p:
-@end:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_find_prev_char ##### -->
-<para>
-
-</para>
-
-@str:
-@p:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_strlen ##### -->
-<para>
-
-</para>
-
-@p:
-@max:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_strncpy ##### -->
-<para>
-
-</para>
-
-@dest:
-@src:
-@n:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_strchr ##### -->
-<para>
-
-</para>
-
-@p:
-@len:
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_strrchr ##### -->
-<para>
-
-</para>
-
-@p:
-@len:
-@c:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_strreverse ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_validate ##### -->
-<para>
-
-</para>
-
-@str:
-@max_len:
-@end:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_strup ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_strdown ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_casefold ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_normalize ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@mode:
-@Returns:
-
-
-<!-- ##### ENUM GNormalizeMode ##### -->
-<para>
-Defines how a Unicode string is transformed in a canonical
-form, standardizing such issues as whether a character with an accent is
-represented as a base character and combining accent or as a single precomposed
-character. Unicode strings should generally be normalized before comparing them.
-</para>
-
-@G_NORMALIZE_DEFAULT: standardize differences that do not affect the
- text content, such as the above-mentioned accent representation.
-@G_NORMALIZE_NFD: another name for %G_NORMALIZE_DEFAULT.
-@G_NORMALIZE_DEFAULT_COMPOSE: like %G_NORMALIZE_DEFAULT, but with composed
- forms rather than a maximally decomposed form.
-@G_NORMALIZE_NFC: another name for %G_NORMALIZE_DEFAULT_COMPOSE.
-@G_NORMALIZE_ALL: beyond %G_NORMALIZE_DEFAULT also standardize the
- "compatibility" characters in Unicode, such as SUPERSCRIPT THREE to the
- standard forms (in this case DIGIT THREE). Formatting information may be
- lost but for most text operations such characters should be considered the
- same.
-@G_NORMALIZE_NFKD: another name for %G_NORMALIZE_ALL.
-@G_NORMALIZE_ALL_COMPOSE: like %G_NORMALIZE_ALL, but with composed
- forms rather than a maximally decomposed form.
-@G_NORMALIZE_NFKC: another name for %G_NORMALIZE_ALL_COMPOSE.
-
-<!-- ##### FUNCTION g_utf8_collate ##### -->
-<para>
-
-</para>
-
-@str1:
-@str2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_collate_key ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_collate_key_for_filename ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_to_utf16 ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@items_read:
-@items_written:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_to_ucs4 ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@items_read:
-@items_written:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf8_to_ucs4_fast ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@items_written:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf16_to_ucs4 ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@items_read:
-@items_written:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_utf16_to_utf8 ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@items_read:
-@items_written:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ucs4_to_utf16 ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@items_read:
-@items_written:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_ucs4_to_utf8 ##### -->
-<para>
-
-</para>
-
-@str:
-@len:
-@items_read:
-@items_written:
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_unichar_to_utf8 ##### -->
-<para>
-
-</para>
-
-@c:
-@outbuf:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Version Information
-
-<!-- ##### SECTION Short_Description ##### -->
-Variables and functions to check the GLib version
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-GLib provides version information, primarily useful in configure checks
-for builds that have a configure script. Applications will not
-typically use the features described here.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO GLIB_MAJOR_VERSION ##### -->
-<para>
-The major version number of the GLib library.
-Like #glib_major_version, but from the headers used at
-application compile time, rather than from the library linked against
-at application run time.
-</para>
-
-
-
-<!-- ##### MACRO GLIB_MINOR_VERSION ##### -->
-<para>
-The minor version number of the GLib library.
-Like #gtk_minor_version, but from the headers used at
-application compile time, rather than from the library linked against
-at application run time.
-</para>
-
-
-
-<!-- ##### MACRO GLIB_MICRO_VERSION ##### -->
-<para>
-The micro version number of the GLib library.
-Like #gtk_micro_version, but from the headers used at
-application compile time, rather than from the library linked against
-at application run time.
-</para>
-
-
-
-<!-- ##### MACRO GLIB_CHECK_VERSION ##### -->
-<para>
-Checks the version of the GLib library.
-Returns %TRUE if the version of the GLib header files is the same
-as or newer than the passed-in version.
-
-<example>
-<title>Checking the version of the GLib library</title>
-<programlisting>
- if (!GLIB_CHECK_VERSION (1, 2, 0))
- g_error ("GLib version 1.2.0 or above is needed");
-</programlisting>
-</example>
-</para>
-
-@major: the major version number.
-@minor: the minor version number.
-@micro: the micro version number.
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Message Output and Debugging Functions
-
-<!-- ##### SECTION Short_Description ##### -->
-functions to output messages and help debug applications
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-These functions provide support for outputting messages.
-</para>
-<para>
-The <function>g_return</function> family of macros (g_return_if_fail(),
-g_return_val_if_fail(), g_return_if_reached(), g_return_val_if_reached())
-should only be used for programming errors, a typical use case is
-checking for invalid parameters at the beginning of a public function.
-They should not be used if you just mean "if (error) return", they
-should only be used if you mean "if (bug in program) return".
-The program behavior is generally considered undefined after one of these
-checks fails. They are not intended for normal control flow, only to
-give a perhaps-helpful warning before giving up.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### FUNCTION g_print ##### -->
-<para>
-Outputs a formatted message via the print handler.
-The default print handler simply outputs the message to stdout.
-</para>
-<para>
-g_print() should not be used from within libraries for debugging messages,
-since it may be redirected by applications to special purpose message
-windows or even files.
-Instead, libraries should use g_log(), or the convenience functions
-g_message(), g_warning() and g_error().
-</para>
-
-@format: the message format. See the printf() documentation.
-@Varargs: the parameters to insert into the format string.
-
-
-<!-- ##### FUNCTION g_set_print_handler ##### -->
-<para>
-Sets the print handler.
-Any messages passed to g_print() will be output via the new handler.
-The default handler simply outputs the message to stdout.
-By providing your own handler you can redirect the output, to a GTK+
-widget or a log file for example.
-</para>
-
-@func: the new print handler.
-@Returns: the old print handler.
-
-
-<!-- ##### USER_FUNCTION GPrintFunc ##### -->
-<para>
-Specifies the type of the print handler functions.
-These are called with the complete formatted string to output.
-</para>
-
-@string: the message to be output.
-
-
-<!-- ##### FUNCTION g_printerr ##### -->
-<para>
-Outputs a formatted message via the error message handler.
-The default handler simply outputs the message to stderr.
-</para>
-<para>
-g_printerr() should not be used from within libraries. Instead g_log() should
-be used, or the convenience functions g_message(), g_warning() and g_error().
-</para>
-
-@format: the message format. See the printf() documentation.
-@Varargs: the parameters to insert into the format string.
-
-
-<!-- ##### FUNCTION g_set_printerr_handler ##### -->
-<para>
-Sets the handler for printing error messages.
-Any messages passed to g_printerr() will be output via the new handler.
-The default handler simply outputs the message to stderr.
-By providing your own handler you can redirect the output, to a GTK+
-widget or a log file for example.
-</para>
-
-@func: the new error message handler.
-@Returns: the old error message handler.
-
-
-<!-- ##### MACRO g_return_if_fail ##### -->
-<para>
-Returns from the current function if the expression is not true.
-If the expression evaluates to %FALSE, a critical message is logged and
-the function returns. This can only be used in functions which do not return
-a value.
-</para>
-
-@expr: the expression to check.
-
-
-<!-- ##### MACRO g_return_val_if_fail ##### -->
-<para>
-Returns from the current function, returning the value @val, if the expression
-is not true.
-If the expression evaluates to %FALSE, a critical message is logged and
-@val is returned.
-</para>
-
-@expr: the expression to check.
-@val: the value to return from the current function if the expression is not
-true.
-
-
-<!-- ##### MACRO g_return_if_reached ##### -->
-<para>
-Logs a critical message and returns from the current function.
-This can only be used in functions which do not return a value.
-</para>
-
-
-
-<!-- ##### MACRO g_return_val_if_reached ##### -->
-<para>
-Logs a critical message and returns @val.
-</para>
-
-@val: the value to return from the current function.
-
-
-<!-- ##### MACRO g_warn_if_fail ##### -->
-<para>
-Logs a warning if the expression is not true.
-</para>
-
-@expr: the expression to check
-@Since: 2.16
-
-
-<!-- ##### MACRO g_warn_if_reached ##### -->
-<para>
-Logs a critical warning.
-</para>
-
-@Since: 2.16
-
-
-<!-- ##### FUNCTION g_on_error_query ##### -->
-<para>
-Prompts the user with <computeroutput>[E]xit, [H]alt, show [S]tack trace or [P]roceed</computeroutput>.
-This function is intended to be used for debugging use only. The following
-example shows how it can be used together with the g_log() functions.
-</para>
-<informalexample><programlisting>
-#include <glib.h>
-
-static void
-log_handler (const gchar *log_domain,
- GLogLevelFlags log_level,
- const gchar *message,
- gpointer user_data)
-{
- g_log_default_handler (log_domain, log_level, message, user_data);
-
- g_on_error_query (MY_PROGRAM_NAME);
-}
-
-int main (int argc, char *argv[])
-{
- g_log_set_handler (MY_LOG_DOMAIN,
- G_LOG_LEVEL_WARNING |
- G_LOG_LEVEL_ERROR |
- G_LOG_LEVEL_CRITICAL,
- log_handler,
- NULL);
-
- /* ... */
-</programlisting></informalexample>
-<para>
-If [E]xit is selected, the application terminates with a call to
-<function>_exit(0)</function>.
-</para>
-<para>
-If [H]alt is selected, the application enters an infinite loop.
-The infinite loop can only be stopped by killing the application,
-or by setting #glib_on_error_halt to %FALSE (possibly via a debugger).
-</para>
-<para>
-If [S]tack trace is selected, g_on_error_stack_trace() is called. This
-invokes <command>gdb</command>, which attaches to the current process and shows a stack trace.
-The prompt is then shown again.
-</para>
-<para>
-If [P]roceed is selected, the function returns.
-</para>
-<para>
-This function may cause different actions on non-UNIX platforms.
-</para>
-
-@prg_name: the program name, needed by <command>gdb</command> for the [S]tack trace option.
-If @prg_name is %NULL, g_get_prgname() is called to get the program name
-(which will work correctly if gdk_init() or gtk_init() has been called).
-
-
-<!-- ##### FUNCTION g_on_error_stack_trace ##### -->
-<para>
-Invokes <command>gdb</command>, which attaches to the current process and shows a stack trace.
-Called by g_on_error_query() when the [S]tack trace option is selected.
-</para>
-<para>
-This function may cause different actions on non-UNIX platforms.
-</para>
-
-@prg_name: the program name, needed by <command>gdb</command> for the [S]tack trace option.
-If @prg_name is %NULL, g_get_prgname() is called to get the program name
-(which will work correctly if gdk_init() or gtk_init() has been called).
-
-
-<!-- ##### MACRO G_BREAKPOINT ##### -->
-<para>
-Inserts a breakpoint instruction into the code. On x86 and alpha systems
-this is implemented as a soft interrupt and on other architectures it raises
-a %SIGTRAP signal.
-</para>
-
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Windows Compatibility Functions
-
-<!-- ##### SECTION Short_Description ##### -->
-UNIX emulation on Windows
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-These functions provide some level of UNIX emulation on the Windows platform.
-If your application really needs the POSIX APIs, we suggest you try the Cygwin
-project.
-</para>
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO MAXPATHLEN ##### -->
-<para>
-Provided for UNIX emulation on Windows; equivalent to UNIX
-macro %MAXPATHLEN, which is the maximum length of a filename
-(including full path).
-</para>
-
-
-
-<!-- ##### FUNCTION g_win32_error_message ##### -->
-<para>
-
-</para>
-
-@error:
-@Returns:
-
-
-<!-- ##### FUNCTION g_win32_getlocale ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_win32_get_package_installation_directory ##### -->
-<para>
-
-</para>
-
-@package:
-@dll_name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_win32_get_package_installation_directory_of_module ##### -->
-<para>
-
-</para>
-
-@hmodule:
-@Returns:
-
-
-<!-- ##### FUNCTION g_win32_get_package_installation_subdirectory ##### -->
-<para>
-
-</para>
-
-@package:
-@dll_name:
-@subdir:
-@Returns:
-
-
-<!-- ##### FUNCTION g_win32_get_windows_version ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_win32_locale_filename_from_utf8 ##### -->
-<para>
-
-</para>
-
-@utf8filename:
-@Returns:
-
-
-<!-- ##### MACRO G_WIN32_DLLMAIN_FOR_DLL_NAME ##### -->
-<para>
-On Windows, this macro defines a DllMain() function that stores the actual
-DLL name that the code being compiled will be included in.
-</para>
-<para>
-On non-Windows platforms, expands to nothing.
-</para>
-
-@static: empty or "static".
-@dll_name: the name of the (pointer to the) char array where the DLL name
- will be stored. If this is used, you must also include
- <filename>windows.h</filename>. If you need a more complex DLL entry
- point function, you cannot use this.
-
-
-<!-- ##### MACRO G_WIN32_HAVE_WIDECHAR_API ##### -->
-<para>
-On Windows, this macro defines an expression which evaluates to %TRUE
-if the code is running on a version of Windows where the wide
-character versions of the Win32 API functions, and the wide chaacter
-versions of the C library functions work. (They are always present in
-the DLLs, but don't work on Windows 9x and Me.)
-</para>
-<para>
-On non-Windows platforms, it is not defined.
-</para>
-
-@Since: 2.6
-
-
-<!-- ##### MACRO G_WIN32_IS_NT_BASED ##### -->
-<para>
-On Windows, this macro defines an expression which evaluates to %TRUE
-if the code is running on an NT-based Windows operating system.
-</para>
-<para>
-On non-Windows platforms, it is not defined.
-</para>
-
-@Since: 2.6
-
-
+++ /dev/null
-<?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
-<book xmlns="http://www.devhelp.net/book" title="GObject Reference Manual" link="index.html" author="" name="gobject">
- <chapters>
- <sub name="Introduction" link="pr01.html"/>
- <sub name="Concepts" link="pt01.html">
- <sub name="Background" link="chapter-intro.html">
- <sub name="Data types and programming" link="chapter-intro.html#id589065"/>
- <sub name="Exporting a C API" link="ch01s02.html"/>
- </sub>
- <sub name="The GLib Dynamic Type System" link="chapter-gtype.html">
- <sub name="Copy functions" link="chapter-gtype.html#gtype-copy"/>
- <sub name="Conventions" link="gtype-conventions.html"/>
- <sub name="Non-instantiable non-classed fundamental types" link="gtype-non-instantiable.html"/>
- <sub name="Instantiable classed types: objects" link="gtype-instantiable-classed.html"/>
- <sub name="Non-instantiable classed types: interfaces" link="gtype-non-instantiable-classed.html"/>
- </sub>
- <sub name="The GObject base class" link="chapter-gobject.html">
- <sub name="Object instantiation" link="chapter-gobject.html#gobject-instantiation"/>
- <sub name="Object memory management" link="gobject-memory.html"/>
- <sub name="Object properties" link="gobject-properties.html"/>
- </sub>
- <sub name="The GObject messaging system" link="chapter-signal.html">
- <sub name="Closures" link="chapter-signal.html#closure"/>
- <sub name="Signals" link="signal.html"/>
- </sub>
- </sub>
- <sub name="API Reference" link="rn01.html">
- <sub name="Type Information" link="gobject-Type-Information.html"/>
- <sub name="GTypePlugin" link="GTypePlugin.html"/>
- <sub name="GTypeModule" link="GTypeModule.html"/>
- <sub name="The Base Object Type" link="gobject-The-Base-Object-Type.html"/>
- <sub name="Enumeration and Flag Types" link="gobject-Enumeration-and-Flag-Types.html"/>
- <sub name="Boxed Types" link="gobject-Boxed-Types.html"/>
- <sub name="Generic values" link="gobject-Generic-values.html"/>
- <sub name="Parameters and Values" link="gobject-Standard-Parameter-and-Value-Types.html"/>
- <sub name="GParamSpec" link="gobject-GParamSpec.html"/>
- <sub name="Varargs Value Collection" link="gobject-Varargs-Value-Collection.html"/>
- <sub name="Signals" link="gobject-Signals.html"/>
- <sub name="Closures" link="gobject-Closures.html"/>
- <sub name="Value arrays" link="gobject-Value-arrays.html"/>
- </sub>
- <sub name="Tools Reference" link="rn02.html">
- <sub name="glib-mkenums" link="glib-mkenums.html"/>
- <sub name="glib-genmarshal" link="glib-genmarshal.html"/>
- <sub name="gobject-query" link="gobject-query.html"/>
- </sub>
- <sub name="Tutorial" link="pt02.html">
- <sub name="How to define and implement a new GObject" link="howto-gobject.html">
- <sub name="Boilerplate header code" link="howto-gobject.html#howto-gobject-header"/>
- <sub name="Boilerplate code" link="howto-gobject-code.html"/>
- <sub name="Object Construction" link="howto-gobject-construction.html"/>
- <sub name="Object Destruction" link="howto-gobject-destruction.html"/>
- <sub name="Object methods" link="howto-gobject-methods.html"/>
- <sub name="Chaining up" link="howto-gobject-chainup.html"/>
- </sub>
- <sub name="How to define and implement interfaces" link="howto-interface.html">
- <sub name="How to define interfaces" link="howto-interface.html#howto-interface-define"/>
- <sub name="How To define implement an Interface?" link="howto-interface-implement.html"/>
- <sub name="Interface definition prerequisites" link="ch06s03.html"/>
- <sub name="Interface Properties" link="howto-interface-properties.html"/>
- </sub>
- <sub name="How to create and use signals" link="howto-signals.html">
- <sub name="Simple use of signals" link="howto-signals.html#howto-simple-signals"/>
- </sub>
- </sub>
- <sub name="Related Tools" link="pt03.html">
- <sub name="Vala" link="tools-vala.html"/>
- <sub name="GObject builder" link="tools-gob.html"/>
- <sub name="Graphical inspection of GObjects" link="tools-ginspector.html"/>
- <sub name="Debugging reference count problems" link="tools-refdb.html"/>
- <sub name="Writing API docs" link="tools-gtkdoc.html"/>
- </sub>
- <sub name="Index" link="api-index-full.html"/>
- <sub name="Index of deprecated symbols" link="api-index-deprecated.html"/>
- <sub name="Index of new symbols in 2.2" link="api-index-2-2.html"/>
- <sub name="Index of new symbols in 2.4" link="api-index-2-4.html"/>
- <sub name="Index of new symbols in 2.6" link="api-index-2-6.html"/>
- <sub name="Index of new symbols in 2.8" link="api-index-2-8.html"/>
- <sub name="Index of new symbols in 2.10" link="api-index-2-10.html"/>
- <sub name="Index of new symbols in 2.12" link="api-index-2-12.html"/>
- <sub name="Index of new symbols in 2.14" link="api-index-2-14.html"/>
- <sub name="Index of new symbols in 2.18" link="api-index-2-18.html"/>
- <sub name="Index of new symbols in 2.22" link="api-index-2-22.html"/>
- <sub name="Index of new symbols in 2.24" link="api-index-2-24.html"/>
- </chapters>
- <functions>
- <function name="GType" link="gobject-Type-Information.html#GType"/>
- <function name="G_TYPE_FUNDAMENTAL()" link="gobject-Type-Information.html#G-TYPE-FUNDAMENTAL:CAPS"/>
- <function name="G_TYPE_FUNDAMENTAL_MAX" link="gobject-Type-Information.html#G-TYPE-FUNDAMENTAL-MAX:CAPS"/>
- <function name="G_TYPE_MAKE_FUNDAMENTAL()" link="gobject-Type-Information.html#G-TYPE-MAKE-FUNDAMENTAL:CAPS"/>
- <function name="G_TYPE_IS_ABSTRACT()" link="gobject-Type-Information.html#G-TYPE-IS-ABSTRACT:CAPS"/>
- <function name="G_TYPE_IS_DERIVED()" link="gobject-Type-Information.html#G-TYPE-IS-DERIVED:CAPS"/>
- <function name="G_TYPE_IS_FUNDAMENTAL()" link="gobject-Type-Information.html#G-TYPE-IS-FUNDAMENTAL:CAPS"/>
- <function name="G_TYPE_IS_VALUE_TYPE()" link="gobject-Type-Information.html#G-TYPE-IS-VALUE-TYPE:CAPS"/>
- <function name="G_TYPE_HAS_VALUE_TABLE()" link="gobject-Type-Information.html#G-TYPE-HAS-VALUE-TABLE:CAPS"/>
- <function name="G_TYPE_IS_CLASSED()" link="gobject-Type-Information.html#G-TYPE-IS-CLASSED:CAPS"/>
- <function name="G_TYPE_IS_INSTANTIATABLE()" link="gobject-Type-Information.html#G-TYPE-IS-INSTANTIATABLE:CAPS"/>
- <function name="G_TYPE_IS_DERIVABLE()" link="gobject-Type-Information.html#G-TYPE-IS-DERIVABLE:CAPS"/>
- <function name="G_TYPE_IS_DEEP_DERIVABLE()" link="gobject-Type-Information.html#G-TYPE-IS-DEEP-DERIVABLE:CAPS"/>
- <function name="G_TYPE_IS_INTERFACE()" link="gobject-Type-Information.html#G-TYPE-IS-INTERFACE:CAPS"/>
- <function name="GTypeInterface" link="gobject-Type-Information.html#GTypeInterface"/>
- <function name="GTypeInstance" link="gobject-Type-Information.html#GTypeInstance"/>
- <function name="GTypeClass" link="gobject-Type-Information.html#GTypeClass"/>
- <function name="GTypeInfo" link="gobject-Type-Information.html#GTypeInfo"/>
- <function name="GTypeFundamentalInfo" link="gobject-Type-Information.html#GTypeFundamentalInfo"/>
- <function name="GInterfaceInfo" link="gobject-Type-Information.html#GInterfaceInfo"/>
- <function name="GTypeValueTable" link="gobject-Type-Information.html#GTypeValueTable"/>
- <function name="G_TYPE_FROM_INSTANCE()" link="gobject-Type-Information.html#G-TYPE-FROM-INSTANCE:CAPS"/>
- <function name="G_TYPE_FROM_CLASS()" link="gobject-Type-Information.html#G-TYPE-FROM-CLASS:CAPS"/>
- <function name="G_TYPE_FROM_INTERFACE()" link="gobject-Type-Information.html#G-TYPE-FROM-INTERFACE:CAPS"/>
- <function name="G_TYPE_INSTANCE_GET_CLASS()" link="gobject-Type-Information.html#G-TYPE-INSTANCE-GET-CLASS:CAPS"/>
- <function name="G_TYPE_INSTANCE_GET_INTERFACE()" link="gobject-Type-Information.html#G-TYPE-INSTANCE-GET-INTERFACE:CAPS"/>
- <function name="G_TYPE_INSTANCE_GET_PRIVATE()" link="gobject-Type-Information.html#G-TYPE-INSTANCE-GET-PRIVATE:CAPS"/>
- <function name="G_TYPE_CHECK_INSTANCE()" link="gobject-Type-Information.html#G-TYPE-CHECK-INSTANCE:CAPS"/>
- <function name="G_TYPE_CHECK_INSTANCE_CAST()" link="gobject-Type-Information.html#G-TYPE-CHECK-INSTANCE-CAST:CAPS"/>
- <function name="G_TYPE_CHECK_INSTANCE_TYPE()" link="gobject-Type-Information.html#G-TYPE-CHECK-INSTANCE-TYPE:CAPS"/>
- <function name="G_TYPE_CHECK_CLASS_CAST()" link="gobject-Type-Information.html#G-TYPE-CHECK-CLASS-CAST:CAPS"/>
- <function name="G_TYPE_CHECK_CLASS_TYPE()" link="gobject-Type-Information.html#G-TYPE-CHECK-CLASS-TYPE:CAPS"/>
- <function name="G_TYPE_CHECK_VALUE()" link="gobject-Type-Information.html#G-TYPE-CHECK-VALUE:CAPS"/>
- <function name="G_TYPE_CHECK_VALUE_TYPE()" link="gobject-Type-Information.html#G-TYPE-CHECK-VALUE-TYPE:CAPS"/>
- <function name="G_TYPE_FLAG_RESERVED_ID_BIT" link="gobject-Type-Information.html#G-TYPE-FLAG-RESERVED-ID-BIT:CAPS"/>
- <function name="g_type_init ()" link="gobject-Type-Information.html#g-type-init"/>
- <function name="enum GTypeDebugFlags" link="gobject-Type-Information.html#GTypeDebugFlags"/>
- <function name="g_type_init_with_debug_flags ()" link="gobject-Type-Information.html#g-type-init-with-debug-flags"/>
- <function name="g_type_name ()" link="gobject-Type-Information.html#g-type-name"/>
- <function name="g_type_qname ()" link="gobject-Type-Information.html#g-type-qname"/>
- <function name="g_type_from_name ()" link="gobject-Type-Information.html#g-type-from-name"/>
- <function name="g_type_parent ()" link="gobject-Type-Information.html#g-type-parent"/>
- <function name="g_type_depth ()" link="gobject-Type-Information.html#g-type-depth"/>
- <function name="g_type_next_base ()" link="gobject-Type-Information.html#g-type-next-base"/>
- <function name="g_type_is_a ()" link="gobject-Type-Information.html#g-type-is-a"/>
- <function name="g_type_class_ref ()" link="gobject-Type-Information.html#g-type-class-ref"/>
- <function name="g_type_class_peek ()" link="gobject-Type-Information.html#g-type-class-peek"/>
- <function name="g_type_class_peek_static ()" link="gobject-Type-Information.html#g-type-class-peek-static"/>
- <function name="g_type_class_unref ()" link="gobject-Type-Information.html#g-type-class-unref"/>
- <function name="g_type_class_peek_parent ()" link="gobject-Type-Information.html#g-type-class-peek-parent"/>
- <function name="g_type_class_add_private ()" link="gobject-Type-Information.html#g-type-class-add-private"/>
- <function name="g_type_add_class_private ()" link="gobject-Type-Information.html#g-type-add-class-private"/>
- <function name="g_type_interface_peek ()" link="gobject-Type-Information.html#g-type-interface-peek"/>
- <function name="g_type_interface_peek_parent ()" link="gobject-Type-Information.html#g-type-interface-peek-parent"/>
- <function name="g_type_default_interface_ref ()" link="gobject-Type-Information.html#g-type-default-interface-ref"/>
- <function name="g_type_default_interface_peek ()" link="gobject-Type-Information.html#g-type-default-interface-peek"/>
- <function name="g_type_default_interface_unref ()" link="gobject-Type-Information.html#g-type-default-interface-unref"/>
- <function name="g_type_children ()" link="gobject-Type-Information.html#g-type-children"/>
- <function name="g_type_interfaces ()" link="gobject-Type-Information.html#g-type-interfaces"/>
- <function name="g_type_interface_prerequisites ()" link="gobject-Type-Information.html#g-type-interface-prerequisites"/>
- <function name="g_type_set_qdata ()" link="gobject-Type-Information.html#g-type-set-qdata"/>
- <function name="g_type_get_qdata ()" link="gobject-Type-Information.html#g-type-get-qdata"/>
- <function name="g_type_query ()" link="gobject-Type-Information.html#g-type-query"/>
- <function name="GTypeQuery" link="gobject-Type-Information.html#GTypeQuery"/>
- <function name="GBaseInitFunc ()" link="gobject-Type-Information.html#GBaseInitFunc"/>
- <function name="GBaseFinalizeFunc ()" link="gobject-Type-Information.html#GBaseFinalizeFunc"/>
- <function name="GClassInitFunc ()" link="gobject-Type-Information.html#GClassInitFunc"/>
- <function name="GClassFinalizeFunc ()" link="gobject-Type-Information.html#GClassFinalizeFunc"/>
- <function name="GInstanceInitFunc ()" link="gobject-Type-Information.html#GInstanceInitFunc"/>
- <function name="GInterfaceInitFunc ()" link="gobject-Type-Information.html#GInterfaceInitFunc"/>
- <function name="GInterfaceFinalizeFunc ()" link="gobject-Type-Information.html#GInterfaceFinalizeFunc"/>
- <function name="GTypeClassCacheFunc ()" link="gobject-Type-Information.html#GTypeClassCacheFunc"/>
- <function name="enum GTypeFlags" link="gobject-Type-Information.html#GTypeFlags"/>
- <function name="enum GTypeFundamentalFlags" link="gobject-Type-Information.html#GTypeFundamentalFlags"/>
- <function name="g_type_register_static ()" link="gobject-Type-Information.html#g-type-register-static"/>
- <function name="g_type_register_static_simple ()" link="gobject-Type-Information.html#g-type-register-static-simple"/>
- <function name="g_type_register_dynamic ()" link="gobject-Type-Information.html#g-type-register-dynamic"/>
- <function name="g_type_register_fundamental ()" link="gobject-Type-Information.html#g-type-register-fundamental"/>
- <function name="g_type_add_interface_static ()" link="gobject-Type-Information.html#g-type-add-interface-static"/>
- <function name="g_type_add_interface_dynamic ()" link="gobject-Type-Information.html#g-type-add-interface-dynamic"/>
- <function name="g_type_interface_add_prerequisite ()" link="gobject-Type-Information.html#g-type-interface-add-prerequisite"/>
- <function name="g_type_get_plugin ()" link="gobject-Type-Information.html#g-type-get-plugin"/>
- <function name="g_type_interface_get_plugin ()" link="gobject-Type-Information.html#g-type-interface-get-plugin"/>
- <function name="g_type_fundamental_next ()" link="gobject-Type-Information.html#g-type-fundamental-next"/>
- <function name="g_type_fundamental ()" link="gobject-Type-Information.html#g-type-fundamental"/>
- <function name="g_type_create_instance ()" link="gobject-Type-Information.html#g-type-create-instance"/>
- <function name="g_type_free_instance ()" link="gobject-Type-Information.html#g-type-free-instance"/>
- <function name="g_type_add_class_cache_func ()" link="gobject-Type-Information.html#g-type-add-class-cache-func"/>
- <function name="g_type_remove_class_cache_func ()" link="gobject-Type-Information.html#g-type-remove-class-cache-func"/>
- <function name="g_type_class_unref_uncached ()" link="gobject-Type-Information.html#g-type-class-unref-uncached"/>
- <function name="g_type_add_interface_check ()" link="gobject-Type-Information.html#g-type-add-interface-check"/>
- <function name="g_type_remove_interface_check ()" link="gobject-Type-Information.html#g-type-remove-interface-check"/>
- <function name="GTypeInterfaceCheckFunc ()" link="gobject-Type-Information.html#GTypeInterfaceCheckFunc"/>
- <function name="g_type_value_table_peek ()" link="gobject-Type-Information.html#g-type-value-table-peek"/>
- <function name="G_DEFINE_TYPE()" link="gobject-Type-Information.html#G-DEFINE-TYPE:CAPS"/>
- <function name="G_DEFINE_TYPE_WITH_CODE()" link="gobject-Type-Information.html#G-DEFINE-TYPE-WITH-CODE:CAPS"/>
- <function name="G_DEFINE_ABSTRACT_TYPE()" link="gobject-Type-Information.html#G-DEFINE-ABSTRACT-TYPE:CAPS"/>
- <function name="G_DEFINE_ABSTRACT_TYPE_WITH_CODE()" link="gobject-Type-Information.html#G-DEFINE-ABSTRACT-TYPE-WITH-CODE:CAPS"/>
- <function name="G_DEFINE_INTERFACE()" link="gobject-Type-Information.html#G-DEFINE-INTERFACE:CAPS"/>
- <function name="G_DEFINE_INTERFACE_WITH_CODE()" link="gobject-Type-Information.html#G-DEFINE-INTERFACE-WITH-CODE:CAPS"/>
- <function name="G_IMPLEMENT_INTERFACE()" link="gobject-Type-Information.html#G-IMPLEMENT-INTERFACE:CAPS"/>
- <function name="G_DEFINE_TYPE_EXTENDED()" link="gobject-Type-Information.html#G-DEFINE-TYPE-EXTENDED:CAPS"/>
- <function name="G_TYPE_INVALID" link="gobject-Type-Information.html#G-TYPE-INVALID:CAPS"/>
- <function name="G_TYPE_NONE" link="gobject-Type-Information.html#G-TYPE-NONE:CAPS"/>
- <function name="G_TYPE_INTERFACE" link="gobject-Type-Information.html#G-TYPE-INTERFACE:CAPS"/>
- <function name="G_TYPE_CHAR" link="gobject-Type-Information.html#G-TYPE-CHAR:CAPS"/>
- <function name="G_TYPE_UCHAR" link="gobject-Type-Information.html#G-TYPE-UCHAR:CAPS"/>
- <function name="G_TYPE_BOOLEAN" link="gobject-Type-Information.html#G-TYPE-BOOLEAN:CAPS"/>
- <function name="G_TYPE_INT" link="gobject-Type-Information.html#G-TYPE-INT:CAPS"/>
- <function name="G_TYPE_UINT" link="gobject-Type-Information.html#G-TYPE-UINT:CAPS"/>
- <function name="G_TYPE_LONG" link="gobject-Type-Information.html#G-TYPE-LONG:CAPS"/>
- <function name="G_TYPE_ULONG" link="gobject-Type-Information.html#G-TYPE-ULONG:CAPS"/>
- <function name="G_TYPE_INT64" link="gobject-Type-Information.html#G-TYPE-INT64:CAPS"/>
- <function name="G_TYPE_UINT64" link="gobject-Type-Information.html#G-TYPE-UINT64:CAPS"/>
- <function name="G_TYPE_ENUM" link="gobject-Type-Information.html#G-TYPE-ENUM:CAPS"/>
- <function name="G_TYPE_FLAGS" link="gobject-Type-Information.html#G-TYPE-FLAGS:CAPS"/>
- <function name="G_TYPE_FLOAT" link="gobject-Type-Information.html#G-TYPE-FLOAT:CAPS"/>
- <function name="G_TYPE_DOUBLE" link="gobject-Type-Information.html#G-TYPE-DOUBLE:CAPS"/>
- <function name="G_TYPE_STRING" link="gobject-Type-Information.html#G-TYPE-STRING:CAPS"/>
- <function name="G_TYPE_POINTER" link="gobject-Type-Information.html#G-TYPE-POINTER:CAPS"/>
- <function name="G_TYPE_BOXED" link="gobject-Type-Information.html#G-TYPE-BOXED:CAPS"/>
- <function name="G_TYPE_PARAM" link="gobject-Type-Information.html#G-TYPE-PARAM:CAPS"/>
- <function name="G_TYPE_OBJECT" link="gobject-Type-Information.html#G-TYPE-OBJECT:CAPS"/>
- <function name="G_TYPE_GTYPE" link="gobject-Type-Information.html#G-TYPE-GTYPE:CAPS"/>
- <function name="G_TYPE_RESERVED_GLIB_FIRST" link="gobject-Type-Information.html#G-TYPE-RESERVED-GLIB-FIRST:CAPS"/>
- <function name="G_TYPE_RESERVED_GLIB_LAST" link="gobject-Type-Information.html#G-TYPE-RESERVED-GLIB-LAST:CAPS"/>
- <function name="G_TYPE_RESERVED_BSE_FIRST" link="gobject-Type-Information.html#G-TYPE-RESERVED-BSE-FIRST:CAPS"/>
- <function name="G_TYPE_RESERVED_BSE_LAST" link="gobject-Type-Information.html#G-TYPE-RESERVED-BSE-LAST:CAPS"/>
- <function name="G_TYPE_RESERVED_USER_FIRST" link="gobject-Type-Information.html#G-TYPE-RESERVED-USER-FIRST:CAPS"/>
- <function name="GTypePlugin" link="GTypePlugin.html#GTypePlugin-struct"/>
- <function name="GTypePluginClass" link="GTypePlugin.html#GTypePluginClass"/>
- <function name="GTypePluginUse ()" link="GTypePlugin.html#GTypePluginUse"/>
- <function name="GTypePluginUnuse ()" link="GTypePlugin.html#GTypePluginUnuse"/>
- <function name="GTypePluginCompleteTypeInfo ()" link="GTypePlugin.html#GTypePluginCompleteTypeInfo"/>
- <function name="GTypePluginCompleteInterfaceInfo ()" link="GTypePlugin.html#GTypePluginCompleteInterfaceInfo"/>
- <function name="g_type_plugin_use ()" link="GTypePlugin.html#g-type-plugin-use"/>
- <function name="g_type_plugin_unuse ()" link="GTypePlugin.html#g-type-plugin-unuse"/>
- <function name="g_type_plugin_complete_type_info ()" link="GTypePlugin.html#g-type-plugin-complete-type-info"/>
- <function name="g_type_plugin_complete_interface_info ()" link="GTypePlugin.html#g-type-plugin-complete-interface-info"/>
- <function name="GTypeModule" link="GTypeModule.html#GTypeModule-struct"/>
- <function name="GTypeModuleClass" link="GTypeModule.html#GTypeModuleClass"/>
- <function name="g_type_module_use ()" link="GTypeModule.html#g-type-module-use"/>
- <function name="g_type_module_unuse ()" link="GTypeModule.html#g-type-module-unuse"/>
- <function name="g_type_module_set_name ()" link="GTypeModule.html#g-type-module-set-name"/>
- <function name="g_type_module_register_type ()" link="GTypeModule.html#g-type-module-register-type"/>
- <function name="g_type_module_add_interface ()" link="GTypeModule.html#g-type-module-add-interface"/>
- <function name="g_type_module_register_enum ()" link="GTypeModule.html#g-type-module-register-enum"/>
- <function name="g_type_module_register_flags ()" link="GTypeModule.html#g-type-module-register-flags"/>
- <function name="G_DEFINE_DYNAMIC_TYPE()" link="GTypeModule.html#G-DEFINE-DYNAMIC-TYPE:CAPS"/>
- <function name="G_DEFINE_DYNAMIC_TYPE_EXTENDED()" link="GTypeModule.html#G-DEFINE-DYNAMIC-TYPE-EXTENDED:CAPS"/>
- <function name="G_IMPLEMENT_INTERFACE_DYNAMIC()" link="GTypeModule.html#G-IMPLEMENT-INTERFACE-DYNAMIC:CAPS"/>
- <function name="GObject" link="gobject-The-Base-Object-Type.html#GObject-struct"/>
- <function name="GObjectClass" link="gobject-The-Base-Object-Type.html#GObjectClass"/>
- <function name="GObjectConstructParam" link="gobject-The-Base-Object-Type.html#GObjectConstructParam"/>
- <function name="GObjectGetPropertyFunc ()" link="gobject-The-Base-Object-Type.html#GObjectGetPropertyFunc"/>
- <function name="GObjectSetPropertyFunc ()" link="gobject-The-Base-Object-Type.html#GObjectSetPropertyFunc"/>
- <function name="GObjectFinalizeFunc ()" link="gobject-The-Base-Object-Type.html#GObjectFinalizeFunc"/>
- <function name="G_TYPE_IS_OBJECT()" link="gobject-The-Base-Object-Type.html#G-TYPE-IS-OBJECT:CAPS"/>
- <function name="G_OBJECT()" link="gobject-The-Base-Object-Type.html#G-OBJECT:CAPS"/>
- <function name="G_IS_OBJECT()" link="gobject-The-Base-Object-Type.html#G-IS-OBJECT:CAPS"/>
- <function name="G_OBJECT_CLASS()" link="gobject-The-Base-Object-Type.html#G-OBJECT-CLASS:CAPS"/>
- <function name="G_IS_OBJECT_CLASS()" link="gobject-The-Base-Object-Type.html#G-IS-OBJECT-CLASS:CAPS"/>
- <function name="G_OBJECT_GET_CLASS()" link="gobject-The-Base-Object-Type.html#G-OBJECT-GET-CLASS:CAPS"/>
- <function name="G_OBJECT_TYPE()" link="gobject-The-Base-Object-Type.html#G-OBJECT-TYPE:CAPS"/>
- <function name="G_OBJECT_TYPE_NAME()" link="gobject-The-Base-Object-Type.html#G-OBJECT-TYPE-NAME:CAPS"/>
- <function name="G_OBJECT_CLASS_TYPE()" link="gobject-The-Base-Object-Type.html#G-OBJECT-CLASS-TYPE:CAPS"/>
- <function name="G_OBJECT_CLASS_NAME()" link="gobject-The-Base-Object-Type.html#G-OBJECT-CLASS-NAME:CAPS"/>
- <function name="g_object_class_install_property ()" link="gobject-The-Base-Object-Type.html#g-object-class-install-property"/>
- <function name="g_object_class_find_property ()" link="gobject-The-Base-Object-Type.html#g-object-class-find-property"/>
- <function name="g_object_class_list_properties ()" link="gobject-The-Base-Object-Type.html#g-object-class-list-properties"/>
- <function name="g_object_class_override_property ()" link="gobject-The-Base-Object-Type.html#g-object-class-override-property"/>
- <function name="g_object_interface_install_property ()" link="gobject-The-Base-Object-Type.html#g-object-interface-install-property"/>
- <function name="g_object_interface_find_property ()" link="gobject-The-Base-Object-Type.html#g-object-interface-find-property"/>
- <function name="g_object_interface_list_properties ()" link="gobject-The-Base-Object-Type.html#g-object-interface-list-properties"/>
- <function name="g_object_new ()" link="gobject-The-Base-Object-Type.html#g-object-new"/>
- <function name="g_object_newv ()" link="gobject-The-Base-Object-Type.html#g-object-newv"/>
- <function name="GParameter" link="gobject-The-Base-Object-Type.html#GParameter"/>
- <function name="g_object_ref ()" link="gobject-The-Base-Object-Type.html#g-object-ref"/>
- <function name="g_object_unref ()" link="gobject-The-Base-Object-Type.html#g-object-unref"/>
- <function name="g_object_ref_sink ()" link="gobject-The-Base-Object-Type.html#g-object-ref-sink"/>
- <function name="GInitiallyUnowned" link="gobject-The-Base-Object-Type.html#GInitiallyUnowned"/>
- <function name="GInitiallyUnownedClass" link="gobject-The-Base-Object-Type.html#GInitiallyUnownedClass"/>
- <function name="G_TYPE_INITIALLY_UNOWNED" link="gobject-The-Base-Object-Type.html#G-TYPE-INITIALLY-UNOWNED:CAPS"/>
- <function name="g_object_is_floating ()" link="gobject-The-Base-Object-Type.html#g-object-is-floating"/>
- <function name="g_object_force_floating ()" link="gobject-The-Base-Object-Type.html#g-object-force-floating"/>
- <function name="GWeakNotify ()" link="gobject-The-Base-Object-Type.html#GWeakNotify"/>
- <function name="g_object_weak_ref ()" link="gobject-The-Base-Object-Type.html#g-object-weak-ref"/>
- <function name="g_object_weak_unref ()" link="gobject-The-Base-Object-Type.html#g-object-weak-unref"/>
- <function name="g_object_add_weak_pointer ()" link="gobject-The-Base-Object-Type.html#g-object-add-weak-pointer"/>
- <function name="g_object_remove_weak_pointer ()" link="gobject-The-Base-Object-Type.html#g-object-remove-weak-pointer"/>
- <function name="GToggleNotify ()" link="gobject-The-Base-Object-Type.html#GToggleNotify"/>
- <function name="g_object_add_toggle_ref ()" link="gobject-The-Base-Object-Type.html#g-object-add-toggle-ref"/>
- <function name="g_object_remove_toggle_ref ()" link="gobject-The-Base-Object-Type.html#g-object-remove-toggle-ref"/>
- <function name="g_object_connect ()" link="gobject-The-Base-Object-Type.html#g-object-connect"/>
- <function name="g_object_disconnect ()" link="gobject-The-Base-Object-Type.html#g-object-disconnect"/>
- <function name="g_object_set ()" link="gobject-The-Base-Object-Type.html#g-object-set"/>
- <function name="g_object_get ()" link="gobject-The-Base-Object-Type.html#g-object-get"/>
- <function name="g_object_notify ()" link="gobject-The-Base-Object-Type.html#g-object-notify"/>
- <function name="g_object_freeze_notify ()" link="gobject-The-Base-Object-Type.html#g-object-freeze-notify"/>
- <function name="g_object_thaw_notify ()" link="gobject-The-Base-Object-Type.html#g-object-thaw-notify"/>
- <function name="g_object_get_data ()" link="gobject-The-Base-Object-Type.html#g-object-get-data"/>
- <function name="g_object_set_data ()" link="gobject-The-Base-Object-Type.html#g-object-set-data"/>
- <function name="g_object_set_data_full ()" link="gobject-The-Base-Object-Type.html#g-object-set-data-full"/>
- <function name="g_object_steal_data ()" link="gobject-The-Base-Object-Type.html#g-object-steal-data"/>
- <function name="g_object_get_qdata ()" link="gobject-The-Base-Object-Type.html#g-object-get-qdata"/>
- <function name="g_object_set_qdata ()" link="gobject-The-Base-Object-Type.html#g-object-set-qdata"/>
- <function name="g_object_set_qdata_full ()" link="gobject-The-Base-Object-Type.html#g-object-set-qdata-full"/>
- <function name="g_object_steal_qdata ()" link="gobject-The-Base-Object-Type.html#g-object-steal-qdata"/>
- <function name="g_object_set_property ()" link="gobject-The-Base-Object-Type.html#g-object-set-property"/>
- <function name="g_object_get_property ()" link="gobject-The-Base-Object-Type.html#g-object-get-property"/>
- <function name="g_object_new_valist ()" link="gobject-The-Base-Object-Type.html#g-object-new-valist"/>
- <function name="g_object_set_valist ()" link="gobject-The-Base-Object-Type.html#g-object-set-valist"/>
- <function name="g_object_get_valist ()" link="gobject-The-Base-Object-Type.html#g-object-get-valist"/>
- <function name="g_object_watch_closure ()" link="gobject-The-Base-Object-Type.html#g-object-watch-closure"/>
- <function name="g_object_run_dispose ()" link="gobject-The-Base-Object-Type.html#g-object-run-dispose"/>
- <function name="G_OBJECT_WARN_INVALID_PROPERTY_ID()" link="gobject-The-Base-Object-Type.html#G-OBJECT-WARN-INVALID-PROPERTY-ID:CAPS"/>
- <function name="The "notify" signal" link="gobject-The-Base-Object-Type.html#GObject-notify"/>
- <function name="GEnumClass" link="gobject-Enumeration-and-Flag-Types.html#GEnumClass"/>
- <function name="GFlagsClass" link="gobject-Enumeration-and-Flag-Types.html#GFlagsClass"/>
- <function name="G_ENUM_CLASS_TYPE()" link="gobject-Enumeration-and-Flag-Types.html#G-ENUM-CLASS-TYPE:CAPS"/>
- <function name="G_ENUM_CLASS_TYPE_NAME()" link="gobject-Enumeration-and-Flag-Types.html#G-ENUM-CLASS-TYPE-NAME:CAPS"/>
- <function name="G_TYPE_IS_ENUM()" link="gobject-Enumeration-and-Flag-Types.html#G-TYPE-IS-ENUM:CAPS"/>
- <function name="G_ENUM_CLASS()" link="gobject-Enumeration-and-Flag-Types.html#G-ENUM-CLASS:CAPS"/>
- <function name="G_IS_ENUM_CLASS()" link="gobject-Enumeration-and-Flag-Types.html#G-IS-ENUM-CLASS:CAPS"/>
- <function name="G_TYPE_IS_FLAGS()" link="gobject-Enumeration-and-Flag-Types.html#G-TYPE-IS-FLAGS:CAPS"/>
- <function name="G_FLAGS_CLASS()" link="gobject-Enumeration-and-Flag-Types.html#G-FLAGS-CLASS:CAPS"/>
- <function name="G_IS_FLAGS_CLASS()" link="gobject-Enumeration-and-Flag-Types.html#G-IS-FLAGS-CLASS:CAPS"/>
- <function name="G_FLAGS_CLASS_TYPE()" link="gobject-Enumeration-and-Flag-Types.html#G-FLAGS-CLASS-TYPE:CAPS"/>
- <function name="G_FLAGS_CLASS_TYPE_NAME()" link="gobject-Enumeration-and-Flag-Types.html#G-FLAGS-CLASS-TYPE-NAME:CAPS"/>
- <function name="GEnumValue" link="gobject-Enumeration-and-Flag-Types.html#GEnumValue"/>
- <function name="GFlagsValue" link="gobject-Enumeration-and-Flag-Types.html#GFlagsValue"/>
- <function name="g_enum_get_value ()" link="gobject-Enumeration-and-Flag-Types.html#g-enum-get-value"/>
- <function name="g_enum_get_value_by_name ()" link="gobject-Enumeration-and-Flag-Types.html#g-enum-get-value-by-name"/>
- <function name="g_enum_get_value_by_nick ()" link="gobject-Enumeration-and-Flag-Types.html#g-enum-get-value-by-nick"/>
- <function name="g_flags_get_first_value ()" link="gobject-Enumeration-and-Flag-Types.html#g-flags-get-first-value"/>
- <function name="g_flags_get_value_by_name ()" link="gobject-Enumeration-and-Flag-Types.html#g-flags-get-value-by-name"/>
- <function name="g_flags_get_value_by_nick ()" link="gobject-Enumeration-and-Flag-Types.html#g-flags-get-value-by-nick"/>
- <function name="g_enum_register_static ()" link="gobject-Enumeration-and-Flag-Types.html#g-enum-register-static"/>
- <function name="g_flags_register_static ()" link="gobject-Enumeration-and-Flag-Types.html#g-flags-register-static"/>
- <function name="g_enum_complete_type_info ()" link="gobject-Enumeration-and-Flag-Types.html#g-enum-complete-type-info"/>
- <function name="g_flags_complete_type_info ()" link="gobject-Enumeration-and-Flag-Types.html#g-flags-complete-type-info"/>
- <function name="GBoxedCopyFunc ()" link="gobject-Boxed-Types.html#GBoxedCopyFunc"/>
- <function name="GBoxedFreeFunc ()" link="gobject-Boxed-Types.html#GBoxedFreeFunc"/>
- <function name="g_boxed_copy ()" link="gobject-Boxed-Types.html#g-boxed-copy"/>
- <function name="g_boxed_free ()" link="gobject-Boxed-Types.html#g-boxed-free"/>
- <function name="g_boxed_type_register_static ()" link="gobject-Boxed-Types.html#g-boxed-type-register-static"/>
- <function name="g_pointer_type_register_static ()" link="gobject-Boxed-Types.html#g-pointer-type-register-static"/>
- <function name="G_TYPE_HASH_TABLE" link="gobject-Boxed-Types.html#G-TYPE-HASH-TABLE:CAPS"/>
- <function name="G_TYPE_DATE" link="gobject-Boxed-Types.html#G-TYPE-DATE:CAPS"/>
- <function name="G_TYPE_GSTRING" link="gobject-Boxed-Types.html#G-TYPE-GSTRING:CAPS"/>
- <function name="G_TYPE_STRV" link="gobject-Boxed-Types.html#G-TYPE-STRV:CAPS"/>
- <function name="G_TYPE_REGEX" link="gobject-Boxed-Types.html#G-TYPE-REGEX:CAPS"/>
- <function name="G_TYPE_ARRAY" link="gobject-Boxed-Types.html#G-TYPE-ARRAY:CAPS"/>
- <function name="G_TYPE_BYTE_ARRAY" link="gobject-Boxed-Types.html#G-TYPE-BYTE-ARRAY:CAPS"/>
- <function name="G_TYPE_PTR_ARRAY" link="gobject-Boxed-Types.html#G-TYPE-PTR-ARRAY:CAPS"/>
- <function name="G_TYPE_VARIANT" link="gobject-Boxed-Types.html#G-TYPE-VARIANT:CAPS"/>
- <function name="G_TYPE_VARIANT_TYPE" link="gobject-Boxed-Types.html#G-TYPE-VARIANT-TYPE:CAPS"/>
- <function name="GStrv" link="gobject-Boxed-Types.html#GStrv"/>
- <function name="G_VALUE_HOLDS()" link="gobject-Generic-values.html#G-VALUE-HOLDS:CAPS"/>
- <function name="G_VALUE_TYPE()" link="gobject-Generic-values.html#G-VALUE-TYPE:CAPS"/>
- <function name="G_VALUE_TYPE_NAME()" link="gobject-Generic-values.html#G-VALUE-TYPE-NAME:CAPS"/>
- <function name="G_TYPE_IS_VALUE()" link="gobject-Generic-values.html#G-TYPE-IS-VALUE:CAPS"/>
- <function name="G_TYPE_IS_VALUE_ABSTRACT()" link="gobject-Generic-values.html#G-TYPE-IS-VALUE-ABSTRACT:CAPS"/>
- <function name="G_IS_VALUE()" link="gobject-Generic-values.html#G-IS-VALUE:CAPS"/>
- <function name="GValue" link="gobject-Generic-values.html#GValue"/>
- <function name="G_TYPE_VALUE" link="gobject-Generic-values.html#G-TYPE-VALUE:CAPS"/>
- <function name="G_TYPE_VALUE_ARRAY" link="gobject-Generic-values.html#G-TYPE-VALUE-ARRAY:CAPS"/>
- <function name="g_value_init ()" link="gobject-Generic-values.html#g-value-init"/>
- <function name="g_value_copy ()" link="gobject-Generic-values.html#g-value-copy"/>
- <function name="g_value_reset ()" link="gobject-Generic-values.html#g-value-reset"/>
- <function name="g_value_unset ()" link="gobject-Generic-values.html#g-value-unset"/>
- <function name="g_value_set_instance ()" link="gobject-Generic-values.html#g-value-set-instance"/>
- <function name="g_value_fits_pointer ()" link="gobject-Generic-values.html#g-value-fits-pointer"/>
- <function name="g_value_peek_pointer ()" link="gobject-Generic-values.html#g-value-peek-pointer"/>
- <function name="g_value_type_compatible ()" link="gobject-Generic-values.html#g-value-type-compatible"/>
- <function name="g_value_type_transformable ()" link="gobject-Generic-values.html#g-value-type-transformable"/>
- <function name="g_value_transform ()" link="gobject-Generic-values.html#g-value-transform"/>
- <function name="GValueTransform ()" link="gobject-Generic-values.html#GValueTransform"/>
- <function name="g_value_register_transform_func ()" link="gobject-Generic-values.html#g-value-register-transform-func"/>
- <function name="g_strdup_value_contents ()" link="gobject-Generic-values.html#g-strdup-value-contents"/>
- <function name="G_IS_PARAM_SPEC_BOOLEAN()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-BOOLEAN:CAPS"/>
- <function name="G_PARAM_SPEC_BOOLEAN()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-BOOLEAN:CAPS"/>
- <function name="G_VALUE_HOLDS_BOOLEAN()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-BOOLEAN:CAPS"/>
- <function name="G_TYPE_PARAM_BOOLEAN" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-BOOLEAN:CAPS"/>
- <function name="GParamSpecBoolean" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecBoolean"/>
- <function name="g_param_spec_boolean ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-boolean"/>
- <function name="g_value_set_boolean ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-boolean"/>
- <function name="g_value_get_boolean ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-boolean"/>
- <function name="G_IS_PARAM_SPEC_CHAR()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-CHAR:CAPS"/>
- <function name="G_PARAM_SPEC_CHAR()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-CHAR:CAPS"/>
- <function name="G_VALUE_HOLDS_CHAR()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-CHAR:CAPS"/>
- <function name="G_TYPE_PARAM_CHAR" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-CHAR:CAPS"/>
- <function name="GParamSpecChar" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecChar"/>
- <function name="g_param_spec_char ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-char"/>
- <function name="g_value_set_char ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-char"/>
- <function name="g_value_get_char ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-char"/>
- <function name="G_IS_PARAM_SPEC_UCHAR()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-UCHAR:CAPS"/>
- <function name="G_PARAM_SPEC_UCHAR()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-UCHAR:CAPS"/>
- <function name="G_VALUE_HOLDS_UCHAR()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-UCHAR:CAPS"/>
- <function name="G_TYPE_PARAM_UCHAR" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-UCHAR:CAPS"/>
- <function name="GParamSpecUChar" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecUChar"/>
- <function name="g_param_spec_uchar ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-uchar"/>
- <function name="g_value_set_uchar ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-uchar"/>
- <function name="g_value_get_uchar ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-uchar"/>
- <function name="G_IS_PARAM_SPEC_INT()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-INT:CAPS"/>
- <function name="G_PARAM_SPEC_INT()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-INT:CAPS"/>
- <function name="G_VALUE_HOLDS_INT()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-INT:CAPS"/>
- <function name="G_TYPE_PARAM_INT" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-INT:CAPS"/>
- <function name="GParamSpecInt" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecInt"/>
- <function name="g_param_spec_int ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-int"/>
- <function name="g_value_set_int ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-int"/>
- <function name="g_value_get_int ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-int"/>
- <function name="G_IS_PARAM_SPEC_UINT()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-UINT:CAPS"/>
- <function name="G_PARAM_SPEC_UINT()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-UINT:CAPS"/>
- <function name="G_VALUE_HOLDS_UINT()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-UINT:CAPS"/>
- <function name="G_TYPE_PARAM_UINT" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-UINT:CAPS"/>
- <function name="GParamSpecUInt" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecUInt"/>
- <function name="g_param_spec_uint ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-uint"/>
- <function name="g_value_set_uint ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-uint"/>
- <function name="g_value_get_uint ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-uint"/>
- <function name="G_IS_PARAM_SPEC_LONG()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-LONG:CAPS"/>
- <function name="G_PARAM_SPEC_LONG()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-LONG:CAPS"/>
- <function name="G_VALUE_HOLDS_LONG()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-LONG:CAPS"/>
- <function name="G_TYPE_PARAM_LONG" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-LONG:CAPS"/>
- <function name="GParamSpecLong" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecLong"/>
- <function name="g_param_spec_long ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-long"/>
- <function name="g_value_set_long ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-long"/>
- <function name="g_value_get_long ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-long"/>
- <function name="G_IS_PARAM_SPEC_ULONG()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-ULONG:CAPS"/>
- <function name="G_PARAM_SPEC_ULONG()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-ULONG:CAPS"/>
- <function name="G_VALUE_HOLDS_ULONG()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-ULONG:CAPS"/>
- <function name="G_TYPE_PARAM_ULONG" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-ULONG:CAPS"/>
- <function name="GParamSpecULong" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecULong"/>
- <function name="g_param_spec_ulong ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-ulong"/>
- <function name="g_value_set_ulong ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-ulong"/>
- <function name="g_value_get_ulong ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-ulong"/>
- <function name="G_IS_PARAM_SPEC_INT64()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-INT64:CAPS"/>
- <function name="G_PARAM_SPEC_INT64()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-INT64:CAPS"/>
- <function name="G_VALUE_HOLDS_INT64()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-INT64:CAPS"/>
- <function name="G_TYPE_PARAM_INT64" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-INT64:CAPS"/>
- <function name="GParamSpecInt64" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecInt64"/>
- <function name="g_param_spec_int64 ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-int64"/>
- <function name="g_value_set_int64 ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-int64"/>
- <function name="g_value_get_int64 ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-int64"/>
- <function name="G_IS_PARAM_SPEC_UINT64()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-UINT64:CAPS"/>
- <function name="G_PARAM_SPEC_UINT64()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-UINT64:CAPS"/>
- <function name="G_VALUE_HOLDS_UINT64()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-UINT64:CAPS"/>
- <function name="G_TYPE_PARAM_UINT64" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-UINT64:CAPS"/>
- <function name="GParamSpecUInt64" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecUInt64"/>
- <function name="g_param_spec_uint64 ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-uint64"/>
- <function name="g_value_set_uint64 ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-uint64"/>
- <function name="g_value_get_uint64 ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-uint64"/>
- <function name="G_IS_PARAM_SPEC_FLOAT()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-FLOAT:CAPS"/>
- <function name="G_PARAM_SPEC_FLOAT()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-FLOAT:CAPS"/>
- <function name="G_VALUE_HOLDS_FLOAT()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-FLOAT:CAPS"/>
- <function name="G_TYPE_PARAM_FLOAT" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-FLOAT:CAPS"/>
- <function name="GParamSpecFloat" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecFloat"/>
- <function name="g_param_spec_float ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-float"/>
- <function name="g_value_set_float ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-float"/>
- <function name="g_value_get_float ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-float"/>
- <function name="G_IS_PARAM_SPEC_DOUBLE()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-DOUBLE:CAPS"/>
- <function name="G_PARAM_SPEC_DOUBLE()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-DOUBLE:CAPS"/>
- <function name="G_VALUE_HOLDS_DOUBLE()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-DOUBLE:CAPS"/>
- <function name="G_TYPE_PARAM_DOUBLE" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-DOUBLE:CAPS"/>
- <function name="GParamSpecDouble" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecDouble"/>
- <function name="g_param_spec_double ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-double"/>
- <function name="g_value_set_double ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-double"/>
- <function name="g_value_get_double ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-double"/>
- <function name="G_IS_PARAM_SPEC_ENUM()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-ENUM:CAPS"/>
- <function name="G_PARAM_SPEC_ENUM()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-ENUM:CAPS"/>
- <function name="G_VALUE_HOLDS_ENUM()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-ENUM:CAPS"/>
- <function name="G_TYPE_PARAM_ENUM" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-ENUM:CAPS"/>
- <function name="GParamSpecEnum" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecEnum"/>
- <function name="g_param_spec_enum ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-enum"/>
- <function name="g_value_set_enum ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-enum"/>
- <function name="g_value_get_enum ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-enum"/>
- <function name="G_IS_PARAM_SPEC_FLAGS()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-FLAGS:CAPS"/>
- <function name="G_PARAM_SPEC_FLAGS()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-FLAGS:CAPS"/>
- <function name="G_VALUE_HOLDS_FLAGS()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-FLAGS:CAPS"/>
- <function name="G_TYPE_PARAM_FLAGS" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-FLAGS:CAPS"/>
- <function name="GParamSpecFlags" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecFlags"/>
- <function name="g_param_spec_flags ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-flags"/>
- <function name="g_value_set_flags ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-flags"/>
- <function name="g_value_get_flags ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-flags"/>
- <function name="G_IS_PARAM_SPEC_STRING()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-STRING:CAPS"/>
- <function name="G_PARAM_SPEC_STRING()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-STRING:CAPS"/>
- <function name="G_VALUE_HOLDS_STRING()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-STRING:CAPS"/>
- <function name="G_TYPE_PARAM_STRING" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-STRING:CAPS"/>
- <function name="GParamSpecString" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecString"/>
- <function name="gchararray" link="gobject-Standard-Parameter-and-Value-Types.html#gchararray"/>
- <function name="g_param_spec_string ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-string"/>
- <function name="g_value_set_string ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-string"/>
- <function name="g_value_set_static_string ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-static-string"/>
- <function name="g_value_take_string ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-take-string"/>
- <function name="g_value_set_string_take_ownership ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-string-take-ownership"/>
- <function name="g_value_get_string ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-string"/>
- <function name="g_value_dup_string ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-dup-string"/>
- <function name="G_IS_PARAM_SPEC_PARAM()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-PARAM:CAPS"/>
- <function name="G_PARAM_SPEC_PARAM()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-PARAM:CAPS"/>
- <function name="G_VALUE_HOLDS_PARAM()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-PARAM:CAPS"/>
- <function name="G_TYPE_PARAM_PARAM" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-PARAM:CAPS"/>
- <function name="GParamSpecParam" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecParam"/>
- <function name="g_param_spec_param ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-param"/>
- <function name="g_value_set_param ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-param"/>
- <function name="g_value_take_param ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-take-param"/>
- <function name="g_value_set_param_take_ownership ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-param-take-ownership"/>
- <function name="g_value_get_param ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-param"/>
- <function name="g_value_dup_param ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-dup-param"/>
- <function name="G_IS_PARAM_SPEC_BOXED()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-BOXED:CAPS"/>
- <function name="G_PARAM_SPEC_BOXED()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-BOXED:CAPS"/>
- <function name="G_VALUE_HOLDS_BOXED()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-BOXED:CAPS"/>
- <function name="G_TYPE_PARAM_BOXED" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-BOXED:CAPS"/>
- <function name="GParamSpecBoxed" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecBoxed"/>
- <function name="g_param_spec_boxed ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-boxed"/>
- <function name="g_value_set_boxed ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-boxed"/>
- <function name="g_value_set_static_boxed ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-static-boxed"/>
- <function name="g_value_take_boxed ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-take-boxed"/>
- <function name="g_value_set_boxed_take_ownership ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-boxed-take-ownership"/>
- <function name="g_value_get_boxed ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-boxed"/>
- <function name="g_value_dup_boxed ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-dup-boxed"/>
- <function name="G_IS_PARAM_SPEC_POINTER()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-POINTER:CAPS"/>
- <function name="G_PARAM_SPEC_POINTER()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-POINTER:CAPS"/>
- <function name="G_VALUE_HOLDS_POINTER()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-POINTER:CAPS"/>
- <function name="G_TYPE_PARAM_POINTER" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-POINTER:CAPS"/>
- <function name="GParamSpecPointer" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecPointer"/>
- <function name="g_param_spec_pointer ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-pointer"/>
- <function name="g_value_set_pointer ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-pointer"/>
- <function name="g_value_get_pointer ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-pointer"/>
- <function name="G_IS_PARAM_SPEC_OBJECT()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-OBJECT:CAPS"/>
- <function name="G_PARAM_SPEC_OBJECT()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-OBJECT:CAPS"/>
- <function name="G_VALUE_HOLDS_OBJECT()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-OBJECT:CAPS"/>
- <function name="G_TYPE_PARAM_OBJECT" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-OBJECT:CAPS"/>
- <function name="GParamSpecObject" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecObject"/>
- <function name="g_param_spec_object ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-object"/>
- <function name="g_value_set_object ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-object"/>
- <function name="g_value_take_object ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-take-object"/>
- <function name="g_value_set_object_take_ownership ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-object-take-ownership"/>
- <function name="g_value_get_object ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-object"/>
- <function name="g_value_dup_object ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-dup-object"/>
- <function name="G_IS_PARAM_SPEC_UNICHAR()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-UNICHAR:CAPS"/>
- <function name="G_PARAM_SPEC_UNICHAR()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-UNICHAR:CAPS"/>
- <function name="G_TYPE_PARAM_UNICHAR" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-UNICHAR:CAPS"/>
- <function name="GParamSpecUnichar" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecUnichar"/>
- <function name="g_param_spec_unichar ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-unichar"/>
- <function name="G_IS_PARAM_SPEC_VALUE_ARRAY()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-VALUE-ARRAY:CAPS"/>
- <function name="G_PARAM_SPEC_VALUE_ARRAY()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-VALUE-ARRAY:CAPS"/>
- <function name="G_TYPE_PARAM_VALUE_ARRAY" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-VALUE-ARRAY:CAPS"/>
- <function name="GParamSpecValueArray" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecValueArray"/>
- <function name="g_param_spec_value_array ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-value-array"/>
- <function name="G_IS_PARAM_SPEC_OVERRIDE()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-OVERRIDE:CAPS"/>
- <function name="G_PARAM_SPEC_OVERRIDE()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-OVERRIDE:CAPS"/>
- <function name="G_TYPE_PARAM_OVERRIDE" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-OVERRIDE:CAPS"/>
- <function name="GParamSpecOverride" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecOverride"/>
- <function name="g_param_spec_override ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-override"/>
- <function name="G_IS_PARAM_SPEC_GTYPE()" link="gobject-Standard-Parameter-and-Value-Types.html#G-IS-PARAM-SPEC-GTYPE:CAPS"/>
- <function name="G_PARAM_SPEC_GTYPE()" link="gobject-Standard-Parameter-and-Value-Types.html#G-PARAM-SPEC-GTYPE:CAPS"/>
- <function name="G_VALUE_HOLDS_GTYPE()" link="gobject-Standard-Parameter-and-Value-Types.html#G-VALUE-HOLDS-GTYPE:CAPS"/>
- <function name="G_TYPE_PARAM_GTYPE" link="gobject-Standard-Parameter-and-Value-Types.html#G-TYPE-PARAM-GTYPE:CAPS"/>
- <function name="GParamSpecGType" link="gobject-Standard-Parameter-and-Value-Types.html#GParamSpecGType"/>
- <function name="g_param_spec_gtype ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-param-spec-gtype"/>
- <function name="g_value_get_gtype ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-get-gtype"/>
- <function name="g_value_set_gtype ()" link="gobject-Standard-Parameter-and-Value-Types.html#g-value-set-gtype"/>
- <function name="G_TYPE_IS_PARAM()" link="gobject-GParamSpec.html#G-TYPE-IS-PARAM:CAPS"/>
- <function name="G_PARAM_SPEC()" link="gobject-GParamSpec.html#G-PARAM-SPEC:CAPS"/>
- <function name="G_IS_PARAM_SPEC()" link="gobject-GParamSpec.html#G-IS-PARAM-SPEC:CAPS"/>
- <function name="G_PARAM_SPEC_CLASS()" link="gobject-GParamSpec.html#G-PARAM-SPEC-CLASS:CAPS"/>
- <function name="G_IS_PARAM_SPEC_CLASS()" link="gobject-GParamSpec.html#G-IS-PARAM-SPEC-CLASS:CAPS"/>
- <function name="G_PARAM_SPEC_GET_CLASS()" link="gobject-GParamSpec.html#G-PARAM-SPEC-GET-CLASS:CAPS"/>
- <function name="G_PARAM_SPEC_TYPE()" link="gobject-GParamSpec.html#G-PARAM-SPEC-TYPE:CAPS"/>
- <function name="G_PARAM_SPEC_TYPE_NAME()" link="gobject-GParamSpec.html#G-PARAM-SPEC-TYPE-NAME:CAPS"/>
- <function name="G_PARAM_SPEC_VALUE_TYPE()" link="gobject-GParamSpec.html#G-PARAM-SPEC-VALUE-TYPE:CAPS"/>
- <function name="GParamSpec" link="gobject-GParamSpec.html#GParamSpec"/>
- <function name="GParamSpecClass" link="gobject-GParamSpec.html#GParamSpecClass"/>
- <function name="enum GParamFlags" link="gobject-GParamSpec.html#GParamFlags"/>
- <function name="G_PARAM_READWRITE" link="gobject-GParamSpec.html#G-PARAM-READWRITE:CAPS"/>
- <function name="G_PARAM_STATIC_STRINGS" link="gobject-GParamSpec.html#G-PARAM-STATIC-STRINGS:CAPS"/>
- <function name="G_PARAM_MASK" link="gobject-GParamSpec.html#G-PARAM-MASK:CAPS"/>
- <function name="G_PARAM_USER_SHIFT" link="gobject-GParamSpec.html#G-PARAM-USER-SHIFT:CAPS"/>
- <function name="g_param_spec_ref ()" link="gobject-GParamSpec.html#g-param-spec-ref"/>
- <function name="g_param_spec_unref ()" link="gobject-GParamSpec.html#g-param-spec-unref"/>
- <function name="g_param_spec_sink ()" link="gobject-GParamSpec.html#g-param-spec-sink"/>
- <function name="g_param_spec_ref_sink ()" link="gobject-GParamSpec.html#g-param-spec-ref-sink"/>
- <function name="g_param_value_set_default ()" link="gobject-GParamSpec.html#g-param-value-set-default"/>
- <function name="g_param_value_defaults ()" link="gobject-GParamSpec.html#g-param-value-defaults"/>
- <function name="g_param_value_validate ()" link="gobject-GParamSpec.html#g-param-value-validate"/>
- <function name="g_param_value_convert ()" link="gobject-GParamSpec.html#g-param-value-convert"/>
- <function name="g_param_values_cmp ()" link="gobject-GParamSpec.html#g-param-values-cmp"/>
- <function name="g_param_spec_get_name ()" link="gobject-GParamSpec.html#g-param-spec-get-name"/>
- <function name="g_param_spec_get_nick ()" link="gobject-GParamSpec.html#g-param-spec-get-nick"/>
- <function name="g_param_spec_get_blurb ()" link="gobject-GParamSpec.html#g-param-spec-get-blurb"/>
- <function name="g_param_spec_get_qdata ()" link="gobject-GParamSpec.html#g-param-spec-get-qdata"/>
- <function name="g_param_spec_set_qdata ()" link="gobject-GParamSpec.html#g-param-spec-set-qdata"/>
- <function name="g_param_spec_set_qdata_full ()" link="gobject-GParamSpec.html#g-param-spec-set-qdata-full"/>
- <function name="g_param_spec_steal_qdata ()" link="gobject-GParamSpec.html#g-param-spec-steal-qdata"/>
- <function name="g_param_spec_get_redirect_target ()" link="gobject-GParamSpec.html#g-param-spec-get-redirect-target"/>
- <function name="g_param_spec_internal ()" link="gobject-GParamSpec.html#g-param-spec-internal"/>
- <function name="GParamSpecTypeInfo" link="gobject-GParamSpec.html#GParamSpecTypeInfo"/>
- <function name="g_param_type_register_static ()" link="gobject-GParamSpec.html#g-param-type-register-static"/>
- <function name="GParamSpecPool" link="gobject-GParamSpec.html#GParamSpecPool"/>
- <function name="g_param_spec_pool_new ()" link="gobject-GParamSpec.html#g-param-spec-pool-new"/>
- <function name="g_param_spec_pool_insert ()" link="gobject-GParamSpec.html#g-param-spec-pool-insert"/>
- <function name="g_param_spec_pool_remove ()" link="gobject-GParamSpec.html#g-param-spec-pool-remove"/>
- <function name="g_param_spec_pool_lookup ()" link="gobject-GParamSpec.html#g-param-spec-pool-lookup"/>
- <function name="g_param_spec_pool_list ()" link="gobject-GParamSpec.html#g-param-spec-pool-list"/>
- <function name="g_param_spec_pool_list_owned ()" link="gobject-GParamSpec.html#g-param-spec-pool-list-owned"/>
- <function name="union GTypeCValue" link="gobject-Varargs-Value-Collection.html#GTypeCValue"/>
- <function name="G_VALUE_COLLECT()" link="gobject-Varargs-Value-Collection.html#G-VALUE-COLLECT:CAPS"/>
- <function name="G_VALUE_LCOPY()" link="gobject-Varargs-Value-Collection.html#G-VALUE-LCOPY:CAPS"/>
- <function name="G_VALUE_COLLECT_FORMAT_MAX_LENGTH" link="gobject-Varargs-Value-Collection.html#G-VALUE-COLLECT-FORMAT-MAX-LENGTH:CAPS"/>
- <function name="GSignalInvocationHint" link="gobject-Signals.html#GSignalInvocationHint"/>
- <function name="GSignalAccumulator ()" link="gobject-Signals.html#GSignalAccumulator"/>
- <function name="GSignalCMarshaller" link="gobject-Signals.html#GSignalCMarshaller"/>
- <function name="GSignalEmissionHook ()" link="gobject-Signals.html#GSignalEmissionHook"/>
- <function name="enum GSignalFlags" link="gobject-Signals.html#GSignalFlags"/>
- <function name="enum GSignalMatchType" link="gobject-Signals.html#GSignalMatchType"/>
- <function name="GSignalQuery" link="gobject-Signals.html#GSignalQuery"/>
- <function name="G_SIGNAL_TYPE_STATIC_SCOPE" link="gobject-Signals.html#G-SIGNAL-TYPE-STATIC-SCOPE:CAPS"/>
- <function name="G_SIGNAL_MATCH_MASK" link="gobject-Signals.html#G-SIGNAL-MATCH-MASK:CAPS"/>
- <function name="G_SIGNAL_FLAGS_MASK" link="gobject-Signals.html#G-SIGNAL-FLAGS-MASK:CAPS"/>
- <function name="g_signal_new ()" link="gobject-Signals.html#g-signal-new"/>
- <function name="g_signal_newv ()" link="gobject-Signals.html#g-signal-newv"/>
- <function name="g_signal_new_valist ()" link="gobject-Signals.html#g-signal-new-valist"/>
- <function name="g_signal_query ()" link="gobject-Signals.html#g-signal-query"/>
- <function name="g_signal_lookup ()" link="gobject-Signals.html#g-signal-lookup"/>
- <function name="g_signal_name ()" link="gobject-Signals.html#g-signal-name"/>
- <function name="g_signal_list_ids ()" link="gobject-Signals.html#g-signal-list-ids"/>
- <function name="g_signal_emit ()" link="gobject-Signals.html#g-signal-emit"/>
- <function name="g_signal_emit_by_name ()" link="gobject-Signals.html#g-signal-emit-by-name"/>
- <function name="g_signal_emitv ()" link="gobject-Signals.html#g-signal-emitv"/>
- <function name="g_signal_emit_valist ()" link="gobject-Signals.html#g-signal-emit-valist"/>
- <function name="g_signal_connect()" link="gobject-Signals.html#g-signal-connect"/>
- <function name="g_signal_connect_after()" link="gobject-Signals.html#g-signal-connect-after"/>
- <function name="g_signal_connect_swapped()" link="gobject-Signals.html#g-signal-connect-swapped"/>
- <function name="g_signal_connect_object ()" link="gobject-Signals.html#g-signal-connect-object"/>
- <function name="enum GConnectFlags" link="gobject-Signals.html#GConnectFlags"/>
- <function name="g_signal_connect_data ()" link="gobject-Signals.html#g-signal-connect-data"/>
- <function name="g_signal_connect_closure ()" link="gobject-Signals.html#g-signal-connect-closure"/>
- <function name="g_signal_connect_closure_by_id ()" link="gobject-Signals.html#g-signal-connect-closure-by-id"/>
- <function name="g_signal_handler_block ()" link="gobject-Signals.html#g-signal-handler-block"/>
- <function name="g_signal_handler_unblock ()" link="gobject-Signals.html#g-signal-handler-unblock"/>
- <function name="g_signal_handler_disconnect ()" link="gobject-Signals.html#g-signal-handler-disconnect"/>
- <function name="g_signal_handler_find ()" link="gobject-Signals.html#g-signal-handler-find"/>
- <function name="g_signal_handlers_block_matched ()" link="gobject-Signals.html#g-signal-handlers-block-matched"/>
- <function name="g_signal_handlers_unblock_matched ()" link="gobject-Signals.html#g-signal-handlers-unblock-matched"/>
- <function name="g_signal_handlers_disconnect_matched ()" link="gobject-Signals.html#g-signal-handlers-disconnect-matched"/>
- <function name="g_signal_handler_is_connected ()" link="gobject-Signals.html#g-signal-handler-is-connected"/>
- <function name="g_signal_handlers_block_by_func()" link="gobject-Signals.html#g-signal-handlers-block-by-func"/>
- <function name="g_signal_handlers_unblock_by_func()" link="gobject-Signals.html#g-signal-handlers-unblock-by-func"/>
- <function name="g_signal_handlers_disconnect_by_func()" link="gobject-Signals.html#g-signal-handlers-disconnect-by-func"/>
- <function name="g_signal_has_handler_pending ()" link="gobject-Signals.html#g-signal-has-handler-pending"/>
- <function name="g_signal_stop_emission ()" link="gobject-Signals.html#g-signal-stop-emission"/>
- <function name="g_signal_stop_emission_by_name ()" link="gobject-Signals.html#g-signal-stop-emission-by-name"/>
- <function name="g_signal_override_class_closure ()" link="gobject-Signals.html#g-signal-override-class-closure"/>
- <function name="g_signal_chain_from_overridden ()" link="gobject-Signals.html#g-signal-chain-from-overridden"/>
- <function name="g_signal_new_class_handler ()" link="gobject-Signals.html#g-signal-new-class-handler"/>
- <function name="g_signal_override_class_handler ()" link="gobject-Signals.html#g-signal-override-class-handler"/>
- <function name="g_signal_chain_from_overridden_handler ()" link="gobject-Signals.html#g-signal-chain-from-overridden-handler"/>
- <function name="g_signal_add_emission_hook ()" link="gobject-Signals.html#g-signal-add-emission-hook"/>
- <function name="g_signal_remove_emission_hook ()" link="gobject-Signals.html#g-signal-remove-emission-hook"/>
- <function name="g_signal_parse_name ()" link="gobject-Signals.html#g-signal-parse-name"/>
- <function name="g_signal_get_invocation_hint ()" link="gobject-Signals.html#g-signal-get-invocation-hint"/>
- <function name="g_signal_type_cclosure_new ()" link="gobject-Signals.html#g-signal-type-cclosure-new"/>
- <function name="g_signal_accumulator_true_handled ()" link="gobject-Signals.html#g-signal-accumulator-true-handled"/>
- <function name="G_CLOSURE_NEEDS_MARSHAL()" link="gobject-Closures.html#G-CLOSURE-NEEDS-MARSHAL:CAPS"/>
- <function name="G_CLOSURE_N_NOTIFIERS()" link="gobject-Closures.html#G-CLOSURE-N-NOTIFIERS:CAPS"/>
- <function name="G_CCLOSURE_SWAP_DATA()" link="gobject-Closures.html#G-CCLOSURE-SWAP-DATA:CAPS"/>
- <function name="G_CALLBACK()" link="gobject-Closures.html#G-CALLBACK:CAPS"/>
- <function name="GCallback ()" link="gobject-Closures.html#GCallback"/>
- <function name="GClosure" link="gobject-Closures.html#GClosure"/>
- <function name="G_TYPE_CLOSURE" link="gobject-Closures.html#G-TYPE-CLOSURE:CAPS"/>
- <function name="GCClosure" link="gobject-Closures.html#GCClosure"/>
- <function name="GClosureMarshal ()" link="gobject-Closures.html#GClosureMarshal"/>
- <function name="GClosureNotify ()" link="gobject-Closures.html#GClosureNotify"/>
- <function name="g_cclosure_new ()" link="gobject-Closures.html#g-cclosure-new"/>
- <function name="g_cclosure_new_swap ()" link="gobject-Closures.html#g-cclosure-new-swap"/>
- <function name="g_cclosure_new_object ()" link="gobject-Closures.html#g-cclosure-new-object"/>
- <function name="g_cclosure_new_object_swap ()" link="gobject-Closures.html#g-cclosure-new-object-swap"/>
- <function name="g_closure_new_object ()" link="gobject-Closures.html#g-closure-new-object"/>
- <function name="g_closure_ref ()" link="gobject-Closures.html#g-closure-ref"/>
- <function name="g_closure_sink ()" link="gobject-Closures.html#g-closure-sink"/>
- <function name="g_closure_unref ()" link="gobject-Closures.html#g-closure-unref"/>
- <function name="g_closure_invoke ()" link="gobject-Closures.html#g-closure-invoke"/>
- <function name="g_closure_invalidate ()" link="gobject-Closures.html#g-closure-invalidate"/>
- <function name="g_closure_add_finalize_notifier ()" link="gobject-Closures.html#g-closure-add-finalize-notifier"/>
- <function name="g_closure_add_invalidate_notifier ()" link="gobject-Closures.html#g-closure-add-invalidate-notifier"/>
- <function name="g_closure_remove_finalize_notifier ()" link="gobject-Closures.html#g-closure-remove-finalize-notifier"/>
- <function name="g_closure_remove_invalidate_notifier ()" link="gobject-Closures.html#g-closure-remove-invalidate-notifier"/>
- <function name="g_closure_new_simple ()" link="gobject-Closures.html#g-closure-new-simple"/>
- <function name="g_closure_set_marshal ()" link="gobject-Closures.html#g-closure-set-marshal"/>
- <function name="g_closure_add_marshal_guards ()" link="gobject-Closures.html#g-closure-add-marshal-guards"/>
- <function name="g_closure_set_meta_marshal ()" link="gobject-Closures.html#g-closure-set-meta-marshal"/>
- <function name="g_source_set_closure ()" link="gobject-Closures.html#g-source-set-closure"/>
- <function name="G_TYPE_IO_CHANNEL" link="gobject-Closures.html#G-TYPE-IO-CHANNEL:CAPS"/>
- <function name="G_TYPE_IO_CONDITION" link="gobject-Closures.html#G-TYPE-IO-CONDITION:CAPS"/>
- <function name="g_cclosure_marshal_VOID__VOID ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--VOID"/>
- <function name="g_cclosure_marshal_VOID__BOOLEAN ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--BOOLEAN"/>
- <function name="g_cclosure_marshal_VOID__CHAR ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--CHAR"/>
- <function name="g_cclosure_marshal_VOID__UCHAR ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--UCHAR"/>
- <function name="g_cclosure_marshal_VOID__INT ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--INT"/>
- <function name="g_cclosure_marshal_VOID__UINT ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--UINT"/>
- <function name="g_cclosure_marshal_VOID__LONG ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--LONG"/>
- <function name="g_cclosure_marshal_VOID__ULONG ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--ULONG"/>
- <function name="g_cclosure_marshal_VOID__ENUM ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--ENUM"/>
- <function name="g_cclosure_marshal_VOID__FLAGS ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--FLAGS"/>
- <function name="g_cclosure_marshal_VOID__FLOAT ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--FLOAT"/>
- <function name="g_cclosure_marshal_VOID__DOUBLE ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--DOUBLE"/>
- <function name="g_cclosure_marshal_VOID__STRING ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--STRING"/>
- <function name="g_cclosure_marshal_VOID__PARAM ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--PARAM"/>
- <function name="g_cclosure_marshal_VOID__BOXED ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--BOXED"/>
- <function name="g_cclosure_marshal_VOID__POINTER ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--POINTER"/>
- <function name="g_cclosure_marshal_VOID__OBJECT ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--OBJECT"/>
- <function name="g_cclosure_marshal_STRING__OBJECT_POINTER ()" link="gobject-Closures.html#g-cclosure-marshal-STRING--OBJECT-POINTER"/>
- <function name="g_cclosure_marshal_VOID__UINT_POINTER ()" link="gobject-Closures.html#g-cclosure-marshal-VOID--UINT-POINTER"/>
- <function name="g_cclosure_marshal_BOOLEAN__FLAGS ()" link="gobject-Closures.html#g-cclosure-marshal-BOOLEAN--FLAGS"/>
- <function name="g_cclosure_marshal_BOOL__FLAGS" link="gobject-Closures.html#g-cclosure-marshal-BOOL--FLAGS"/>
- <function name="GValueArray" link="gobject-Value-arrays.html#GValueArray"/>
- <function name="g_value_array_get_nth ()" link="gobject-Value-arrays.html#g-value-array-get-nth"/>
- <function name="g_value_array_new ()" link="gobject-Value-arrays.html#g-value-array-new"/>
- <function name="g_value_array_copy ()" link="gobject-Value-arrays.html#g-value-array-copy"/>
- <function name="g_value_array_free ()" link="gobject-Value-arrays.html#g-value-array-free"/>
- <function name="g_value_array_append ()" link="gobject-Value-arrays.html#g-value-array-append"/>
- <function name="g_value_array_prepend ()" link="gobject-Value-arrays.html#g-value-array-prepend"/>
- <function name="g_value_array_insert ()" link="gobject-Value-arrays.html#g-value-array-insert"/>
- <function name="g_value_array_remove ()" link="gobject-Value-arrays.html#g-value-array-remove"/>
- <function name="g_value_array_sort ()" link="gobject-Value-arrays.html#g-value-array-sort"/>
- <function name="g_value_array_sort_with_data ()" link="gobject-Value-arrays.html#g-value-array-sort-with-data"/>
- <function name="Options" link="glib-mkenums.html#id590584"/>
- <function name="Production text substitutions" link="glib-mkenums.html#id574325"/>
- <function name="Trigraph extensions" link="glib-mkenums.html#id612404"/>
- <function name="Options" link="glib-genmarshal.html#id584517"/>
- <function name="Marshaller list format" link="glib-genmarshal.html#id561940"/>
- <function name="Parameter types" link="glib-genmarshal.html#id615939"/>
- <function name="Options" link="gobject-query.html#id567614"/>
- </functions>
-</book>
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Enumeration and Flag Types
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GEnumClass ##### -->
-<para>
-
-</para>
-
-@g_type_class:
-@minimum:
-@maximum:
-@n_values:
-@values:
-
-<!-- ##### STRUCT GFlagsClass ##### -->
-<para>
-
-</para>
-
-@g_type_class:
-@mask:
-@n_values:
-@values:
-
-<!-- ##### MACRO G_ENUM_CLASS_TYPE ##### -->
-<para>
-
-</para>
-
-@class:
-
-
-<!-- ##### MACRO G_ENUM_CLASS_TYPE_NAME ##### -->
-<para>
-
-</para>
-
-@class:
-
-
-<!-- ##### MACRO G_TYPE_IS_ENUM ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_ENUM_CLASS ##### -->
-<para>
-
-</para>
-
-@class:
-
-
-<!-- ##### MACRO G_IS_ENUM_CLASS ##### -->
-<para>
-
-</para>
-
-@class:
-
-
-<!-- ##### MACRO G_TYPE_IS_FLAGS ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_FLAGS_CLASS ##### -->
-<para>
-
-</para>
-
-@class:
-
-
-<!-- ##### MACRO G_IS_FLAGS_CLASS ##### -->
-<para>
-
-</para>
-
-@class:
-
-
-<!-- ##### MACRO G_FLAGS_CLASS_TYPE ##### -->
-<para>
-
-</para>
-
-@class:
-
-
-<!-- ##### MACRO G_FLAGS_CLASS_TYPE_NAME ##### -->
-<para>
-
-</para>
-
-@class:
-
-
-<!-- ##### STRUCT GEnumValue ##### -->
-<para>
-
-</para>
-
-@value:
-@value_name:
-@value_nick:
-
-<!-- ##### STRUCT GFlagsValue ##### -->
-<para>
-
-</para>
-
-@value:
-@value_name:
-@value_nick:
-
-<!-- ##### FUNCTION g_enum_get_value ##### -->
-<para>
-
-</para>
-
-@enum_class:
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_enum_get_value_by_name ##### -->
-<para>
-
-</para>
-
-@enum_class:
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_enum_get_value_by_nick ##### -->
-<para>
-
-</para>
-
-@enum_class:
-@nick:
-@Returns:
-
-
-<!-- ##### FUNCTION g_flags_get_first_value ##### -->
-<para>
-
-</para>
-
-@flags_class:
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_flags_get_value_by_name ##### -->
-<para>
-
-</para>
-
-@flags_class:
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_flags_get_value_by_nick ##### -->
-<para>
-
-</para>
-
-@flags_class:
-@nick:
-@Returns:
-
-
-<!-- ##### FUNCTION g_enum_register_static ##### -->
-<para>
-
-</para>
-
-@name:
-@const_static_values:
-@Returns:
-
-
-<!-- ##### FUNCTION g_flags_register_static ##### -->
-<para>
-
-</para>
-
-@name:
-@const_static_values:
-@Returns:
-
-
-<!-- ##### FUNCTION g_enum_complete_type_info ##### -->
-<para>
-
-</para>
-
-@g_enum_type:
-@info:
-@const_values:
-
-
-<!-- ##### FUNCTION g_flags_complete_type_info ##### -->
-<para>
-
-</para>
-
-@g_flags_type:
-@info:
-@const_values:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Boxed Types
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### USER_FUNCTION GBoxedCopyFunc ##### -->
-<para>
-
-</para>
-
-@boxed:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GBoxedFreeFunc ##### -->
-<para>
-
-</para>
-
-@boxed:
-
-
-<!-- ##### FUNCTION g_boxed_copy ##### -->
-<para>
-
-</para>
-
-@boxed_type:
-@src_boxed:
-@Returns:
-
-
-<!-- ##### FUNCTION g_boxed_free ##### -->
-<para>
-
-</para>
-
-@boxed_type:
-@boxed:
-
-
-<!-- ##### FUNCTION g_boxed_type_register_static ##### -->
-<para>
-
-</para>
-
-@name:
-@boxed_copy:
-@boxed_free:
-@Returns:
-
-
-<!-- ##### FUNCTION g_pointer_type_register_static ##### -->
-<para>
-
-</para>
-
-@name:
-@Returns:
-
-
-<!-- ##### MACRO G_TYPE_HASH_TABLE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_DATE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_GSTRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_STRV ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_REGEX ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_ARRAY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_BYTE_ARRAY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_PTR_ARRAY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_VARIANT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_VARIANT_TYPE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### TYPEDEF GStrv ##### -->
-<para>
-
-</para>
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Closures
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_CLOSURE_NEEDS_MARSHAL ##### -->
-<para>
-
-</para>
-
-@closure:
-
-
-<!-- ##### MACRO G_CLOSURE_N_NOTIFIERS ##### -->
-<para>
-
-</para>
-
-@cl:
-
-
-<!-- ##### MACRO G_CCLOSURE_SWAP_DATA ##### -->
-<para>
-
-</para>
-
-@cclosure:
-
-
-<!-- ##### MACRO G_CALLBACK ##### -->
-<para>
-
-</para>
-
-@f:
-
-
-<!-- ##### USER_FUNCTION GCallback ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GClosure ##### -->
-<para>
-
-</para>
-
-@in_marshal:
-@is_invalid:
-
-<!-- ##### MACRO G_TYPE_CLOSURE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GCClosure ##### -->
-<para>
-
-</para>
-
-@closure:
-@callback:
-
-<!-- ##### USER_FUNCTION GClosureMarshal ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### USER_FUNCTION GClosureNotify ##### -->
-<para>
-
-</para>
-
-@data:
-@closure:
-
-
-<!-- ##### FUNCTION g_cclosure_new ##### -->
-<para>
-
-</para>
-
-@callback_func:
-@user_data:
-@destroy_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_cclosure_new_swap ##### -->
-<para>
-
-</para>
-
-@callback_func:
-@user_data:
-@destroy_data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_cclosure_new_object ##### -->
-<para>
-
-</para>
-
-@callback_func:
-@object:
-@Returns:
-
-
-<!-- ##### FUNCTION g_cclosure_new_object_swap ##### -->
-<para>
-
-</para>
-
-@callback_func:
-@object:
-@Returns:
-
-
-<!-- ##### FUNCTION g_closure_new_object ##### -->
-<para>
-
-</para>
-
-@sizeof_closure:
-@object:
-@Returns:
-
-
-<!-- ##### FUNCTION g_closure_ref ##### -->
-<para>
-
-</para>
-
-@closure:
-@Returns:
-
-
-<!-- ##### FUNCTION g_closure_sink ##### -->
-<para>
-
-</para>
-
-@closure:
-
-
-<!-- ##### FUNCTION g_closure_unref ##### -->
-<para>
-
-</para>
-
-@closure:
-
-
-<!-- ##### FUNCTION g_closure_invoke ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-
-
-<!-- ##### FUNCTION g_closure_invalidate ##### -->
-<para>
-
-</para>
-
-@closure:
-
-
-<!-- ##### FUNCTION g_closure_add_finalize_notifier ##### -->
-<para>
-
-</para>
-
-@closure:
-@notify_data:
-@notify_func:
-
-
-<!-- ##### FUNCTION g_closure_add_invalidate_notifier ##### -->
-<para>
-
-</para>
-
-@closure:
-@notify_data:
-@notify_func:
-
-
-<!-- ##### FUNCTION g_closure_remove_finalize_notifier ##### -->
-<para>
-
-</para>
-
-@closure:
-@notify_data:
-@notify_func:
-
-
-<!-- ##### FUNCTION g_closure_remove_invalidate_notifier ##### -->
-<para>
-
-</para>
-
-@closure:
-@notify_data:
-@notify_func:
-
-
-<!-- ##### FUNCTION g_closure_new_simple ##### -->
-<para>
-
-</para>
-
-@sizeof_closure:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_closure_set_marshal ##### -->
-<para>
-
-</para>
-
-@closure:
-@marshal:
-
-
-<!-- ##### FUNCTION g_closure_add_marshal_guards ##### -->
-<para>
-
-</para>
-
-@closure:
-@pre_marshal_data:
-@pre_marshal_notify:
-@post_marshal_data:
-@post_marshal_notify:
-
-
-<!-- ##### FUNCTION g_closure_set_meta_marshal ##### -->
-<para>
-
-</para>
-
-@closure:
-@marshal_data:
-@meta_marshal:
-
-
-<!-- ##### FUNCTION g_source_set_closure ##### -->
-<para>
-
-</para>
-
-@source:
-@closure:
-
-
-<!-- ##### MACRO G_TYPE_IO_CHANNEL ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_IO_CONDITION ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__VOID ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__BOOLEAN ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__CHAR ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__UCHAR ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__INT ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__UINT ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__LONG ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__ULONG ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__ENUM ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__FLAGS ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__FLOAT ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__DOUBLE ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__STRING ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__PARAM ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__BOXED ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__POINTER ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__OBJECT ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_STRING__OBJECT_POINTER ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_VOID__UINT_POINTER ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### FUNCTION g_cclosure_marshal_BOOLEAN__FLAGS ##### -->
-<para>
-
-</para>
-
-@closure:
-@return_value:
-@n_param_values:
-@param_values:
-@invocation_hint:
-@marshal_data:
-
-
-<!-- ##### MACRO g_cclosure_marshal_BOOL__FLAGS ##### -->
-<para>
-
-</para>
-
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Generic values
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_VALUE_HOLDS ##### -->
-<para>
-
-</para>
-
-@value:
-@type:
-
-
-<!-- ##### MACRO G_VALUE_TYPE ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_VALUE_TYPE_NAME ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_IS_VALUE ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_TYPE_IS_VALUE_ABSTRACT ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_IS_VALUE ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### STRUCT GValue ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_TYPE_VALUE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_VALUE_ARRAY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_value_init ##### -->
-<para>
-
-</para>
-
-@value:
-@g_type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_copy ##### -->
-<para>
-
-</para>
-
-@src_value:
-@dest_value:
-
-
-<!-- ##### FUNCTION g_value_reset ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_unset ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### FUNCTION g_value_set_instance ##### -->
-<para>
-
-</para>
-
-@value:
-@instance:
-
-
-<!-- ##### FUNCTION g_value_fits_pointer ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_peek_pointer ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_type_compatible ##### -->
-<para>
-
-</para>
-
-@src_type:
-@dest_type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_type_transformable ##### -->
-<para>
-
-</para>
-
-@src_type:
-@dest_type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_transform ##### -->
-<para>
-
-</para>
-
-@src_value:
-@dest_value:
-@Returns:
-
-
-<!-- ##### USER_FUNCTION GValueTransform ##### -->
-<para>
-
-</para>
-
-@src_value:
-@dest_value:
-
-
-<!-- ##### FUNCTION g_value_register_transform_func ##### -->
-<para>
-
-</para>
-
-@src_type:
-@dest_type:
-@transform_func:
-
-
-<!-- ##### FUNCTION g_strdup_value_contents ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### ENUM GTypeFundamentals ##### -->
-<para>
-The predefined identifiers of the reserved fundamental types.
-</para>
-
-@G_TYPE_INVALID: Usually a return value indicating an error.
-@G_TYPE_NONE: A synonym for the "void" type in C.
-@G_TYPE_INTERFACE: Root type of all interface types.
-@G_TYPE_CHAR: Identifier for the built-in type "gchar".
-@G_TYPE_UCHAR: Identifier for the built-in type "guchar".
-@G_TYPE_BOOLEAN: Identifier for the built-in type "gboolean".
-@G_TYPE_INT: Identifier for the built-in type "gint".
-@G_TYPE_UINT: Identifier for the built-in type "guint".
-@G_TYPE_LONG: Identifier for the built-in type "glong".
-@G_TYPE_ULONG: Identifier for the built-in type "gulong".
-@G_TYPE_INT64:
-@G_TYPE_UINT64:
-@G_TYPE_ENUM: Identifier for the "#GEnum" type.
-@G_TYPE_FLAGS: Identifier for the "#GFlags" type.
-@G_TYPE_FLOAT: Identifier for the built-in type "gfloat".
-@G_TYPE_DOUBLE: Identifier for the built-in type "gdouble".
-@G_TYPE_STRING: Identifier for a pointer to a null-terminated string "gchar*".
-@G_TYPE_POINTER: Identifier for anonymous pointers "void*".
-@G_TYPE_BOXED: Identifier for the "#GBoxed" type.
-@G_TYPE_PARAM: Identifier for the "#GParam" type.
-@G_TYPE_OBJECT: Identifier for the "#GObject" type.
-@G_TYPE_RESERVED_BSE_FIRST: First fundamental type ID reserved for BSE.
-@G_TYPE_RESERVED_BSE_LAST: Last fundamental type ID reserved for BSE.
-@G_TYPE_RESERVED_LAST_FUNDAMENTAL:
-@G_TYPE_CONSTANT_TYPES:
-@G_TYPE_CLOSURE:
-@G_TYPE_VALUE:
-@G_TYPE_VALUE_ARRAY:
-@G_TYPE_GSTRING:
-@G_TYPE_PARAM_CHAR:
-@G_TYPE_PARAM_UCHAR:
-@G_TYPE_PARAM_BOOLEAN:
-@G_TYPE_PARAM_INT:
-@G_TYPE_PARAM_UINT:
-@G_TYPE_PARAM_LONG:
-@G_TYPE_PARAM_ULONG:
-@G_TYPE_PARAM_INT64:
-@G_TYPE_PARAM_UINT64:
-@G_TYPE_PARAM_UNICHAR:
-@G_TYPE_PARAM_ENUM:
-@G_TYPE_PARAM_FLAGS:
-@G_TYPE_PARAM_FLOAT:
-@G_TYPE_PARAM_DOUBLE:
-@G_TYPE_PARAM_STRING:
-@G_TYPE_PARAM_PARAM:
-@G_TYPE_PARAM_BOXED:
-@G_TYPE_PARAM_POINTER:
-@G_TYPE_PARAM_VALUE_ARRAY:
-@G_TYPE_PARAM_CLOSURE:
-@G_TYPE_PARAM_OBJECT:
-
-<!-- ##### FUNCTION g_type_check_flags ##### -->
-<para>
-Determines whether a given set of #GTypeFlags and #GTypeFundamentalFlags
-are set for @type.
-</para>
-
-@type: The type to check for flags.
-@flags: Bitwise combination of #GTypeFlags and #GTypeFundamentalFlags.
-@Returns: #TRUE if all @flags are set for @type, #FALSE otherwise.
-
-<!-- ##### FUNCTION g_type_class_get_private ##### -->
-<para>
-
-</para>
-
-@klass:
-@private_type:
-@Returns:
-
-<!-- ##### FUNCTION g_type_instance_is_a ##### -->
-<para>
-Determines if @instance adheres to the interface exported
-by @iface_type. @iface_type is either a type that @instance
-is derived from, or an interface type that is supported by
-the anchestry of @instance.
-</para>
-
-@instance: A valid #GTypeInstance structure.
-@iface_type: A #GType value.
-@Returns: #TRUE if @instance conforms to @iface_type, #FALSE otherwise.
-
-<!-- ##### FUNCTION g_type_value_is_a ##### -->
-<para>
-Determines if @value is a #GValue whose type conforms to @type.
-</para>
-
-@value: A valid #GValue structure.
-@type: A #GType value.
-@Returns: #TRUE if @value is a #GValue of @type or #FALSE if not.
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GParamSpec
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_TYPE_IS_PARAM ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_PARAM_SPEC ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_CLASS ##### -->
-<para>
-
-</para>
-
-@pclass:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_CLASS ##### -->
-<para>
-
-</para>
-
-@pclass:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_GET_CLASS ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_TYPE ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_TYPE_NAME ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_VALUE_TYPE ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### STRUCT GParamSpec ##### -->
-<para>
-
-</para>
-
-@g_type_instance:
-@name:
-@flags:
-@value_type:
-@owner_type:
-
-<!-- ##### STRUCT GParamSpecClass ##### -->
-<para>
-
-</para>
-
-@g_type_class:
-@value_type:
-@finalize:
-@value_set_default:
-@value_validate:
-@values_cmp:
-
-<!-- ##### ENUM GParamFlags ##### -->
-<para>
-
-</para>
-
-@G_PARAM_READABLE:
-@G_PARAM_WRITABLE:
-@G_PARAM_CONSTRUCT:
-@G_PARAM_CONSTRUCT_ONLY:
-@G_PARAM_LAX_VALIDATION:
-@G_PARAM_STATIC_NAME:
-@G_PARAM_PRIVATE:
-@G_PARAM_STATIC_NICK:
-@G_PARAM_STATIC_BLURB:
-
-<!-- ##### MACRO G_PARAM_READWRITE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_PARAM_STATIC_STRINGS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_PARAM_MASK ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_PARAM_USER_SHIFT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_param_spec_ref ##### -->
-<para>
-
-</para>
-
-@pspec:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_spec_unref ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### FUNCTION g_param_spec_sink ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### FUNCTION g_param_spec_ref_sink ##### -->
-<para>
-
-</para>
-
-@pspec:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_value_set_default ##### -->
-<para>
-
-</para>
-
-@pspec:
-@value:
-
-
-<!-- ##### FUNCTION g_param_value_defaults ##### -->
-<para>
-
-</para>
-
-@pspec:
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_value_validate ##### -->
-<para>
-
-</para>
-
-@pspec:
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_value_convert ##### -->
-<para>
-
-</para>
-
-@pspec:
-@src_value:
-@dest_value:
-@strict_validation:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_values_cmp ##### -->
-<para>
-
-</para>
-
-@pspec:
-@value1:
-@value2:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_spec_get_name ##### -->
-<para>
-
-</para>
-
-@pspec:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_spec_get_nick ##### -->
-<para>
-
-</para>
-
-@pspec:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_spec_get_blurb ##### -->
-<para>
-
-</para>
-
-@pspec:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_spec_get_qdata ##### -->
-<para>
-
-</para>
-
-@pspec:
-@quark:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_spec_set_qdata ##### -->
-<para>
-
-</para>
-
-@pspec:
-@quark:
-@data:
-
-
-<!-- ##### FUNCTION g_param_spec_set_qdata_full ##### -->
-<para>
-
-</para>
-
-@pspec:
-@quark:
-@data:
-@destroy:
-
-
-<!-- ##### FUNCTION g_param_spec_steal_qdata ##### -->
-<para>
-
-</para>
-
-@pspec:
-@quark:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_spec_get_redirect_target ##### -->
-<para>
-
-</para>
-
-@pspec:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_spec_internal ##### -->
-<para>
-
-</para>
-
-@param_type:
-@name:
-@nick:
-@blurb:
-@flags:
-@Returns:
-
-
-<!-- ##### STRUCT GParamSpecTypeInfo ##### -->
-<para>
-
-</para>
-
-@instance_size:
-@n_preallocs:
-@instance_init:
-@value_type:
-@finalize:
-@value_set_default:
-@value_validate:
-@values_cmp:
-
-<!-- ##### FUNCTION g_param_type_register_static ##### -->
-<para>
-
-</para>
-
-@name:
-@pspec_info:
-@Returns:
-
-
-<!-- ##### STRUCT GParamSpecPool ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_param_spec_pool_new ##### -->
-<para>
-
-</para>
-
-@type_prefixing:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_spec_pool_insert ##### -->
-<para>
-
-</para>
-
-@pool:
-@pspec:
-@owner_type:
-
-
-<!-- ##### FUNCTION g_param_spec_pool_remove ##### -->
-<para>
-
-</para>
-
-@pool:
-@pspec:
-
-
-<!-- ##### FUNCTION g_param_spec_pool_lookup ##### -->
-<para>
-
-</para>
-
-@pool:
-@param_name:
-@owner_type:
-@walk_ancestors:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_spec_pool_list ##### -->
-<para>
-
-</para>
-
-@pool:
-@owner_type:
-@n_pspecs_p:
-@Returns:
-
-
-<!-- ##### FUNCTION g_param_spec_pool_list_owned ##### -->
-<para>
-
-</para>
-
-@pool:
-@owner_type:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Type Information
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### TYPEDEF GType ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_TYPE_FUNDAMENTAL ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_TYPE_FUNDAMENTAL_MAX ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_MAKE_FUNDAMENTAL ##### -->
-<para>
-
-</para>
-
-@x:
-
-
-<!-- ##### MACRO G_TYPE_IS_ABSTRACT ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_TYPE_IS_DERIVED ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_TYPE_IS_FUNDAMENTAL ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_TYPE_IS_VALUE_TYPE ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_TYPE_HAS_VALUE_TABLE ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_TYPE_IS_CLASSED ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_TYPE_IS_INSTANTIATABLE ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_TYPE_IS_DERIVABLE ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_TYPE_IS_DEEP_DERIVABLE ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_TYPE_IS_INTERFACE ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### STRUCT GTypeInterface ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GTypeInstance ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GTypeClass ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GTypeInfo ##### -->
-<para>
-
-</para>
-
-@class_size:
-@base_init:
-@base_finalize:
-@class_init:
-@class_finalize:
-@class_data:
-@instance_size:
-@n_preallocs:
-@instance_init:
-@value_table:
-
-<!-- ##### STRUCT GTypeFundamentalInfo ##### -->
-<para>
-
-</para>
-
-@type_flags:
-
-<!-- ##### STRUCT GInterfaceInfo ##### -->
-<para>
-
-</para>
-
-@interface_init:
-@interface_finalize:
-@interface_data:
-
-<!-- ##### STRUCT GTypeValueTable ##### -->
-<para>
-
-</para>
-
-@value_init:
-@value_free:
-@value_copy:
-@value_peek_pointer:
-@collect_format:
-@collect_value:
-@lcopy_format:
-@lcopy_value:
-
-<!-- ##### MACRO G_TYPE_FROM_INSTANCE ##### -->
-<para>
-
-</para>
-
-@instance:
-
-
-<!-- ##### MACRO G_TYPE_FROM_CLASS ##### -->
-<para>
-
-</para>
-
-@g_class:
-
-
-<!-- ##### MACRO G_TYPE_FROM_INTERFACE ##### -->
-<para>
-
-</para>
-
-@g_iface:
-
-
-<!-- ##### MACRO G_TYPE_INSTANCE_GET_CLASS ##### -->
-<para>
-
-</para>
-
-@instance:
-@g_type:
-@c_type:
-
-
-<!-- ##### MACRO G_TYPE_INSTANCE_GET_INTERFACE ##### -->
-<para>
-
-</para>
-
-@instance:
-@g_type:
-@c_type:
-
-
-<!-- ##### MACRO G_TYPE_INSTANCE_GET_PRIVATE ##### -->
-<para>
-
-</para>
-
-@instance:
-@g_type:
-@c_type:
-
-
-<!-- ##### MACRO G_TYPE_CHECK_INSTANCE ##### -->
-<para>
-
-</para>
-
-@instance:
-
-
-<!-- ##### MACRO G_TYPE_CHECK_INSTANCE_CAST ##### -->
-<para>
-
-</para>
-
-@instance:
-@g_type:
-@c_type:
-
-
-<!-- ##### MACRO G_TYPE_CHECK_INSTANCE_TYPE ##### -->
-<para>
-
-</para>
-
-@instance:
-@g_type:
-
-
-<!-- ##### MACRO G_TYPE_CHECK_CLASS_CAST ##### -->
-<para>
-
-</para>
-
-@g_class:
-@g_type:
-@c_type:
-
-
-<!-- ##### MACRO G_TYPE_CHECK_CLASS_TYPE ##### -->
-<para>
-
-</para>
-
-@g_class:
-@g_type:
-
-
-<!-- ##### MACRO G_TYPE_CHECK_VALUE ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_CHECK_VALUE_TYPE ##### -->
-<para>
-
-</para>
-
-@value:
-@g_type:
-
-
-<!-- ##### MACRO G_TYPE_FLAG_RESERVED_ID_BIT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_type_init ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### ENUM GTypeDebugFlags ##### -->
-<para>
-
-</para>
-
-@G_TYPE_DEBUG_NONE:
-@G_TYPE_DEBUG_OBJECTS:
-@G_TYPE_DEBUG_SIGNALS:
-@G_TYPE_DEBUG_MASK:
-
-<!-- ##### FUNCTION g_type_init_with_debug_flags ##### -->
-<para>
-
-</para>
-
-@debug_flags:
-
-
-<!-- ##### FUNCTION g_type_name ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_qname ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_from_name ##### -->
-<para>
-
-</para>
-
-@name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_parent ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_depth ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_next_base ##### -->
-<para>
-
-</para>
-
-@leaf_type:
-@root_type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_is_a ##### -->
-<para>
-
-</para>
-
-@type:
-@is_a_type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_class_ref ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_class_peek ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_class_peek_static ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_class_unref ##### -->
-<para>
-
-</para>
-
-@g_class:
-
-
-<!-- ##### FUNCTION g_type_class_peek_parent ##### -->
-<para>
-
-</para>
-
-@g_class:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_class_add_private ##### -->
-<para>
-
-</para>
-
-@g_class:
-@private_size:
-
-
-<!-- ##### FUNCTION g_type_add_class_private ##### -->
-<para>
-
-</para>
-
-@class_type:
-@private_size:
-
-
-<!-- ##### FUNCTION g_type_interface_peek ##### -->
-<para>
-
-</para>
-
-@instance_class:
-@iface_type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_interface_peek_parent ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_default_interface_ref ##### -->
-<para>
-
-</para>
-
-@g_type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_default_interface_peek ##### -->
-<para>
-
-</para>
-
-@g_type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_default_interface_unref ##### -->
-<para>
-
-</para>
-
-@g_iface:
-
-
-<!-- ##### FUNCTION g_type_children ##### -->
-<para>
-
-</para>
-
-@type:
-@n_children:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_interfaces ##### -->
-<para>
-
-</para>
-
-@type:
-@n_interfaces:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_interface_prerequisites ##### -->
-<para>
-
-</para>
-
-@interface_type:
-@n_prerequisites:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_set_qdata ##### -->
-<para>
-
-</para>
-
-@type:
-@quark:
-@data:
-
-
-<!-- ##### FUNCTION g_type_get_qdata ##### -->
-<para>
-
-</para>
-
-@type:
-@quark:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_query ##### -->
-<para>
-
-</para>
-
-@type:
-@query:
-
-
-<!-- ##### STRUCT GTypeQuery ##### -->
-<para>
-
-</para>
-
-@type:
-@type_name:
-@class_size:
-@instance_size:
-
-<!-- ##### USER_FUNCTION GBaseInitFunc ##### -->
-<para>
-
-</para>
-
-@g_class:
-
-
-<!-- ##### USER_FUNCTION GBaseFinalizeFunc ##### -->
-<para>
-
-</para>
-
-@g_class:
-
-
-<!-- ##### USER_FUNCTION GClassInitFunc ##### -->
-<para>
-
-</para>
-
-@g_class:
-@class_data:
-
-
-<!-- ##### USER_FUNCTION GClassFinalizeFunc ##### -->
-<para>
-
-</para>
-
-@g_class:
-@class_data:
-
-
-<!-- ##### USER_FUNCTION GInstanceInitFunc ##### -->
-<para>
-
-</para>
-
-@instance:
-@g_class:
-
-
-<!-- ##### USER_FUNCTION GInterfaceInitFunc ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@iface_data:
-
-
-<!-- ##### USER_FUNCTION GInterfaceFinalizeFunc ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@iface_data:
-
-
-<!-- ##### USER_FUNCTION GTypeClassCacheFunc ##### -->
-<para>
-
-</para>
-
-@cache_data:
-@g_class:
-@Returns:
-
-
-<!-- ##### ENUM GTypeFlags ##### -->
-<para>
-
-</para>
-
-@G_TYPE_FLAG_ABSTRACT:
-@G_TYPE_FLAG_VALUE_ABSTRACT:
-
-<!-- ##### ENUM GTypeFundamentalFlags ##### -->
-<para>
-
-</para>
-
-@G_TYPE_FLAG_CLASSED:
-@G_TYPE_FLAG_INSTANTIATABLE:
-@G_TYPE_FLAG_DERIVABLE:
-@G_TYPE_FLAG_DEEP_DERIVABLE:
-
-<!-- ##### FUNCTION g_type_register_static ##### -->
-<para>
-
-</para>
-
-@parent_type:
-@type_name:
-@info:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_register_static_simple ##### -->
-<para>
-
-</para>
-
-@parent_type:
-@type_name:
-@class_size:
-@class_init:
-@instance_size:
-@instance_init:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_register_dynamic ##### -->
-<para>
-
-</para>
-
-@parent_type:
-@type_name:
-@plugin:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_register_fundamental ##### -->
-<para>
-
-</para>
-
-@type_id:
-@type_name:
-@info:
-@finfo:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_add_interface_static ##### -->
-<para>
-
-</para>
-
-@instance_type:
-@interface_type:
-@info:
-
-
-<!-- ##### FUNCTION g_type_add_interface_dynamic ##### -->
-<para>
-
-</para>
-
-@instance_type:
-@interface_type:
-@plugin:
-
-
-<!-- ##### FUNCTION g_type_interface_add_prerequisite ##### -->
-<para>
-
-</para>
-
-@interface_type:
-@prerequisite_type:
-
-
-<!-- ##### FUNCTION g_type_get_plugin ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_interface_get_plugin ##### -->
-<para>
-
-</para>
-
-@instance_type:
-@interface_type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_fundamental_next ##### -->
-<para>
-
-</para>
-
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_fundamental ##### -->
-<para>
-
-</para>
-
-@type_id:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_create_instance ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_free_instance ##### -->
-<para>
-
-</para>
-
-@instance:
-
-
-<!-- ##### FUNCTION g_type_add_class_cache_func ##### -->
-<para>
-
-</para>
-
-@cache_data:
-@cache_func:
-
-
-<!-- ##### FUNCTION g_type_remove_class_cache_func ##### -->
-<para>
-
-</para>
-
-@cache_data:
-@cache_func:
-
-
-<!-- ##### FUNCTION g_type_class_unref_uncached ##### -->
-<para>
-
-</para>
-
-@g_class:
-
-
-<!-- ##### FUNCTION g_type_add_interface_check ##### -->
-<para>
-
-</para>
-
-@check_data:
-@check_func:
-
-
-<!-- ##### FUNCTION g_type_remove_interface_check ##### -->
-<para>
-
-</para>
-
-@check_data:
-@check_func:
-
-
-<!-- ##### USER_FUNCTION GTypeInterfaceCheckFunc ##### -->
-<para>
-
-</para>
-
-@check_data:
-@g_iface:
-
-
-<!-- ##### FUNCTION g_type_value_table_peek ##### -->
-<para>
-
-</para>
-
-@type:
-@Returns:
-
-
-<!-- ##### MACRO G_DEFINE_TYPE ##### -->
-<para>
-
-</para>
-
-@TN:
-@t_n:
-@T_P:
-
-
-<!-- ##### MACRO G_DEFINE_TYPE_WITH_CODE ##### -->
-<para>
-
-</para>
-
-@TN:
-@t_n:
-@T_P:
-@_C_:
-
-
-<!-- ##### MACRO G_DEFINE_ABSTRACT_TYPE ##### -->
-<para>
-
-</para>
-
-@TN:
-@t_n:
-@T_P:
-
-
-<!-- ##### MACRO G_DEFINE_ABSTRACT_TYPE_WITH_CODE ##### -->
-<para>
-
-</para>
-
-@TN:
-@t_n:
-@T_P:
-@_C_:
-
-
-<!-- ##### MACRO G_DEFINE_INTERFACE ##### -->
-<para>
-
-</para>
-
-@TN:
-@t_n:
-@T_P:
-
-
-<!-- ##### MACRO G_DEFINE_INTERFACE_WITH_CODE ##### -->
-<para>
-
-</para>
-
-@TN:
-@t_n:
-@T_P:
-@_C_:
-
-
-<!-- ##### MACRO G_IMPLEMENT_INTERFACE ##### -->
-<para>
-
-</para>
-
-@TYPE_IFACE:
-@iface_init:
-
-
-<!-- ##### MACRO G_DEFINE_TYPE_EXTENDED ##### -->
-<para>
-
-</para>
-
-@TN:
-@t_n:
-@T_P:
-@_f_:
-@_C_:
-
-
-<!-- ##### MACRO G_TYPE_INVALID ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_NONE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_INTERFACE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_CHAR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_UCHAR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_BOOLEAN ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_INT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_UINT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_LONG ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_ULONG ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_INT64 ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_UINT64 ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_ENUM ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_FLAGS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_FLOAT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_DOUBLE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_STRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_POINTER ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_BOXED ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_PARAM ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_OBJECT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_GTYPE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_RESERVED_GLIB_FIRST ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_RESERVED_GLIB_LAST ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_RESERVED_BSE_FIRST ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_RESERVED_BSE_LAST ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_RESERVED_USER_FIRST ##### -->
-<para>
-
-</para>
-
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GTypeModule
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GTypeModule ##### -->
-<para>
-
-</para>
-
-@name:
-
-<!-- ##### STRUCT GTypeModuleClass ##### -->
-<para>
-
-</para>
-
-@parent_class:
-@load:
-@unload:
-
-<!-- ##### FUNCTION g_type_module_use ##### -->
-<para>
-
-</para>
-
-@module:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_module_unuse ##### -->
-<para>
-
-</para>
-
-@module:
-
-
-<!-- ##### FUNCTION g_type_module_set_name ##### -->
-<para>
-
-</para>
-
-@module:
-@name:
-
-
-<!-- ##### FUNCTION g_type_module_register_type ##### -->
-<para>
-
-</para>
-
-@module:
-@parent_type:
-@type_name:
-@type_info:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_module_add_interface ##### -->
-<para>
-
-</para>
-
-@module:
-@instance_type:
-@interface_type:
-@interface_info:
-
-
-<!-- ##### FUNCTION g_type_module_register_enum ##### -->
-<para>
-
-</para>
-
-@module:
-@name:
-@const_static_values:
-@Returns:
-
-
-<!-- ##### FUNCTION g_type_module_register_flags ##### -->
-<para>
-
-</para>
-
-@module:
-@name:
-@const_static_values:
-@Returns:
-
-
-<!-- ##### MACRO G_DEFINE_DYNAMIC_TYPE ##### -->
-<para>
-
-</para>
-
-@TN:
-@t_n:
-@T_P:
-
-
-<!-- ##### MACRO G_DEFINE_DYNAMIC_TYPE_EXTENDED ##### -->
-<para>
-
-</para>
-
-@TypeName:
-@type_name:
-@TYPE_PARENT:
-@flags:
-@CODE:
-
-
-<!-- ##### MACRO G_IMPLEMENT_INTERFACE_DYNAMIC ##### -->
-<para>
-
-</para>
-
-@TYPE_IFACE:
-@iface_init:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-GTypePlugin
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GTypePlugin ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GTypePluginClass ##### -->
-<para>
-
-</para>
-
-@use_plugin:
-@unuse_plugin:
-@complete_type_info:
-@complete_interface_info:
-
-<!-- ##### USER_FUNCTION GTypePluginUse ##### -->
-<para>
-
-</para>
-
-@plugin:
-
-
-<!-- ##### USER_FUNCTION GTypePluginUnuse ##### -->
-<para>
-
-</para>
-
-@plugin:
-
-
-<!-- ##### USER_FUNCTION GTypePluginCompleteTypeInfo ##### -->
-<para>
-
-</para>
-
-@plugin:
-@g_type:
-@info:
-@value_table:
-
-
-<!-- ##### USER_FUNCTION GTypePluginCompleteInterfaceInfo ##### -->
-<para>
-
-</para>
-
-@plugin:
-@instance_type:
-@interface_type:
-@info:
-
-
-<!-- ##### FUNCTION g_type_plugin_use ##### -->
-<para>
-
-</para>
-
-@plugin:
-
-
-<!-- ##### FUNCTION g_type_plugin_unuse ##### -->
-<para>
-
-</para>
-
-@plugin:
-
-
-<!-- ##### FUNCTION g_type_plugin_complete_type_info ##### -->
-<para>
-
-</para>
-
-@plugin:
-@g_type:
-@info:
-@value_table:
-
-
-<!-- ##### FUNCTION g_type_plugin_complete_interface_info ##### -->
-<para>
-
-</para>
-
-@plugin:
-@instance_type:
-@interface_type:
-@info:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-The Base Object Type
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GObject ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SIGNAL GObject::notify ##### -->
-<para>
-
-</para>
-
-@gobject: the object which received the signal.
-@arg1:
-
-<!-- ##### STRUCT GObjectClass ##### -->
-<para>
-
-</para>
-
-@g_type_class:
-@constructor:
-@set_property:
-@get_property:
-@dispose:
-@finalize:
-@dispatch_properties_changed:
-@notify:
-@constructed:
-
-<!-- ##### STRUCT GObjectConstructParam ##### -->
-<para>
-
-</para>
-
-@pspec:
-@value:
-
-<!-- ##### USER_FUNCTION GObjectGetPropertyFunc ##### -->
-<para>
-
-</para>
-
-@object:
-@property_id:
-@value:
-@pspec:
-
-
-<!-- ##### USER_FUNCTION GObjectSetPropertyFunc ##### -->
-<para>
-
-</para>
-
-@object:
-@property_id:
-@value:
-@pspec:
-
-
-<!-- ##### USER_FUNCTION GObjectFinalizeFunc ##### -->
-<para>
-
-</para>
-
-@object:
-
-
-<!-- ##### MACRO G_TYPE_IS_OBJECT ##### -->
-<para>
-
-</para>
-
-@type:
-
-
-<!-- ##### MACRO G_OBJECT ##### -->
-<para>
-
-</para>
-
-@object:
-
-
-<!-- ##### MACRO G_IS_OBJECT ##### -->
-<para>
-
-</para>
-
-@object:
-
-
-<!-- ##### MACRO G_OBJECT_CLASS ##### -->
-<para>
-
-</para>
-
-@class:
-
-
-<!-- ##### MACRO G_IS_OBJECT_CLASS ##### -->
-<para>
-
-</para>
-
-@class:
-
-
-<!-- ##### MACRO G_OBJECT_GET_CLASS ##### -->
-<para>
-
-</para>
-
-@object:
-
-
-<!-- ##### MACRO G_OBJECT_TYPE ##### -->
-<para>
-
-</para>
-
-@object:
-
-
-<!-- ##### MACRO G_OBJECT_TYPE_NAME ##### -->
-<para>
-
-</para>
-
-@object:
-
-
-<!-- ##### MACRO G_OBJECT_CLASS_TYPE ##### -->
-<para>
-
-</para>
-
-@class:
-
-
-<!-- ##### MACRO G_OBJECT_CLASS_NAME ##### -->
-<para>
-
-</para>
-
-@class:
-
-
-<!-- ##### FUNCTION g_object_class_install_property ##### -->
-<para>
-
-</para>
-
-@oclass:
-@property_id:
-@pspec:
-
-
-<!-- ##### FUNCTION g_object_class_find_property ##### -->
-<para>
-
-</para>
-
-@oclass:
-@property_name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_object_class_list_properties ##### -->
-<para>
-
-</para>
-
-@oclass:
-@n_properties:
-@Returns:
-
-
-<!-- ##### FUNCTION g_object_class_override_property ##### -->
-<para>
-
-</para>
-
-@oclass:
-@property_id:
-@name:
-
-
-<!-- ##### FUNCTION g_object_interface_install_property ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@pspec:
-
-
-<!-- ##### FUNCTION g_object_interface_find_property ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@property_name:
-@Returns:
-
-
-<!-- ##### FUNCTION g_object_interface_list_properties ##### -->
-<para>
-
-</para>
-
-@g_iface:
-@n_properties_p:
-@Returns:
-
-
-<!-- ##### FUNCTION g_object_new ##### -->
-<para>
-
-</para>
-
-@object_type:
-@first_property_name:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_object_newv ##### -->
-<para>
-
-</para>
-
-@object_type:
-@n_parameters:
-@parameters:
-@Returns:
-
-
-<!-- ##### STRUCT GParameter ##### -->
-<para>
-
-</para>
-
-@name:
-@value:
-
-<!-- ##### FUNCTION g_object_ref ##### -->
-<para>
-
-</para>
-
-@object:
-@Returns:
-
-
-<!-- ##### FUNCTION g_object_unref ##### -->
-<para>
-
-</para>
-
-@object:
-
-
-<!-- ##### FUNCTION g_object_ref_sink ##### -->
-<para>
-
-</para>
-
-@object:
-@Returns:
-
-
-<!-- ##### TYPEDEF GInitiallyUnowned ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### TYPEDEF GInitiallyUnownedClass ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_TYPE_INITIALLY_UNOWNED ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_object_is_floating ##### -->
-<para>
-
-</para>
-
-@object:
-@Returns:
-
-
-<!-- ##### FUNCTION g_object_force_floating ##### -->
-<para>
-
-</para>
-
-@object:
-
-
-<!-- ##### USER_FUNCTION GWeakNotify ##### -->
-<para>
-
-</para>
-
-@data:
-@where_the_object_was:
-
-
-<!-- ##### FUNCTION g_object_weak_ref ##### -->
-<para>
-
-</para>
-
-@object:
-@notify:
-@data:
-
-
-<!-- ##### FUNCTION g_object_weak_unref ##### -->
-<para>
-
-</para>
-
-@object:
-@notify:
-@data:
-
-
-<!-- ##### FUNCTION g_object_add_weak_pointer ##### -->
-<para>
-
-</para>
-
-@object:
-@weak_pointer_location:
-
-
-<!-- ##### FUNCTION g_object_remove_weak_pointer ##### -->
-<para>
-
-</para>
-
-@object:
-@weak_pointer_location:
-
-
-<!-- ##### USER_FUNCTION GToggleNotify ##### -->
-<para>
-
-</para>
-
-@data:
-@object:
-@is_last_ref:
-
-
-<!-- ##### FUNCTION g_object_add_toggle_ref ##### -->
-<para>
-
-</para>
-
-@object:
-@notify:
-@data:
-
-
-<!-- ##### FUNCTION g_object_remove_toggle_ref ##### -->
-<para>
-
-</para>
-
-@object:
-@notify:
-@data:
-
-
-<!-- ##### FUNCTION g_object_connect ##### -->
-<para>
-
-</para>
-
-@object:
-@signal_spec:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_object_disconnect ##### -->
-<para>
-
-</para>
-
-@object:
-@signal_spec:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_object_set ##### -->
-<para>
-
-</para>
-
-@object:
-@first_property_name:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_object_get ##### -->
-<para>
-
-</para>
-
-@object:
-@first_property_name:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_object_notify ##### -->
-<para>
-
-</para>
-
-@object:
-@property_name:
-
-
-<!-- ##### FUNCTION g_object_freeze_notify ##### -->
-<para>
-
-</para>
-
-@object:
-
-
-<!-- ##### FUNCTION g_object_thaw_notify ##### -->
-<para>
-
-</para>
-
-@object:
-
-
-<!-- ##### FUNCTION g_object_get_data ##### -->
-<para>
-
-</para>
-
-@object:
-@key:
-@Returns:
-
-
-<!-- ##### FUNCTION g_object_set_data ##### -->
-<para>
-
-</para>
-
-@object:
-@key:
-@data:
-
-
-<!-- ##### FUNCTION g_object_set_data_full ##### -->
-<para>
-
-</para>
-
-@object:
-@key:
-@data:
-@destroy:
-
-
-<!-- ##### FUNCTION g_object_steal_data ##### -->
-<para>
-
-</para>
-
-@object:
-@key:
-@Returns:
-
-
-<!-- ##### FUNCTION g_object_get_qdata ##### -->
-<para>
-
-</para>
-
-@object:
-@quark:
-@Returns:
-
-
-<!-- ##### FUNCTION g_object_set_qdata ##### -->
-<para>
-
-</para>
-
-@object:
-@quark:
-@data:
-
-
-<!-- ##### FUNCTION g_object_set_qdata_full ##### -->
-<para>
-
-</para>
-
-@object:
-@quark:
-@data:
-@destroy:
-
-
-<!-- ##### FUNCTION g_object_steal_qdata ##### -->
-<para>
-
-</para>
-
-@object:
-@quark:
-@Returns:
-
-
-<!-- ##### FUNCTION g_object_set_property ##### -->
-<para>
-
-</para>
-
-@object:
-@property_name:
-@value:
-
-
-<!-- ##### FUNCTION g_object_get_property ##### -->
-<para>
-
-</para>
-
-@object:
-@property_name:
-@value:
-
-
-<!-- ##### FUNCTION g_object_new_valist ##### -->
-<para>
-
-</para>
-
-@object_type:
-@first_property_name:
-@var_args:
-@Returns:
-
-
-<!-- ##### FUNCTION g_object_set_valist ##### -->
-<para>
-
-</para>
-
-@object:
-@first_property_name:
-@var_args:
-
-
-<!-- ##### FUNCTION g_object_get_valist ##### -->
-<para>
-
-</para>
-
-@object:
-@first_property_name:
-@var_args:
-
-
-<!-- ##### FUNCTION g_object_watch_closure ##### -->
-<para>
-
-</para>
-
-@object:
-@closure:
-
-
-<!-- ##### FUNCTION g_object_run_dispose ##### -->
-<para>
-
-</para>
-
-@object:
-
-
-<!-- ##### MACRO G_OBJECT_WARN_INVALID_PROPERTY_ID ##### -->
-<para>
-
-</para>
-
-@object:
-@property_id:
-@pspec:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Standard Parameter and Value Types
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_BOOLEAN ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_BOOLEAN ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_BOOLEAN ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_BOOLEAN ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecBoolean ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@default_value:
-
-<!-- ##### FUNCTION g_param_spec_boolean ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_boolean ##### -->
-<para>
-
-</para>
-
-@value:
-@v_boolean:
-
-
-<!-- ##### FUNCTION g_value_get_boolean ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_CHAR ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_CHAR ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_CHAR ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_CHAR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecChar ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@minimum:
-@maximum:
-@default_value:
-
-<!-- ##### FUNCTION g_param_spec_char ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@minimum:
-@maximum:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_char ##### -->
-<para>
-
-</para>
-
-@value:
-@v_char:
-
-
-<!-- ##### FUNCTION g_value_get_char ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_UCHAR ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_UCHAR ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_UCHAR ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_UCHAR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecUChar ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@minimum:
-@maximum:
-@default_value:
-
-<!-- ##### FUNCTION g_param_spec_uchar ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@minimum:
-@maximum:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_uchar ##### -->
-<para>
-
-</para>
-
-@value:
-@v_uchar:
-
-
-<!-- ##### FUNCTION g_value_get_uchar ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_INT ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_INT ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_INT ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_INT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecInt ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@minimum:
-@maximum:
-@default_value:
-
-<!-- ##### FUNCTION g_param_spec_int ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@minimum:
-@maximum:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_int ##### -->
-<para>
-
-</para>
-
-@value:
-@v_int:
-
-
-<!-- ##### FUNCTION g_value_get_int ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_UINT ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_UINT ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_UINT ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_UINT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecUInt ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@minimum:
-@maximum:
-@default_value:
-
-<!-- ##### FUNCTION g_param_spec_uint ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@minimum:
-@maximum:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_uint ##### -->
-<para>
-
-</para>
-
-@value:
-@v_uint:
-
-
-<!-- ##### FUNCTION g_value_get_uint ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_LONG ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_LONG ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_LONG ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_LONG ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecLong ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@minimum:
-@maximum:
-@default_value:
-
-<!-- ##### FUNCTION g_param_spec_long ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@minimum:
-@maximum:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_long ##### -->
-<para>
-
-</para>
-
-@value:
-@v_long:
-
-
-<!-- ##### FUNCTION g_value_get_long ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_ULONG ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_ULONG ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_ULONG ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_ULONG ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecULong ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@minimum:
-@maximum:
-@default_value:
-
-<!-- ##### FUNCTION g_param_spec_ulong ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@minimum:
-@maximum:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_ulong ##### -->
-<para>
-
-</para>
-
-@value:
-@v_ulong:
-
-
-<!-- ##### FUNCTION g_value_get_ulong ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_INT64 ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_INT64 ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_INT64 ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_INT64 ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecInt64 ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@minimum:
-@maximum:
-@default_value:
-
-<!-- ##### FUNCTION g_param_spec_int64 ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@minimum:
-@maximum:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_int64 ##### -->
-<para>
-
-</para>
-
-@value:
-@v_int64:
-
-
-<!-- ##### FUNCTION g_value_get_int64 ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_UINT64 ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_UINT64 ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_UINT64 ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_UINT64 ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecUInt64 ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@minimum:
-@maximum:
-@default_value:
-
-<!-- ##### FUNCTION g_param_spec_uint64 ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@minimum:
-@maximum:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_uint64 ##### -->
-<para>
-
-</para>
-
-@value:
-@v_uint64:
-
-
-<!-- ##### FUNCTION g_value_get_uint64 ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_FLOAT ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_FLOAT ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_FLOAT ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_FLOAT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecFloat ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@minimum:
-@maximum:
-@default_value:
-@epsilon:
-
-<!-- ##### FUNCTION g_param_spec_float ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@minimum:
-@maximum:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_float ##### -->
-<para>
-
-</para>
-
-@value:
-@v_float:
-
-
-<!-- ##### FUNCTION g_value_get_float ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_DOUBLE ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_DOUBLE ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_DOUBLE ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_DOUBLE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecDouble ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@minimum:
-@maximum:
-@default_value:
-@epsilon:
-
-<!-- ##### FUNCTION g_param_spec_double ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@minimum:
-@maximum:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_double ##### -->
-<para>
-
-</para>
-
-@value:
-@v_double:
-
-
-<!-- ##### FUNCTION g_value_get_double ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_ENUM ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_ENUM ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_ENUM ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_ENUM ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecEnum ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@enum_class:
-@default_value:
-
-<!-- ##### FUNCTION g_param_spec_enum ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@enum_type:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_enum ##### -->
-<para>
-
-</para>
-
-@value:
-@v_enum:
-
-
-<!-- ##### FUNCTION g_value_get_enum ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_FLAGS ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_FLAGS ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_FLAGS ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_FLAGS ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecFlags ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@flags_class:
-@default_value:
-
-<!-- ##### FUNCTION g_param_spec_flags ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@flags_type:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_flags ##### -->
-<para>
-
-</para>
-
-@value:
-@v_flags:
-
-
-<!-- ##### FUNCTION g_value_get_flags ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_STRING ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_STRING ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_STRING ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_STRING ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecString ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@default_value:
-@cset_first:
-@cset_nth:
-@substitutor:
-@null_fold_if_empty:
-@ensure_non_null:
-
-<!-- ##### TYPEDEF gchararray ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_param_spec_string ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_string ##### -->
-<para>
-
-</para>
-
-@value:
-@v_string:
-
-
-<!-- ##### FUNCTION g_value_set_static_string ##### -->
-<para>
-
-</para>
-
-@value:
-@v_string:
-
-
-<!-- ##### FUNCTION g_value_take_string ##### -->
-<para>
-
-</para>
-
-@value:
-@v_string:
-
-
-<!-- ##### FUNCTION g_value_set_string_take_ownership ##### -->
-<para>
-
-</para>
-
-@value:
-@v_string:
-
-
-<!-- ##### FUNCTION g_value_get_string ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_dup_string ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_PARAM ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_PARAM ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_PARAM ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_PARAM ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecParam ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-
-<!-- ##### FUNCTION g_param_spec_param ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@param_type:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_param ##### -->
-<para>
-
-</para>
-
-@value:
-@param:
-
-
-<!-- ##### FUNCTION g_value_take_param ##### -->
-<para>
-
-</para>
-
-@value:
-@param:
-
-
-<!-- ##### FUNCTION g_value_set_param_take_ownership ##### -->
-<para>
-
-</para>
-
-@value:
-@param:
-
-
-<!-- ##### FUNCTION g_value_get_param ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_dup_param ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_BOXED ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_BOXED ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_BOXED ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_BOXED ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecBoxed ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-
-<!-- ##### FUNCTION g_param_spec_boxed ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@boxed_type:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_boxed ##### -->
-<para>
-
-</para>
-
-@value:
-@v_boxed:
-
-
-<!-- ##### FUNCTION g_value_set_static_boxed ##### -->
-<para>
-
-</para>
-
-@value:
-@v_boxed:
-
-
-<!-- ##### FUNCTION g_value_take_boxed ##### -->
-<para>
-
-</para>
-
-@value:
-@v_boxed:
-
-
-<!-- ##### FUNCTION g_value_set_boxed_take_ownership ##### -->
-<para>
-
-</para>
-
-@value:
-@v_boxed:
-
-
-<!-- ##### FUNCTION g_value_get_boxed ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_dup_boxed ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_POINTER ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_POINTER ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_POINTER ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_POINTER ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecPointer ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-
-<!-- ##### FUNCTION g_param_spec_pointer ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_pointer ##### -->
-<para>
-
-</para>
-
-@value:
-@v_pointer:
-
-
-<!-- ##### FUNCTION g_value_get_pointer ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_OBJECT ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_OBJECT ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_OBJECT ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_OBJECT ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecObject ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-
-<!-- ##### FUNCTION g_param_spec_object ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@object_type:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_object ##### -->
-<para>
-
-</para>
-
-@value:
-@v_object:
-
-
-<!-- ##### FUNCTION g_value_take_object ##### -->
-<para>
-
-</para>
-
-@value:
-@v_object:
-
-
-<!-- ##### FUNCTION g_value_set_object_take_ownership ##### -->
-<para>
-
-</para>
-
-@value:
-@v_object:
-
-
-<!-- ##### FUNCTION g_value_get_object ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_dup_object ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_UNICHAR ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_UNICHAR ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_UNICHAR ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecUnichar ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@default_value:
-
-<!-- ##### FUNCTION g_param_spec_unichar ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@default_value:
-@flags:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_VALUE_ARRAY ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_VALUE_ARRAY ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_VALUE_ARRAY ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecValueArray ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@element_spec:
-@fixed_n_elements:
-
-<!-- ##### FUNCTION g_param_spec_value_array ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@element_spec:
-@flags:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_OVERRIDE ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_OVERRIDE ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_OVERRIDE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecOverride ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### FUNCTION g_param_spec_override ##### -->
-<para>
-
-</para>
-
-@name:
-@overridden:
-@Returns:
-
-
-<!-- ##### MACRO G_IS_PARAM_SPEC_GTYPE ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_PARAM_SPEC_GTYPE ##### -->
-<para>
-
-</para>
-
-@pspec:
-
-
-<!-- ##### MACRO G_VALUE_HOLDS_GTYPE ##### -->
-<para>
-
-</para>
-
-@value:
-
-
-<!-- ##### MACRO G_TYPE_PARAM_GTYPE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### STRUCT GParamSpecGType ##### -->
-<para>
-
-</para>
-
-@parent_instance:
-@is_a_type:
-
-<!-- ##### FUNCTION g_param_spec_gtype ##### -->
-<para>
-
-</para>
-
-@name:
-@nick:
-@blurb:
-@is_a_type:
-@flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_get_gtype ##### -->
-<para>
-
-</para>
-
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_set_gtype ##### -->
-<para>
-
-</para>
-
-@value:
-@v_gtype:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Signals
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GSignalInvocationHint ##### -->
-<para>
-
-</para>
-
-@signal_id:
-@detail:
-@run_type:
-
-<!-- ##### USER_FUNCTION GSignalAccumulator ##### -->
-<para>
-
-</para>
-
-@ihint:
-@return_accu:
-@handler_return:
-@data:
-@Returns:
-
-
-<!-- ##### TYPEDEF GSignalCMarshaller ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### USER_FUNCTION GSignalEmissionHook ##### -->
-<para>
-
-</para>
-
-@ihint:
-@n_param_values:
-@param_values:
-@data:
-@Returns:
-
-
-<!-- ##### ENUM GSignalFlags ##### -->
-<para>
-
-</para>
-
-@G_SIGNAL_RUN_FIRST:
-@G_SIGNAL_RUN_LAST:
-@G_SIGNAL_RUN_CLEANUP:
-@G_SIGNAL_NO_RECURSE:
-@G_SIGNAL_DETAILED:
-@G_SIGNAL_ACTION:
-@G_SIGNAL_NO_HOOKS:
-
-<!-- ##### ENUM GSignalMatchType ##### -->
-<para>
-
-</para>
-
-@G_SIGNAL_MATCH_ID:
-@G_SIGNAL_MATCH_DETAIL:
-@G_SIGNAL_MATCH_CLOSURE:
-@G_SIGNAL_MATCH_FUNC:
-@G_SIGNAL_MATCH_DATA:
-@G_SIGNAL_MATCH_UNBLOCKED:
-
-<!-- ##### STRUCT GSignalQuery ##### -->
-<para>
-
-</para>
-
-@signal_id:
-@signal_name:
-@itype:
-@signal_flags:
-@return_type:
-@n_params:
-@param_types:
-
-<!-- ##### MACRO G_SIGNAL_TYPE_STATIC_SCOPE ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_SIGNAL_MATCH_MASK ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_SIGNAL_FLAGS_MASK ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_signal_new ##### -->
-<para>
-
-</para>
-
-@signal_name:
-@itype:
-@signal_flags:
-@class_offset:
-@accumulator:
-@accu_data:
-@c_marshaller:
-@return_type:
-@n_params:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_newv ##### -->
-<para>
-
-</para>
-
-@signal_name:
-@itype:
-@signal_flags:
-@class_closure:
-@accumulator:
-@accu_data:
-@c_marshaller:
-@return_type:
-@n_params:
-@param_types:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_new_valist ##### -->
-<para>
-
-</para>
-
-@signal_name:
-@itype:
-@signal_flags:
-@class_closure:
-@accumulator:
-@accu_data:
-@c_marshaller:
-@return_type:
-@n_params:
-@args:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_query ##### -->
-<para>
-
-</para>
-
-@signal_id:
-@query:
-
-
-<!-- ##### FUNCTION g_signal_lookup ##### -->
-<para>
-
-</para>
-
-@name:
-@itype:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_name ##### -->
-<para>
-
-</para>
-
-@signal_id:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_list_ids ##### -->
-<para>
-
-</para>
-
-@itype:
-@n_ids:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_emit ##### -->
-<para>
-
-</para>
-
-@instance:
-@signal_id:
-@detail:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_signal_emit_by_name ##### -->
-<para>
-
-</para>
-
-@instance:
-@detailed_signal:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_signal_emitv ##### -->
-<para>
-
-</para>
-
-@instance_and_params:
-@signal_id:
-@detail:
-@return_value:
-
-
-<!-- ##### FUNCTION g_signal_emit_valist ##### -->
-<para>
-
-</para>
-
-@instance:
-@signal_id:
-@detail:
-@var_args:
-
-
-<!-- ##### MACRO g_signal_connect ##### -->
-<para>
-
-</para>
-
-@instance:
-@detailed_signal:
-@c_handler:
-@data:
-
-
-<!-- ##### MACRO g_signal_connect_after ##### -->
-<para>
-
-</para>
-
-@instance:
-@detailed_signal:
-@c_handler:
-@data:
-
-
-<!-- ##### MACRO g_signal_connect_swapped ##### -->
-<para>
-
-</para>
-
-@instance:
-@detailed_signal:
-@c_handler:
-@data:
-
-
-<!-- ##### FUNCTION g_signal_connect_object ##### -->
-<para>
-
-</para>
-
-@instance:
-@detailed_signal:
-@c_handler:
-@gobject:
-@connect_flags:
-@Returns:
-
-
-<!-- ##### ENUM GConnectFlags ##### -->
-<para>
-
-</para>
-
-@G_CONNECT_AFTER:
-@G_CONNECT_SWAPPED:
-
-<!-- ##### FUNCTION g_signal_connect_data ##### -->
-<para>
-
-</para>
-
-@instance:
-@detailed_signal:
-@c_handler:
-@data:
-@destroy_data:
-@connect_flags:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_connect_closure ##### -->
-<para>
-
-</para>
-
-@instance:
-@detailed_signal:
-@closure:
-@after:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_connect_closure_by_id ##### -->
-<para>
-
-</para>
-
-@instance:
-@signal_id:
-@detail:
-@closure:
-@after:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_handler_block ##### -->
-<para>
-
-</para>
-
-@instance:
-@handler_id:
-
-
-<!-- ##### FUNCTION g_signal_handler_unblock ##### -->
-<para>
-
-</para>
-
-@instance:
-@handler_id:
-
-
-<!-- ##### FUNCTION g_signal_handler_disconnect ##### -->
-<para>
-
-</para>
-
-@instance:
-@handler_id:
-
-
-<!-- ##### FUNCTION g_signal_handler_find ##### -->
-<para>
-
-</para>
-
-@instance:
-@mask:
-@signal_id:
-@detail:
-@closure:
-@func:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_handlers_block_matched ##### -->
-<para>
-
-</para>
-
-@instance:
-@mask:
-@signal_id:
-@detail:
-@closure:
-@func:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_handlers_unblock_matched ##### -->
-<para>
-
-</para>
-
-@instance:
-@mask:
-@signal_id:
-@detail:
-@closure:
-@func:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_handlers_disconnect_matched ##### -->
-<para>
-
-</para>
-
-@instance:
-@mask:
-@signal_id:
-@detail:
-@closure:
-@func:
-@data:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_handler_is_connected ##### -->
-<para>
-
-</para>
-
-@instance:
-@handler_id:
-@Returns:
-
-
-<!-- ##### MACRO g_signal_handlers_block_by_func ##### -->
-<para>
-
-</para>
-
-@instance:
-@func:
-@data:
-
-
-<!-- ##### MACRO g_signal_handlers_unblock_by_func ##### -->
-<para>
-
-</para>
-
-@instance:
-@func:
-@data:
-
-
-<!-- ##### MACRO g_signal_handlers_disconnect_by_func ##### -->
-<para>
-
-</para>
-
-@instance:
-@func:
-@data:
-
-
-<!-- ##### FUNCTION g_signal_has_handler_pending ##### -->
-<para>
-
-</para>
-
-@instance:
-@signal_id:
-@detail:
-@may_be_blocked:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_stop_emission ##### -->
-<para>
-
-</para>
-
-@instance:
-@signal_id:
-@detail:
-
-
-<!-- ##### FUNCTION g_signal_stop_emission_by_name ##### -->
-<para>
-
-</para>
-
-@instance:
-@detailed_signal:
-
-
-<!-- ##### FUNCTION g_signal_override_class_closure ##### -->
-<para>
-
-</para>
-
-@signal_id:
-@instance_type:
-@class_closure:
-
-
-<!-- ##### FUNCTION g_signal_chain_from_overridden ##### -->
-<para>
-
-</para>
-
-@instance_and_params:
-@return_value:
-
-
-<!-- ##### FUNCTION g_signal_new_class_handler ##### -->
-<para>
-
-</para>
-
-@signal_name:
-@itype:
-@signal_flags:
-@class_handler:
-@accumulator:
-@accu_data:
-@c_marshaller:
-@return_type:
-@n_params:
-@Varargs:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_override_class_handler ##### -->
-<para>
-
-</para>
-
-@signal_name:
-@instance_type:
-@class_handler:
-
-
-<!-- ##### FUNCTION g_signal_chain_from_overridden_handler ##### -->
-<para>
-
-</para>
-
-@instance:
-@Varargs:
-
-
-<!-- ##### FUNCTION g_signal_add_emission_hook ##### -->
-<para>
-
-</para>
-
-@signal_id:
-@detail:
-@hook_func:
-@hook_data:
-@data_destroy:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_remove_emission_hook ##### -->
-<para>
-
-</para>
-
-@signal_id:
-@hook_id:
-
-
-<!-- ##### FUNCTION g_signal_parse_name ##### -->
-<para>
-
-</para>
-
-@detailed_signal:
-@itype:
-@signal_id_p:
-@detail_p:
-@force_detail_quark:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_get_invocation_hint ##### -->
-<para>
-
-</para>
-
-@instance:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_type_cclosure_new ##### -->
-<para>
-
-</para>
-
-@itype:
-@struct_offset:
-@Returns:
-
-
-<!-- ##### FUNCTION g_signal_accumulator_true_handled ##### -->
-<para>
-
-</para>
-
-@ihint:
-@return_accu:
-@handler_return:
-@dummy:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Value arrays
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### STRUCT GValueArray ##### -->
-<para>
-
-</para>
-
-@n_values:
-@values:
-
-<!-- ##### FUNCTION g_value_array_get_nth ##### -->
-<para>
-
-</para>
-
-@value_array:
-@index_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_array_new ##### -->
-<para>
-
-</para>
-
-@n_prealloced:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_array_copy ##### -->
-<para>
-
-</para>
-
-@value_array:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_array_free ##### -->
-<para>
-
-</para>
-
-@value_array:
-
-
-<!-- ##### FUNCTION g_value_array_append ##### -->
-<para>
-
-</para>
-
-@value_array:
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_array_prepend ##### -->
-<para>
-
-</para>
-
-@value_array:
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_array_insert ##### -->
-<para>
-
-</para>
-
-@value_array:
-@index_:
-@value:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_array_remove ##### -->
-<para>
-
-</para>
-
-@value_array:
-@index_:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_array_sort ##### -->
-<para>
-
-</para>
-
-@value_array:
-@compare_func:
-@Returns:
-
-
-<!-- ##### FUNCTION g_value_array_sort_with_data ##### -->
-<para>
-
-</para>
-
-@value_array:
-@compare_func:
-@user_data:
-@Returns:
-
-
+++ /dev/null
-<!-- ##### SECTION Title ##### -->
-Varargs Value Collection
-
-<!-- ##### SECTION Short_Description ##### -->
-
-
-<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION See_Also ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### SECTION Stability_Level ##### -->
-
-
-<!-- ##### UNION GTypeCValue ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### MACRO G_VALUE_COLLECT ##### -->
-<para>
-
-</para>
-
-@value:
-@var_args:
-@flags:
-@__error:
-
-
-<!-- ##### MACRO G_VALUE_LCOPY ##### -->
-<para>
-
-</para>
-
-@value:
-@var_args:
-@flags:
-@__error:
-
-
-<!-- ##### MACRO G_VALUE_COLLECT_FORMAT_MAX_LENGTH ##### -->
-<para>
-
-</para>
-
-
-
+++ /dev/null
-Name: GIO Uninstalled
-Description: glib I/O library, Not Installed
-Version: @VERSION@
-Requires: glib-2.0-uninstalled,gobject-2.0-uninstalled,gmodule-no-export-2.0-uninstalled
-Libs: ${pc_top_builddir}/${pcfiledir}/gio/libgio-2.0.la
-Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@
+++ /dev/null
-Name: GIO unix specific APIs
-Description: unix specific headers for glib I/O library, Not Installed
-Version: @VERSION@
-Requires: gobject-2.0-uninstalled,gmodule-no-export-2.0-uninstalled,gio-2.0-uninstalled
-Libs: ${pc_top_builddir}/${pcfiledir}/gio/libgio-2.0.la
-Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@
+++ /dev/null
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:set expandtab ts=4 shiftwidth=4: */
-/*
- * Copyright (C) 2008 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Lin Ma <lin.ma@sun.com>
- */
-
-#include "config.h"
-#include <port.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <glib.h>
-#include "fen-data.h"
-#include "fen-kernel.h"
-#include "fen-missing.h"
-#include "fen-dump.h"
-
-#define PROCESS_EVENTQ_TIME 10 /* in milliseconds */
-#define PAIR_EVENTS_TIMEVAL 00000 /* in microseconds */
-#define PAIR_EVENTS_INC_TIMEVAL 0000 /* in microseconds */
-#define SCAN_CHANGINGS_TIME 50 /* in milliseconds */
-#define SCAN_CHANGINGS_MAX_TIME (4*100) /* in milliseconds */
-#define SCAN_CHANGINGS_MIN_TIME (4*100) /* in milliseconds */
-#define INIT_CHANGES_NUM 2
-#define BASE_NUM 2
-
-#ifdef GIO_COMPILATION
-#define FD_W if (fd_debug_enabled) g_warning
-static gboolean fd_debug_enabled = FALSE;
-#else
-#include "gam_error.h"
-#define FD_W(...) GAM_DEBUG(DEBUG_INFO, __VA_ARGS__)
-#endif
-
-G_LOCK_EXTERN (fen_lock);
-static GList *deleting_data = NULL;
-static guint deleting_data_id = 0;
-
-static void (*emit_once_cb) (fdata *f, int events, gpointer sub);
-static void (*emit_cb) (fdata *f, int events);
-static int (*_event_converter) (int event);
-
-static gboolean fdata_delete (fdata* f);
-static gint fdata_sub_find (gpointer a, gpointer b);
-static void scan_children (node_t *f);
-static void scan_known_children (node_t* f);
-
-node_t*
-_add_missing_cb (node_t* parent, gpointer user_data)
-{
- g_assert (parent);
- FD_W ("%s p:0x%p %s\n", __func__, parent, (gchar*)user_data);
- return _add_node (parent, (gchar*)user_data);
-}
-
-gboolean
-_pre_del_cb (node_t* node, gpointer user_data)
-{
- fdata* data;
-
- g_assert (node);
- data = _node_get_data (node);
- FD_W ("%s node:0x%p %s\n", __func__, node, NODE_NAME(node));
- if (data != NULL) {
- if (!FN_IS_PASSIVE(data)) {
- return FALSE;
- }
- fdata_delete (data);
- }
- return TRUE;
-}
-
-static guint
-_pow (guint x, guint y)
-{
- guint z = 1;
- g_assert (x >= 0 && y >= 0);
- for (; y > 0; y--) {
- z *= x;
- }
- return z;
-}
-
-static guint
-get_scalable_scan_time (fdata* data)
-{
- guint sleep_time;
- /* Caculate from num = 0 */
- sleep_time = _pow (BASE_NUM, data->changed_event_num) * SCAN_CHANGINGS_TIME;
- if (sleep_time < SCAN_CHANGINGS_MIN_TIME) {
- sleep_time = SCAN_CHANGINGS_MIN_TIME;
- } else if (sleep_time > SCAN_CHANGINGS_MAX_TIME) {
- sleep_time = SCAN_CHANGINGS_MAX_TIME;
- data->change_update_id = INIT_CHANGES_NUM;
- }
- FD_W ("SCALABE SCAN num:time [ %4u : %4u ] %s\n", data->changed_event_num, sleep_time, FN_NAME(data));
- return sleep_time;
-}
-
-static gboolean
-g_timeval_lt (GTimeVal *val1, GTimeVal *val2)
-{
- if (val1->tv_sec < val2->tv_sec)
- return TRUE;
-
- if (val1->tv_sec > val2->tv_sec)
- return FALSE;
-
- /* val1->tv_sec == val2->tv_sec */
- if (val1->tv_usec < val2->tv_usec)
- return TRUE;
-
- return FALSE;
-}
-
-/*
- * If all active children nodes are ported, then cancel monitor the parent node
- *
- * Unsafe, need lock.
- */
-static void
-scan_known_children (node_t* f)
-{
- GDir *dir;
- GError *err = NULL;
- fdata* pdata;
-
- FD_W ("%s %s [0x%p]\n", __func__, NODE_NAME(f), f);
- pdata = _node_get_data (f);
- /*
- * Currect fdata must is directly monitored. Be sure it is 1 level monitor.
- */
- dir = g_dir_open (NODE_NAME(f), 0, &err);
- if (dir) {
- const char *basename;
-
- while ((basename = g_dir_read_name (dir)))
- {
- node_t* childf = NULL;
- fdata* data;
- GList *idx;
- /*
- * If the node is existed, and isn't ported, then emit created
- * event. Ignore others.
- */
- childf = _children_find (f, basename);
- if (childf &&
- (data = _node_get_data (childf)) != NULL &&
- !FN_IS_PASSIVE (data)) {
- if (!is_monitoring (data) &&
- _port_add (&data->fobj, &data->len, data)) {
- _fdata_emit_events (data, FN_EVENT_CREATED);
- }
- }
- }
- g_dir_close (dir);
- } else {
- FD_W (err->message);
- g_error_free (err);
- }
-}
-
-static void
-scan_children (node_t *f)
-{
- GDir *dir;
- GError *err = NULL;
- fdata* pdata;
-
- FD_W ("%s %s [0x%p]\n", __func__, NODE_NAME(f), f);
- pdata = _node_get_data (f);
- /*
- * Currect fdata must is directly monitored. Be sure it is 1 level monitor.
- */
- dir = g_dir_open (NODE_NAME(f), 0, &err);
- if (dir) {
- const char *basename;
-
- while ((basename = g_dir_read_name (dir)))
- {
- node_t* childf = NULL;
- fdata* data;
- GList *idx;
-
- childf = _children_find (f, basename);
- if (childf == NULL) {
- gchar *filename;
-
- filename = g_build_filename (NODE_NAME(f), basename, NULL);
- childf = _add_node (f, filename);
- g_assert (childf);
- data = _fdata_new (childf, FALSE);
- g_free (filename);
- }
- if ((data = _node_get_data (childf)) == NULL) {
- data = _fdata_new (childf, FALSE);
- }
- /* Be sure data isn't ported and add to port successfully */
- /* Don't need delete it, it will be deleted by the parent */
- if (is_monitoring (data)) {
- /* Ignored */
- } else if (/* !_is_ported (data) && */
- _port_add (&data->fobj, &data->len, data)) {
- _fdata_emit_events (data, FN_EVENT_CREATED);
- }
- }
- g_dir_close (dir);
- } else {
- FD_W (err->message);
- g_error_free (err);
- }
-}
-
-static gboolean
-scan_deleting_data (gpointer data)
-{
- fdata *f;
- GList* i;
- GList* deleted_list = NULL;
- gboolean ret = TRUE;
-
- if (G_TRYLOCK (fen_lock)) {
- for (i = deleting_data; i; i = i->next) {
- f = (fdata*)i->data;
- if (fdata_delete (f)) {
- deleted_list = g_list_prepend (deleted_list, i);
- }
- }
-
- for (i = deleted_list; i; i = i->next) {
- deleting_data = g_list_remove_link (deleting_data,
- (GList *)i->data);
- g_list_free_1 ((GList *)i->data);
- }
- g_list_free (deleted_list);
-
- if (deleting_data == NULL) {
- deleting_data_id = 0;
- ret = FALSE;
- }
- G_UNLOCK (fen_lock);
- }
- return ret;
-}
-
-gboolean
-is_monitoring (fdata* data)
-{
- return _is_ported (data) || data->change_update_id > 0;
-}
-
-fdata*
-_get_parent_data (fdata* data)
-{
- if (FN_NODE(data) && !IS_TOPNODE(FN_NODE(data))) {
- return _node_get_data (FN_NODE(data)->parent);
- }
- return NULL;
-}
-
-node_t*
-_get_parent_node (fdata* data)
-{
- if (FN_NODE(data)) {
- return (FN_NODE(data)->parent);
- }
- return NULL;
-}
-
-fdata *
-_fdata_new (node_t* node, gboolean is_mondir)
-{
- fdata *f = NULL;
-
- g_assert (node);
- if ((f = g_new0 (fdata, 1)) != NULL) {
- FN_NODE(f) = node;
- FN_NAME(f) = g_strdup (NODE_NAME(node));
- f->is_dir = is_mondir;
- f->eventq = g_queue_new ();
- FD_W ("[ %s ] 0x%p %s\n", __func__, f, FN_NAME(f));
- _node_set_data (node, f);
- }
- return f;
-}
-
-static gboolean
-fdata_delete (fdata *f)
-{
- fnode_event_t *ev;
-
- FD_W ("[ TRY %s ] 0x%p id[%4d:%4d] %s\n", __func__, f, f->eventq_id, f->change_update_id, FN_NAME(f));
- g_assert (FN_IS_PASSIVE(f));
-
- _port_remove (f);
- /* _missing_remove (f); */
-
- if (f->node != NULL) {
- _node_set_data (f->node, NULL);
- f->node = NULL;
- }
-
- if (f->change_update_id > 0 || f->eventq_id > 0) {
- if (FN_IS_LIVING(f)) {
- f->is_cancelled = TRUE;
- deleting_data = g_list_prepend (deleting_data, f);
- if (deleting_data_id == 0) {
- deleting_data_id = g_idle_add (scan_deleting_data, NULL);
- g_assert (deleting_data_id > 0);
- }
- }
- return FALSE;
- }
- FD_W ("[ %s ] 0x%p %s\n", __func__, f, FN_NAME(f));
-
- while ((ev = g_queue_pop_head (f->eventq)) != NULL) {
- _fnode_event_delete (ev);
- }
-
- g_queue_free (f->eventq);
- g_free (FN_NAME(f));
- g_free (f);
- return TRUE;
-}
-
-void
-_fdata_reset (fdata* data)
-{
- fnode_event_t *ev;
-
- g_assert (data);
-
- while ((ev = g_queue_pop_head (data->eventq)) != NULL) {
- _fnode_event_delete (ev);
- }
-}
-
-static gint
-fdata_sub_find (gpointer a, gpointer b)
-{
- if (a != b) {
- return 1;
- } else {
- return 0;
- }
-}
-
-void
-_fdata_sub_add (fdata *f, gpointer sub)
-{
- FD_W ("[%s] [data: 0x%p ] [s: 0x%p ] %s\n", __func__, f, sub, FN_NAME(f));
- g_assert (g_list_find_custom (f->subs, sub, (GCompareFunc)fdata_sub_find) == NULL);
- f->subs = g_list_prepend (f->subs, sub);
-}
-
-void
-_fdata_sub_remove (fdata *f, gpointer sub)
-{
- GList *l;
- FD_W ("[%s] [data: 0x%p ] [s: 0x%p ] %s\n", __func__, f, sub, FN_NAME(f));
- g_assert (g_list_find_custom (f->subs, sub, (GCompareFunc)fdata_sub_find) != NULL);
- l = g_list_find_custom (f->subs, sub, (GCompareFunc)fdata_sub_find);
- g_assert (l);
- g_assert (sub == l->data);
- f->subs = g_list_delete_link (f->subs, l);
-}
-
-/*
- * Adjust self on failing to Port
- */
-void
-_fdata_adjust_deleted (fdata* f)
-{
- node_t* parent;
- fdata* pdata;
- node_op_t op = {NULL, NULL, _pre_del_cb, NULL};
-
- /*
- * It's a top node. We move it to missing list.
- */
- parent = _get_parent_node (f);
- pdata = _get_parent_data (f);
- if (!FN_IS_PASSIVE(f) ||
- _children_num (FN_NODE(f)) > 0 ||
- (pdata && !FN_IS_PASSIVE(pdata))) {
- if (parent) {
- if (pdata == NULL) {
- pdata = _fdata_new (parent, FALSE);
- }
- g_assert (pdata);
- if (!_port_add (&pdata->fobj, &pdata->len, pdata)) {
- _fdata_adjust_deleted (pdata);
- }
- } else {
- /* f is root */
- g_assert (IS_TOPNODE(FN_NODE(f)));
- _missing_add (f);
- }
- } else {
-#ifdef GIO_COMPILATION
- _pending_remove_node (FN_NODE(f), &op);
-#else
- _remove_node (FN_NODE(f), &op);
-#endif
- }
-}
-
-static gboolean
-fdata_adjust_changed (fdata *f)
-{
- fnode_event_t *ev;
- struct stat buf;
- node_t* parent;
- fdata* pdata;
-
- G_LOCK (fen_lock);
- parent = _get_parent_node (f);
- pdata = _get_parent_data (f);
-
- if (!FN_IS_LIVING(f) ||
- (_children_num (FN_NODE(f)) == 0 &&
- FN_IS_PASSIVE(f) &&
- pdata && FN_IS_PASSIVE(pdata))) {
- f->change_update_id = 0;
- G_UNLOCK (fen_lock);
- return FALSE;
- }
-
- FD_W ("[ %s ] %s\n", __func__, FN_NAME(f));
- if (FN_STAT (FN_NAME(f), &buf) != 0) {
- FD_W ("LSTAT [%-20s] %s\n", FN_NAME(f), g_strerror (errno));
- goto L_delete;
- }
- f->is_dir = S_ISDIR (buf.st_mode) ? TRUE : FALSE;
- if (f->len != buf.st_size) {
- /* FD_W ("LEN [%lld:%lld] %s\n", f->len, buf.st_size, FN_NAME(f)); */
- f->len = buf.st_size;
- ev = _fnode_event_new (FILE_MODIFIED, TRUE, f);
- if (ev != NULL) {
- ev->is_pending = TRUE;
- _fdata_add_event (f, ev);
- }
- /* Fdata is still changing, so scalable scan */
- f->change_update_id = g_timeout_add (get_scalable_scan_time (f),
- (GSourceFunc)fdata_adjust_changed,
- (gpointer)f);
- G_UNLOCK (fen_lock);
- return FALSE;
- } else {
- f->changed_event_num = 0;
- f->fobj.fo_atime = buf.st_atim;
- f->fobj.fo_mtime = buf.st_mtim;
- f->fobj.fo_ctime = buf.st_ctim;
- if (FN_IS_DIR(f)) {
- if (FN_IS_MONDIR(f)) {
- scan_children (FN_NODE(f));
- } else {
- scan_known_children (FN_NODE(f));
- if ((_children_num (FN_NODE(f)) == 0 &&
- FN_IS_PASSIVE(f) &&
- pdata && FN_IS_PASSIVE(pdata))) {
- _port_remove (f);
- goto L_exit;
- }
- }
- }
- if (!_port_add_simple (&f->fobj, f)) {
- L_delete:
- ev = _fnode_event_new (FILE_DELETE, FALSE, f);
- if (ev != NULL) {
- _fdata_add_event (f, ev);
- }
- }
- }
-L_exit:
- f->change_update_id = 0;
- G_UNLOCK (fen_lock);
- return FALSE;
-}
-
-void
-_fdata_emit_events_once (fdata *f, int event, gpointer sub)
-{
- emit_once_cb (f, _event_converter (event), sub);
-}
-
-void
-_fdata_emit_events (fdata *f, int event)
-{
- emit_cb (f, _event_converter (event));
-}
-
-static gboolean
-process_events (gpointer udata)
-{
- node_op_t op = {NULL, NULL, _pre_del_cb, NULL};
- fdata* f;
- fnode_event_t* ev;
- int e;
-
- /* FD_W ("IN <======== %s\n", __func__); */
-
- f = (fdata*)udata;
- FD_W ("%s 0x%p id:%-4d %s\n", __func__, f, f->eventq_id, FN_NAME(f));
-
- G_LOCK (fen_lock);
-
- if (!FN_IS_LIVING(f)) {
- f->eventq_id = 0;
- G_UNLOCK (fen_lock);
- return FALSE;
- }
-
- if ((ev = (fnode_event_t*)g_queue_pop_head (f->eventq)) != NULL) {
- /* Send events to clients. */
- e = ev->e;
- if (!ev->is_pending) {
-#ifdef GIO_COMPILATION
- if (ev->has_twin) {
- _fdata_emit_events (f, FILE_ATTRIB);
- }
-#endif
- _fdata_emit_events (f, ev->e);
- }
-
- _fnode_event_delete (ev);
- ev = NULL;
-
- /* Adjust node state. */
- /*
- * Node the node has been created, so we can delete create event in
- * optimizing. To reduce the statings, we add it to Port on discoving
- * it then emit CREATED event. So we don't need to do anything here.
- */
- switch (e) {
- case FILE_MODIFIED:
- case MOUNTEDOVER:
- case UNMOUNTED:
- /* If the event is a changed event, then pending process it */
- if (f->change_update_id == 0) {
- f->change_update_id = g_timeout_add (get_scalable_scan_time(f),
- (GSourceFunc)fdata_adjust_changed,
- (gpointer)f);
- g_assert (f->change_update_id > 0);
- }
- break;
- case FILE_ATTRIB:
- g_assert (f->change_update_id == 0);
- if (!_port_add (&f->fobj, &f->len, f)) {
- ev = _fnode_event_new (FILE_DELETE, FALSE, f);
- if (ev != NULL) {
- _fdata_add_event (f, ev);
- }
- }
- break;
- case FILE_DELETE: /* Ignored */
- break;
- default:
- g_assert_not_reached ();
- break;
- }
- /* Process one event a time */
- G_UNLOCK (fen_lock);
- return TRUE;
- }
- f->eventq_id = 0;
- G_UNLOCK (fen_lock);
- /* FD_W ("OUT ========> %s\n", __func__); */
- return FALSE;
-}
-
-void
-_fdata_add_event (fdata *f, fnode_event_t *ev)
-{
- node_op_t op = {NULL, NULL, _pre_del_cb, NULL};
- fnode_event_t *tail;
-
- if (!FN_IS_LIVING(f)) {
- _fnode_event_delete (ev);
- return;
- }
-
- FD_W ("%s %d\n", __func__, ev->e);
- g_get_current_time (&ev->t);
- /*
- * If created/deleted events of child node happened, then we use parent
- * event queue to handle.
- * If child node emits deleted event, it seems no changes for the parent
- * node, but the attr is changed. So we may try to cancel processing the
- * coming changed events of the parent node.
- */
- tail = (fnode_event_t*)g_queue_peek_tail (f->eventq);
- switch (ev->e) {
- case FILE_RENAME_FROM:
- case FILE_RENAME_TO:
- case FILE_ACCESS:
- _fnode_event_delete (ev);
- g_assert_not_reached ();
- return;
- case FILE_DELETE:
- /* clear changed event number */
- f->changed_event_num = 0;
- /*
- * We will cancel all previous events.
- */
- if (tail) {
- g_queue_pop_tail (f->eventq);
- do {
- _fnode_event_delete (tail);
- } while ((tail = (fnode_event_t*)g_queue_pop_tail (f->eventq)) != NULL);
- }
- /*
- * Given a node "f" is deleted, process it ASAP.
- */
- _fdata_emit_events (f, ev->e);
- _fnode_event_delete (ev);
- _fdata_adjust_deleted (f);
- return;
- case FILE_MODIFIED:
- case UNMOUNTED:
- case MOUNTEDOVER:
- /* clear changed event number */
- f->changed_event_num ++;
- case FILE_ATTRIB:
- default:
- /*
- * If in the time range, we will try optimizing
- * (changed+) to (changed)
- * (attrchanged changed) to ([changed, attrchanged])
- * (event attrchanged) to ([event, attrchanged])
- */
- if (tail) {
- do {
- if (tail->e == ev->e) {
- if (g_timeval_lt (&ev->t, &tail->t)) {
- g_queue_peek_tail (f->eventq);
- /* Add the increment */
- g_time_val_add (&ev->t, PAIR_EVENTS_INC_TIMEVAL);
- /* skip the previous event */
- FD_W ("SKIPPED -- %s\n", _event_string (tail->e));
- _fnode_event_delete (tail);
- } else {
- break;
- }
- } else if (ev->e == FILE_MODIFIED && tail->e == FILE_ATTRIB) {
- ev->has_twin = TRUE;
- _fnode_event_delete (tail);
- } else if (ev->e == FILE_ATTRIB && f->change_update_id > 0) {
- tail->has_twin = TRUE;
- /* skip the current event */
- _fnode_event_delete (ev);
- return;
- } else {
- break;
- }
- } while ((tail = (fnode_event_t*)g_queue_peek_tail (f->eventq)) != NULL);
- }
- }
-
- /* must add the threshold time */
- g_time_val_add (&ev->t, PAIR_EVENTS_TIMEVAL);
-
- g_queue_push_tail (f->eventq, ev);
-
- /* starting process_events */
- if (f->eventq_id == 0) {
- f->eventq_id = g_timeout_add (PROCESS_EVENTQ_TIME,
- process_events,
- (gpointer)f);
- g_assert (f->eventq_id > 0);
- }
- FD_W ("%s 0x%p id:%-4d %s\n", __func__, f, f->eventq_id, FN_NAME(f));
-}
-
-gboolean
-_fdata_class_init (void (*user_emit_cb) (fdata*, int),
- void (*user_emit_once_cb) (fdata*, int, gpointer),
- int (*user_event_converter) (int event))
-{
- FD_W ("%s\n", __func__);
- if (user_emit_cb == NULL) {
- return FALSE;
- }
- if (user_emit_once_cb == NULL) {
- return FALSE;
- }
- if (user_event_converter == NULL) {
- return FALSE;
- }
- emit_cb = user_emit_cb;
- emit_once_cb = user_emit_once_cb;
- _event_converter = user_event_converter;
-
- if (!_port_class_init (_fdata_add_event)) {
- FD_W ("_port_class_init failed.");
- return FALSE;
- }
- return TRUE;
-}
+++ /dev/null
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:set expandtab ts=4 shiftwidth=4: */
-/*
- * Copyright (C) 2008 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Lin Ma <lin.ma@sun.com>
- */
-
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include "fen-node.h"
-#include "fen-kernel.h"
-
-#ifndef _FEN_DATA_H_
-#define _FEN_DATA_H_
-
-#define FN_EVENT_CREATED 0
-#define FN_NAME(fp) (((fdata*)(fp))->fobj.fo_name)
-#define FN_NODE(fp) (((fdata*)(fp))->node)
-#define FN_IS_DIR(fp) (((fdata*)(fp))->is_dir)
-#define FN_IS_PASSIVE(fp) (((fdata*)(fp))->subs == NULL)
-#define FN_IS_MONDIR(fp) (((fdata*)(fp))->mon_dir_num > 0)
-#define FN_IS_LIVING(fp) (!((fdata*)(fp))->is_cancelled)
-
-typedef struct
-{
- file_obj_t fobj;
- off_t len;
- gboolean is_cancelled;
-
- node_t* node;
- /* to identify if the path is dir */
- gboolean is_dir;
- guint mon_dir_num;
-
- /* List of subscriptions monitoring this fdata/path */
- GList *subs;
-
- /* prcessed changed events num */
- guint changed_event_num;
-
- /* process events source id */
- GQueue* eventq;
- guint eventq_id;
- guint change_update_id;
-} fdata;
-
-/* fdata functions */
-fdata* _fdata_new (node_t* node, gboolean is_mondir);
-void _fdata_reset (fdata* data);
-void _fdata_emit_events_once (fdata *f, int event, gpointer sub);
-void _fdata_emit_events (fdata *f, int event);
-void _fdata_add_event (fdata *f, fnode_event_t *ev);
-void _fdata_adjust_deleted (fdata *f);
-fdata* _get_parent_data (fdata* data);
-node_t* _get_parent_node (fdata* data);
-gboolean _is_monitoring (fdata* data);
-
-/* sub */
-void _fdata_sub_add (fdata *f, gpointer sub);
-void _fdata_sub_remove (fdata *f, gpointer sub);
-
-/* misc */
-node_t* _add_missing_cb (node_t* parent, gpointer user_data);
-gboolean _pre_del_cb (node_t* node, gpointer user_data);
-
-/* init */
-gboolean _fdata_class_init (void (*user_emit_cb) (fdata*, int),
- void (*user_emit_once_cb) (fdata*, int, gpointer),
- int (*user_event_converter) (int event));
-
-#endif /* _FEN_DATA_H_ */
+++ /dev/null
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:set expandtab ts=4 shiftwidth=4: */
-/*
- * Copyright (C) 2008 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Lin Ma <lin.ma@sun.com>
- */
-
-#include "config.h"
-#include <glib.h>
-#include "fen-data.h"
-#include "fen-missing.h"
-
-G_LOCK_EXTERN (fen_lock);
-#define SCAN_MISSING_INTERVAL 4000 /* in milliseconds */
-
-#ifdef GIO_COMPILATION
-#define FM_W if (fm_debug_enabled) g_warning
-gboolean fm_debug_enabled = FALSE;
-#else
-#include "gam_error.h"
-#define FM_W(...) GAM_DEBUG(DEBUG_INFO, __VA_ARGS__)
-#endif
-
-/* global data structure for scan missing files */
-static GList *missing_list = NULL;
-static guint scan_missing_source_id = 0;
-
-static gboolean scan_missing_list (gpointer data);
-
-static gboolean
-scan_missing_list (gpointer data)
-{
- GList *existing_list = NULL;
- GList *idx = NULL;
- fdata *f;
- gboolean ret = TRUE;
-
- G_LOCK (fen_lock);
-
- for (idx = missing_list; idx; idx = idx->next) {
- f = (fdata*)idx->data;
-
- if (_port_add (&f->fobj, &f->len, f)) {
- /* TODO - emit CREATE event */
- _fdata_emit_events (f, FN_EVENT_CREATED);
- existing_list = g_list_prepend (existing_list, idx);
- }
- }
-
- for (idx = existing_list; idx; idx = idx->next) {
- missing_list = g_list_remove_link (missing_list, (GList *)idx->data);
- g_list_free_1 ((GList *)idx->data);
- }
- g_list_free (existing_list);
-
- if (missing_list == NULL) {
- scan_missing_source_id = 0;
- ret = FALSE;
- }
-
- G_UNLOCK (fen_lock);
- return ret;
-}
-
-/**
- * missing_add
- *
- * Unsafe, need lock fen_lock.
- */
-void
-_missing_add (fdata *f)
-{
- GList *idx;
-
- g_assert (!_is_ported (f));
-
- if (g_list_find (missing_list, f) != NULL) {
- FM_W ("%s is ALREADY added %s\n", __func__, FN_NAME(f));
- return;
- }
- FM_W ("%s is added %s\n", __func__, FN_NAME(f));
-
- missing_list = g_list_prepend (missing_list, f);
-
- /* if doesn't scan, then start */
- if (scan_missing_source_id == 0) {
- scan_missing_source_id = g_timeout_add (SCAN_MISSING_INTERVAL,
- scan_missing_list,
- NULL);
- g_assert (scan_missing_source_id > 0);
- }
-}
-
-/**
- * missing_remove
- *
- * Unsafe, need lock fen_lock.
- */
-void
-_missing_remove (fdata *f)
-{
- FM_W ("%s %s\n", __func__, FN_NAME(f));
- missing_list = g_list_remove (missing_list, f);
-}
+++ /dev/null
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:set expandtab ts=4 shiftwidth=4: */
-/*
- * Copyright (C) 2008 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Lin Ma <lin.ma@sun.com>
- */
-
-#ifndef __GAM_FEN_H__
-#define __GAM_FEN_H__
-
-#include "fen-data.h"
-
-G_BEGIN_DECLS
-
-extern void _missing_add (fdata *f);
-extern void _missing_remove (fdata *f);
-
-G_END_DECLS
-
-#endif /* __GAM_FEN_H__ */
-
+++ /dev/null
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:set expandtab ts=4 shiftwidth=4: */
-/*
- * Copyright (C) 2008 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Lin Ma <lin.ma@sun.com>
- */
-
-#include "config.h"
-#include "fen-sub.h"
-
-fen_sub*
-_fen_sub_new (gpointer udata, gboolean is_mondir)
-{
- fen_sub *sub;
- sub = g_new (fen_sub, 1);
- sub->user_data = udata;
- sub->is_mondir = is_mondir;
- return sub;
-}
-
-void
-_fen_sub_delete (fen_sub *sub)
-{
- g_free (sub);
-}
+++ /dev/null
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/* vim:set expandtab ts=4 shiftwidth=4: */
-/*
- * Copyright (C) 2008 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Authors: Lin Ma <lin.ma@sun.com>
- */
-
-#include <glib.h>
-
-#ifndef _FEN_SUB_H_
-#define _FEN_SUB_H_
-
-typedef struct _fen_sub
-{
- gpointer user_data;
- gboolean is_mondir;
-} fen_sub;
-
-fen_sub* _fen_sub_new (gpointer udata, gboolean is_mondir);
-void _fen_sub_delete (fen_sub *sub);
-
-#endif _FEN_SUB_H_
+++ /dev/null
-VOID:STRING,STRING,STRING,FLAGS
-VOID:STRING,BOXED
-VOID:BOOLEAN,POINTER
-VOID:OBJECT,OBJECT,ENUM
-BOOLEAN:OBJECT,OBJECT
-VOID:STRING,BOXED,BOXED
+++ /dev/null
-/* Generated by makegioalias.pl */
-
-#ifndef DISABLE_VISIBILITY
-
-#include "glib.h"
-
-#ifdef G_HAVE_GNUC_VISIBILITY
-
-#define IN_FILE(x) 1
-#define IN_HEADER defined
-
-#if IN_HEADER(__G_VFS_H__)
-#if IN_FILE(__G_VFS_C__)
-extern __typeof (g_vfs_get_type) IA__g_vfs_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_vfs_get_type IA__g_vfs_get_type
-
-extern __typeof (g_vfs_is_active) IA__g_vfs_is_active __attribute((visibility("hidden")));
-#define g_vfs_is_active IA__g_vfs_is_active
-
-extern __typeof (g_vfs_get_file_for_path) IA__g_vfs_get_file_for_path __attribute((visibility("hidden")));
-#define g_vfs_get_file_for_path IA__g_vfs_get_file_for_path
-
-extern __typeof (g_vfs_get_file_for_uri) IA__g_vfs_get_file_for_uri __attribute((visibility("hidden")));
-#define g_vfs_get_file_for_uri IA__g_vfs_get_file_for_uri
-
-extern __typeof (g_vfs_get_supported_uri_schemes) IA__g_vfs_get_supported_uri_schemes __attribute((visibility("hidden")));
-#define g_vfs_get_supported_uri_schemes IA__g_vfs_get_supported_uri_schemes
-
-extern __typeof (g_vfs_parse_name) IA__g_vfs_parse_name __attribute((visibility("hidden")));
-#define g_vfs_parse_name IA__g_vfs_parse_name
-
-extern __typeof (g_vfs_get_default) IA__g_vfs_get_default __attribute((visibility("hidden")));
-#define g_vfs_get_default IA__g_vfs_get_default
-
-extern __typeof (g_vfs_get_local) IA__g_vfs_get_local __attribute((visibility("hidden")));
-#define g_vfs_get_local IA__g_vfs_get_local
-
-#endif
-#endif
-#if IN_HEADER(__G_APP_INFO_H__)
-#if IN_FILE(__G_APP_INFO_C__)
-extern __typeof (g_app_info_get_type) IA__g_app_info_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_app_info_get_type IA__g_app_info_get_type
-
-extern __typeof (g_app_launch_context_get_type) IA__g_app_launch_context_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_app_launch_context_get_type IA__g_app_launch_context_get_type
-
-extern __typeof (g_app_info_dup) IA__g_app_info_dup __attribute((visibility("hidden")));
-#define g_app_info_dup IA__g_app_info_dup
-
-extern __typeof (g_app_info_equal) IA__g_app_info_equal __attribute((visibility("hidden")));
-#define g_app_info_equal IA__g_app_info_equal
-
-extern __typeof (g_app_info_get_id) IA__g_app_info_get_id __attribute((visibility("hidden")));
-#define g_app_info_get_id IA__g_app_info_get_id
-
-extern __typeof (g_app_info_get_name) IA__g_app_info_get_name __attribute((visibility("hidden")));
-#define g_app_info_get_name IA__g_app_info_get_name
-
-extern __typeof (g_app_info_get_display_name) IA__g_app_info_get_display_name __attribute((visibility("hidden")));
-#define g_app_info_get_display_name IA__g_app_info_get_display_name
-
-extern __typeof (g_app_info_get_description) IA__g_app_info_get_description __attribute((visibility("hidden")));
-#define g_app_info_get_description IA__g_app_info_get_description
-
-extern __typeof (g_app_info_get_executable) IA__g_app_info_get_executable __attribute((visibility("hidden")));
-#define g_app_info_get_executable IA__g_app_info_get_executable
-
-extern __typeof (g_app_info_get_commandline) IA__g_app_info_get_commandline __attribute((visibility("hidden")));
-#define g_app_info_get_commandline IA__g_app_info_get_commandline
-
-extern __typeof (g_app_info_get_icon) IA__g_app_info_get_icon __attribute((visibility("hidden")));
-#define g_app_info_get_icon IA__g_app_info_get_icon
-
-extern __typeof (g_app_info_launch) IA__g_app_info_launch __attribute((visibility("hidden")));
-#define g_app_info_launch IA__g_app_info_launch
-
-extern __typeof (g_app_info_supports_uris) IA__g_app_info_supports_uris __attribute((visibility("hidden")));
-#define g_app_info_supports_uris IA__g_app_info_supports_uris
-
-extern __typeof (g_app_info_supports_files) IA__g_app_info_supports_files __attribute((visibility("hidden")));
-#define g_app_info_supports_files IA__g_app_info_supports_files
-
-extern __typeof (g_app_info_launch_uris) IA__g_app_info_launch_uris __attribute((visibility("hidden")));
-#define g_app_info_launch_uris IA__g_app_info_launch_uris
-
-extern __typeof (g_app_info_should_show) IA__g_app_info_should_show __attribute((visibility("hidden")));
-#define g_app_info_should_show IA__g_app_info_should_show
-
-extern __typeof (g_app_info_set_as_default_for_type) IA__g_app_info_set_as_default_for_type __attribute((visibility("hidden")));
-#define g_app_info_set_as_default_for_type IA__g_app_info_set_as_default_for_type
-
-extern __typeof (g_app_info_set_as_default_for_extension) IA__g_app_info_set_as_default_for_extension __attribute((visibility("hidden")));
-#define g_app_info_set_as_default_for_extension IA__g_app_info_set_as_default_for_extension
-
-extern __typeof (g_app_info_add_supports_type) IA__g_app_info_add_supports_type __attribute((visibility("hidden")));
-#define g_app_info_add_supports_type IA__g_app_info_add_supports_type
-
-extern __typeof (g_app_info_can_remove_supports_type) IA__g_app_info_can_remove_supports_type __attribute((visibility("hidden")));
-#define g_app_info_can_remove_supports_type IA__g_app_info_can_remove_supports_type
-
-extern __typeof (g_app_info_remove_supports_type) IA__g_app_info_remove_supports_type __attribute((visibility("hidden")));
-#define g_app_info_remove_supports_type IA__g_app_info_remove_supports_type
-
-extern __typeof (g_app_info_launch_default_for_uri) IA__g_app_info_launch_default_for_uri __attribute((visibility("hidden")));
-#define g_app_info_launch_default_for_uri IA__g_app_info_launch_default_for_uri
-
-extern __typeof (g_app_info_can_delete) IA__g_app_info_can_delete __attribute((visibility("hidden")));
-#define g_app_info_can_delete IA__g_app_info_can_delete
-
-extern __typeof (g_app_info_delete) IA__g_app_info_delete __attribute((visibility("hidden")));
-#define g_app_info_delete IA__g_app_info_delete
-
-extern __typeof (g_app_launch_context_new) IA__g_app_launch_context_new __attribute((visibility("hidden")));
-#define g_app_launch_context_new IA__g_app_launch_context_new
-
-extern __typeof (g_app_launch_context_get_display) IA__g_app_launch_context_get_display __attribute((visibility("hidden")));
-#define g_app_launch_context_get_display IA__g_app_launch_context_get_display
-
-extern __typeof (g_app_launch_context_get_startup_notify_id) IA__g_app_launch_context_get_startup_notify_id __attribute((visibility("hidden")));
-#define g_app_launch_context_get_startup_notify_id IA__g_app_launch_context_get_startup_notify_id
-
-extern __typeof (g_app_launch_context_launch_failed) IA__g_app_launch_context_launch_failed __attribute((visibility("hidden")));
-#define g_app_launch_context_launch_failed IA__g_app_launch_context_launch_failed
-
-#endif
-#if IN_FILE(__G_DESKTOP_APP_INFO_C__)
-extern __typeof (g_app_info_create_from_commandline) IA__g_app_info_create_from_commandline __attribute((visibility("hidden")));
-#define g_app_info_create_from_commandline IA__g_app_info_create_from_commandline
-
-extern __typeof (g_app_info_get_all) IA__g_app_info_get_all __attribute((visibility("hidden")));
-#define g_app_info_get_all IA__g_app_info_get_all
-
-extern __typeof (g_app_info_get_all_for_type) IA__g_app_info_get_all_for_type __attribute((visibility("hidden")));
-#define g_app_info_get_all_for_type IA__g_app_info_get_all_for_type
-
-extern __typeof (g_app_info_get_default_for_type) IA__g_app_info_get_default_for_type __attribute((visibility("hidden")));
-#define g_app_info_get_default_for_type IA__g_app_info_get_default_for_type
-
-extern __typeof (g_app_info_get_default_for_uri_scheme) IA__g_app_info_get_default_for_uri_scheme __attribute((visibility("hidden")));
-#define g_app_info_get_default_for_uri_scheme IA__g_app_info_get_default_for_uri_scheme
-
-extern __typeof (g_app_info_reset_type_associations) IA__g_app_info_reset_type_associations __attribute((visibility("hidden")));
-#define g_app_info_reset_type_associations IA__g_app_info_reset_type_associations
-
-#endif
-#endif
-#if IN_HEADER(__G_DESKTOP_APP_INFO_H__)
-#if IN_FILE(__G_DESKTOP_APP_INFO_C__)
-#ifdef G_OS_UNIX
-extern __typeof (g_desktop_app_info_new_from_filename) IA__g_desktop_app_info_new_from_filename __attribute((visibility("hidden")));
-#define g_desktop_app_info_new_from_filename IA__g_desktop_app_info_new_from_filename
-
-extern __typeof (g_desktop_app_info_new_from_keyfile) IA__g_desktop_app_info_new_from_keyfile __attribute((visibility("hidden")));
-#define g_desktop_app_info_new_from_keyfile IA__g_desktop_app_info_new_from_keyfile
-
-extern __typeof (g_desktop_app_info_new) IA__g_desktop_app_info_new __attribute((visibility("hidden")));
-#define g_desktop_app_info_new IA__g_desktop_app_info_new
-
-extern __typeof (g_desktop_app_info_get_filename) IA__g_desktop_app_info_get_filename __attribute((visibility("hidden")));
-#define g_desktop_app_info_get_filename IA__g_desktop_app_info_get_filename
-
-extern __typeof (g_desktop_app_info_get_type) IA__g_desktop_app_info_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_desktop_app_info_get_type IA__g_desktop_app_info_get_type
-
-extern __typeof (g_desktop_app_info_get_is_hidden) IA__g_desktop_app_info_get_is_hidden __attribute((visibility("hidden")));
-#define g_desktop_app_info_get_is_hidden IA__g_desktop_app_info_get_is_hidden
-
-extern __typeof (g_desktop_app_info_set_desktop_env) IA__g_desktop_app_info_set_desktop_env __attribute((visibility("hidden")));
-#define g_desktop_app_info_set_desktop_env IA__g_desktop_app_info_set_desktop_env
-
-extern __typeof (g_desktop_app_info_lookup_get_type) IA__g_desktop_app_info_lookup_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_desktop_app_info_lookup_get_type IA__g_desktop_app_info_lookup_get_type
-
-extern __typeof (g_desktop_app_info_lookup_get_default_for_uri_scheme) IA__g_desktop_app_info_lookup_get_default_for_uri_scheme __attribute((visibility("hidden")));
-#define g_desktop_app_info_lookup_get_default_for_uri_scheme IA__g_desktop_app_info_lookup_get_default_for_uri_scheme
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_ASYNC_RESULT_H__)
-#if IN_FILE(__G_ASYNC_RESULT_C__)
-extern __typeof (g_async_result_get_type) IA__g_async_result_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_async_result_get_type IA__g_async_result_get_type
-
-extern __typeof (g_async_result_get_user_data) IA__g_async_result_get_user_data __attribute((visibility("hidden")));
-#define g_async_result_get_user_data IA__g_async_result_get_user_data
-
-extern __typeof (g_async_result_get_source_object) IA__g_async_result_get_source_object __attribute((visibility("hidden")));
-#define g_async_result_get_source_object IA__g_async_result_get_source_object
-
-#endif
-#endif
-#if IN_HEADER(__G_BUFFERED_INPUT_STREAM_H__)
-#if IN_FILE(__G_BUFFERED_INPUT_STREAM_C__)
-extern __typeof (g_buffered_input_stream_get_type) IA__g_buffered_input_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_buffered_input_stream_get_type IA__g_buffered_input_stream_get_type
-
-extern __typeof (g_buffered_input_stream_new) IA__g_buffered_input_stream_new __attribute((visibility("hidden")));
-#define g_buffered_input_stream_new IA__g_buffered_input_stream_new
-
-extern __typeof (g_buffered_input_stream_new_sized) IA__g_buffered_input_stream_new_sized __attribute((visibility("hidden")));
-#define g_buffered_input_stream_new_sized IA__g_buffered_input_stream_new_sized
-
-extern __typeof (g_buffered_input_stream_get_buffer_size) IA__g_buffered_input_stream_get_buffer_size __attribute((visibility("hidden")));
-#define g_buffered_input_stream_get_buffer_size IA__g_buffered_input_stream_get_buffer_size
-
-extern __typeof (g_buffered_input_stream_set_buffer_size) IA__g_buffered_input_stream_set_buffer_size __attribute((visibility("hidden")));
-#define g_buffered_input_stream_set_buffer_size IA__g_buffered_input_stream_set_buffer_size
-
-extern __typeof (g_buffered_input_stream_get_available) IA__g_buffered_input_stream_get_available __attribute((visibility("hidden")));
-#define g_buffered_input_stream_get_available IA__g_buffered_input_stream_get_available
-
-extern __typeof (g_buffered_input_stream_peek) IA__g_buffered_input_stream_peek __attribute((visibility("hidden")));
-#define g_buffered_input_stream_peek IA__g_buffered_input_stream_peek
-
-extern __typeof (g_buffered_input_stream_peek_buffer) IA__g_buffered_input_stream_peek_buffer __attribute((visibility("hidden")));
-#define g_buffered_input_stream_peek_buffer IA__g_buffered_input_stream_peek_buffer
-
-extern __typeof (g_buffered_input_stream_fill) IA__g_buffered_input_stream_fill __attribute((visibility("hidden")));
-#define g_buffered_input_stream_fill IA__g_buffered_input_stream_fill
-
-extern __typeof (g_buffered_input_stream_fill_async) IA__g_buffered_input_stream_fill_async __attribute((visibility("hidden")));
-#define g_buffered_input_stream_fill_async IA__g_buffered_input_stream_fill_async
-
-extern __typeof (g_buffered_input_stream_fill_finish) IA__g_buffered_input_stream_fill_finish __attribute((visibility("hidden")));
-#define g_buffered_input_stream_fill_finish IA__g_buffered_input_stream_fill_finish
-
-extern __typeof (g_buffered_input_stream_read_byte) IA__g_buffered_input_stream_read_byte __attribute((visibility("hidden")));
-#define g_buffered_input_stream_read_byte IA__g_buffered_input_stream_read_byte
-
-#endif
-#endif
-#if IN_HEADER(__G_BUFFERED_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_BUFFERED_OUTPUT_STREAM_C__)
-extern __typeof (g_buffered_output_stream_get_type) IA__g_buffered_output_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;;
-#define g_buffered_output_stream_get_type IA__g_buffered_output_stream_get_type
-
-extern __typeof (g_buffered_output_stream_new) IA__g_buffered_output_stream_new __attribute((visibility("hidden")));
-#define g_buffered_output_stream_new IA__g_buffered_output_stream_new
-
-extern __typeof (g_buffered_output_stream_new_sized) IA__g_buffered_output_stream_new_sized __attribute((visibility("hidden")));
-#define g_buffered_output_stream_new_sized IA__g_buffered_output_stream_new_sized
-
-extern __typeof (g_buffered_output_stream_get_buffer_size) IA__g_buffered_output_stream_get_buffer_size __attribute((visibility("hidden")));
-#define g_buffered_output_stream_get_buffer_size IA__g_buffered_output_stream_get_buffer_size
-
-extern __typeof (g_buffered_output_stream_set_buffer_size) IA__g_buffered_output_stream_set_buffer_size __attribute((visibility("hidden")));
-#define g_buffered_output_stream_set_buffer_size IA__g_buffered_output_stream_set_buffer_size
-
-extern __typeof (g_buffered_output_stream_get_auto_grow) IA__g_buffered_output_stream_get_auto_grow __attribute((visibility("hidden")));
-#define g_buffered_output_stream_get_auto_grow IA__g_buffered_output_stream_get_auto_grow
-
-extern __typeof (g_buffered_output_stream_set_auto_grow) IA__g_buffered_output_stream_set_auto_grow __attribute((visibility("hidden")));
-#define g_buffered_output_stream_set_auto_grow IA__g_buffered_output_stream_set_auto_grow
-
-#endif
-#endif
-#if IN_HEADER(__G_CANCELLABLE_H__)
-#if IN_FILE(__G_CANCELLABLE_C__)
-extern __typeof (g_cancellable_get_type) IA__g_cancellable_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_cancellable_get_type IA__g_cancellable_get_type
-
-extern __typeof (g_cancellable_new) IA__g_cancellable_new __attribute((visibility("hidden")));
-#define g_cancellable_new IA__g_cancellable_new
-
-extern __typeof (g_cancellable_is_cancelled) IA__g_cancellable_is_cancelled __attribute((visibility("hidden")));
-#define g_cancellable_is_cancelled IA__g_cancellable_is_cancelled
-
-extern __typeof (g_cancellable_set_error_if_cancelled) IA__g_cancellable_set_error_if_cancelled __attribute((visibility("hidden")));
-#define g_cancellable_set_error_if_cancelled IA__g_cancellable_set_error_if_cancelled
-
-extern __typeof (g_cancellable_get_fd) IA__g_cancellable_get_fd __attribute((visibility("hidden")));
-#define g_cancellable_get_fd IA__g_cancellable_get_fd
-
-extern __typeof (g_cancellable_make_pollfd) IA__g_cancellable_make_pollfd __attribute((visibility("hidden")));
-#define g_cancellable_make_pollfd IA__g_cancellable_make_pollfd
-
-extern __typeof (g_cancellable_release_fd) IA__g_cancellable_release_fd __attribute((visibility("hidden")));
-#define g_cancellable_release_fd IA__g_cancellable_release_fd
-
-extern __typeof (g_cancellable_get_current) IA__g_cancellable_get_current __attribute((visibility("hidden")));
-#define g_cancellable_get_current IA__g_cancellable_get_current
-
-extern __typeof (g_cancellable_push_current) IA__g_cancellable_push_current __attribute((visibility("hidden")));
-#define g_cancellable_push_current IA__g_cancellable_push_current
-
-extern __typeof (g_cancellable_pop_current) IA__g_cancellable_pop_current __attribute((visibility("hidden")));
-#define g_cancellable_pop_current IA__g_cancellable_pop_current
-
-extern __typeof (g_cancellable_reset) IA__g_cancellable_reset __attribute((visibility("hidden")));
-#define g_cancellable_reset IA__g_cancellable_reset
-
-extern __typeof (g_cancellable_cancel) IA__g_cancellable_cancel __attribute((visibility("hidden")));
-#define g_cancellable_cancel IA__g_cancellable_cancel
-
-extern __typeof (g_cancellable_connect) IA__g_cancellable_connect __attribute((visibility("hidden")));
-#define g_cancellable_connect IA__g_cancellable_connect
-
-extern __typeof (g_cancellable_disconnect) IA__g_cancellable_disconnect __attribute((visibility("hidden")));
-#define g_cancellable_disconnect IA__g_cancellable_disconnect
-
-#endif
-#endif
-#if IN_HEADER(__G_CONTENT_TYPE_H__)
-#if IN_FILE(__G_CONTENT_TYPE_C__)
-extern __typeof (g_content_type_equals) IA__g_content_type_equals __attribute((visibility("hidden")));
-#define g_content_type_equals IA__g_content_type_equals
-
-extern __typeof (g_content_type_is_a) IA__g_content_type_is_a __attribute((visibility("hidden")));
-#define g_content_type_is_a IA__g_content_type_is_a
-
-extern __typeof (g_content_type_is_unknown) IA__g_content_type_is_unknown __attribute((visibility("hidden")));
-#define g_content_type_is_unknown IA__g_content_type_is_unknown
-
-extern __typeof (g_content_type_get_description) IA__g_content_type_get_description __attribute((visibility("hidden")));
-#define g_content_type_get_description IA__g_content_type_get_description
-
-extern __typeof (g_content_type_get_mime_type) IA__g_content_type_get_mime_type __attribute((visibility("hidden")));
-#define g_content_type_get_mime_type IA__g_content_type_get_mime_type
-
-extern __typeof (g_content_type_get_icon) IA__g_content_type_get_icon __attribute((visibility("hidden")));
-#define g_content_type_get_icon IA__g_content_type_get_icon
-
-extern __typeof (g_content_type_can_be_executable) IA__g_content_type_can_be_executable __attribute((visibility("hidden")));
-#define g_content_type_can_be_executable IA__g_content_type_can_be_executable
-
-extern __typeof (g_content_type_from_mime_type) IA__g_content_type_from_mime_type __attribute((visibility("hidden")));
-#define g_content_type_from_mime_type IA__g_content_type_from_mime_type
-
-extern __typeof (g_content_type_guess) IA__g_content_type_guess __attribute((visibility("hidden")));
-#define g_content_type_guess IA__g_content_type_guess
-
-extern __typeof (g_content_type_guess_for_tree) IA__g_content_type_guess_for_tree __attribute((visibility("hidden")));
-#define g_content_type_guess_for_tree IA__g_content_type_guess_for_tree
-
-extern __typeof (g_content_types_get_registered) IA__g_content_types_get_registered __attribute((visibility("hidden")));
-#define g_content_types_get_registered IA__g_content_types_get_registered
-
-#endif
-#endif
-#if IN_HEADER(__G_CONVERTER_H__)
-#if IN_FILE(__G_CONVERTER_C__)
-extern __typeof (g_converter_get_type) IA__g_converter_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_converter_get_type IA__g_converter_get_type
-
-extern __typeof (g_converter_reset) IA__g_converter_reset __attribute((visibility("hidden")));
-#define g_converter_reset IA__g_converter_reset
-
-extern __typeof (g_converter_convert) IA__g_converter_convert __attribute((visibility("hidden")));
-#define g_converter_convert IA__g_converter_convert
-
-#endif
-#endif
-#if IN_HEADER(__G_CONVERTER_INPUT_STREAM_H__)
-#if IN_FILE(__G_CONVERTER_INPUT_STREAM_C__)
-extern __typeof (g_converter_input_stream_get_type) IA__g_converter_input_stream_get_type __attribute((visibility("hidden")));
-#define g_converter_input_stream_get_type IA__g_converter_input_stream_get_type
-
-extern __typeof (g_converter_input_stream_new) IA__g_converter_input_stream_new __attribute((visibility("hidden")));
-#define g_converter_input_stream_new IA__g_converter_input_stream_new
-
-extern __typeof (g_converter_input_stream_get_converter) IA__g_converter_input_stream_get_converter __attribute((visibility("hidden")));
-#define g_converter_input_stream_get_converter IA__g_converter_input_stream_get_converter
-
-#endif
-#endif
-#if IN_HEADER(__G_CONVERTER_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_CONVERTER_OUTPUT_STREAM_C__)
-extern __typeof (g_converter_output_stream_get_type) IA__g_converter_output_stream_get_type __attribute((visibility("hidden")));
-#define g_converter_output_stream_get_type IA__g_converter_output_stream_get_type
-
-extern __typeof (g_converter_output_stream_new) IA__g_converter_output_stream_new __attribute((visibility("hidden")));
-#define g_converter_output_stream_new IA__g_converter_output_stream_new
-
-extern __typeof (g_converter_output_stream_get_converter) IA__g_converter_output_stream_get_converter __attribute((visibility("hidden")));
-#define g_converter_output_stream_get_converter IA__g_converter_output_stream_get_converter
-
-#endif
-#endif
-#if IN_HEADER(__G_CHARSET_CONVERTER_H__)
-#if IN_FILE(__G_CHARSET_CONVERTER_C__)
-extern __typeof (g_charset_converter_get_type) IA__g_charset_converter_get_type __attribute((visibility("hidden")));
-#define g_charset_converter_get_type IA__g_charset_converter_get_type
-
-extern __typeof (g_charset_converter_new) IA__g_charset_converter_new __attribute((visibility("hidden")));
-#define g_charset_converter_new IA__g_charset_converter_new
-
-extern __typeof (g_charset_converter_get_num_fallbacks) IA__g_charset_converter_get_num_fallbacks __attribute((visibility("hidden")));
-#define g_charset_converter_get_num_fallbacks IA__g_charset_converter_get_num_fallbacks
-
-extern __typeof (g_charset_converter_get_use_fallback) IA__g_charset_converter_get_use_fallback __attribute((visibility("hidden")));
-#define g_charset_converter_get_use_fallback IA__g_charset_converter_get_use_fallback
-
-extern __typeof (g_charset_converter_set_use_fallback) IA__g_charset_converter_set_use_fallback __attribute((visibility("hidden")));
-#define g_charset_converter_set_use_fallback IA__g_charset_converter_set_use_fallback
-
-#endif
-#endif
-#if IN_HEADER(__G_DATA_INPUT_STREAM_H__)
-#if IN_FILE(__G_DATA_INPUT_STREAM_C__)
-extern __typeof (g_data_input_stream_get_type) IA__g_data_input_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_data_input_stream_get_type IA__g_data_input_stream_get_type
-
-extern __typeof (g_data_input_stream_new) IA__g_data_input_stream_new __attribute((visibility("hidden")));
-#define g_data_input_stream_new IA__g_data_input_stream_new
-
-extern __typeof (g_data_input_stream_set_byte_order) IA__g_data_input_stream_set_byte_order __attribute((visibility("hidden")));
-#define g_data_input_stream_set_byte_order IA__g_data_input_stream_set_byte_order
-
-extern __typeof (g_data_input_stream_get_byte_order) IA__g_data_input_stream_get_byte_order __attribute((visibility("hidden")));
-#define g_data_input_stream_get_byte_order IA__g_data_input_stream_get_byte_order
-
-extern __typeof (g_data_input_stream_set_newline_type) IA__g_data_input_stream_set_newline_type __attribute((visibility("hidden")));
-#define g_data_input_stream_set_newline_type IA__g_data_input_stream_set_newline_type
-
-extern __typeof (g_data_input_stream_get_newline_type) IA__g_data_input_stream_get_newline_type __attribute((visibility("hidden")));
-#define g_data_input_stream_get_newline_type IA__g_data_input_stream_get_newline_type
-
-extern __typeof (g_data_input_stream_read_byte) IA__g_data_input_stream_read_byte __attribute((visibility("hidden")));
-#define g_data_input_stream_read_byte IA__g_data_input_stream_read_byte
-
-extern __typeof (g_data_input_stream_read_int16) IA__g_data_input_stream_read_int16 __attribute((visibility("hidden")));
-#define g_data_input_stream_read_int16 IA__g_data_input_stream_read_int16
-
-extern __typeof (g_data_input_stream_read_uint16) IA__g_data_input_stream_read_uint16 __attribute((visibility("hidden")));
-#define g_data_input_stream_read_uint16 IA__g_data_input_stream_read_uint16
-
-extern __typeof (g_data_input_stream_read_int32) IA__g_data_input_stream_read_int32 __attribute((visibility("hidden")));
-#define g_data_input_stream_read_int32 IA__g_data_input_stream_read_int32
-
-extern __typeof (g_data_input_stream_read_uint32) IA__g_data_input_stream_read_uint32 __attribute((visibility("hidden")));
-#define g_data_input_stream_read_uint32 IA__g_data_input_stream_read_uint32
-
-extern __typeof (g_data_input_stream_read_int64) IA__g_data_input_stream_read_int64 __attribute((visibility("hidden")));
-#define g_data_input_stream_read_int64 IA__g_data_input_stream_read_int64
-
-extern __typeof (g_data_input_stream_read_uint64) IA__g_data_input_stream_read_uint64 __attribute((visibility("hidden")));
-#define g_data_input_stream_read_uint64 IA__g_data_input_stream_read_uint64
-
-extern __typeof (g_data_input_stream_read_line) IA__g_data_input_stream_read_line __attribute((visibility("hidden")));
-#define g_data_input_stream_read_line IA__g_data_input_stream_read_line
-
-extern __typeof (g_data_input_stream_read_line_async) IA__g_data_input_stream_read_line_async __attribute((visibility("hidden")));
-#define g_data_input_stream_read_line_async IA__g_data_input_stream_read_line_async
-
-extern __typeof (g_data_input_stream_read_line_finish) IA__g_data_input_stream_read_line_finish __attribute((visibility("hidden")));
-#define g_data_input_stream_read_line_finish IA__g_data_input_stream_read_line_finish
-
-extern __typeof (g_data_input_stream_read_until) IA__g_data_input_stream_read_until __attribute((visibility("hidden")));
-#define g_data_input_stream_read_until IA__g_data_input_stream_read_until
-
-extern __typeof (g_data_input_stream_read_until_async) IA__g_data_input_stream_read_until_async __attribute((visibility("hidden")));
-#define g_data_input_stream_read_until_async IA__g_data_input_stream_read_until_async
-
-extern __typeof (g_data_input_stream_read_until_finish) IA__g_data_input_stream_read_until_finish __attribute((visibility("hidden")));
-#define g_data_input_stream_read_until_finish IA__g_data_input_stream_read_until_finish
-
-#endif
-#endif
-#if IN_HEADER(__G_DATA_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_DATA_OUTPUT_STREAM_C__)
-extern __typeof (g_data_output_stream_get_type) IA__g_data_output_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_data_output_stream_get_type IA__g_data_output_stream_get_type
-
-extern __typeof (g_data_output_stream_new) IA__g_data_output_stream_new __attribute((visibility("hidden")));
-#define g_data_output_stream_new IA__g_data_output_stream_new
-
-extern __typeof (g_data_output_stream_set_byte_order) IA__g_data_output_stream_set_byte_order __attribute((visibility("hidden")));
-#define g_data_output_stream_set_byte_order IA__g_data_output_stream_set_byte_order
-
-extern __typeof (g_data_output_stream_get_byte_order) IA__g_data_output_stream_get_byte_order __attribute((visibility("hidden")));
-#define g_data_output_stream_get_byte_order IA__g_data_output_stream_get_byte_order
-
-extern __typeof (g_data_output_stream_put_byte) IA__g_data_output_stream_put_byte __attribute((visibility("hidden")));
-#define g_data_output_stream_put_byte IA__g_data_output_stream_put_byte
-
-extern __typeof (g_data_output_stream_put_int16) IA__g_data_output_stream_put_int16 __attribute((visibility("hidden")));
-#define g_data_output_stream_put_int16 IA__g_data_output_stream_put_int16
-
-extern __typeof (g_data_output_stream_put_uint16) IA__g_data_output_stream_put_uint16 __attribute((visibility("hidden")));
-#define g_data_output_stream_put_uint16 IA__g_data_output_stream_put_uint16
-
-extern __typeof (g_data_output_stream_put_int32) IA__g_data_output_stream_put_int32 __attribute((visibility("hidden")));
-#define g_data_output_stream_put_int32 IA__g_data_output_stream_put_int32
-
-extern __typeof (g_data_output_stream_put_uint32) IA__g_data_output_stream_put_uint32 __attribute((visibility("hidden")));
-#define g_data_output_stream_put_uint32 IA__g_data_output_stream_put_uint32
-
-extern __typeof (g_data_output_stream_put_int64) IA__g_data_output_stream_put_int64 __attribute((visibility("hidden")));
-#define g_data_output_stream_put_int64 IA__g_data_output_stream_put_int64
-
-extern __typeof (g_data_output_stream_put_uint64) IA__g_data_output_stream_put_uint64 __attribute((visibility("hidden")));
-#define g_data_output_stream_put_uint64 IA__g_data_output_stream_put_uint64
-
-extern __typeof (g_data_output_stream_put_string) IA__g_data_output_stream_put_string __attribute((visibility("hidden")));
-#define g_data_output_stream_put_string IA__g_data_output_stream_put_string
-
-#endif
-#endif
-#if IN_HEADER(__G_DRIVE_H__)
-#if IN_FILE(__G_DRIVE_C__)
-extern __typeof (g_drive_get_type) IA__g_drive_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_drive_get_type IA__g_drive_get_type
-
-extern __typeof (g_drive_get_name) IA__g_drive_get_name __attribute((visibility("hidden")));
-#define g_drive_get_name IA__g_drive_get_name
-
-extern __typeof (g_drive_get_icon) IA__g_drive_get_icon __attribute((visibility("hidden")));
-#define g_drive_get_icon IA__g_drive_get_icon
-
-extern __typeof (g_drive_has_volumes) IA__g_drive_has_volumes __attribute((visibility("hidden")));
-#define g_drive_has_volumes IA__g_drive_has_volumes
-
-extern __typeof (g_drive_get_volumes) IA__g_drive_get_volumes __attribute((visibility("hidden")));
-#define g_drive_get_volumes IA__g_drive_get_volumes
-
-extern __typeof (g_drive_is_media_removable) IA__g_drive_is_media_removable __attribute((visibility("hidden")));
-#define g_drive_is_media_removable IA__g_drive_is_media_removable
-
-extern __typeof (g_drive_has_media) IA__g_drive_has_media __attribute((visibility("hidden")));
-#define g_drive_has_media IA__g_drive_has_media
-
-extern __typeof (g_drive_is_media_check_automatic) IA__g_drive_is_media_check_automatic __attribute((visibility("hidden")));
-#define g_drive_is_media_check_automatic IA__g_drive_is_media_check_automatic
-
-extern __typeof (g_drive_can_poll_for_media) IA__g_drive_can_poll_for_media __attribute((visibility("hidden")));
-#define g_drive_can_poll_for_media IA__g_drive_can_poll_for_media
-
-extern __typeof (g_drive_can_eject) IA__g_drive_can_eject __attribute((visibility("hidden")));
-#define g_drive_can_eject IA__g_drive_can_eject
-
-extern __typeof (g_drive_eject_with_operation) IA__g_drive_eject_with_operation __attribute((visibility("hidden")));
-#define g_drive_eject_with_operation IA__g_drive_eject_with_operation
-
-extern __typeof (g_drive_eject_with_operation_finish) IA__g_drive_eject_with_operation_finish __attribute((visibility("hidden")));
-#define g_drive_eject_with_operation_finish IA__g_drive_eject_with_operation_finish
-
-extern __typeof (g_drive_poll_for_media) IA__g_drive_poll_for_media __attribute((visibility("hidden")));
-#define g_drive_poll_for_media IA__g_drive_poll_for_media
-
-extern __typeof (g_drive_poll_for_media_finish) IA__g_drive_poll_for_media_finish __attribute((visibility("hidden")));
-#define g_drive_poll_for_media_finish IA__g_drive_poll_for_media_finish
-
-extern __typeof (g_drive_get_identifier) IA__g_drive_get_identifier __attribute((visibility("hidden")));
-#define g_drive_get_identifier IA__g_drive_get_identifier
-
-extern __typeof (g_drive_enumerate_identifiers) IA__g_drive_enumerate_identifiers __attribute((visibility("hidden")));
-#define g_drive_enumerate_identifiers IA__g_drive_enumerate_identifiers
-
-extern __typeof (g_drive_get_start_stop_type) IA__g_drive_get_start_stop_type __attribute((visibility("hidden")));
-#define g_drive_get_start_stop_type IA__g_drive_get_start_stop_type
-
-extern __typeof (g_drive_can_start) IA__g_drive_can_start __attribute((visibility("hidden")));
-#define g_drive_can_start IA__g_drive_can_start
-
-extern __typeof (g_drive_can_start_degraded) IA__g_drive_can_start_degraded __attribute((visibility("hidden")));
-#define g_drive_can_start_degraded IA__g_drive_can_start_degraded
-
-extern __typeof (g_drive_start) IA__g_drive_start __attribute((visibility("hidden")));
-#define g_drive_start IA__g_drive_start
-
-extern __typeof (g_drive_start_finish) IA__g_drive_start_finish __attribute((visibility("hidden")));
-#define g_drive_start_finish IA__g_drive_start_finish
-
-extern __typeof (g_drive_can_stop) IA__g_drive_can_stop __attribute((visibility("hidden")));
-#define g_drive_can_stop IA__g_drive_can_stop
-
-extern __typeof (g_drive_stop) IA__g_drive_stop __attribute((visibility("hidden")));
-#define g_drive_stop IA__g_drive_stop
-
-extern __typeof (g_drive_stop_finish) IA__g_drive_stop_finish __attribute((visibility("hidden")));
-#define g_drive_stop_finish IA__g_drive_stop_finish
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_drive_eject) IA__g_drive_eject __attribute((visibility("hidden")));
-#define g_drive_eject IA__g_drive_eject
-
-extern __typeof (g_drive_eject_finish) IA__g_drive_eject_finish __attribute((visibility("hidden")));
-#define g_drive_eject_finish IA__g_drive_eject_finish
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_FILE_ATTRIBUTE_H__)
-#if IN_FILE(__G_FILE_ATTRIBUTE_C__)
-extern __typeof (g_file_attribute_info_list_new) IA__g_file_attribute_info_list_new __attribute((visibility("hidden")));
-#define g_file_attribute_info_list_new IA__g_file_attribute_info_list_new
-
-extern __typeof (g_file_attribute_info_list_ref) IA__g_file_attribute_info_list_ref __attribute((visibility("hidden")));
-#define g_file_attribute_info_list_ref IA__g_file_attribute_info_list_ref
-
-extern __typeof (g_file_attribute_info_list_unref) IA__g_file_attribute_info_list_unref __attribute((visibility("hidden")));
-#define g_file_attribute_info_list_unref IA__g_file_attribute_info_list_unref
-
-extern __typeof (g_file_attribute_info_list_dup) IA__g_file_attribute_info_list_dup __attribute((visibility("hidden")));
-#define g_file_attribute_info_list_dup IA__g_file_attribute_info_list_dup
-
-extern __typeof (g_file_attribute_info_list_get_type) IA__g_file_attribute_info_list_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_attribute_info_list_get_type IA__g_file_attribute_info_list_get_type
-
-extern __typeof (g_file_attribute_info_list_lookup) IA__g_file_attribute_info_list_lookup __attribute((visibility("hidden")));
-#define g_file_attribute_info_list_lookup IA__g_file_attribute_info_list_lookup
-
-extern __typeof (g_file_attribute_info_list_add) IA__g_file_attribute_info_list_add __attribute((visibility("hidden")));
-#define g_file_attribute_info_list_add IA__g_file_attribute_info_list_add
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_H__)
-#if IN_FILE(__G_FILE_C__)
-extern __typeof (g_file_get_type) IA__g_file_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_get_type IA__g_file_get_type
-
-extern __typeof (g_file_new_for_path) IA__g_file_new_for_path __attribute((visibility("hidden")));
-#define g_file_new_for_path IA__g_file_new_for_path
-
-extern __typeof (g_file_new_for_uri) IA__g_file_new_for_uri __attribute((visibility("hidden")));
-#define g_file_new_for_uri IA__g_file_new_for_uri
-
-extern __typeof (g_file_new_for_commandline_arg) IA__g_file_new_for_commandline_arg __attribute((visibility("hidden")));
-#define g_file_new_for_commandline_arg IA__g_file_new_for_commandline_arg
-
-extern __typeof (g_file_parse_name) IA__g_file_parse_name __attribute((visibility("hidden")));
-#define g_file_parse_name IA__g_file_parse_name
-
-extern __typeof (g_file_dup) IA__g_file_dup __attribute((visibility("hidden")));
-#define g_file_dup IA__g_file_dup
-
-extern __typeof (g_file_hash) IA__g_file_hash __attribute((visibility("hidden")));
-#define g_file_hash IA__g_file_hash
-
-extern __typeof (g_file_equal) IA__g_file_equal __attribute((visibility("hidden")));
-#define g_file_equal IA__g_file_equal
-
-extern __typeof (g_file_get_basename) IA__g_file_get_basename __attribute((visibility("hidden")));
-#define g_file_get_basename IA__g_file_get_basename
-
-extern __typeof (g_file_get_path) IA__g_file_get_path __attribute((visibility("hidden")));
-#define g_file_get_path IA__g_file_get_path
-
-extern __typeof (g_file_get_uri) IA__g_file_get_uri __attribute((visibility("hidden")));
-#define g_file_get_uri IA__g_file_get_uri
-
-extern __typeof (g_file_get_parse_name) IA__g_file_get_parse_name __attribute((visibility("hidden")));
-#define g_file_get_parse_name IA__g_file_get_parse_name
-
-extern __typeof (g_file_get_parent) IA__g_file_get_parent __attribute((visibility("hidden")));
-#define g_file_get_parent IA__g_file_get_parent
-
-extern __typeof (g_file_has_parent) IA__g_file_has_parent __attribute((visibility("hidden")));
-#define g_file_has_parent IA__g_file_has_parent
-
-extern __typeof (g_file_get_child) IA__g_file_get_child __attribute((visibility("hidden")));
-#define g_file_get_child IA__g_file_get_child
-
-extern __typeof (g_file_get_child_for_display_name) IA__g_file_get_child_for_display_name __attribute((visibility("hidden")));
-#define g_file_get_child_for_display_name IA__g_file_get_child_for_display_name
-
-extern __typeof (g_file_has_prefix) IA__g_file_has_prefix __attribute((visibility("hidden")));
-#define g_file_has_prefix IA__g_file_has_prefix
-
-extern __typeof (g_file_get_relative_path) IA__g_file_get_relative_path __attribute((visibility("hidden")));
-#define g_file_get_relative_path IA__g_file_get_relative_path
-
-extern __typeof (g_file_resolve_relative_path) IA__g_file_resolve_relative_path __attribute((visibility("hidden")));
-#define g_file_resolve_relative_path IA__g_file_resolve_relative_path
-
-extern __typeof (g_file_is_native) IA__g_file_is_native __attribute((visibility("hidden")));
-#define g_file_is_native IA__g_file_is_native
-
-extern __typeof (g_file_has_uri_scheme) IA__g_file_has_uri_scheme __attribute((visibility("hidden")));
-#define g_file_has_uri_scheme IA__g_file_has_uri_scheme
-
-extern __typeof (g_file_get_uri_scheme) IA__g_file_get_uri_scheme __attribute((visibility("hidden")));
-#define g_file_get_uri_scheme IA__g_file_get_uri_scheme
-
-extern __typeof (g_file_read) IA__g_file_read __attribute((visibility("hidden")));
-#define g_file_read IA__g_file_read
-
-extern __typeof (g_file_read_async) IA__g_file_read_async __attribute((visibility("hidden")));
-#define g_file_read_async IA__g_file_read_async
-
-extern __typeof (g_file_read_finish) IA__g_file_read_finish __attribute((visibility("hidden")));
-#define g_file_read_finish IA__g_file_read_finish
-
-extern __typeof (g_file_append_to) IA__g_file_append_to __attribute((visibility("hidden")));
-#define g_file_append_to IA__g_file_append_to
-
-extern __typeof (g_file_create) IA__g_file_create __attribute((visibility("hidden")));
-#define g_file_create IA__g_file_create
-
-extern __typeof (g_file_replace) IA__g_file_replace __attribute((visibility("hidden")));
-#define g_file_replace IA__g_file_replace
-
-extern __typeof (g_file_append_to_async) IA__g_file_append_to_async __attribute((visibility("hidden")));
-#define g_file_append_to_async IA__g_file_append_to_async
-
-extern __typeof (g_file_append_to_finish) IA__g_file_append_to_finish __attribute((visibility("hidden")));
-#define g_file_append_to_finish IA__g_file_append_to_finish
-
-extern __typeof (g_file_create_async) IA__g_file_create_async __attribute((visibility("hidden")));
-#define g_file_create_async IA__g_file_create_async
-
-extern __typeof (g_file_create_finish) IA__g_file_create_finish __attribute((visibility("hidden")));
-#define g_file_create_finish IA__g_file_create_finish
-
-extern __typeof (g_file_replace_async) IA__g_file_replace_async __attribute((visibility("hidden")));
-#define g_file_replace_async IA__g_file_replace_async
-
-extern __typeof (g_file_replace_finish) IA__g_file_replace_finish __attribute((visibility("hidden")));
-#define g_file_replace_finish IA__g_file_replace_finish
-
-extern __typeof (g_file_query_exists) IA__g_file_query_exists __attribute((visibility("hidden")));
-#define g_file_query_exists IA__g_file_query_exists
-
-extern __typeof (g_file_query_info) IA__g_file_query_info __attribute((visibility("hidden")));
-#define g_file_query_info IA__g_file_query_info
-
-extern __typeof (g_file_query_info_async) IA__g_file_query_info_async __attribute((visibility("hidden")));
-#define g_file_query_info_async IA__g_file_query_info_async
-
-extern __typeof (g_file_query_info_finish) IA__g_file_query_info_finish __attribute((visibility("hidden")));
-#define g_file_query_info_finish IA__g_file_query_info_finish
-
-extern __typeof (g_file_query_file_type) IA__g_file_query_file_type __attribute((visibility("hidden")));
-#define g_file_query_file_type IA__g_file_query_file_type
-
-extern __typeof (g_file_query_filesystem_info) IA__g_file_query_filesystem_info __attribute((visibility("hidden")));
-#define g_file_query_filesystem_info IA__g_file_query_filesystem_info
-
-extern __typeof (g_file_query_filesystem_info_async) IA__g_file_query_filesystem_info_async __attribute((visibility("hidden")));
-#define g_file_query_filesystem_info_async IA__g_file_query_filesystem_info_async
-
-extern __typeof (g_file_query_filesystem_info_finish) IA__g_file_query_filesystem_info_finish __attribute((visibility("hidden")));
-#define g_file_query_filesystem_info_finish IA__g_file_query_filesystem_info_finish
-
-extern __typeof (g_file_find_enclosing_mount) IA__g_file_find_enclosing_mount __attribute((visibility("hidden")));
-#define g_file_find_enclosing_mount IA__g_file_find_enclosing_mount
-
-extern __typeof (g_file_find_enclosing_mount_async) IA__g_file_find_enclosing_mount_async __attribute((visibility("hidden")));
-#define g_file_find_enclosing_mount_async IA__g_file_find_enclosing_mount_async
-
-extern __typeof (g_file_find_enclosing_mount_finish) IA__g_file_find_enclosing_mount_finish __attribute((visibility("hidden")));
-#define g_file_find_enclosing_mount_finish IA__g_file_find_enclosing_mount_finish
-
-extern __typeof (g_file_enumerate_children) IA__g_file_enumerate_children __attribute((visibility("hidden")));
-#define g_file_enumerate_children IA__g_file_enumerate_children
-
-extern __typeof (g_file_enumerate_children_async) IA__g_file_enumerate_children_async __attribute((visibility("hidden")));
-#define g_file_enumerate_children_async IA__g_file_enumerate_children_async
-
-extern __typeof (g_file_enumerate_children_finish) IA__g_file_enumerate_children_finish __attribute((visibility("hidden")));
-#define g_file_enumerate_children_finish IA__g_file_enumerate_children_finish
-
-extern __typeof (g_file_set_display_name) IA__g_file_set_display_name __attribute((visibility("hidden")));
-#define g_file_set_display_name IA__g_file_set_display_name
-
-extern __typeof (g_file_set_display_name_async) IA__g_file_set_display_name_async __attribute((visibility("hidden")));
-#define g_file_set_display_name_async IA__g_file_set_display_name_async
-
-extern __typeof (g_file_set_display_name_finish) IA__g_file_set_display_name_finish __attribute((visibility("hidden")));
-#define g_file_set_display_name_finish IA__g_file_set_display_name_finish
-
-extern __typeof (g_file_delete) IA__g_file_delete __attribute((visibility("hidden")));
-#define g_file_delete IA__g_file_delete
-
-extern __typeof (g_file_trash) IA__g_file_trash __attribute((visibility("hidden")));
-#define g_file_trash IA__g_file_trash
-
-extern __typeof (g_file_copy) IA__g_file_copy __attribute((visibility("hidden")));
-#define g_file_copy IA__g_file_copy
-
-extern __typeof (g_file_copy_async) IA__g_file_copy_async __attribute((visibility("hidden")));
-#define g_file_copy_async IA__g_file_copy_async
-
-extern __typeof (g_file_copy_finish) IA__g_file_copy_finish __attribute((visibility("hidden")));
-#define g_file_copy_finish IA__g_file_copy_finish
-
-extern __typeof (g_file_move) IA__g_file_move __attribute((visibility("hidden")));
-#define g_file_move IA__g_file_move
-
-extern __typeof (g_file_make_directory) IA__g_file_make_directory __attribute((visibility("hidden")));
-#define g_file_make_directory IA__g_file_make_directory
-
-extern __typeof (g_file_make_directory_with_parents) IA__g_file_make_directory_with_parents __attribute((visibility("hidden")));
-#define g_file_make_directory_with_parents IA__g_file_make_directory_with_parents
-
-extern __typeof (g_file_make_symbolic_link) IA__g_file_make_symbolic_link __attribute((visibility("hidden")));
-#define g_file_make_symbolic_link IA__g_file_make_symbolic_link
-
-extern __typeof (g_file_query_settable_attributes) IA__g_file_query_settable_attributes __attribute((visibility("hidden")));
-#define g_file_query_settable_attributes IA__g_file_query_settable_attributes
-
-extern __typeof (g_file_query_writable_namespaces) IA__g_file_query_writable_namespaces __attribute((visibility("hidden")));
-#define g_file_query_writable_namespaces IA__g_file_query_writable_namespaces
-
-extern __typeof (g_file_set_attribute) IA__g_file_set_attribute __attribute((visibility("hidden")));
-#define g_file_set_attribute IA__g_file_set_attribute
-
-extern __typeof (g_file_set_attributes_from_info) IA__g_file_set_attributes_from_info __attribute((visibility("hidden")));
-#define g_file_set_attributes_from_info IA__g_file_set_attributes_from_info
-
-extern __typeof (g_file_set_attributes_async) IA__g_file_set_attributes_async __attribute((visibility("hidden")));
-#define g_file_set_attributes_async IA__g_file_set_attributes_async
-
-extern __typeof (g_file_set_attributes_finish) IA__g_file_set_attributes_finish __attribute((visibility("hidden")));
-#define g_file_set_attributes_finish IA__g_file_set_attributes_finish
-
-extern __typeof (g_file_set_attribute_string) IA__g_file_set_attribute_string __attribute((visibility("hidden")));
-#define g_file_set_attribute_string IA__g_file_set_attribute_string
-
-extern __typeof (g_file_set_attribute_byte_string) IA__g_file_set_attribute_byte_string __attribute((visibility("hidden")));
-#define g_file_set_attribute_byte_string IA__g_file_set_attribute_byte_string
-
-extern __typeof (g_file_set_attribute_uint32) IA__g_file_set_attribute_uint32 __attribute((visibility("hidden")));
-#define g_file_set_attribute_uint32 IA__g_file_set_attribute_uint32
-
-extern __typeof (g_file_set_attribute_int32) IA__g_file_set_attribute_int32 __attribute((visibility("hidden")));
-#define g_file_set_attribute_int32 IA__g_file_set_attribute_int32
-
-extern __typeof (g_file_set_attribute_uint64) IA__g_file_set_attribute_uint64 __attribute((visibility("hidden")));
-#define g_file_set_attribute_uint64 IA__g_file_set_attribute_uint64
-
-extern __typeof (g_file_set_attribute_int64) IA__g_file_set_attribute_int64 __attribute((visibility("hidden")));
-#define g_file_set_attribute_int64 IA__g_file_set_attribute_int64
-
-extern __typeof (g_file_mount_enclosing_volume) IA__g_file_mount_enclosing_volume __attribute((visibility("hidden")));
-#define g_file_mount_enclosing_volume IA__g_file_mount_enclosing_volume
-
-extern __typeof (g_file_mount_enclosing_volume_finish) IA__g_file_mount_enclosing_volume_finish __attribute((visibility("hidden")));
-#define g_file_mount_enclosing_volume_finish IA__g_file_mount_enclosing_volume_finish
-
-extern __typeof (g_file_mount_mountable) IA__g_file_mount_mountable __attribute((visibility("hidden")));
-#define g_file_mount_mountable IA__g_file_mount_mountable
-
-extern __typeof (g_file_mount_mountable_finish) IA__g_file_mount_mountable_finish __attribute((visibility("hidden")));
-#define g_file_mount_mountable_finish IA__g_file_mount_mountable_finish
-
-extern __typeof (g_file_unmount_mountable_with_operation) IA__g_file_unmount_mountable_with_operation __attribute((visibility("hidden")));
-#define g_file_unmount_mountable_with_operation IA__g_file_unmount_mountable_with_operation
-
-extern __typeof (g_file_unmount_mountable_with_operation_finish) IA__g_file_unmount_mountable_with_operation_finish __attribute((visibility("hidden")));
-#define g_file_unmount_mountable_with_operation_finish IA__g_file_unmount_mountable_with_operation_finish
-
-extern __typeof (g_file_eject_mountable_with_operation) IA__g_file_eject_mountable_with_operation __attribute((visibility("hidden")));
-#define g_file_eject_mountable_with_operation IA__g_file_eject_mountable_with_operation
-
-extern __typeof (g_file_eject_mountable_with_operation_finish) IA__g_file_eject_mountable_with_operation_finish __attribute((visibility("hidden")));
-#define g_file_eject_mountable_with_operation_finish IA__g_file_eject_mountable_with_operation_finish
-
-extern __typeof (g_file_copy_attributes) IA__g_file_copy_attributes __attribute((visibility("hidden")));
-#define g_file_copy_attributes IA__g_file_copy_attributes
-
-extern __typeof (g_file_monitor_directory) IA__g_file_monitor_directory __attribute((visibility("hidden")));
-#define g_file_monitor_directory IA__g_file_monitor_directory
-
-extern __typeof (g_file_monitor_file) IA__g_file_monitor_file __attribute((visibility("hidden")));
-#define g_file_monitor_file IA__g_file_monitor_file
-
-extern __typeof (g_file_monitor) IA__g_file_monitor __attribute((visibility("hidden")));
-#define g_file_monitor IA__g_file_monitor
-
-extern __typeof (g_file_query_default_handler) IA__g_file_query_default_handler __attribute((visibility("hidden")));
-#define g_file_query_default_handler IA__g_file_query_default_handler
-
-extern __typeof (g_file_load_contents) IA__g_file_load_contents __attribute((visibility("hidden")));
-#define g_file_load_contents IA__g_file_load_contents
-
-extern __typeof (g_file_load_contents_async) IA__g_file_load_contents_async __attribute((visibility("hidden")));
-#define g_file_load_contents_async IA__g_file_load_contents_async
-
-extern __typeof (g_file_load_contents_finish) IA__g_file_load_contents_finish __attribute((visibility("hidden")));
-#define g_file_load_contents_finish IA__g_file_load_contents_finish
-
-extern __typeof (g_file_load_partial_contents_async) IA__g_file_load_partial_contents_async __attribute((visibility("hidden")));
-#define g_file_load_partial_contents_async IA__g_file_load_partial_contents_async
-
-extern __typeof (g_file_load_partial_contents_finish) IA__g_file_load_partial_contents_finish __attribute((visibility("hidden")));
-#define g_file_load_partial_contents_finish IA__g_file_load_partial_contents_finish
-
-extern __typeof (g_file_replace_contents) IA__g_file_replace_contents __attribute((visibility("hidden")));
-#define g_file_replace_contents IA__g_file_replace_contents
-
-extern __typeof (g_file_replace_contents_async) IA__g_file_replace_contents_async __attribute((visibility("hidden")));
-#define g_file_replace_contents_async IA__g_file_replace_contents_async
-
-extern __typeof (g_file_replace_contents_finish) IA__g_file_replace_contents_finish __attribute((visibility("hidden")));
-#define g_file_replace_contents_finish IA__g_file_replace_contents_finish
-
-extern __typeof (g_file_create_readwrite) IA__g_file_create_readwrite __attribute((visibility("hidden")));
-#define g_file_create_readwrite IA__g_file_create_readwrite
-
-extern __typeof (g_file_create_readwrite_async) IA__g_file_create_readwrite_async __attribute((visibility("hidden")));
-#define g_file_create_readwrite_async IA__g_file_create_readwrite_async
-
-extern __typeof (g_file_create_readwrite_finish) IA__g_file_create_readwrite_finish __attribute((visibility("hidden")));
-#define g_file_create_readwrite_finish IA__g_file_create_readwrite_finish
-
-extern __typeof (g_file_open_readwrite) IA__g_file_open_readwrite __attribute((visibility("hidden")));
-#define g_file_open_readwrite IA__g_file_open_readwrite
-
-extern __typeof (g_file_open_readwrite_async) IA__g_file_open_readwrite_async __attribute((visibility("hidden")));
-#define g_file_open_readwrite_async IA__g_file_open_readwrite_async
-
-extern __typeof (g_file_open_readwrite_finish) IA__g_file_open_readwrite_finish __attribute((visibility("hidden")));
-#define g_file_open_readwrite_finish IA__g_file_open_readwrite_finish
-
-extern __typeof (g_file_replace_readwrite) IA__g_file_replace_readwrite __attribute((visibility("hidden")));
-#define g_file_replace_readwrite IA__g_file_replace_readwrite
-
-extern __typeof (g_file_replace_readwrite_async) IA__g_file_replace_readwrite_async __attribute((visibility("hidden")));
-#define g_file_replace_readwrite_async IA__g_file_replace_readwrite_async
-
-extern __typeof (g_file_replace_readwrite_finish) IA__g_file_replace_readwrite_finish __attribute((visibility("hidden")));
-#define g_file_replace_readwrite_finish IA__g_file_replace_readwrite_finish
-
-extern __typeof (g_file_start_mountable) IA__g_file_start_mountable __attribute((visibility("hidden")));
-#define g_file_start_mountable IA__g_file_start_mountable
-
-extern __typeof (g_file_start_mountable_finish) IA__g_file_start_mountable_finish __attribute((visibility("hidden")));
-#define g_file_start_mountable_finish IA__g_file_start_mountable_finish
-
-extern __typeof (g_file_stop_mountable) IA__g_file_stop_mountable __attribute((visibility("hidden")));
-#define g_file_stop_mountable IA__g_file_stop_mountable
-
-extern __typeof (g_file_stop_mountable_finish) IA__g_file_stop_mountable_finish __attribute((visibility("hidden")));
-#define g_file_stop_mountable_finish IA__g_file_stop_mountable_finish
-
-extern __typeof (g_file_supports_thread_contexts) IA__g_file_supports_thread_contexts __attribute((visibility("hidden")));
-#define g_file_supports_thread_contexts IA__g_file_supports_thread_contexts
-
-extern __typeof (g_file_poll_mountable) IA__g_file_poll_mountable __attribute((visibility("hidden")));
-#define g_file_poll_mountable IA__g_file_poll_mountable
-
-extern __typeof (g_file_poll_mountable_finish) IA__g_file_poll_mountable_finish __attribute((visibility("hidden")));
-#define g_file_poll_mountable_finish IA__g_file_poll_mountable_finish
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_file_unmount_mountable) IA__g_file_unmount_mountable __attribute((visibility("hidden")));
-#define g_file_unmount_mountable IA__g_file_unmount_mountable
-
-extern __typeof (g_file_unmount_mountable_finish) IA__g_file_unmount_mountable_finish __attribute((visibility("hidden")));
-#define g_file_unmount_mountable_finish IA__g_file_unmount_mountable_finish
-
-extern __typeof (g_file_eject_mountable) IA__g_file_eject_mountable __attribute((visibility("hidden")));
-#define g_file_eject_mountable IA__g_file_eject_mountable
-
-extern __typeof (g_file_eject_mountable_finish) IA__g_file_eject_mountable_finish __attribute((visibility("hidden")));
-#define g_file_eject_mountable_finish IA__g_file_eject_mountable_finish
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_FILE_ENUMERATOR_H__)
-#if IN_FILE(__G_FILE_ENUMERATOR_C__)
-extern __typeof (g_file_enumerator_get_type) IA__g_file_enumerator_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_enumerator_get_type IA__g_file_enumerator_get_type
-
-extern __typeof (g_file_enumerator_next_file) IA__g_file_enumerator_next_file __attribute((visibility("hidden")));
-#define g_file_enumerator_next_file IA__g_file_enumerator_next_file
-
-extern __typeof (g_file_enumerator_close) IA__g_file_enumerator_close __attribute((visibility("hidden")));
-#define g_file_enumerator_close IA__g_file_enumerator_close
-
-extern __typeof (g_file_enumerator_next_files_async) IA__g_file_enumerator_next_files_async __attribute((visibility("hidden")));
-#define g_file_enumerator_next_files_async IA__g_file_enumerator_next_files_async
-
-extern __typeof (g_file_enumerator_next_files_finish) IA__g_file_enumerator_next_files_finish __attribute((visibility("hidden")));
-#define g_file_enumerator_next_files_finish IA__g_file_enumerator_next_files_finish
-
-extern __typeof (g_file_enumerator_close_async) IA__g_file_enumerator_close_async __attribute((visibility("hidden")));
-#define g_file_enumerator_close_async IA__g_file_enumerator_close_async
-
-extern __typeof (g_file_enumerator_close_finish) IA__g_file_enumerator_close_finish __attribute((visibility("hidden")));
-#define g_file_enumerator_close_finish IA__g_file_enumerator_close_finish
-
-extern __typeof (g_file_enumerator_is_closed) IA__g_file_enumerator_is_closed __attribute((visibility("hidden")));
-#define g_file_enumerator_is_closed IA__g_file_enumerator_is_closed
-
-extern __typeof (g_file_enumerator_has_pending) IA__g_file_enumerator_has_pending __attribute((visibility("hidden")));
-#define g_file_enumerator_has_pending IA__g_file_enumerator_has_pending
-
-extern __typeof (g_file_enumerator_set_pending) IA__g_file_enumerator_set_pending __attribute((visibility("hidden")));
-#define g_file_enumerator_set_pending IA__g_file_enumerator_set_pending
-
-extern __typeof (g_file_enumerator_get_container) IA__g_file_enumerator_get_container __attribute((visibility("hidden")));
-#define g_file_enumerator_get_container IA__g_file_enumerator_get_container
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_ICON_H__)
-#if IN_FILE(__G_FILE_ICON_C__)
-extern __typeof (g_file_icon_get_type) IA__g_file_icon_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_icon_get_type IA__g_file_icon_get_type
-
-extern __typeof (g_file_icon_new) IA__g_file_icon_new __attribute((visibility("hidden")));
-#define g_file_icon_new IA__g_file_icon_new
-
-extern __typeof (g_file_icon_get_file) IA__g_file_icon_get_file __attribute((visibility("hidden")));
-#define g_file_icon_get_file IA__g_file_icon_get_file
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_INFO_H__)
-#if IN_FILE(__G_FILE_INFO_C__)
-extern __typeof (g_file_info_get_type) IA__g_file_info_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_info_get_type IA__g_file_info_get_type
-
-extern __typeof (g_file_info_new) IA__g_file_info_new __attribute((visibility("hidden")));
-#define g_file_info_new IA__g_file_info_new
-
-extern __typeof (g_file_info_dup) IA__g_file_info_dup __attribute((visibility("hidden")));
-#define g_file_info_dup IA__g_file_info_dup
-
-extern __typeof (g_file_info_copy_into) IA__g_file_info_copy_into __attribute((visibility("hidden")));
-#define g_file_info_copy_into IA__g_file_info_copy_into
-
-extern __typeof (g_file_info_has_attribute) IA__g_file_info_has_attribute __attribute((visibility("hidden")));
-#define g_file_info_has_attribute IA__g_file_info_has_attribute
-
-extern __typeof (g_file_info_has_namespace) IA__g_file_info_has_namespace __attribute((visibility("hidden")));
-#define g_file_info_has_namespace IA__g_file_info_has_namespace
-
-extern __typeof (g_file_info_list_attributes) IA__g_file_info_list_attributes __attribute((visibility("hidden")));
-#define g_file_info_list_attributes IA__g_file_info_list_attributes
-
-extern __typeof (g_file_info_get_attribute_type) IA__g_file_info_get_attribute_type __attribute((visibility("hidden")));
-#define g_file_info_get_attribute_type IA__g_file_info_get_attribute_type
-
-extern __typeof (g_file_info_remove_attribute) IA__g_file_info_remove_attribute __attribute((visibility("hidden")));
-#define g_file_info_remove_attribute IA__g_file_info_remove_attribute
-
-extern __typeof (g_file_info_get_attribute_status) IA__g_file_info_get_attribute_status __attribute((visibility("hidden")));
-#define g_file_info_get_attribute_status IA__g_file_info_get_attribute_status
-
-extern __typeof (g_file_info_get_attribute_data) IA__g_file_info_get_attribute_data __attribute((visibility("hidden")));
-#define g_file_info_get_attribute_data IA__g_file_info_get_attribute_data
-
-extern __typeof (g_file_info_get_attribute_as_string) IA__g_file_info_get_attribute_as_string __attribute((visibility("hidden")));
-#define g_file_info_get_attribute_as_string IA__g_file_info_get_attribute_as_string
-
-extern __typeof (g_file_info_get_attribute_string) IA__g_file_info_get_attribute_string __attribute((visibility("hidden")));
-#define g_file_info_get_attribute_string IA__g_file_info_get_attribute_string
-
-extern __typeof (g_file_info_get_attribute_byte_string) IA__g_file_info_get_attribute_byte_string __attribute((visibility("hidden")));
-#define g_file_info_get_attribute_byte_string IA__g_file_info_get_attribute_byte_string
-
-extern __typeof (g_file_info_get_attribute_boolean) IA__g_file_info_get_attribute_boolean __attribute((visibility("hidden")));
-#define g_file_info_get_attribute_boolean IA__g_file_info_get_attribute_boolean
-
-extern __typeof (g_file_info_get_attribute_uint32) IA__g_file_info_get_attribute_uint32 __attribute((visibility("hidden")));
-#define g_file_info_get_attribute_uint32 IA__g_file_info_get_attribute_uint32
-
-extern __typeof (g_file_info_get_attribute_int32) IA__g_file_info_get_attribute_int32 __attribute((visibility("hidden")));
-#define g_file_info_get_attribute_int32 IA__g_file_info_get_attribute_int32
-
-extern __typeof (g_file_info_get_attribute_uint64) IA__g_file_info_get_attribute_uint64 __attribute((visibility("hidden")));
-#define g_file_info_get_attribute_uint64 IA__g_file_info_get_attribute_uint64
-
-extern __typeof (g_file_info_get_attribute_int64) IA__g_file_info_get_attribute_int64 __attribute((visibility("hidden")));
-#define g_file_info_get_attribute_int64 IA__g_file_info_get_attribute_int64
-
-extern __typeof (g_file_info_get_attribute_object) IA__g_file_info_get_attribute_object __attribute((visibility("hidden")));
-#define g_file_info_get_attribute_object IA__g_file_info_get_attribute_object
-
-extern __typeof (g_file_info_get_attribute_stringv) IA__g_file_info_get_attribute_stringv __attribute((visibility("hidden")));
-#define g_file_info_get_attribute_stringv IA__g_file_info_get_attribute_stringv
-
-extern __typeof (g_file_info_set_attribute_status) IA__g_file_info_set_attribute_status __attribute((visibility("hidden")));
-#define g_file_info_set_attribute_status IA__g_file_info_set_attribute_status
-
-extern __typeof (g_file_info_set_attribute) IA__g_file_info_set_attribute __attribute((visibility("hidden")));
-#define g_file_info_set_attribute IA__g_file_info_set_attribute
-
-extern __typeof (g_file_info_set_attribute_string) IA__g_file_info_set_attribute_string __attribute((visibility("hidden")));
-#define g_file_info_set_attribute_string IA__g_file_info_set_attribute_string
-
-extern __typeof (g_file_info_set_attribute_byte_string) IA__g_file_info_set_attribute_byte_string __attribute((visibility("hidden")));
-#define g_file_info_set_attribute_byte_string IA__g_file_info_set_attribute_byte_string
-
-extern __typeof (g_file_info_set_attribute_boolean) IA__g_file_info_set_attribute_boolean __attribute((visibility("hidden")));
-#define g_file_info_set_attribute_boolean IA__g_file_info_set_attribute_boolean
-
-extern __typeof (g_file_info_set_attribute_uint32) IA__g_file_info_set_attribute_uint32 __attribute((visibility("hidden")));
-#define g_file_info_set_attribute_uint32 IA__g_file_info_set_attribute_uint32
-
-extern __typeof (g_file_info_set_attribute_int32) IA__g_file_info_set_attribute_int32 __attribute((visibility("hidden")));
-#define g_file_info_set_attribute_int32 IA__g_file_info_set_attribute_int32
-
-extern __typeof (g_file_info_set_attribute_uint64) IA__g_file_info_set_attribute_uint64 __attribute((visibility("hidden")));
-#define g_file_info_set_attribute_uint64 IA__g_file_info_set_attribute_uint64
-
-extern __typeof (g_file_info_set_attribute_int64) IA__g_file_info_set_attribute_int64 __attribute((visibility("hidden")));
-#define g_file_info_set_attribute_int64 IA__g_file_info_set_attribute_int64
-
-extern __typeof (g_file_info_set_attribute_object) IA__g_file_info_set_attribute_object __attribute((visibility("hidden")));
-#define g_file_info_set_attribute_object IA__g_file_info_set_attribute_object
-
-extern __typeof (g_file_info_set_attribute_stringv) IA__g_file_info_set_attribute_stringv __attribute((visibility("hidden")));
-#define g_file_info_set_attribute_stringv IA__g_file_info_set_attribute_stringv
-
-extern __typeof (g_file_info_clear_status) IA__g_file_info_clear_status __attribute((visibility("hidden")));
-#define g_file_info_clear_status IA__g_file_info_clear_status
-
-extern __typeof (g_file_info_get_file_type) IA__g_file_info_get_file_type __attribute((visibility("hidden")));
-#define g_file_info_get_file_type IA__g_file_info_get_file_type
-
-extern __typeof (g_file_info_get_is_hidden) IA__g_file_info_get_is_hidden __attribute((visibility("hidden")));
-#define g_file_info_get_is_hidden IA__g_file_info_get_is_hidden
-
-extern __typeof (g_file_info_get_is_backup) IA__g_file_info_get_is_backup __attribute((visibility("hidden")));
-#define g_file_info_get_is_backup IA__g_file_info_get_is_backup
-
-extern __typeof (g_file_info_get_is_symlink) IA__g_file_info_get_is_symlink __attribute((visibility("hidden")));
-#define g_file_info_get_is_symlink IA__g_file_info_get_is_symlink
-
-extern __typeof (g_file_info_get_name) IA__g_file_info_get_name __attribute((visibility("hidden")));
-#define g_file_info_get_name IA__g_file_info_get_name
-
-extern __typeof (g_file_info_get_display_name) IA__g_file_info_get_display_name __attribute((visibility("hidden")));
-#define g_file_info_get_display_name IA__g_file_info_get_display_name
-
-extern __typeof (g_file_info_get_edit_name) IA__g_file_info_get_edit_name __attribute((visibility("hidden")));
-#define g_file_info_get_edit_name IA__g_file_info_get_edit_name
-
-extern __typeof (g_file_info_get_icon) IA__g_file_info_get_icon __attribute((visibility("hidden")));
-#define g_file_info_get_icon IA__g_file_info_get_icon
-
-extern __typeof (g_file_info_get_content_type) IA__g_file_info_get_content_type __attribute((visibility("hidden")));
-#define g_file_info_get_content_type IA__g_file_info_get_content_type
-
-extern __typeof (g_file_info_get_size) IA__g_file_info_get_size __attribute((visibility("hidden")));
-#define g_file_info_get_size IA__g_file_info_get_size
-
-extern __typeof (g_file_info_get_modification_time) IA__g_file_info_get_modification_time __attribute((visibility("hidden")));
-#define g_file_info_get_modification_time IA__g_file_info_get_modification_time
-
-extern __typeof (g_file_info_get_symlink_target) IA__g_file_info_get_symlink_target __attribute((visibility("hidden")));
-#define g_file_info_get_symlink_target IA__g_file_info_get_symlink_target
-
-extern __typeof (g_file_info_get_etag) IA__g_file_info_get_etag __attribute((visibility("hidden")));
-#define g_file_info_get_etag IA__g_file_info_get_etag
-
-extern __typeof (g_file_info_get_sort_order) IA__g_file_info_get_sort_order __attribute((visibility("hidden")));
-#define g_file_info_get_sort_order IA__g_file_info_get_sort_order
-
-extern __typeof (g_file_info_set_attribute_mask) IA__g_file_info_set_attribute_mask __attribute((visibility("hidden")));
-#define g_file_info_set_attribute_mask IA__g_file_info_set_attribute_mask
-
-extern __typeof (g_file_info_unset_attribute_mask) IA__g_file_info_unset_attribute_mask __attribute((visibility("hidden")));
-#define g_file_info_unset_attribute_mask IA__g_file_info_unset_attribute_mask
-
-extern __typeof (g_file_info_set_file_type) IA__g_file_info_set_file_type __attribute((visibility("hidden")));
-#define g_file_info_set_file_type IA__g_file_info_set_file_type
-
-extern __typeof (g_file_info_set_is_hidden) IA__g_file_info_set_is_hidden __attribute((visibility("hidden")));
-#define g_file_info_set_is_hidden IA__g_file_info_set_is_hidden
-
-extern __typeof (g_file_info_set_is_symlink) IA__g_file_info_set_is_symlink __attribute((visibility("hidden")));
-#define g_file_info_set_is_symlink IA__g_file_info_set_is_symlink
-
-extern __typeof (g_file_info_set_name) IA__g_file_info_set_name __attribute((visibility("hidden")));
-#define g_file_info_set_name IA__g_file_info_set_name
-
-extern __typeof (g_file_info_set_display_name) IA__g_file_info_set_display_name __attribute((visibility("hidden")));
-#define g_file_info_set_display_name IA__g_file_info_set_display_name
-
-extern __typeof (g_file_info_set_edit_name) IA__g_file_info_set_edit_name __attribute((visibility("hidden")));
-#define g_file_info_set_edit_name IA__g_file_info_set_edit_name
-
-extern __typeof (g_file_info_set_icon) IA__g_file_info_set_icon __attribute((visibility("hidden")));
-#define g_file_info_set_icon IA__g_file_info_set_icon
-
-extern __typeof (g_file_info_set_content_type) IA__g_file_info_set_content_type __attribute((visibility("hidden")));
-#define g_file_info_set_content_type IA__g_file_info_set_content_type
-
-extern __typeof (g_file_info_set_size) IA__g_file_info_set_size __attribute((visibility("hidden")));
-#define g_file_info_set_size IA__g_file_info_set_size
-
-extern __typeof (g_file_info_set_modification_time) IA__g_file_info_set_modification_time __attribute((visibility("hidden")));
-#define g_file_info_set_modification_time IA__g_file_info_set_modification_time
-
-extern __typeof (g_file_info_set_symlink_target) IA__g_file_info_set_symlink_target __attribute((visibility("hidden")));
-#define g_file_info_set_symlink_target IA__g_file_info_set_symlink_target
-
-extern __typeof (g_file_info_set_sort_order) IA__g_file_info_set_sort_order __attribute((visibility("hidden")));
-#define g_file_info_set_sort_order IA__g_file_info_set_sort_order
-
-extern __typeof (g_file_attribute_matcher_new) IA__g_file_attribute_matcher_new __attribute((visibility("hidden")));
-#define g_file_attribute_matcher_new IA__g_file_attribute_matcher_new
-
-extern __typeof (g_file_attribute_matcher_ref) IA__g_file_attribute_matcher_ref __attribute((visibility("hidden")));
-#define g_file_attribute_matcher_ref IA__g_file_attribute_matcher_ref
-
-extern __typeof (g_file_attribute_matcher_unref) IA__g_file_attribute_matcher_unref __attribute((visibility("hidden")));
-#define g_file_attribute_matcher_unref IA__g_file_attribute_matcher_unref
-
-extern __typeof (g_file_attribute_matcher_matches) IA__g_file_attribute_matcher_matches __attribute((visibility("hidden")));
-#define g_file_attribute_matcher_matches IA__g_file_attribute_matcher_matches
-
-extern __typeof (g_file_attribute_matcher_matches_only) IA__g_file_attribute_matcher_matches_only __attribute((visibility("hidden")));
-#define g_file_attribute_matcher_matches_only IA__g_file_attribute_matcher_matches_only
-
-extern __typeof (g_file_attribute_matcher_enumerate_namespace) IA__g_file_attribute_matcher_enumerate_namespace __attribute((visibility("hidden")));
-#define g_file_attribute_matcher_enumerate_namespace IA__g_file_attribute_matcher_enumerate_namespace
-
-extern __typeof (g_file_attribute_matcher_enumerate_next) IA__g_file_attribute_matcher_enumerate_next __attribute((visibility("hidden")));
-#define g_file_attribute_matcher_enumerate_next IA__g_file_attribute_matcher_enumerate_next
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_INPUT_STREAM_H__)
-#if IN_FILE(__G_FILE_INPUT_STREAM_C__)
-extern __typeof (g_file_input_stream_get_type) IA__g_file_input_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_input_stream_get_type IA__g_file_input_stream_get_type
-
-extern __typeof (g_file_input_stream_query_info) IA__g_file_input_stream_query_info __attribute((visibility("hidden")));
-#define g_file_input_stream_query_info IA__g_file_input_stream_query_info
-
-extern __typeof (g_file_input_stream_query_info_async) IA__g_file_input_stream_query_info_async __attribute((visibility("hidden")));
-#define g_file_input_stream_query_info_async IA__g_file_input_stream_query_info_async
-
-extern __typeof (g_file_input_stream_query_info_finish) IA__g_file_input_stream_query_info_finish __attribute((visibility("hidden")));
-#define g_file_input_stream_query_info_finish IA__g_file_input_stream_query_info_finish
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_MONITOR_H__)
-#if IN_FILE(__G_FILE_MONITOR_C__)
-extern __typeof (g_file_monitor_get_type) IA__g_file_monitor_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_monitor_get_type IA__g_file_monitor_get_type
-
-extern __typeof (g_file_monitor_cancel) IA__g_file_monitor_cancel __attribute((visibility("hidden")));
-#define g_file_monitor_cancel IA__g_file_monitor_cancel
-
-extern __typeof (g_file_monitor_is_cancelled) IA__g_file_monitor_is_cancelled __attribute((visibility("hidden")));
-#define g_file_monitor_is_cancelled IA__g_file_monitor_is_cancelled
-
-extern __typeof (g_file_monitor_set_rate_limit) IA__g_file_monitor_set_rate_limit __attribute((visibility("hidden")));
-#define g_file_monitor_set_rate_limit IA__g_file_monitor_set_rate_limit
-
-extern __typeof (g_file_monitor_emit_event) IA__g_file_monitor_emit_event __attribute((visibility("hidden")));
-#define g_file_monitor_emit_event IA__g_file_monitor_emit_event
-
-#endif
-#endif
-#if IN_HEADER(__G_FILENAME_COMPLETER_H__)
-#if IN_FILE(__G_FILENAME_COMPLETER_C__)
-extern __typeof (g_filename_completer_get_type) IA__g_filename_completer_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_filename_completer_get_type IA__g_filename_completer_get_type
-
-extern __typeof (g_filename_completer_new) IA__g_filename_completer_new __attribute((visibility("hidden")));
-#define g_filename_completer_new IA__g_filename_completer_new
-
-extern __typeof (g_filename_completer_get_completion_suffix) IA__g_filename_completer_get_completion_suffix __attribute((visibility("hidden")));
-#define g_filename_completer_get_completion_suffix IA__g_filename_completer_get_completion_suffix
-
-extern __typeof (g_filename_completer_get_completions) IA__g_filename_completer_get_completions __attribute((visibility("hidden")));
-#define g_filename_completer_get_completions IA__g_filename_completer_get_completions
-
-extern __typeof (g_filename_completer_set_dirs_only) IA__g_filename_completer_set_dirs_only __attribute((visibility("hidden")));
-#define g_filename_completer_set_dirs_only IA__g_filename_completer_set_dirs_only
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_FILE_OUTPUT_STREAM_C__)
-extern __typeof (g_file_output_stream_get_type) IA__g_file_output_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_output_stream_get_type IA__g_file_output_stream_get_type
-
-extern __typeof (g_file_output_stream_query_info) IA__g_file_output_stream_query_info __attribute((visibility("hidden")));
-#define g_file_output_stream_query_info IA__g_file_output_stream_query_info
-
-extern __typeof (g_file_output_stream_query_info_async) IA__g_file_output_stream_query_info_async __attribute((visibility("hidden")));
-#define g_file_output_stream_query_info_async IA__g_file_output_stream_query_info_async
-
-extern __typeof (g_file_output_stream_query_info_finish) IA__g_file_output_stream_query_info_finish __attribute((visibility("hidden")));
-#define g_file_output_stream_query_info_finish IA__g_file_output_stream_query_info_finish
-
-extern __typeof (g_file_output_stream_get_etag) IA__g_file_output_stream_get_etag __attribute((visibility("hidden")));
-#define g_file_output_stream_get_etag IA__g_file_output_stream_get_etag
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_IO_STREAM_H__)
-#if IN_FILE(__G_FILE_IO_STREAM_C__)
-extern __typeof (g_file_io_stream_get_type) IA__g_file_io_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_io_stream_get_type IA__g_file_io_stream_get_type
-
-extern __typeof (g_file_io_stream_query_info) IA__g_file_io_stream_query_info __attribute((visibility("hidden")));
-#define g_file_io_stream_query_info IA__g_file_io_stream_query_info
-
-extern __typeof (g_file_io_stream_query_info_async) IA__g_file_io_stream_query_info_async __attribute((visibility("hidden")));
-#define g_file_io_stream_query_info_async IA__g_file_io_stream_query_info_async
-
-extern __typeof (g_file_io_stream_query_info_finish) IA__g_file_io_stream_query_info_finish __attribute((visibility("hidden")));
-#define g_file_io_stream_query_info_finish IA__g_file_io_stream_query_info_finish
-
-extern __typeof (g_file_io_stream_get_etag) IA__g_file_io_stream_get_etag __attribute((visibility("hidden")));
-#define g_file_io_stream_get_etag IA__g_file_io_stream_get_etag
-
-#endif
-#endif
-#if IN_HEADER(__G_FILTER_INPUT_STREAM_H__)
-#if IN_FILE(__G_FILTER_INPUT_STREAM_C__)
-extern __typeof (g_filter_input_stream_get_type) IA__g_filter_input_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_filter_input_stream_get_type IA__g_filter_input_stream_get_type
-
-extern __typeof (g_filter_input_stream_get_base_stream) IA__g_filter_input_stream_get_base_stream __attribute((visibility("hidden")));
-#define g_filter_input_stream_get_base_stream IA__g_filter_input_stream_get_base_stream
-
-extern __typeof (g_filter_input_stream_get_close_base_stream) IA__g_filter_input_stream_get_close_base_stream __attribute((visibility("hidden")));
-#define g_filter_input_stream_get_close_base_stream IA__g_filter_input_stream_get_close_base_stream
-
-extern __typeof (g_filter_input_stream_set_close_base_stream) IA__g_filter_input_stream_set_close_base_stream __attribute((visibility("hidden")));
-#define g_filter_input_stream_set_close_base_stream IA__g_filter_input_stream_set_close_base_stream
-
-#endif
-#endif
-#if IN_HEADER(__G_FILTER_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_FILTER_OUTPUT_STREAM_C__)
-extern __typeof (g_filter_output_stream_get_type) IA__g_filter_output_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_filter_output_stream_get_type IA__g_filter_output_stream_get_type
-
-extern __typeof (g_filter_output_stream_get_base_stream) IA__g_filter_output_stream_get_base_stream __attribute((visibility("hidden")));
-#define g_filter_output_stream_get_base_stream IA__g_filter_output_stream_get_base_stream
-
-extern __typeof (g_filter_output_stream_get_close_base_stream) IA__g_filter_output_stream_get_close_base_stream __attribute((visibility("hidden")));
-#define g_filter_output_stream_get_close_base_stream IA__g_filter_output_stream_get_close_base_stream
-
-extern __typeof (g_filter_output_stream_set_close_base_stream) IA__g_filter_output_stream_set_close_base_stream __attribute((visibility("hidden")));
-#define g_filter_output_stream_set_close_base_stream IA__g_filter_output_stream_set_close_base_stream
-
-#endif
-#endif
-#if IN_HEADER(__G_ICON_H__)
-#if IN_FILE(__G_ICON_C__)
-extern __typeof (g_icon_get_type) IA__g_icon_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_icon_get_type IA__g_icon_get_type
-
-extern __typeof (g_icon_hash) IA__g_icon_hash __attribute((visibility("hidden")));
-#define g_icon_hash IA__g_icon_hash
-
-extern __typeof (g_icon_equal) IA__g_icon_equal __attribute((visibility("hidden")));
-#define g_icon_equal IA__g_icon_equal
-
-extern __typeof (g_icon_to_string) IA__g_icon_to_string __attribute((visibility("hidden")));
-#define g_icon_to_string IA__g_icon_to_string
-
-extern __typeof (g_icon_new_for_string) IA__g_icon_new_for_string __attribute((visibility("hidden")));
-#define g_icon_new_for_string IA__g_icon_new_for_string
-
-#endif
-#endif
-#if IN_HEADER(__G_INPUT_STREAM_H__)
-#if IN_FILE(__G_INPUT_STREAM_C__)
-extern __typeof (g_input_stream_get_type) IA__g_input_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_input_stream_get_type IA__g_input_stream_get_type
-
-extern __typeof (g_input_stream_read) IA__g_input_stream_read __attribute((visibility("hidden")));
-#define g_input_stream_read IA__g_input_stream_read
-
-extern __typeof (g_input_stream_read_all) IA__g_input_stream_read_all __attribute((visibility("hidden")));
-#define g_input_stream_read_all IA__g_input_stream_read_all
-
-extern __typeof (g_input_stream_skip) IA__g_input_stream_skip __attribute((visibility("hidden")));
-#define g_input_stream_skip IA__g_input_stream_skip
-
-extern __typeof (g_input_stream_close) IA__g_input_stream_close __attribute((visibility("hidden")));
-#define g_input_stream_close IA__g_input_stream_close
-
-extern __typeof (g_input_stream_read_async) IA__g_input_stream_read_async __attribute((visibility("hidden")));
-#define g_input_stream_read_async IA__g_input_stream_read_async
-
-extern __typeof (g_input_stream_read_finish) IA__g_input_stream_read_finish __attribute((visibility("hidden")));
-#define g_input_stream_read_finish IA__g_input_stream_read_finish
-
-extern __typeof (g_input_stream_skip_async) IA__g_input_stream_skip_async __attribute((visibility("hidden")));
-#define g_input_stream_skip_async IA__g_input_stream_skip_async
-
-extern __typeof (g_input_stream_skip_finish) IA__g_input_stream_skip_finish __attribute((visibility("hidden")));
-#define g_input_stream_skip_finish IA__g_input_stream_skip_finish
-
-extern __typeof (g_input_stream_close_async) IA__g_input_stream_close_async __attribute((visibility("hidden")));
-#define g_input_stream_close_async IA__g_input_stream_close_async
-
-extern __typeof (g_input_stream_close_finish) IA__g_input_stream_close_finish __attribute((visibility("hidden")));
-#define g_input_stream_close_finish IA__g_input_stream_close_finish
-
-extern __typeof (g_input_stream_is_closed) IA__g_input_stream_is_closed __attribute((visibility("hidden")));
-#define g_input_stream_is_closed IA__g_input_stream_is_closed
-
-extern __typeof (g_input_stream_has_pending) IA__g_input_stream_has_pending __attribute((visibility("hidden")));
-#define g_input_stream_has_pending IA__g_input_stream_has_pending
-
-extern __typeof (g_input_stream_set_pending) IA__g_input_stream_set_pending __attribute((visibility("hidden")));
-#define g_input_stream_set_pending IA__g_input_stream_set_pending
-
-extern __typeof (g_input_stream_clear_pending) IA__g_input_stream_clear_pending __attribute((visibility("hidden")));
-#define g_input_stream_clear_pending IA__g_input_stream_clear_pending
-
-#endif
-#endif
-#if IN_HEADER(__G_IO_STREAM_H__)
-#if IN_FILE(__G_IO_STREAM_C__)
-extern __typeof (g_io_stream_get_type) IA__g_io_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_io_stream_get_type IA__g_io_stream_get_type
-
-extern __typeof (g_io_stream_get_input_stream) IA__g_io_stream_get_input_stream __attribute((visibility("hidden")));
-#define g_io_stream_get_input_stream IA__g_io_stream_get_input_stream
-
-extern __typeof (g_io_stream_get_output_stream) IA__g_io_stream_get_output_stream __attribute((visibility("hidden")));
-#define g_io_stream_get_output_stream IA__g_io_stream_get_output_stream
-
-extern __typeof (g_io_stream_close) IA__g_io_stream_close __attribute((visibility("hidden")));
-#define g_io_stream_close IA__g_io_stream_close
-
-extern __typeof (g_io_stream_close_async) IA__g_io_stream_close_async __attribute((visibility("hidden")));
-#define g_io_stream_close_async IA__g_io_stream_close_async
-
-extern __typeof (g_io_stream_close_finish) IA__g_io_stream_close_finish __attribute((visibility("hidden")));
-#define g_io_stream_close_finish IA__g_io_stream_close_finish
-
-extern __typeof (g_io_stream_is_closed) IA__g_io_stream_is_closed __attribute((visibility("hidden")));
-#define g_io_stream_is_closed IA__g_io_stream_is_closed
-
-extern __typeof (g_io_stream_has_pending) IA__g_io_stream_has_pending __attribute((visibility("hidden")));
-#define g_io_stream_has_pending IA__g_io_stream_has_pending
-
-extern __typeof (g_io_stream_set_pending) IA__g_io_stream_set_pending __attribute((visibility("hidden")));
-#define g_io_stream_set_pending IA__g_io_stream_set_pending
-
-extern __typeof (g_io_stream_clear_pending) IA__g_io_stream_clear_pending __attribute((visibility("hidden")));
-#define g_io_stream_clear_pending IA__g_io_stream_clear_pending
-
-#endif
-#endif
-#if IN_HEADER(__G_IO_ERROR_H__)
-#if IN_FILE(__G_IO_ERROR_C__)
-extern __typeof (g_io_error_quark) IA__g_io_error_quark __attribute((visibility("hidden")));
-#define g_io_error_quark IA__g_io_error_quark
-
-extern __typeof (g_io_error_from_errno) IA__g_io_error_from_errno __attribute((visibility("hidden")));
-#define g_io_error_from_errno IA__g_io_error_from_errno
-
-#endif
-#endif
-#if IN_HEADER(__G_IO_MODULE_H__)
-#if IN_FILE(__G_IO_MODULE_C__)
-extern __typeof (g_io_module_get_type) IA__g_io_module_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_io_module_get_type IA__g_io_module_get_type
-
-extern __typeof (g_io_module_new) IA__g_io_module_new __attribute((visibility("hidden")));
-#define g_io_module_new IA__g_io_module_new
-
-extern __typeof (g_io_modules_scan_all_in_directory) IA__g_io_modules_scan_all_in_directory __attribute((visibility("hidden")));
-#define g_io_modules_scan_all_in_directory IA__g_io_modules_scan_all_in_directory
-
-extern __typeof (g_io_modules_load_all_in_directory) IA__g_io_modules_load_all_in_directory __attribute((visibility("hidden")));
-#define g_io_modules_load_all_in_directory IA__g_io_modules_load_all_in_directory
-
-extern __typeof (g_io_extension_point_register) IA__g_io_extension_point_register __attribute((visibility("hidden")));
-#define g_io_extension_point_register IA__g_io_extension_point_register
-
-extern __typeof (g_io_extension_point_lookup) IA__g_io_extension_point_lookup __attribute((visibility("hidden")));
-#define g_io_extension_point_lookup IA__g_io_extension_point_lookup
-
-extern __typeof (g_io_extension_point_set_required_type) IA__g_io_extension_point_set_required_type __attribute((visibility("hidden")));
-#define g_io_extension_point_set_required_type IA__g_io_extension_point_set_required_type
-
-extern __typeof (g_io_extension_point_get_required_type) IA__g_io_extension_point_get_required_type __attribute((visibility("hidden")));
-#define g_io_extension_point_get_required_type IA__g_io_extension_point_get_required_type
-
-extern __typeof (g_io_extension_point_get_extensions) IA__g_io_extension_point_get_extensions __attribute((visibility("hidden")));
-#define g_io_extension_point_get_extensions IA__g_io_extension_point_get_extensions
-
-extern __typeof (g_io_extension_point_get_extension_by_name) IA__g_io_extension_point_get_extension_by_name __attribute((visibility("hidden")));
-#define g_io_extension_point_get_extension_by_name IA__g_io_extension_point_get_extension_by_name
-
-extern __typeof (g_io_extension_point_implement) IA__g_io_extension_point_implement __attribute((visibility("hidden")));
-#define g_io_extension_point_implement IA__g_io_extension_point_implement
-
-extern __typeof (g_io_extension_get_type) IA__g_io_extension_get_type __attribute((visibility("hidden")));
-#define g_io_extension_get_type IA__g_io_extension_get_type
-
-extern __typeof (g_io_extension_get_name) IA__g_io_extension_get_name __attribute((visibility("hidden")));
-#define g_io_extension_get_name IA__g_io_extension_get_name
-
-extern __typeof (g_io_extension_get_priority) IA__g_io_extension_get_priority __attribute((visibility("hidden")));
-#define g_io_extension_get_priority IA__g_io_extension_get_priority
-
-extern __typeof (g_io_extension_ref_class) IA__g_io_extension_ref_class __attribute((visibility("hidden")));
-#define g_io_extension_ref_class IA__g_io_extension_ref_class
-
-#endif
-#endif
-#if IN_HEADER(__G_IO_SCHEDULER_H__)
-#if IN_FILE(__G_IO_SCHEDULER_C__)
-extern __typeof (g_io_scheduler_push_job) IA__g_io_scheduler_push_job __attribute((visibility("hidden")));
-#define g_io_scheduler_push_job IA__g_io_scheduler_push_job
-
-extern __typeof (g_io_scheduler_cancel_all_jobs) IA__g_io_scheduler_cancel_all_jobs __attribute((visibility("hidden")));
-#define g_io_scheduler_cancel_all_jobs IA__g_io_scheduler_cancel_all_jobs
-
-extern __typeof (g_io_scheduler_job_send_to_mainloop) IA__g_io_scheduler_job_send_to_mainloop __attribute((visibility("hidden")));
-#define g_io_scheduler_job_send_to_mainloop IA__g_io_scheduler_job_send_to_mainloop
-
-extern __typeof (g_io_scheduler_job_send_to_mainloop_async) IA__g_io_scheduler_job_send_to_mainloop_async __attribute((visibility("hidden")));
-#define g_io_scheduler_job_send_to_mainloop_async IA__g_io_scheduler_job_send_to_mainloop_async
-
-#endif
-#endif
-#if IN_HEADER(__G_LOADABLE_ICON_H__)
-#if IN_FILE(__G_LOADABLE_ICON_C__)
-extern __typeof (g_loadable_icon_get_type) IA__g_loadable_icon_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_loadable_icon_get_type IA__g_loadable_icon_get_type
-
-extern __typeof (g_loadable_icon_load) IA__g_loadable_icon_load __attribute((visibility("hidden")));
-#define g_loadable_icon_load IA__g_loadable_icon_load
-
-extern __typeof (g_loadable_icon_load_async) IA__g_loadable_icon_load_async __attribute((visibility("hidden")));
-#define g_loadable_icon_load_async IA__g_loadable_icon_load_async
-
-extern __typeof (g_loadable_icon_load_finish) IA__g_loadable_icon_load_finish __attribute((visibility("hidden")));
-#define g_loadable_icon_load_finish IA__g_loadable_icon_load_finish
-
-#endif
-#endif
-#if IN_HEADER(__G_MEMORY_INPUT_STREAM_H__)
-#if IN_FILE(__G_MEMORY_INPUT_STREAM_C__)
-extern __typeof (g_memory_input_stream_get_type) IA__g_memory_input_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_memory_input_stream_get_type IA__g_memory_input_stream_get_type
-
-extern __typeof (g_memory_input_stream_new) IA__g_memory_input_stream_new __attribute((visibility("hidden")));
-#define g_memory_input_stream_new IA__g_memory_input_stream_new
-
-extern __typeof (g_memory_input_stream_new_from_data) IA__g_memory_input_stream_new_from_data __attribute((visibility("hidden")));
-#define g_memory_input_stream_new_from_data IA__g_memory_input_stream_new_from_data
-
-extern __typeof (g_memory_input_stream_add_data) IA__g_memory_input_stream_add_data __attribute((visibility("hidden")));
-#define g_memory_input_stream_add_data IA__g_memory_input_stream_add_data
-
-#endif
-#endif
-#if IN_HEADER(__G_MEMORY_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_MEMORY_OUTPUT_STREAM_C__)
-extern __typeof (g_memory_output_stream_get_type) IA__g_memory_output_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_memory_output_stream_get_type IA__g_memory_output_stream_get_type
-
-extern __typeof (g_memory_output_stream_new) IA__g_memory_output_stream_new __attribute((visibility("hidden")));
-#define g_memory_output_stream_new IA__g_memory_output_stream_new
-
-extern __typeof (g_memory_output_stream_get_data) IA__g_memory_output_stream_get_data __attribute((visibility("hidden")));
-#define g_memory_output_stream_get_data IA__g_memory_output_stream_get_data
-
-extern __typeof (g_memory_output_stream_get_data_size) IA__g_memory_output_stream_get_data_size __attribute((visibility("hidden")));
-#define g_memory_output_stream_get_data_size IA__g_memory_output_stream_get_data_size
-
-extern __typeof (g_memory_output_stream_get_size) IA__g_memory_output_stream_get_size __attribute((visibility("hidden")));
-#define g_memory_output_stream_get_size IA__g_memory_output_stream_get_size
-
-#endif
-#endif
-#if IN_HEADER(__G_MOUNT_OPERATION_H__)
-#if IN_FILE(__G_MOUNT_OPERATION_C__)
-extern __typeof (g_mount_operation_get_type) IA__g_mount_operation_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_mount_operation_get_type IA__g_mount_operation_get_type
-
-extern __typeof (g_mount_operation_new) IA__g_mount_operation_new __attribute((visibility("hidden")));
-#define g_mount_operation_new IA__g_mount_operation_new
-
-extern __typeof (g_mount_operation_get_username) IA__g_mount_operation_get_username __attribute((visibility("hidden")));
-#define g_mount_operation_get_username IA__g_mount_operation_get_username
-
-extern __typeof (g_mount_operation_set_username) IA__g_mount_operation_set_username __attribute((visibility("hidden")));
-#define g_mount_operation_set_username IA__g_mount_operation_set_username
-
-extern __typeof (g_mount_operation_get_password) IA__g_mount_operation_get_password __attribute((visibility("hidden")));
-#define g_mount_operation_get_password IA__g_mount_operation_get_password
-
-extern __typeof (g_mount_operation_set_password) IA__g_mount_operation_set_password __attribute((visibility("hidden")));
-#define g_mount_operation_set_password IA__g_mount_operation_set_password
-
-extern __typeof (g_mount_operation_get_anonymous) IA__g_mount_operation_get_anonymous __attribute((visibility("hidden")));
-#define g_mount_operation_get_anonymous IA__g_mount_operation_get_anonymous
-
-extern __typeof (g_mount_operation_set_anonymous) IA__g_mount_operation_set_anonymous __attribute((visibility("hidden")));
-#define g_mount_operation_set_anonymous IA__g_mount_operation_set_anonymous
-
-extern __typeof (g_mount_operation_get_domain) IA__g_mount_operation_get_domain __attribute((visibility("hidden")));
-#define g_mount_operation_get_domain IA__g_mount_operation_get_domain
-
-extern __typeof (g_mount_operation_set_domain) IA__g_mount_operation_set_domain __attribute((visibility("hidden")));
-#define g_mount_operation_set_domain IA__g_mount_operation_set_domain
-
-extern __typeof (g_mount_operation_get_password_save) IA__g_mount_operation_get_password_save __attribute((visibility("hidden")));
-#define g_mount_operation_get_password_save IA__g_mount_operation_get_password_save
-
-extern __typeof (g_mount_operation_set_password_save) IA__g_mount_operation_set_password_save __attribute((visibility("hidden")));
-#define g_mount_operation_set_password_save IA__g_mount_operation_set_password_save
-
-extern __typeof (g_mount_operation_get_choice) IA__g_mount_operation_get_choice __attribute((visibility("hidden")));
-#define g_mount_operation_get_choice IA__g_mount_operation_get_choice
-
-extern __typeof (g_mount_operation_set_choice) IA__g_mount_operation_set_choice __attribute((visibility("hidden")));
-#define g_mount_operation_set_choice IA__g_mount_operation_set_choice
-
-extern __typeof (g_mount_operation_reply) IA__g_mount_operation_reply __attribute((visibility("hidden")));
-#define g_mount_operation_reply IA__g_mount_operation_reply
-
-#endif
-#endif
-#if IN_HEADER(__G_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_OUTPUT_STREAM_C__)
-extern __typeof (g_output_stream_get_type) IA__g_output_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_output_stream_get_type IA__g_output_stream_get_type
-
-extern __typeof (g_output_stream_write) IA__g_output_stream_write __attribute((visibility("hidden")));
-#define g_output_stream_write IA__g_output_stream_write
-
-extern __typeof (g_output_stream_write_all) IA__g_output_stream_write_all __attribute((visibility("hidden")));
-#define g_output_stream_write_all IA__g_output_stream_write_all
-
-extern __typeof (g_output_stream_splice) IA__g_output_stream_splice __attribute((visibility("hidden")));
-#define g_output_stream_splice IA__g_output_stream_splice
-
-extern __typeof (g_output_stream_flush) IA__g_output_stream_flush __attribute((visibility("hidden")));
-#define g_output_stream_flush IA__g_output_stream_flush
-
-extern __typeof (g_output_stream_close) IA__g_output_stream_close __attribute((visibility("hidden")));
-#define g_output_stream_close IA__g_output_stream_close
-
-extern __typeof (g_output_stream_write_async) IA__g_output_stream_write_async __attribute((visibility("hidden")));
-#define g_output_stream_write_async IA__g_output_stream_write_async
-
-extern __typeof (g_output_stream_write_finish) IA__g_output_stream_write_finish __attribute((visibility("hidden")));
-#define g_output_stream_write_finish IA__g_output_stream_write_finish
-
-extern __typeof (g_output_stream_splice_async) IA__g_output_stream_splice_async __attribute((visibility("hidden")));
-#define g_output_stream_splice_async IA__g_output_stream_splice_async
-
-extern __typeof (g_output_stream_splice_finish) IA__g_output_stream_splice_finish __attribute((visibility("hidden")));
-#define g_output_stream_splice_finish IA__g_output_stream_splice_finish
-
-extern __typeof (g_output_stream_flush_async) IA__g_output_stream_flush_async __attribute((visibility("hidden")));
-#define g_output_stream_flush_async IA__g_output_stream_flush_async
-
-extern __typeof (g_output_stream_flush_finish) IA__g_output_stream_flush_finish __attribute((visibility("hidden")));
-#define g_output_stream_flush_finish IA__g_output_stream_flush_finish
-
-extern __typeof (g_output_stream_close_async) IA__g_output_stream_close_async __attribute((visibility("hidden")));
-#define g_output_stream_close_async IA__g_output_stream_close_async
-
-extern __typeof (g_output_stream_close_finish) IA__g_output_stream_close_finish __attribute((visibility("hidden")));
-#define g_output_stream_close_finish IA__g_output_stream_close_finish
-
-extern __typeof (g_output_stream_is_closed) IA__g_output_stream_is_closed __attribute((visibility("hidden")));
-#define g_output_stream_is_closed IA__g_output_stream_is_closed
-
-extern __typeof (g_output_stream_is_closing) IA__g_output_stream_is_closing __attribute((visibility("hidden")));
-#define g_output_stream_is_closing IA__g_output_stream_is_closing
-
-extern __typeof (g_output_stream_has_pending) IA__g_output_stream_has_pending __attribute((visibility("hidden")));
-#define g_output_stream_has_pending IA__g_output_stream_has_pending
-
-extern __typeof (g_output_stream_set_pending) IA__g_output_stream_set_pending __attribute((visibility("hidden")));
-#define g_output_stream_set_pending IA__g_output_stream_set_pending
-
-extern __typeof (g_output_stream_clear_pending) IA__g_output_stream_clear_pending __attribute((visibility("hidden")));
-#define g_output_stream_clear_pending IA__g_output_stream_clear_pending
-
-#endif
-#endif
-#if IN_HEADER(__G_SEEKABLE_H__)
-#if IN_FILE(__G_SEEKABLE_C__)
-extern __typeof (g_seekable_get_type) IA__g_seekable_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_seekable_get_type IA__g_seekable_get_type
-
-extern __typeof (g_seekable_tell) IA__g_seekable_tell __attribute((visibility("hidden")));
-#define g_seekable_tell IA__g_seekable_tell
-
-extern __typeof (g_seekable_can_seek) IA__g_seekable_can_seek __attribute((visibility("hidden")));
-#define g_seekable_can_seek IA__g_seekable_can_seek
-
-extern __typeof (g_seekable_seek) IA__g_seekable_seek __attribute((visibility("hidden")));
-#define g_seekable_seek IA__g_seekable_seek
-
-extern __typeof (g_seekable_can_truncate) IA__g_seekable_can_truncate __attribute((visibility("hidden")));
-#define g_seekable_can_truncate IA__g_seekable_can_truncate
-
-extern __typeof (g_seekable_truncate) IA__g_seekable_truncate __attribute((visibility("hidden")));
-#define g_seekable_truncate IA__g_seekable_truncate
-
-#endif
-#endif
-#if IN_HEADER(__G_SIMPLE_ASYNC_RESULT_H__)
-#if IN_FILE(__G_SIMPLE_ASYNC_RESULT_C__)
-extern __typeof (g_simple_async_result_get_type) IA__g_simple_async_result_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_simple_async_result_get_type IA__g_simple_async_result_get_type
-
-extern __typeof (g_simple_async_result_new) IA__g_simple_async_result_new __attribute((visibility("hidden")));
-#define g_simple_async_result_new IA__g_simple_async_result_new
-
-extern __typeof (g_simple_async_result_new_error) IA__g_simple_async_result_new_error __attribute((visibility("hidden")));
-#define g_simple_async_result_new_error IA__g_simple_async_result_new_error
-
-extern __typeof (g_simple_async_result_new_from_error) IA__g_simple_async_result_new_from_error __attribute((visibility("hidden")));
-#define g_simple_async_result_new_from_error IA__g_simple_async_result_new_from_error
-
-extern __typeof (g_simple_async_result_set_op_res_gpointer) IA__g_simple_async_result_set_op_res_gpointer __attribute((visibility("hidden")));
-#define g_simple_async_result_set_op_res_gpointer IA__g_simple_async_result_set_op_res_gpointer
-
-extern __typeof (g_simple_async_result_get_op_res_gpointer) IA__g_simple_async_result_get_op_res_gpointer __attribute((visibility("hidden")));
-#define g_simple_async_result_get_op_res_gpointer IA__g_simple_async_result_get_op_res_gpointer
-
-extern __typeof (g_simple_async_result_set_op_res_gssize) IA__g_simple_async_result_set_op_res_gssize __attribute((visibility("hidden")));
-#define g_simple_async_result_set_op_res_gssize IA__g_simple_async_result_set_op_res_gssize
-
-extern __typeof (g_simple_async_result_get_op_res_gssize) IA__g_simple_async_result_get_op_res_gssize __attribute((visibility("hidden")));
-#define g_simple_async_result_get_op_res_gssize IA__g_simple_async_result_get_op_res_gssize
-
-extern __typeof (g_simple_async_result_set_op_res_gboolean) IA__g_simple_async_result_set_op_res_gboolean __attribute((visibility("hidden")));
-#define g_simple_async_result_set_op_res_gboolean IA__g_simple_async_result_set_op_res_gboolean
-
-extern __typeof (g_simple_async_result_get_op_res_gboolean) IA__g_simple_async_result_get_op_res_gboolean __attribute((visibility("hidden")));
-#define g_simple_async_result_get_op_res_gboolean IA__g_simple_async_result_get_op_res_gboolean
-
-extern __typeof (g_simple_async_result_get_source_tag) IA__g_simple_async_result_get_source_tag __attribute((visibility("hidden")));
-#define g_simple_async_result_get_source_tag IA__g_simple_async_result_get_source_tag
-
-extern __typeof (g_simple_async_result_set_handle_cancellation) IA__g_simple_async_result_set_handle_cancellation __attribute((visibility("hidden")));
-#define g_simple_async_result_set_handle_cancellation IA__g_simple_async_result_set_handle_cancellation
-
-extern __typeof (g_simple_async_result_complete) IA__g_simple_async_result_complete __attribute((visibility("hidden")));
-#define g_simple_async_result_complete IA__g_simple_async_result_complete
-
-extern __typeof (g_simple_async_result_complete_in_idle) IA__g_simple_async_result_complete_in_idle __attribute((visibility("hidden")));
-#define g_simple_async_result_complete_in_idle IA__g_simple_async_result_complete_in_idle
-
-extern __typeof (g_simple_async_result_run_in_thread) IA__g_simple_async_result_run_in_thread __attribute((visibility("hidden")));
-#define g_simple_async_result_run_in_thread IA__g_simple_async_result_run_in_thread
-
-extern __typeof (g_simple_async_result_set_from_error) IA__g_simple_async_result_set_from_error __attribute((visibility("hidden")));
-#define g_simple_async_result_set_from_error IA__g_simple_async_result_set_from_error
-
-extern __typeof (g_simple_async_result_propagate_error) IA__g_simple_async_result_propagate_error __attribute((visibility("hidden")));
-#define g_simple_async_result_propagate_error IA__g_simple_async_result_propagate_error
-
-extern __typeof (g_simple_async_result_set_error) IA__g_simple_async_result_set_error __attribute((visibility("hidden")));
-#define g_simple_async_result_set_error IA__g_simple_async_result_set_error
-
-extern __typeof (g_simple_async_result_set_error_va) IA__g_simple_async_result_set_error_va __attribute((visibility("hidden")));
-#define g_simple_async_result_set_error_va IA__g_simple_async_result_set_error_va
-
-extern __typeof (g_simple_async_result_is_valid) IA__g_simple_async_result_is_valid __attribute((visibility("hidden")));
-#define g_simple_async_result_is_valid IA__g_simple_async_result_is_valid
-
-extern __typeof (g_simple_async_report_error_in_idle) IA__g_simple_async_report_error_in_idle __attribute((visibility("hidden")));
-#define g_simple_async_report_error_in_idle IA__g_simple_async_report_error_in_idle
-
-extern __typeof (g_simple_async_report_gerror_in_idle) IA__g_simple_async_report_gerror_in_idle __attribute((visibility("hidden")));
-#define g_simple_async_report_gerror_in_idle IA__g_simple_async_report_gerror_in_idle
-
-#endif
-#endif
-#if IN_HEADER(__G_THEMED_ICON_H__)
-#if IN_FILE(__G_THEMED_ICON_C__)
-extern __typeof (g_themed_icon_get_type) IA__g_themed_icon_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_themed_icon_get_type IA__g_themed_icon_get_type
-
-extern __typeof (g_themed_icon_new) IA__g_themed_icon_new __attribute((visibility("hidden")));
-#define g_themed_icon_new IA__g_themed_icon_new
-
-extern __typeof (g_themed_icon_new_with_default_fallbacks) IA__g_themed_icon_new_with_default_fallbacks __attribute((visibility("hidden")));
-#define g_themed_icon_new_with_default_fallbacks IA__g_themed_icon_new_with_default_fallbacks
-
-extern __typeof (g_themed_icon_new_from_names) IA__g_themed_icon_new_from_names __attribute((visibility("hidden")));
-#define g_themed_icon_new_from_names IA__g_themed_icon_new_from_names
-
-extern __typeof (g_themed_icon_get_names) IA__g_themed_icon_get_names __attribute((visibility("hidden")));
-#define g_themed_icon_get_names IA__g_themed_icon_get_names
-
-extern __typeof (g_themed_icon_prepend_name) IA__g_themed_icon_prepend_name __attribute((visibility("hidden")));
-#define g_themed_icon_prepend_name IA__g_themed_icon_prepend_name
-
-extern __typeof (g_themed_icon_append_name) IA__g_themed_icon_append_name __attribute((visibility("hidden")));
-#define g_themed_icon_append_name IA__g_themed_icon_append_name
-
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_MOUNTS_H__)
-#if IN_FILE(__G_UNIX_MOUNTS_C__)
-#ifdef G_OS_UNIX
-extern __typeof (g_unix_mount_free) IA__g_unix_mount_free __attribute((visibility("hidden")));
-#define g_unix_mount_free IA__g_unix_mount_free
-
-extern __typeof (g_unix_mount_point_free) IA__g_unix_mount_point_free __attribute((visibility("hidden")));
-#define g_unix_mount_point_free IA__g_unix_mount_point_free
-
-extern __typeof (g_unix_mount_compare) IA__g_unix_mount_compare __attribute((visibility("hidden")));
-#define g_unix_mount_compare IA__g_unix_mount_compare
-
-extern __typeof (g_unix_mount_get_mount_path) IA__g_unix_mount_get_mount_path __attribute((visibility("hidden")));
-#define g_unix_mount_get_mount_path IA__g_unix_mount_get_mount_path
-
-extern __typeof (g_unix_mount_get_device_path) IA__g_unix_mount_get_device_path __attribute((visibility("hidden")));
-#define g_unix_mount_get_device_path IA__g_unix_mount_get_device_path
-
-extern __typeof (g_unix_mount_get_fs_type) IA__g_unix_mount_get_fs_type __attribute((visibility("hidden")));
-#define g_unix_mount_get_fs_type IA__g_unix_mount_get_fs_type
-
-extern __typeof (g_unix_mount_is_readonly) IA__g_unix_mount_is_readonly __attribute((visibility("hidden")));
-#define g_unix_mount_is_readonly IA__g_unix_mount_is_readonly
-
-extern __typeof (g_unix_mount_is_system_internal) IA__g_unix_mount_is_system_internal __attribute((visibility("hidden")));
-#define g_unix_mount_is_system_internal IA__g_unix_mount_is_system_internal
-
-extern __typeof (g_unix_mount_guess_can_eject) IA__g_unix_mount_guess_can_eject __attribute((visibility("hidden")));
-#define g_unix_mount_guess_can_eject IA__g_unix_mount_guess_can_eject
-
-extern __typeof (g_unix_mount_guess_should_display) IA__g_unix_mount_guess_should_display __attribute((visibility("hidden")));
-#define g_unix_mount_guess_should_display IA__g_unix_mount_guess_should_display
-
-extern __typeof (g_unix_mount_guess_name) IA__g_unix_mount_guess_name __attribute((visibility("hidden")));
-#define g_unix_mount_guess_name IA__g_unix_mount_guess_name
-
-extern __typeof (g_unix_mount_guess_icon) IA__g_unix_mount_guess_icon __attribute((visibility("hidden")));
-#define g_unix_mount_guess_icon IA__g_unix_mount_guess_icon
-
-extern __typeof (g_unix_mount_point_compare) IA__g_unix_mount_point_compare __attribute((visibility("hidden")));
-#define g_unix_mount_point_compare IA__g_unix_mount_point_compare
-
-extern __typeof (g_unix_mount_point_get_mount_path) IA__g_unix_mount_point_get_mount_path __attribute((visibility("hidden")));
-#define g_unix_mount_point_get_mount_path IA__g_unix_mount_point_get_mount_path
-
-extern __typeof (g_unix_mount_point_get_device_path) IA__g_unix_mount_point_get_device_path __attribute((visibility("hidden")));
-#define g_unix_mount_point_get_device_path IA__g_unix_mount_point_get_device_path
-
-extern __typeof (g_unix_mount_point_get_fs_type) IA__g_unix_mount_point_get_fs_type __attribute((visibility("hidden")));
-#define g_unix_mount_point_get_fs_type IA__g_unix_mount_point_get_fs_type
-
-extern __typeof (g_unix_mount_point_is_readonly) IA__g_unix_mount_point_is_readonly __attribute((visibility("hidden")));
-#define g_unix_mount_point_is_readonly IA__g_unix_mount_point_is_readonly
-
-extern __typeof (g_unix_mount_point_is_user_mountable) IA__g_unix_mount_point_is_user_mountable __attribute((visibility("hidden")));
-#define g_unix_mount_point_is_user_mountable IA__g_unix_mount_point_is_user_mountable
-
-extern __typeof (g_unix_mount_point_is_loopback) IA__g_unix_mount_point_is_loopback __attribute((visibility("hidden")));
-#define g_unix_mount_point_is_loopback IA__g_unix_mount_point_is_loopback
-
-extern __typeof (g_unix_mount_point_guess_can_eject) IA__g_unix_mount_point_guess_can_eject __attribute((visibility("hidden")));
-#define g_unix_mount_point_guess_can_eject IA__g_unix_mount_point_guess_can_eject
-
-extern __typeof (g_unix_mount_point_guess_name) IA__g_unix_mount_point_guess_name __attribute((visibility("hidden")));
-#define g_unix_mount_point_guess_name IA__g_unix_mount_point_guess_name
-
-extern __typeof (g_unix_mount_point_guess_icon) IA__g_unix_mount_point_guess_icon __attribute((visibility("hidden")));
-#define g_unix_mount_point_guess_icon IA__g_unix_mount_point_guess_icon
-
-extern __typeof (g_unix_mount_points_get) IA__g_unix_mount_points_get __attribute((visibility("hidden")));
-#define g_unix_mount_points_get IA__g_unix_mount_points_get
-
-extern __typeof (g_unix_mounts_get) IA__g_unix_mounts_get __attribute((visibility("hidden")));
-#define g_unix_mounts_get IA__g_unix_mounts_get
-
-extern __typeof (g_unix_mount_at) IA__g_unix_mount_at __attribute((visibility("hidden")));
-#define g_unix_mount_at IA__g_unix_mount_at
-
-extern __typeof (g_unix_mounts_changed_since) IA__g_unix_mounts_changed_since __attribute((visibility("hidden")));
-#define g_unix_mounts_changed_since IA__g_unix_mounts_changed_since
-
-extern __typeof (g_unix_mount_points_changed_since) IA__g_unix_mount_points_changed_since __attribute((visibility("hidden")));
-#define g_unix_mount_points_changed_since IA__g_unix_mount_points_changed_since
-
-extern __typeof (g_unix_mount_monitor_get_type) IA__g_unix_mount_monitor_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unix_mount_monitor_get_type IA__g_unix_mount_monitor_get_type
-
-extern __typeof (g_unix_mount_monitor_new) IA__g_unix_mount_monitor_new __attribute((visibility("hidden")));
-#define g_unix_mount_monitor_new IA__g_unix_mount_monitor_new
-
-extern __typeof (g_unix_mount_monitor_set_rate_limit) IA__g_unix_mount_monitor_set_rate_limit __attribute((visibility("hidden")));
-#define g_unix_mount_monitor_set_rate_limit IA__g_unix_mount_monitor_set_rate_limit
-
-extern __typeof (g_unix_is_mount_path_system_internal) IA__g_unix_is_mount_path_system_internal __attribute((visibility("hidden")));
-#define g_unix_is_mount_path_system_internal IA__g_unix_is_mount_path_system_internal
-
-#endif /* G_OS_UNIX */
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_INPUT_STREAM_H__)
-#if IN_FILE(__G_UNIX_INPUT_STREAM_C__)
-#ifdef G_OS_UNIX
-extern __typeof (g_unix_input_stream_get_type) IA__g_unix_input_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unix_input_stream_get_type IA__g_unix_input_stream_get_type
-
-extern __typeof (g_unix_input_stream_new) IA__g_unix_input_stream_new __attribute((visibility("hidden")));
-#define g_unix_input_stream_new IA__g_unix_input_stream_new
-
-extern __typeof (g_unix_input_stream_set_close_fd) IA__g_unix_input_stream_set_close_fd __attribute((visibility("hidden")));
-#define g_unix_input_stream_set_close_fd IA__g_unix_input_stream_set_close_fd
-
-extern __typeof (g_unix_input_stream_get_close_fd) IA__g_unix_input_stream_get_close_fd __attribute((visibility("hidden")));
-#define g_unix_input_stream_get_close_fd IA__g_unix_input_stream_get_close_fd
-
-extern __typeof (g_unix_input_stream_get_fd) IA__g_unix_input_stream_get_fd __attribute((visibility("hidden")));
-#define g_unix_input_stream_get_fd IA__g_unix_input_stream_get_fd
-
-#endif /* G_OS_UNIX */
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_UNIX_OUTPUT_STREAM_C__)
-#ifdef G_OS_UNIX
-extern __typeof (g_unix_output_stream_get_type) IA__g_unix_output_stream_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unix_output_stream_get_type IA__g_unix_output_stream_get_type
-
-extern __typeof (g_unix_output_stream_new) IA__g_unix_output_stream_new __attribute((visibility("hidden")));
-#define g_unix_output_stream_new IA__g_unix_output_stream_new
-
-extern __typeof (g_unix_output_stream_set_close_fd) IA__g_unix_output_stream_set_close_fd __attribute((visibility("hidden")));
-#define g_unix_output_stream_set_close_fd IA__g_unix_output_stream_set_close_fd
-
-extern __typeof (g_unix_output_stream_get_close_fd) IA__g_unix_output_stream_get_close_fd __attribute((visibility("hidden")));
-#define g_unix_output_stream_get_close_fd IA__g_unix_output_stream_get_close_fd
-
-extern __typeof (g_unix_output_stream_get_fd) IA__g_unix_output_stream_get_fd __attribute((visibility("hidden")));
-#define g_unix_output_stream_get_fd IA__g_unix_output_stream_get_fd
-
-#endif /* G_OS_UNIX */
-#endif
-#endif
-#if IN_HEADER(__G_MOUNT_H__)
-#if IN_FILE(__G_MOUNT_C__)
-extern __typeof (g_mount_get_type) IA__g_mount_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_mount_get_type IA__g_mount_get_type
-
-extern __typeof (g_mount_get_root) IA__g_mount_get_root __attribute((visibility("hidden")));
-#define g_mount_get_root IA__g_mount_get_root
-
-extern __typeof (g_mount_get_name) IA__g_mount_get_name __attribute((visibility("hidden")));
-#define g_mount_get_name IA__g_mount_get_name
-
-extern __typeof (g_mount_get_icon) IA__g_mount_get_icon __attribute((visibility("hidden")));
-#define g_mount_get_icon IA__g_mount_get_icon
-
-extern __typeof (g_mount_get_uuid) IA__g_mount_get_uuid __attribute((visibility("hidden")));
-#define g_mount_get_uuid IA__g_mount_get_uuid
-
-extern __typeof (g_mount_get_volume) IA__g_mount_get_volume __attribute((visibility("hidden")));
-#define g_mount_get_volume IA__g_mount_get_volume
-
-extern __typeof (g_mount_get_drive) IA__g_mount_get_drive __attribute((visibility("hidden")));
-#define g_mount_get_drive IA__g_mount_get_drive
-
-extern __typeof (g_mount_can_unmount) IA__g_mount_can_unmount __attribute((visibility("hidden")));
-#define g_mount_can_unmount IA__g_mount_can_unmount
-
-extern __typeof (g_mount_can_eject) IA__g_mount_can_eject __attribute((visibility("hidden")));
-#define g_mount_can_eject IA__g_mount_can_eject
-
-extern __typeof (g_mount_unmount_with_operation) IA__g_mount_unmount_with_operation __attribute((visibility("hidden")));
-#define g_mount_unmount_with_operation IA__g_mount_unmount_with_operation
-
-extern __typeof (g_mount_unmount_with_operation_finish) IA__g_mount_unmount_with_operation_finish __attribute((visibility("hidden")));
-#define g_mount_unmount_with_operation_finish IA__g_mount_unmount_with_operation_finish
-
-extern __typeof (g_mount_eject_with_operation) IA__g_mount_eject_with_operation __attribute((visibility("hidden")));
-#define g_mount_eject_with_operation IA__g_mount_eject_with_operation
-
-extern __typeof (g_mount_eject_with_operation_finish) IA__g_mount_eject_with_operation_finish __attribute((visibility("hidden")));
-#define g_mount_eject_with_operation_finish IA__g_mount_eject_with_operation_finish
-
-extern __typeof (g_mount_get_default_location) IA__g_mount_get_default_location __attribute((visibility("hidden")));
-#define g_mount_get_default_location IA__g_mount_get_default_location
-
-extern __typeof (g_mount_remount) IA__g_mount_remount __attribute((visibility("hidden")));
-#define g_mount_remount IA__g_mount_remount
-
-extern __typeof (g_mount_remount_finish) IA__g_mount_remount_finish __attribute((visibility("hidden")));
-#define g_mount_remount_finish IA__g_mount_remount_finish
-
-extern __typeof (g_mount_guess_content_type) IA__g_mount_guess_content_type __attribute((visibility("hidden")));
-#define g_mount_guess_content_type IA__g_mount_guess_content_type
-
-extern __typeof (g_mount_guess_content_type_finish) IA__g_mount_guess_content_type_finish __attribute((visibility("hidden")));
-#define g_mount_guess_content_type_finish IA__g_mount_guess_content_type_finish
-
-extern __typeof (g_mount_guess_content_type_sync) IA__g_mount_guess_content_type_sync __attribute((visibility("hidden")));
-#define g_mount_guess_content_type_sync IA__g_mount_guess_content_type_sync
-
-extern __typeof (g_mount_is_shadowed) IA__g_mount_is_shadowed __attribute((visibility("hidden")));
-#define g_mount_is_shadowed IA__g_mount_is_shadowed
-
-extern __typeof (g_mount_shadow) IA__g_mount_shadow __attribute((visibility("hidden")));
-#define g_mount_shadow IA__g_mount_shadow
-
-extern __typeof (g_mount_unshadow) IA__g_mount_unshadow __attribute((visibility("hidden")));
-#define g_mount_unshadow IA__g_mount_unshadow
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_mount_unmount) IA__g_mount_unmount __attribute((visibility("hidden")));
-#define g_mount_unmount IA__g_mount_unmount
-
-extern __typeof (g_mount_unmount_finish) IA__g_mount_unmount_finish __attribute((visibility("hidden")));
-#define g_mount_unmount_finish IA__g_mount_unmount_finish
-
-extern __typeof (g_mount_eject) IA__g_mount_eject __attribute((visibility("hidden")));
-#define g_mount_eject IA__g_mount_eject
-
-extern __typeof (g_mount_eject_finish) IA__g_mount_eject_finish __attribute((visibility("hidden")));
-#define g_mount_eject_finish IA__g_mount_eject_finish
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_VOLUME_H__)
-#if IN_FILE(__G_VOLUME_C__)
-extern __typeof (g_volume_get_type) IA__g_volume_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_volume_get_type IA__g_volume_get_type
-
-extern __typeof (g_volume_get_name) IA__g_volume_get_name __attribute((visibility("hidden")));
-#define g_volume_get_name IA__g_volume_get_name
-
-extern __typeof (g_volume_get_icon) IA__g_volume_get_icon __attribute((visibility("hidden")));
-#define g_volume_get_icon IA__g_volume_get_icon
-
-extern __typeof (g_volume_get_uuid) IA__g_volume_get_uuid __attribute((visibility("hidden")));
-#define g_volume_get_uuid IA__g_volume_get_uuid
-
-extern __typeof (g_volume_get_drive) IA__g_volume_get_drive __attribute((visibility("hidden")));
-#define g_volume_get_drive IA__g_volume_get_drive
-
-extern __typeof (g_volume_get_mount) IA__g_volume_get_mount __attribute((visibility("hidden")));
-#define g_volume_get_mount IA__g_volume_get_mount
-
-extern __typeof (g_volume_should_automount) IA__g_volume_should_automount __attribute((visibility("hidden")));
-#define g_volume_should_automount IA__g_volume_should_automount
-
-extern __typeof (g_volume_can_mount) IA__g_volume_can_mount __attribute((visibility("hidden")));
-#define g_volume_can_mount IA__g_volume_can_mount
-
-extern __typeof (g_volume_can_eject) IA__g_volume_can_eject __attribute((visibility("hidden")));
-#define g_volume_can_eject IA__g_volume_can_eject
-
-extern __typeof (g_volume_mount) IA__g_volume_mount __attribute((visibility("hidden")));
-#define g_volume_mount IA__g_volume_mount
-
-extern __typeof (g_volume_mount_finish) IA__g_volume_mount_finish __attribute((visibility("hidden")));
-#define g_volume_mount_finish IA__g_volume_mount_finish
-
-extern __typeof (g_volume_eject_with_operation) IA__g_volume_eject_with_operation __attribute((visibility("hidden")));
-#define g_volume_eject_with_operation IA__g_volume_eject_with_operation
-
-extern __typeof (g_volume_eject_with_operation_finish) IA__g_volume_eject_with_operation_finish __attribute((visibility("hidden")));
-#define g_volume_eject_with_operation_finish IA__g_volume_eject_with_operation_finish
-
-extern __typeof (g_volume_get_identifier) IA__g_volume_get_identifier __attribute((visibility("hidden")));
-#define g_volume_get_identifier IA__g_volume_get_identifier
-
-extern __typeof (g_volume_enumerate_identifiers) IA__g_volume_enumerate_identifiers __attribute((visibility("hidden")));
-#define g_volume_enumerate_identifiers IA__g_volume_enumerate_identifiers
-
-extern __typeof (g_volume_get_activation_root) IA__g_volume_get_activation_root __attribute((visibility("hidden")));
-#define g_volume_get_activation_root IA__g_volume_get_activation_root
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_volume_eject) IA__g_volume_eject __attribute((visibility("hidden")));
-#define g_volume_eject IA__g_volume_eject
-
-extern __typeof (g_volume_eject_finish) IA__g_volume_eject_finish __attribute((visibility("hidden")));
-#define g_volume_eject_finish IA__g_volume_eject_finish
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_VOLUME_MONITOR_H__)
-#if IN_FILE(__G_VOLUME_MONITOR_C__)
-extern __typeof (g_volume_monitor_get_type) IA__g_volume_monitor_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_volume_monitor_get_type IA__g_volume_monitor_get_type
-
-extern __typeof (g_volume_monitor_get_connected_drives) IA__g_volume_monitor_get_connected_drives __attribute((visibility("hidden")));
-#define g_volume_monitor_get_connected_drives IA__g_volume_monitor_get_connected_drives
-
-extern __typeof (g_volume_monitor_get_volume_for_uuid) IA__g_volume_monitor_get_volume_for_uuid __attribute((visibility("hidden")));
-#define g_volume_monitor_get_volume_for_uuid IA__g_volume_monitor_get_volume_for_uuid
-
-extern __typeof (g_volume_monitor_get_volumes) IA__g_volume_monitor_get_volumes __attribute((visibility("hidden")));
-#define g_volume_monitor_get_volumes IA__g_volume_monitor_get_volumes
-
-extern __typeof (g_volume_monitor_get_mounts) IA__g_volume_monitor_get_mounts __attribute((visibility("hidden")));
-#define g_volume_monitor_get_mounts IA__g_volume_monitor_get_mounts
-
-extern __typeof (g_volume_monitor_get_mount_for_uuid) IA__g_volume_monitor_get_mount_for_uuid __attribute((visibility("hidden")));
-#define g_volume_monitor_get_mount_for_uuid IA__g_volume_monitor_get_mount_for_uuid
-
-#endif
-#if IN_FILE(__G_UNION_VOLUME_MONITOR_C__)
-extern __typeof (g_volume_monitor_get) IA__g_volume_monitor_get __attribute((visibility("hidden")));
-#define g_volume_monitor_get IA__g_volume_monitor_get
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_volume_monitor_adopt_orphan_mount) IA__g_volume_monitor_adopt_orphan_mount __attribute((visibility("hidden")));
-#define g_volume_monitor_adopt_orphan_mount IA__g_volume_monitor_adopt_orphan_mount
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_NATIVE_VOLUME_MONITOR_H__)
-#if IN_FILE(__G_NATIVE_VOLUME_MONITOR_C__)
-extern __typeof (g_native_volume_monitor_get_type) IA__g_native_volume_monitor_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_native_volume_monitor_get_type IA__g_native_volume_monitor_get_type
-
-#endif
-#endif
-#if IN_HEADER(__G_LOCAL_FILE_MONITOR_H__)
-#if IN_FILE(__G_LOCAL_FILE_MONITOR_C__)
-#ifdef G_OS_UNIX
-extern __typeof (g_local_file_monitor_get_type) IA__g_local_file_monitor_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_local_file_monitor_get_type IA__g_local_file_monitor_get_type
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_LOCAL_DIRECTORY_MONITOR_H__)
-#if IN_FILE(__G_LOCAL_DIRECTORY_MONITOR_C__)
-#ifdef G_OS_UNIX
-extern __typeof (g_local_directory_monitor_get_type) IA__g_local_directory_monitor_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_local_directory_monitor_get_type IA__g_local_directory_monitor_get_type
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__GIO_ENUM_TYPES_H__)
-#if IN_FILE(__GIO_ENUM_TYPES_C__)
-extern __typeof (g_mount_unmount_flags_get_type) IA__g_mount_unmount_flags_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_mount_unmount_flags_get_type IA__g_mount_unmount_flags_get_type
-
-extern __typeof (g_app_info_create_flags_get_type) IA__g_app_info_create_flags_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_app_info_create_flags_get_type IA__g_app_info_create_flags_get_type
-
-extern __typeof (g_converter_flags_get_type) IA__g_converter_flags_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_converter_flags_get_type IA__g_converter_flags_get_type
-
-extern __typeof (g_converter_result_get_type) IA__g_converter_result_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_converter_result_get_type IA__g_converter_result_get_type
-
-extern __typeof (g_data_stream_byte_order_get_type) IA__g_data_stream_byte_order_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_data_stream_byte_order_get_type IA__g_data_stream_byte_order_get_type
-
-extern __typeof (g_data_stream_newline_type_get_type) IA__g_data_stream_newline_type_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_data_stream_newline_type_get_type IA__g_data_stream_newline_type_get_type
-
-extern __typeof (g_file_attribute_info_flags_get_type) IA__g_file_attribute_info_flags_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_attribute_info_flags_get_type IA__g_file_attribute_info_flags_get_type
-
-extern __typeof (g_file_attribute_status_get_type) IA__g_file_attribute_status_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_attribute_status_get_type IA__g_file_attribute_status_get_type
-
-extern __typeof (g_file_attribute_type_get_type) IA__g_file_attribute_type_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_attribute_type_get_type IA__g_file_attribute_type_get_type
-
-extern __typeof (g_file_copy_flags_get_type) IA__g_file_copy_flags_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_copy_flags_get_type IA__g_file_copy_flags_get_type
-
-extern __typeof (g_file_create_flags_get_type) IA__g_file_create_flags_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_create_flags_get_type IA__g_file_create_flags_get_type
-
-extern __typeof (g_file_monitor_event_get_type) IA__g_file_monitor_event_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_monitor_event_get_type IA__g_file_monitor_event_get_type
-
-extern __typeof (g_file_monitor_flags_get_type) IA__g_file_monitor_flags_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_monitor_flags_get_type IA__g_file_monitor_flags_get_type
-
-extern __typeof (g_file_query_info_flags_get_type) IA__g_file_query_info_flags_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_query_info_flags_get_type IA__g_file_query_info_flags_get_type
-
-extern __typeof (g_file_type_get_type) IA__g_file_type_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_type_get_type IA__g_file_type_get_type
-
-extern __typeof (g_filesystem_preview_type_get_type) IA__g_filesystem_preview_type_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_filesystem_preview_type_get_type IA__g_filesystem_preview_type_get_type
-
-extern __typeof (g_io_error_enum_get_type) IA__g_io_error_enum_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_io_error_enum_get_type IA__g_io_error_enum_get_type
-
-extern __typeof (g_mount_mount_flags_get_type) IA__g_mount_mount_flags_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_mount_mount_flags_get_type IA__g_mount_mount_flags_get_type
-
-extern __typeof (g_mount_operation_result_get_type) IA__g_mount_operation_result_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_mount_operation_result_get_type IA__g_mount_operation_result_get_type
-
-extern __typeof (g_drive_start_flags_get_type) IA__g_drive_start_flags_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_drive_start_flags_get_type IA__g_drive_start_flags_get_type
-
-extern __typeof (g_drive_start_stop_type_get_type) IA__g_drive_start_stop_type_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_drive_start_stop_type_get_type IA__g_drive_start_stop_type_get_type
-
-extern __typeof (g_output_stream_splice_flags_get_type) IA__g_output_stream_splice_flags_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_output_stream_splice_flags_get_type IA__g_output_stream_splice_flags_get_type
-
-extern __typeof (g_ask_password_flags_get_type) IA__g_ask_password_flags_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_ask_password_flags_get_type IA__g_ask_password_flags_get_type
-
-extern __typeof (g_password_save_get_type) IA__g_password_save_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_password_save_get_type IA__g_password_save_get_type
-
-extern __typeof (g_emblem_origin_get_type) IA__g_emblem_origin_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_emblem_origin_get_type IA__g_emblem_origin_get_type
-
-extern __typeof (g_socket_family_get_type) IA__g_socket_family_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_socket_family_get_type IA__g_socket_family_get_type
-
-extern __typeof (g_socket_type_get_type) IA__g_socket_type_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_socket_type_get_type IA__g_socket_type_get_type
-
-extern __typeof (g_socket_protocol_get_type) IA__g_socket_protocol_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_socket_protocol_get_type IA__g_socket_protocol_get_type
-
-extern __typeof (g_socket_msg_flags_get_type) IA__g_socket_msg_flags_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_socket_msg_flags_get_type IA__g_socket_msg_flags_get_type
-
-extern __typeof (g_resolver_error_get_type) IA__g_resolver_error_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_resolver_error_get_type IA__g_resolver_error_get_type
-
-extern __typeof (g_zlib_compressor_format_get_type) IA__g_zlib_compressor_format_get_type __attribute((visibility("hidden")));
-#define g_zlib_compressor_format_get_type IA__g_zlib_compressor_format_get_type
-
-#endif
-#endif
-#if IN_HEADER(__G_EMBLEMED_ICON_H__)
-#if IN_FILE(__G_EMBLEMED_ICON_C__)
-extern __typeof (g_emblemed_icon_get_type) IA__g_emblemed_icon_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_emblemed_icon_get_type IA__g_emblemed_icon_get_type
-
-extern __typeof (g_emblemed_icon_new) IA__g_emblemed_icon_new __attribute((visibility("hidden")));
-#define g_emblemed_icon_new IA__g_emblemed_icon_new
-
-extern __typeof (g_emblemed_icon_get_icon) IA__g_emblemed_icon_get_icon __attribute((visibility("hidden")));
-#define g_emblemed_icon_get_icon IA__g_emblemed_icon_get_icon
-
-extern __typeof (g_emblemed_icon_get_emblems) IA__g_emblemed_icon_get_emblems __attribute((visibility("hidden")));
-#define g_emblemed_icon_get_emblems IA__g_emblemed_icon_get_emblems
-
-extern __typeof (g_emblemed_icon_add_emblem) IA__g_emblemed_icon_add_emblem __attribute((visibility("hidden")));
-#define g_emblemed_icon_add_emblem IA__g_emblemed_icon_add_emblem
-
-#endif
-#endif
-#if IN_HEADER(__G_EMBLEM_H__)
-#if IN_FILE(__G_EMBLEM_C__)
-extern __typeof (g_emblem_get_type) IA__g_emblem_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_emblem_get_type IA__g_emblem_get_type
-
-extern __typeof (g_emblem_new) IA__g_emblem_new __attribute((visibility("hidden")));
-#define g_emblem_new IA__g_emblem_new
-
-extern __typeof (g_emblem_new_with_origin) IA__g_emblem_new_with_origin __attribute((visibility("hidden")));
-#define g_emblem_new_with_origin IA__g_emblem_new_with_origin
-
-extern __typeof (g_emblem_get_icon) IA__g_emblem_get_icon __attribute((visibility("hidden")));
-#define g_emblem_get_icon IA__g_emblem_get_icon
-
-extern __typeof (g_emblem_get_origin) IA__g_emblem_get_origin __attribute((visibility("hidden")));
-#define g_emblem_get_origin IA__g_emblem_get_origin
-
-#endif
-#endif
-#if IN_HEADER(__G_INET_ADDRESS_H__)
-#if IN_FILE(__G_INET_ADDRESS_C__)
-extern __typeof (g_inet_address_new_from_string) IA__g_inet_address_new_from_string __attribute((visibility("hidden")));
-#define g_inet_address_new_from_string IA__g_inet_address_new_from_string
-
-extern __typeof (g_inet_address_new_from_bytes) IA__g_inet_address_new_from_bytes __attribute((visibility("hidden")));
-#define g_inet_address_new_from_bytes IA__g_inet_address_new_from_bytes
-
-extern __typeof (g_inet_address_new_any) IA__g_inet_address_new_any __attribute((visibility("hidden")));
-#define g_inet_address_new_any IA__g_inet_address_new_any
-
-extern __typeof (g_inet_address_new_loopback) IA__g_inet_address_new_loopback __attribute((visibility("hidden")));
-#define g_inet_address_new_loopback IA__g_inet_address_new_loopback
-
-extern __typeof (g_inet_address_get_family) IA__g_inet_address_get_family __attribute((visibility("hidden")));
-#define g_inet_address_get_family IA__g_inet_address_get_family
-
-extern __typeof (g_inet_address_get_type) IA__g_inet_address_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_inet_address_get_type IA__g_inet_address_get_type
-
-extern __typeof (g_inet_address_get_is_any) IA__g_inet_address_get_is_any __attribute((visibility("hidden")));
-#define g_inet_address_get_is_any IA__g_inet_address_get_is_any
-
-extern __typeof (g_inet_address_get_is_link_local) IA__g_inet_address_get_is_link_local __attribute((visibility("hidden")));
-#define g_inet_address_get_is_link_local IA__g_inet_address_get_is_link_local
-
-extern __typeof (g_inet_address_get_is_loopback) IA__g_inet_address_get_is_loopback __attribute((visibility("hidden")));
-#define g_inet_address_get_is_loopback IA__g_inet_address_get_is_loopback
-
-extern __typeof (g_inet_address_get_is_mc_global) IA__g_inet_address_get_is_mc_global __attribute((visibility("hidden")));
-#define g_inet_address_get_is_mc_global IA__g_inet_address_get_is_mc_global
-
-extern __typeof (g_inet_address_get_is_mc_link_local) IA__g_inet_address_get_is_mc_link_local __attribute((visibility("hidden")));
-#define g_inet_address_get_is_mc_link_local IA__g_inet_address_get_is_mc_link_local
-
-extern __typeof (g_inet_address_get_is_mc_node_local) IA__g_inet_address_get_is_mc_node_local __attribute((visibility("hidden")));
-#define g_inet_address_get_is_mc_node_local IA__g_inet_address_get_is_mc_node_local
-
-extern __typeof (g_inet_address_get_is_mc_org_local) IA__g_inet_address_get_is_mc_org_local __attribute((visibility("hidden")));
-#define g_inet_address_get_is_mc_org_local IA__g_inet_address_get_is_mc_org_local
-
-extern __typeof (g_inet_address_get_is_mc_site_local) IA__g_inet_address_get_is_mc_site_local __attribute((visibility("hidden")));
-#define g_inet_address_get_is_mc_site_local IA__g_inet_address_get_is_mc_site_local
-
-extern __typeof (g_inet_address_get_is_multicast) IA__g_inet_address_get_is_multicast __attribute((visibility("hidden")));
-#define g_inet_address_get_is_multicast IA__g_inet_address_get_is_multicast
-
-extern __typeof (g_inet_address_get_is_site_local) IA__g_inet_address_get_is_site_local __attribute((visibility("hidden")));
-#define g_inet_address_get_is_site_local IA__g_inet_address_get_is_site_local
-
-extern __typeof (g_inet_address_to_bytes) IA__g_inet_address_to_bytes __attribute((visibility("hidden")));
-#define g_inet_address_to_bytes IA__g_inet_address_to_bytes
-
-extern __typeof (g_inet_address_get_native_size) IA__g_inet_address_get_native_size __attribute((visibility("hidden")));
-#define g_inet_address_get_native_size IA__g_inet_address_get_native_size
-
-extern __typeof (g_inet_address_to_string) IA__g_inet_address_to_string __attribute((visibility("hidden")));
-#define g_inet_address_to_string IA__g_inet_address_to_string
-
-#endif
-#endif
-#if IN_HEADER(__G_INET_SOCKET_ADDRESS_H__)
-#if IN_FILE(__G_INET_SOCKET_ADDRESS_C__)
-extern __typeof (g_inet_socket_address_get_address) IA__g_inet_socket_address_get_address __attribute((visibility("hidden")));
-#define g_inet_socket_address_get_address IA__g_inet_socket_address_get_address
-
-extern __typeof (g_inet_socket_address_get_port) IA__g_inet_socket_address_get_port __attribute((visibility("hidden")));
-#define g_inet_socket_address_get_port IA__g_inet_socket_address_get_port
-
-extern __typeof (g_inet_socket_address_get_type) IA__g_inet_socket_address_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_inet_socket_address_get_type IA__g_inet_socket_address_get_type
-
-extern __typeof (g_inet_socket_address_new) IA__g_inet_socket_address_new __attribute((visibility("hidden")));
-#define g_inet_socket_address_new IA__g_inet_socket_address_new
-
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_SOCKET_ADDRESS_H__)
-#if IN_FILE(__G_UNIX_SOCKET_ADDRESS_C__)
-#ifdef G_OS_UNIX
-extern __typeof (g_unix_socket_address_get_type) IA__g_unix_socket_address_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unix_socket_address_get_type IA__g_unix_socket_address_get_type
-
-extern __typeof (g_unix_socket_address_new) IA__g_unix_socket_address_new __attribute((visibility("hidden")));
-#define g_unix_socket_address_new IA__g_unix_socket_address_new
-
-extern __typeof (g_unix_socket_address_new_abstract) IA__g_unix_socket_address_new_abstract __attribute((visibility("hidden")));
-#define g_unix_socket_address_new_abstract IA__g_unix_socket_address_new_abstract
-
-extern __typeof (g_unix_socket_address_abstract_names_supported) IA__g_unix_socket_address_abstract_names_supported __attribute((visibility("hidden")));
-#define g_unix_socket_address_abstract_names_supported IA__g_unix_socket_address_abstract_names_supported
-
-extern __typeof (g_unix_socket_address_get_is_abstract) IA__g_unix_socket_address_get_is_abstract __attribute((visibility("hidden")));
-#define g_unix_socket_address_get_is_abstract IA__g_unix_socket_address_get_is_abstract
-
-extern __typeof (g_unix_socket_address_get_path) IA__g_unix_socket_address_get_path __attribute((visibility("hidden")));
-#define g_unix_socket_address_get_path IA__g_unix_socket_address_get_path
-
-extern __typeof (g_unix_socket_address_get_path_len) IA__g_unix_socket_address_get_path_len __attribute((visibility("hidden")));
-#define g_unix_socket_address_get_path_len IA__g_unix_socket_address_get_path_len
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_ADDRESS_H__)
-#if IN_FILE(__G_SOCKET_ADDRESS_C__)
-extern __typeof (g_socket_address_new_from_native) IA__g_socket_address_new_from_native __attribute((visibility("hidden")));
-#define g_socket_address_new_from_native IA__g_socket_address_new_from_native
-
-extern __typeof (g_socket_address_get_type) IA__g_socket_address_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_socket_address_get_type IA__g_socket_address_get_type
-
-extern __typeof (g_socket_address_get_family) IA__g_socket_address_get_family __attribute((visibility("hidden")));
-#define g_socket_address_get_family IA__g_socket_address_get_family
-
-extern __typeof (g_socket_address_get_native_size) IA__g_socket_address_get_native_size __attribute((visibility("hidden")));
-#define g_socket_address_get_native_size IA__g_socket_address_get_native_size
-
-extern __typeof (g_socket_address_to_native) IA__g_socket_address_to_native __attribute((visibility("hidden")));
-#define g_socket_address_to_native IA__g_socket_address_to_native
-
-#endif
-#endif
-#if IN_HEADER(__G_RESOLVER_H__)
-#if IN_FILE(__G_RESOLVER_C__)
-extern __typeof (g_resolver_error_quark) IA__g_resolver_error_quark __attribute((visibility("hidden")));
-#define g_resolver_error_quark IA__g_resolver_error_quark
-
-extern __typeof (g_resolver_free_addresses) IA__g_resolver_free_addresses __attribute((visibility("hidden")));
-#define g_resolver_free_addresses IA__g_resolver_free_addresses
-
-extern __typeof (g_resolver_free_targets) IA__g_resolver_free_targets __attribute((visibility("hidden")));
-#define g_resolver_free_targets IA__g_resolver_free_targets
-
-extern __typeof (g_resolver_get_type) IA__g_resolver_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_resolver_get_type IA__g_resolver_get_type
-
-extern __typeof (g_resolver_get_default) IA__g_resolver_get_default __attribute((visibility("hidden")));
-#define g_resolver_get_default IA__g_resolver_get_default
-
-extern __typeof (g_resolver_set_default) IA__g_resolver_set_default __attribute((visibility("hidden")));
-#define g_resolver_set_default IA__g_resolver_set_default
-
-extern __typeof (g_resolver_lookup_by_name) IA__g_resolver_lookup_by_name __attribute((visibility("hidden")));
-#define g_resolver_lookup_by_name IA__g_resolver_lookup_by_name
-
-extern __typeof (g_resolver_lookup_by_name_async) IA__g_resolver_lookup_by_name_async __attribute((visibility("hidden")));
-#define g_resolver_lookup_by_name_async IA__g_resolver_lookup_by_name_async
-
-extern __typeof (g_resolver_lookup_by_name_finish) IA__g_resolver_lookup_by_name_finish __attribute((visibility("hidden")));
-#define g_resolver_lookup_by_name_finish IA__g_resolver_lookup_by_name_finish
-
-extern __typeof (g_resolver_lookup_by_address) IA__g_resolver_lookup_by_address __attribute((visibility("hidden")));
-#define g_resolver_lookup_by_address IA__g_resolver_lookup_by_address
-
-extern __typeof (g_resolver_lookup_by_address_async) IA__g_resolver_lookup_by_address_async __attribute((visibility("hidden")));
-#define g_resolver_lookup_by_address_async IA__g_resolver_lookup_by_address_async
-
-extern __typeof (g_resolver_lookup_by_address_finish) IA__g_resolver_lookup_by_address_finish __attribute((visibility("hidden")));
-#define g_resolver_lookup_by_address_finish IA__g_resolver_lookup_by_address_finish
-
-extern __typeof (g_resolver_lookup_service) IA__g_resolver_lookup_service __attribute((visibility("hidden")));
-#define g_resolver_lookup_service IA__g_resolver_lookup_service
-
-extern __typeof (g_resolver_lookup_service_async) IA__g_resolver_lookup_service_async __attribute((visibility("hidden")));
-#define g_resolver_lookup_service_async IA__g_resolver_lookup_service_async
-
-extern __typeof (g_resolver_lookup_service_finish) IA__g_resolver_lookup_service_finish __attribute((visibility("hidden")));
-#define g_resolver_lookup_service_finish IA__g_resolver_lookup_service_finish
-
-#endif
-#endif
-#if IN_HEADER(__G_THREADED_RESOLVER_H__)
-#if IN_FILE(__G_THREADED_RESOLVER_C__)
-extern __typeof (g_threaded_resolver_get_type) IA__g_threaded_resolver_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_threaded_resolver_get_type IA__g_threaded_resolver_get_type
-
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_RESOLVER_H__)
-#if IN_FILE(__G_UNIX_RESOLVER_C__)
-#ifdef G_OS_UNIX
-extern __typeof (g_unix_resolver_get_type) IA__g_unix_resolver_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unix_resolver_get_type IA__g_unix_resolver_get_type
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_WIN32_RESOLVER_H__)
-#if IN_FILE(__G_WIN32_RESOLVER_C__)
-#ifdef G_OS_WIN32
-extern __typeof (g_win32_resolver_get_type) IA__g_win32_resolver_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_win32_resolver_get_type IA__g_win32_resolver_get_type
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_SRV_TARGET_H__)
-#if IN_FILE(__G_SRV_TARGET_C__)
-extern __typeof (g_srv_target_get_type) IA__g_srv_target_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_srv_target_get_type IA__g_srv_target_get_type
-
-extern __typeof (g_srv_target_new) IA__g_srv_target_new __attribute((visibility("hidden")));
-#define g_srv_target_new IA__g_srv_target_new
-
-extern __typeof (g_srv_target_copy) IA__g_srv_target_copy __attribute((visibility("hidden")));
-#define g_srv_target_copy IA__g_srv_target_copy
-
-extern __typeof (g_srv_target_free) IA__g_srv_target_free __attribute((visibility("hidden")));
-#define g_srv_target_free IA__g_srv_target_free
-
-extern __typeof (g_srv_target_get_hostname) IA__g_srv_target_get_hostname __attribute((visibility("hidden")));
-#define g_srv_target_get_hostname IA__g_srv_target_get_hostname
-
-extern __typeof (g_srv_target_get_port) IA__g_srv_target_get_port __attribute((visibility("hidden")));
-#define g_srv_target_get_port IA__g_srv_target_get_port
-
-extern __typeof (g_srv_target_get_priority) IA__g_srv_target_get_priority __attribute((visibility("hidden")));
-#define g_srv_target_get_priority IA__g_srv_target_get_priority
-
-extern __typeof (g_srv_target_get_weight) IA__g_srv_target_get_weight __attribute((visibility("hidden")));
-#define g_srv_target_get_weight IA__g_srv_target_get_weight
-
-extern __typeof (g_srv_target_list_sort) IA__g_srv_target_list_sort __attribute((visibility("hidden")));
-#define g_srv_target_list_sort IA__g_srv_target_list_sort
-
-#endif
-#endif
-#if IN_HEADER(__G_NETWORK_ADDRESS_H__)
-#if IN_FILE(__G_NETWORK_ADDRESS_C__)
-extern __typeof (g_network_address_get_type) IA__g_network_address_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_network_address_get_type IA__g_network_address_get_type
-
-extern __typeof (g_network_address_get_hostname) IA__g_network_address_get_hostname __attribute((visibility("hidden")));
-#define g_network_address_get_hostname IA__g_network_address_get_hostname
-
-extern __typeof (g_network_address_get_port) IA__g_network_address_get_port __attribute((visibility("hidden")));
-#define g_network_address_get_port IA__g_network_address_get_port
-
-extern __typeof (g_network_address_new) IA__g_network_address_new __attribute((visibility("hidden")));
-#define g_network_address_new IA__g_network_address_new
-
-extern __typeof (g_network_address_parse) IA__g_network_address_parse __attribute((visibility("hidden")));
-#define g_network_address_parse IA__g_network_address_parse
-
-#endif
-#endif
-#if IN_HEADER(__G_NETWORK_SERVICE_H__)
-#if IN_FILE(__G_NETWORK_SERVICE_C__)
-extern __typeof (g_network_service_get_type) IA__g_network_service_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_network_service_get_type IA__g_network_service_get_type
-
-extern __typeof (g_network_service_get_service) IA__g_network_service_get_service __attribute((visibility("hidden")));
-#define g_network_service_get_service IA__g_network_service_get_service
-
-extern __typeof (g_network_service_get_protocol) IA__g_network_service_get_protocol __attribute((visibility("hidden")));
-#define g_network_service_get_protocol IA__g_network_service_get_protocol
-
-extern __typeof (g_network_service_get_domain) IA__g_network_service_get_domain __attribute((visibility("hidden")));
-#define g_network_service_get_domain IA__g_network_service_get_domain
-
-extern __typeof (g_network_service_new) IA__g_network_service_new __attribute((visibility("hidden")));
-#define g_network_service_new IA__g_network_service_new
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_CONNECTABLE_H__)
-#if IN_FILE(__G_SOCKET_CONNECTABLE_C__)
-extern __typeof (g_socket_connectable_enumerate) IA__g_socket_connectable_enumerate __attribute((visibility("hidden")));
-#define g_socket_connectable_enumerate IA__g_socket_connectable_enumerate
-
-extern __typeof (g_socket_connectable_get_type) IA__g_socket_connectable_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_socket_connectable_get_type IA__g_socket_connectable_get_type
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_ADDRESS_ENUMERATOR_H__)
-#if IN_FILE(__G_SOCKET_ADDRESS_ENUMERATOR_C__)
-extern __typeof (g_socket_address_enumerator_get_type) IA__g_socket_address_enumerator_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_socket_address_enumerator_get_type IA__g_socket_address_enumerator_get_type
-
-extern __typeof (g_socket_address_enumerator_next) IA__g_socket_address_enumerator_next __attribute((visibility("hidden")));
-#define g_socket_address_enumerator_next IA__g_socket_address_enumerator_next
-
-extern __typeof (g_socket_address_enumerator_next_async) IA__g_socket_address_enumerator_next_async __attribute((visibility("hidden")));
-#define g_socket_address_enumerator_next_async IA__g_socket_address_enumerator_next_async
-
-extern __typeof (g_socket_address_enumerator_next_finish) IA__g_socket_address_enumerator_next_finish __attribute((visibility("hidden")));
-#define g_socket_address_enumerator_next_finish IA__g_socket_address_enumerator_next_finish
-
-#endif
-#endif
-#if IN_HEADER(__G_ASYNC_INITABLE_H__)
-#if IN_FILE(__G_ASYNC_INITABLE_C__)
-extern __typeof (g_async_initable_get_type) IA__g_async_initable_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_async_initable_get_type IA__g_async_initable_get_type
-
-extern __typeof (g_async_initable_init_async) IA__g_async_initable_init_async __attribute((visibility("hidden")));
-#define g_async_initable_init_async IA__g_async_initable_init_async
-
-extern __typeof (g_async_initable_init_finish) IA__g_async_initable_init_finish __attribute((visibility("hidden")));
-#define g_async_initable_init_finish IA__g_async_initable_init_finish
-
-extern __typeof (g_async_initable_new_async) IA__g_async_initable_new_async __attribute((visibility("hidden")));
-#define g_async_initable_new_async IA__g_async_initable_new_async
-
-extern __typeof (g_async_initable_new_finish) IA__g_async_initable_new_finish __attribute((visibility("hidden")));
-#define g_async_initable_new_finish IA__g_async_initable_new_finish
-
-extern __typeof (g_async_initable_new_valist_async) IA__g_async_initable_new_valist_async __attribute((visibility("hidden")));
-#define g_async_initable_new_valist_async IA__g_async_initable_new_valist_async
-
-extern __typeof (g_async_initable_newv_async) IA__g_async_initable_newv_async __attribute((visibility("hidden")));
-#define g_async_initable_newv_async IA__g_async_initable_newv_async
-
-#endif
-#endif
-#if IN_HEADER(__G_INITABLE_H__)
-#if IN_FILE(__G_INITABLE_C__)
-extern __typeof (g_initable_get_type) IA__g_initable_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_initable_get_type IA__g_initable_get_type
-
-extern __typeof (g_initable_init) IA__g_initable_init __attribute((visibility("hidden")));
-#define g_initable_init IA__g_initable_init
-
-extern __typeof (g_initable_new) IA__g_initable_new __attribute((visibility("hidden")));
-#define g_initable_new IA__g_initable_new
-
-extern __typeof (g_initable_newv) IA__g_initable_newv __attribute((visibility("hidden")));
-#define g_initable_newv IA__g_initable_newv
-
-extern __typeof (g_initable_new_valist) IA__g_initable_new_valist __attribute((visibility("hidden")));
-#define g_initable_new_valist IA__g_initable_new_valist
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_H__)
-#if IN_FILE(__G_SOCKET_C__)
-extern __typeof (g_socket_get_type) IA__g_socket_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_socket_get_type IA__g_socket_get_type
-
-extern __typeof (g_socket_accept) IA__g_socket_accept __attribute((visibility("hidden")));
-#define g_socket_accept IA__g_socket_accept
-
-extern __typeof (g_socket_bind) IA__g_socket_bind __attribute((visibility("hidden")));
-#define g_socket_bind IA__g_socket_bind
-
-extern __typeof (g_socket_check_connect_result) IA__g_socket_check_connect_result __attribute((visibility("hidden")));
-#define g_socket_check_connect_result IA__g_socket_check_connect_result
-
-extern __typeof (g_socket_close) IA__g_socket_close __attribute((visibility("hidden")));
-#define g_socket_close IA__g_socket_close
-
-extern __typeof (g_socket_shutdown) IA__g_socket_shutdown __attribute((visibility("hidden")));
-#define g_socket_shutdown IA__g_socket_shutdown
-
-extern __typeof (g_socket_condition_check) IA__g_socket_condition_check __attribute((visibility("hidden")));
-#define g_socket_condition_check IA__g_socket_condition_check
-
-extern __typeof (g_socket_condition_wait) IA__g_socket_condition_wait __attribute((visibility("hidden")));
-#define g_socket_condition_wait IA__g_socket_condition_wait
-
-extern __typeof (g_socket_connect) IA__g_socket_connect __attribute((visibility("hidden")));
-#define g_socket_connect IA__g_socket_connect
-
-extern __typeof (g_socket_create_source) IA__g_socket_create_source __attribute((visibility("hidden")));
-#define g_socket_create_source IA__g_socket_create_source
-
-extern __typeof (g_socket_get_blocking) IA__g_socket_get_blocking __attribute((visibility("hidden")));
-#define g_socket_get_blocking IA__g_socket_get_blocking
-
-extern __typeof (g_socket_get_family) IA__g_socket_get_family __attribute((visibility("hidden")));
-#define g_socket_get_family IA__g_socket_get_family
-
-extern __typeof (g_socket_get_fd) IA__g_socket_get_fd __attribute((visibility("hidden")));
-#define g_socket_get_fd IA__g_socket_get_fd
-
-extern __typeof (g_socket_get_keepalive) IA__g_socket_get_keepalive __attribute((visibility("hidden")));
-#define g_socket_get_keepalive IA__g_socket_get_keepalive
-
-extern __typeof (g_socket_get_listen_backlog) IA__g_socket_get_listen_backlog __attribute((visibility("hidden")));
-#define g_socket_get_listen_backlog IA__g_socket_get_listen_backlog
-
-extern __typeof (g_socket_get_local_address) IA__g_socket_get_local_address __attribute((visibility("hidden")));
-#define g_socket_get_local_address IA__g_socket_get_local_address
-
-extern __typeof (g_socket_get_protocol) IA__g_socket_get_protocol __attribute((visibility("hidden")));
-#define g_socket_get_protocol IA__g_socket_get_protocol
-
-extern __typeof (g_socket_get_remote_address) IA__g_socket_get_remote_address __attribute((visibility("hidden")));
-#define g_socket_get_remote_address IA__g_socket_get_remote_address
-
-extern __typeof (g_socket_get_socket_type) IA__g_socket_get_socket_type __attribute((visibility("hidden")));
-#define g_socket_get_socket_type IA__g_socket_get_socket_type
-
-extern __typeof (g_socket_is_closed) IA__g_socket_is_closed __attribute((visibility("hidden")));
-#define g_socket_is_closed IA__g_socket_is_closed
-
-extern __typeof (g_socket_is_connected) IA__g_socket_is_connected __attribute((visibility("hidden")));
-#define g_socket_is_connected IA__g_socket_is_connected
-
-extern __typeof (g_socket_listen) IA__g_socket_listen __attribute((visibility("hidden")));
-#define g_socket_listen IA__g_socket_listen
-
-extern __typeof (g_socket_new) IA__g_socket_new __attribute((visibility("hidden")));
-#define g_socket_new IA__g_socket_new
-
-extern __typeof (g_socket_new_from_fd) IA__g_socket_new_from_fd __attribute((visibility("hidden")));
-#define g_socket_new_from_fd IA__g_socket_new_from_fd
-
-extern __typeof (g_socket_receive) IA__g_socket_receive __attribute((visibility("hidden")));
-#define g_socket_receive IA__g_socket_receive
-
-extern __typeof (g_socket_receive_from) IA__g_socket_receive_from __attribute((visibility("hidden")));
-#define g_socket_receive_from IA__g_socket_receive_from
-
-extern __typeof (g_socket_receive_message) IA__g_socket_receive_message __attribute((visibility("hidden")));
-#define g_socket_receive_message IA__g_socket_receive_message
-
-extern __typeof (g_socket_send) IA__g_socket_send __attribute((visibility("hidden")));
-#define g_socket_send IA__g_socket_send
-
-extern __typeof (g_socket_send_message) IA__g_socket_send_message __attribute((visibility("hidden")));
-#define g_socket_send_message IA__g_socket_send_message
-
-extern __typeof (g_socket_send_to) IA__g_socket_send_to __attribute((visibility("hidden")));
-#define g_socket_send_to IA__g_socket_send_to
-
-extern __typeof (g_socket_set_blocking) IA__g_socket_set_blocking __attribute((visibility("hidden")));
-#define g_socket_set_blocking IA__g_socket_set_blocking
-
-extern __typeof (g_socket_set_keepalive) IA__g_socket_set_keepalive __attribute((visibility("hidden")));
-#define g_socket_set_keepalive IA__g_socket_set_keepalive
-
-extern __typeof (g_socket_set_listen_backlog) IA__g_socket_set_listen_backlog __attribute((visibility("hidden")));
-#define g_socket_set_listen_backlog IA__g_socket_set_listen_backlog
-
-extern __typeof (g_socket_speaks_ipv4) IA__g_socket_speaks_ipv4 __attribute((visibility("hidden")));
-#define g_socket_speaks_ipv4 IA__g_socket_speaks_ipv4
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_CONTROL_MESSAGE_H__)
-#if IN_FILE(__G_SOCKET_CONTROL_MESSAGE_C__)
-extern __typeof (g_socket_control_message_get_type) IA__g_socket_control_message_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_socket_control_message_get_type IA__g_socket_control_message_get_type
-
-extern __typeof (g_socket_control_message_deserialize) IA__g_socket_control_message_deserialize __attribute((visibility("hidden")));
-#define g_socket_control_message_deserialize IA__g_socket_control_message_deserialize
-
-extern __typeof (g_socket_control_message_get_level) IA__g_socket_control_message_get_level __attribute((visibility("hidden")));
-#define g_socket_control_message_get_level IA__g_socket_control_message_get_level
-
-extern __typeof (g_socket_control_message_get_msg_type) IA__g_socket_control_message_get_msg_type __attribute((visibility("hidden")));
-#define g_socket_control_message_get_msg_type IA__g_socket_control_message_get_msg_type
-
-extern __typeof (g_socket_control_message_get_size) IA__g_socket_control_message_get_size __attribute((visibility("hidden")));
-#define g_socket_control_message_get_size IA__g_socket_control_message_get_size
-
-extern __typeof (g_socket_control_message_serialize) IA__g_socket_control_message_serialize __attribute((visibility("hidden")));
-#define g_socket_control_message_serialize IA__g_socket_control_message_serialize
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_CLIENT_H__)
-#if IN_FILE(__G_SOCKET_CLIENT_C__)
-extern __typeof (g_socket_client_get_type) IA__g_socket_client_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_socket_client_get_type IA__g_socket_client_get_type
-
-extern __typeof (g_socket_client_connect) IA__g_socket_client_connect __attribute((visibility("hidden")));
-#define g_socket_client_connect IA__g_socket_client_connect
-
-extern __typeof (g_socket_client_connect_async) IA__g_socket_client_connect_async __attribute((visibility("hidden")));
-#define g_socket_client_connect_async IA__g_socket_client_connect_async
-
-extern __typeof (g_socket_client_connect_finish) IA__g_socket_client_connect_finish __attribute((visibility("hidden")));
-#define g_socket_client_connect_finish IA__g_socket_client_connect_finish
-
-extern __typeof (g_socket_client_connect_to_host) IA__g_socket_client_connect_to_host __attribute((visibility("hidden")));
-#define g_socket_client_connect_to_host IA__g_socket_client_connect_to_host
-
-extern __typeof (g_socket_client_connect_to_host_async) IA__g_socket_client_connect_to_host_async __attribute((visibility("hidden")));
-#define g_socket_client_connect_to_host_async IA__g_socket_client_connect_to_host_async
-
-extern __typeof (g_socket_client_connect_to_host_finish) IA__g_socket_client_connect_to_host_finish __attribute((visibility("hidden")));
-#define g_socket_client_connect_to_host_finish IA__g_socket_client_connect_to_host_finish
-
-extern __typeof (g_socket_client_connect_to_service) IA__g_socket_client_connect_to_service __attribute((visibility("hidden")));
-#define g_socket_client_connect_to_service IA__g_socket_client_connect_to_service
-
-extern __typeof (g_socket_client_connect_to_service_async) IA__g_socket_client_connect_to_service_async __attribute((visibility("hidden")));
-#define g_socket_client_connect_to_service_async IA__g_socket_client_connect_to_service_async
-
-extern __typeof (g_socket_client_connect_to_service_finish) IA__g_socket_client_connect_to_service_finish __attribute((visibility("hidden")));
-#define g_socket_client_connect_to_service_finish IA__g_socket_client_connect_to_service_finish
-
-extern __typeof (g_socket_client_get_family) IA__g_socket_client_get_family __attribute((visibility("hidden")));
-#define g_socket_client_get_family IA__g_socket_client_get_family
-
-extern __typeof (g_socket_client_get_local_address) IA__g_socket_client_get_local_address __attribute((visibility("hidden")));
-#define g_socket_client_get_local_address IA__g_socket_client_get_local_address
-
-extern __typeof (g_socket_client_get_protocol) IA__g_socket_client_get_protocol __attribute((visibility("hidden")));
-#define g_socket_client_get_protocol IA__g_socket_client_get_protocol
-
-extern __typeof (g_socket_client_get_socket_type) IA__g_socket_client_get_socket_type __attribute((visibility("hidden")));
-#define g_socket_client_get_socket_type IA__g_socket_client_get_socket_type
-
-extern __typeof (g_socket_client_new) IA__g_socket_client_new __attribute((visibility("hidden")));
-#define g_socket_client_new IA__g_socket_client_new
-
-extern __typeof (g_socket_client_set_family) IA__g_socket_client_set_family __attribute((visibility("hidden")));
-#define g_socket_client_set_family IA__g_socket_client_set_family
-
-extern __typeof (g_socket_client_set_local_address) IA__g_socket_client_set_local_address __attribute((visibility("hidden")));
-#define g_socket_client_set_local_address IA__g_socket_client_set_local_address
-
-extern __typeof (g_socket_client_set_protocol) IA__g_socket_client_set_protocol __attribute((visibility("hidden")));
-#define g_socket_client_set_protocol IA__g_socket_client_set_protocol
-
-extern __typeof (g_socket_client_set_socket_type) IA__g_socket_client_set_socket_type __attribute((visibility("hidden")));
-#define g_socket_client_set_socket_type IA__g_socket_client_set_socket_type
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_CONNECTION_H__)
-#if IN_FILE(__G_SOCKET_CONNECTION_C__)
-extern __typeof (g_socket_connection_get_type) IA__g_socket_connection_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_socket_connection_get_type IA__g_socket_connection_get_type
-
-extern __typeof (g_socket_connection_factory_create_connection) IA__g_socket_connection_factory_create_connection __attribute((visibility("hidden")));
-#define g_socket_connection_factory_create_connection IA__g_socket_connection_factory_create_connection
-
-extern __typeof (g_socket_connection_factory_lookup_type) IA__g_socket_connection_factory_lookup_type __attribute((visibility("hidden")));
-#define g_socket_connection_factory_lookup_type IA__g_socket_connection_factory_lookup_type
-
-extern __typeof (g_socket_connection_factory_register_type) IA__g_socket_connection_factory_register_type __attribute((visibility("hidden")));
-#define g_socket_connection_factory_register_type IA__g_socket_connection_factory_register_type
-
-extern __typeof (g_socket_connection_get_local_address) IA__g_socket_connection_get_local_address __attribute((visibility("hidden")));
-#define g_socket_connection_get_local_address IA__g_socket_connection_get_local_address
-
-extern __typeof (g_socket_connection_get_remote_address) IA__g_socket_connection_get_remote_address __attribute((visibility("hidden")));
-#define g_socket_connection_get_remote_address IA__g_socket_connection_get_remote_address
-
-extern __typeof (g_socket_connection_get_socket) IA__g_socket_connection_get_socket __attribute((visibility("hidden")));
-#define g_socket_connection_get_socket IA__g_socket_connection_get_socket
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_LISTENER_H__)
-#if IN_FILE(__G_SOCKET_LISTENER_C__)
-extern __typeof (g_socket_listener_get_type) IA__g_socket_listener_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_socket_listener_get_type IA__g_socket_listener_get_type
-
-extern __typeof (g_socket_listener_accept) IA__g_socket_listener_accept __attribute((visibility("hidden")));
-#define g_socket_listener_accept IA__g_socket_listener_accept
-
-extern __typeof (g_socket_listener_accept_async) IA__g_socket_listener_accept_async __attribute((visibility("hidden")));
-#define g_socket_listener_accept_async IA__g_socket_listener_accept_async
-
-extern __typeof (g_socket_listener_accept_finish) IA__g_socket_listener_accept_finish __attribute((visibility("hidden")));
-#define g_socket_listener_accept_finish IA__g_socket_listener_accept_finish
-
-extern __typeof (g_socket_listener_accept_socket) IA__g_socket_listener_accept_socket __attribute((visibility("hidden")));
-#define g_socket_listener_accept_socket IA__g_socket_listener_accept_socket
-
-extern __typeof (g_socket_listener_accept_socket_async) IA__g_socket_listener_accept_socket_async __attribute((visibility("hidden")));
-#define g_socket_listener_accept_socket_async IA__g_socket_listener_accept_socket_async
-
-extern __typeof (g_socket_listener_accept_socket_finish) IA__g_socket_listener_accept_socket_finish __attribute((visibility("hidden")));
-#define g_socket_listener_accept_socket_finish IA__g_socket_listener_accept_socket_finish
-
-extern __typeof (g_socket_listener_add_address) IA__g_socket_listener_add_address __attribute((visibility("hidden")));
-#define g_socket_listener_add_address IA__g_socket_listener_add_address
-
-extern __typeof (g_socket_listener_add_inet_port) IA__g_socket_listener_add_inet_port __attribute((visibility("hidden")));
-#define g_socket_listener_add_inet_port IA__g_socket_listener_add_inet_port
-
-extern __typeof (g_socket_listener_add_any_inet_port) IA__g_socket_listener_add_any_inet_port __attribute((visibility("hidden")));
-#define g_socket_listener_add_any_inet_port IA__g_socket_listener_add_any_inet_port
-
-extern __typeof (g_socket_listener_add_socket) IA__g_socket_listener_add_socket __attribute((visibility("hidden")));
-#define g_socket_listener_add_socket IA__g_socket_listener_add_socket
-
-extern __typeof (g_socket_listener_close) IA__g_socket_listener_close __attribute((visibility("hidden")));
-#define g_socket_listener_close IA__g_socket_listener_close
-
-extern __typeof (g_socket_listener_new) IA__g_socket_listener_new __attribute((visibility("hidden")));
-#define g_socket_listener_new IA__g_socket_listener_new
-
-extern __typeof (g_socket_listener_set_backlog) IA__g_socket_listener_set_backlog __attribute((visibility("hidden")));
-#define g_socket_listener_set_backlog IA__g_socket_listener_set_backlog
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_SERVICE_H__)
-#if IN_FILE(__G_SOCKET_SERVICE_C__)
-extern __typeof (g_socket_service_get_type) IA__g_socket_service_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_socket_service_get_type IA__g_socket_service_get_type
-
-extern __typeof (g_socket_service_is_active) IA__g_socket_service_is_active __attribute((visibility("hidden")));
-#define g_socket_service_is_active IA__g_socket_service_is_active
-
-extern __typeof (g_socket_service_new) IA__g_socket_service_new __attribute((visibility("hidden")));
-#define g_socket_service_new IA__g_socket_service_new
-
-extern __typeof (g_socket_service_start) IA__g_socket_service_start __attribute((visibility("hidden")));
-#define g_socket_service_start IA__g_socket_service_start
-
-extern __typeof (g_socket_service_stop) IA__g_socket_service_stop __attribute((visibility("hidden")));
-#define g_socket_service_stop IA__g_socket_service_stop
-
-#endif
-#endif
-#if IN_HEADER(__G_THREADED_SOCKET_SERVICE_H__)
-#if IN_FILE(__G_THREADED_SOCKET_SERVICE_C__)
-extern __typeof (g_threaded_socket_service_get_type) IA__g_threaded_socket_service_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_threaded_socket_service_get_type IA__g_threaded_socket_service_get_type
-
-extern __typeof (g_threaded_socket_service_new) IA__g_threaded_socket_service_new __attribute((visibility("hidden")));
-#define g_threaded_socket_service_new IA__g_threaded_socket_service_new
-
-#endif
-#endif
-#if IN_HEADER(__G_TCP_CONNECTION_H__)
-#if IN_FILE(__G_TCP_CONNECTION_C__)
-extern __typeof (g_tcp_connection_get_type) IA__g_tcp_connection_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_tcp_connection_get_type IA__g_tcp_connection_get_type
-
-extern __typeof (g_tcp_connection_set_graceful_disconnect) IA__g_tcp_connection_set_graceful_disconnect __attribute((visibility("hidden")));
-#define g_tcp_connection_set_graceful_disconnect IA__g_tcp_connection_set_graceful_disconnect
-
-extern __typeof (g_tcp_connection_get_graceful_disconnect) IA__g_tcp_connection_get_graceful_disconnect __attribute((visibility("hidden")));
-#define g_tcp_connection_get_graceful_disconnect IA__g_tcp_connection_get_graceful_disconnect
-
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_CONNECTION_H__)
-#if IN_FILE(__G_UNIX_CONNECTION_C__)
-#ifndef G_OS_WIN32
-extern __typeof (g_unix_connection_get_type) IA__g_unix_connection_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unix_connection_get_type IA__g_unix_connection_get_type
-
-extern __typeof (g_unix_connection_receive_fd) IA__g_unix_connection_receive_fd __attribute((visibility("hidden")));
-#define g_unix_connection_receive_fd IA__g_unix_connection_receive_fd
-
-extern __typeof (g_unix_connection_send_fd) IA__g_unix_connection_send_fd __attribute((visibility("hidden")));
-#define g_unix_connection_send_fd IA__g_unix_connection_send_fd
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_FD_MESSAGE_H__)
-#if IN_FILE(__G_UNIX_FD_MESSAGE_C__)
-#ifndef G_OS_WIN32
-extern __typeof (g_unix_fd_message_get_type) IA__g_unix_fd_message_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unix_fd_message_get_type IA__g_unix_fd_message_get_type
-
-extern __typeof (g_unix_fd_message_append_fd) IA__g_unix_fd_message_append_fd __attribute((visibility("hidden")));
-#define g_unix_fd_message_append_fd IA__g_unix_fd_message_append_fd
-
-extern __typeof (g_unix_fd_message_new) IA__g_unix_fd_message_new __attribute((visibility("hidden")));
-#define g_unix_fd_message_new IA__g_unix_fd_message_new
-
-extern __typeof (g_unix_fd_message_steal_fds) IA__g_unix_fd_message_steal_fds __attribute((visibility("hidden")));
-#define g_unix_fd_message_steal_fds IA__g_unix_fd_message_steal_fds
-
-extern __typeof (g_unix_fd_message_get_fd_list) IA__g_unix_fd_message_get_fd_list __attribute((visibility("hidden")));
-#define g_unix_fd_message_get_fd_list IA__g_unix_fd_message_get_fd_list
-
-extern __typeof (g_unix_fd_message_new_with_fd_list) IA__g_unix_fd_message_new_with_fd_list __attribute((visibility("hidden")));
-#define g_unix_fd_message_new_with_fd_list IA__g_unix_fd_message_new_with_fd_list
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_FD_LIST_H__)
-#if IN_FILE(__G_UNIX_FD_LIST_C__)
-#ifndef G_OS_WIN32
-extern __typeof (g_unix_fd_list_append) IA__g_unix_fd_list_append __attribute((visibility("hidden")));
-#define g_unix_fd_list_append IA__g_unix_fd_list_append
-
-extern __typeof (g_unix_fd_list_get) IA__g_unix_fd_list_get __attribute((visibility("hidden")));
-#define g_unix_fd_list_get IA__g_unix_fd_list_get
-
-extern __typeof (g_unix_fd_list_get_length) IA__g_unix_fd_list_get_length __attribute((visibility("hidden")));
-#define g_unix_fd_list_get_length IA__g_unix_fd_list_get_length
-
-extern __typeof (g_unix_fd_list_get_type) IA__g_unix_fd_list_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unix_fd_list_get_type IA__g_unix_fd_list_get_type
-
-extern __typeof (g_unix_fd_list_new) IA__g_unix_fd_list_new __attribute((visibility("hidden")));
-#define g_unix_fd_list_new IA__g_unix_fd_list_new
-
-extern __typeof (g_unix_fd_list_new_from_array) IA__g_unix_fd_list_new_from_array __attribute((visibility("hidden")));
-#define g_unix_fd_list_new_from_array IA__g_unix_fd_list_new_from_array
-
-extern __typeof (g_unix_fd_list_peek_fds) IA__g_unix_fd_list_peek_fds __attribute((visibility("hidden")));
-#define g_unix_fd_list_peek_fds IA__g_unix_fd_list_peek_fds
-
-extern __typeof (g_unix_fd_list_steal_fds) IA__g_unix_fd_list_steal_fds __attribute((visibility("hidden")));
-#define g_unix_fd_list_steal_fds IA__g_unix_fd_list_steal_fds
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_ZLIB_COMPRESSOR_H__)
-#if IN_FILE(__G_ZLIB_COMPRESSOR_C__)
-extern __typeof (g_zlib_compressor_get_type) IA__g_zlib_compressor_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_zlib_compressor_get_type IA__g_zlib_compressor_get_type
-
-extern __typeof (g_zlib_compressor_new) IA__g_zlib_compressor_new __attribute((visibility("hidden")));
-#define g_zlib_compressor_new IA__g_zlib_compressor_new
-
-#endif
-#endif
-#if IN_HEADER(__G_ZLIB_DECOMPRESSOR_H__)
-#if IN_FILE(__G_ZLIB_DECOMPRESSOR_C__)
-extern __typeof (g_zlib_decompressor_get_type) IA__g_zlib_decompressor_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_zlib_decompressor_get_type IA__g_zlib_decompressor_get_type
-
-extern __typeof (g_zlib_decompressor_new) IA__g_zlib_decompressor_new __attribute((visibility("hidden")));
-#define g_zlib_decompressor_new IA__g_zlib_decompressor_new
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_DESCRIPTOR_BASED_H__)
-#if IN_FILE(__G_FILE_DESCRIPTOR_BASED_C__)
-extern __typeof (g_file_descriptor_based_get_type) IA__g_file_descriptor_based_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_file_descriptor_based_get_type IA__g_file_descriptor_based_get_type
-
-extern __typeof (g_file_descriptor_based_get_fd) IA__g_file_descriptor_based_get_fd __attribute((visibility("hidden")));
-#define g_file_descriptor_based_get_fd IA__g_file_descriptor_based_get_fd
-
-#endif
-#endif
-
-#endif /* G_HAVE_GNUC_VISIBILITY */
-#endif /* DISABLE_VISIBILITY */
+++ /dev/null
-/* Generated by makegioalias.pl */
-
-#ifndef DISABLE_VISIBILITY
-
-#include "glib.h"
-
-#ifdef G_HAVE_GNUC_VISIBILITY
-
-#undef IN_FILE
-#define IN_FILE defined
-
-#undef IN_HEADER
-#define IN_HEADER(x) 1
-
-#if IN_HEADER(__G_VFS_H__)
-#if IN_FILE(__G_VFS_C__)
-#undef g_vfs_get_type
-extern __typeof (g_vfs_get_type) g_vfs_get_type __attribute((alias("IA__g_vfs_get_type"), visibility("default")));
-
-#undef g_vfs_is_active
-extern __typeof (g_vfs_is_active) g_vfs_is_active __attribute((alias("IA__g_vfs_is_active"), visibility("default")));
-
-#undef g_vfs_get_file_for_path
-extern __typeof (g_vfs_get_file_for_path) g_vfs_get_file_for_path __attribute((alias("IA__g_vfs_get_file_for_path"), visibility("default")));
-
-#undef g_vfs_get_file_for_uri
-extern __typeof (g_vfs_get_file_for_uri) g_vfs_get_file_for_uri __attribute((alias("IA__g_vfs_get_file_for_uri"), visibility("default")));
-
-#undef g_vfs_get_supported_uri_schemes
-extern __typeof (g_vfs_get_supported_uri_schemes) g_vfs_get_supported_uri_schemes __attribute((alias("IA__g_vfs_get_supported_uri_schemes"), visibility("default")));
-
-#undef g_vfs_parse_name
-extern __typeof (g_vfs_parse_name) g_vfs_parse_name __attribute((alias("IA__g_vfs_parse_name"), visibility("default")));
-
-#undef g_vfs_get_default
-extern __typeof (g_vfs_get_default) g_vfs_get_default __attribute((alias("IA__g_vfs_get_default"), visibility("default")));
-
-#undef g_vfs_get_local
-extern __typeof (g_vfs_get_local) g_vfs_get_local __attribute((alias("IA__g_vfs_get_local"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_APP_INFO_H__)
-#if IN_FILE(__G_APP_INFO_C__)
-#undef g_app_info_get_type
-extern __typeof (g_app_info_get_type) g_app_info_get_type __attribute((alias("IA__g_app_info_get_type"), visibility("default")));
-
-#undef g_app_launch_context_get_type
-extern __typeof (g_app_launch_context_get_type) g_app_launch_context_get_type __attribute((alias("IA__g_app_launch_context_get_type"), visibility("default")));
-
-#undef g_app_info_dup
-extern __typeof (g_app_info_dup) g_app_info_dup __attribute((alias("IA__g_app_info_dup"), visibility("default")));
-
-#undef g_app_info_equal
-extern __typeof (g_app_info_equal) g_app_info_equal __attribute((alias("IA__g_app_info_equal"), visibility("default")));
-
-#undef g_app_info_get_id
-extern __typeof (g_app_info_get_id) g_app_info_get_id __attribute((alias("IA__g_app_info_get_id"), visibility("default")));
-
-#undef g_app_info_get_name
-extern __typeof (g_app_info_get_name) g_app_info_get_name __attribute((alias("IA__g_app_info_get_name"), visibility("default")));
-
-#undef g_app_info_get_display_name
-extern __typeof (g_app_info_get_display_name) g_app_info_get_display_name __attribute((alias("IA__g_app_info_get_display_name"), visibility("default")));
-
-#undef g_app_info_get_description
-extern __typeof (g_app_info_get_description) g_app_info_get_description __attribute((alias("IA__g_app_info_get_description"), visibility("default")));
-
-#undef g_app_info_get_executable
-extern __typeof (g_app_info_get_executable) g_app_info_get_executable __attribute((alias("IA__g_app_info_get_executable"), visibility("default")));
-
-#undef g_app_info_get_commandline
-extern __typeof (g_app_info_get_commandline) g_app_info_get_commandline __attribute((alias("IA__g_app_info_get_commandline"), visibility("default")));
-
-#undef g_app_info_get_icon
-extern __typeof (g_app_info_get_icon) g_app_info_get_icon __attribute((alias("IA__g_app_info_get_icon"), visibility("default")));
-
-#undef g_app_info_launch
-extern __typeof (g_app_info_launch) g_app_info_launch __attribute((alias("IA__g_app_info_launch"), visibility("default")));
-
-#undef g_app_info_supports_uris
-extern __typeof (g_app_info_supports_uris) g_app_info_supports_uris __attribute((alias("IA__g_app_info_supports_uris"), visibility("default")));
-
-#undef g_app_info_supports_files
-extern __typeof (g_app_info_supports_files) g_app_info_supports_files __attribute((alias("IA__g_app_info_supports_files"), visibility("default")));
-
-#undef g_app_info_launch_uris
-extern __typeof (g_app_info_launch_uris) g_app_info_launch_uris __attribute((alias("IA__g_app_info_launch_uris"), visibility("default")));
-
-#undef g_app_info_should_show
-extern __typeof (g_app_info_should_show) g_app_info_should_show __attribute((alias("IA__g_app_info_should_show"), visibility("default")));
-
-#undef g_app_info_set_as_default_for_type
-extern __typeof (g_app_info_set_as_default_for_type) g_app_info_set_as_default_for_type __attribute((alias("IA__g_app_info_set_as_default_for_type"), visibility("default")));
-
-#undef g_app_info_set_as_default_for_extension
-extern __typeof (g_app_info_set_as_default_for_extension) g_app_info_set_as_default_for_extension __attribute((alias("IA__g_app_info_set_as_default_for_extension"), visibility("default")));
-
-#undef g_app_info_add_supports_type
-extern __typeof (g_app_info_add_supports_type) g_app_info_add_supports_type __attribute((alias("IA__g_app_info_add_supports_type"), visibility("default")));
-
-#undef g_app_info_can_remove_supports_type
-extern __typeof (g_app_info_can_remove_supports_type) g_app_info_can_remove_supports_type __attribute((alias("IA__g_app_info_can_remove_supports_type"), visibility("default")));
-
-#undef g_app_info_remove_supports_type
-extern __typeof (g_app_info_remove_supports_type) g_app_info_remove_supports_type __attribute((alias("IA__g_app_info_remove_supports_type"), visibility("default")));
-
-#undef g_app_info_launch_default_for_uri
-extern __typeof (g_app_info_launch_default_for_uri) g_app_info_launch_default_for_uri __attribute((alias("IA__g_app_info_launch_default_for_uri"), visibility("default")));
-
-#undef g_app_info_can_delete
-extern __typeof (g_app_info_can_delete) g_app_info_can_delete __attribute((alias("IA__g_app_info_can_delete"), visibility("default")));
-
-#undef g_app_info_delete
-extern __typeof (g_app_info_delete) g_app_info_delete __attribute((alias("IA__g_app_info_delete"), visibility("default")));
-
-#undef g_app_launch_context_new
-extern __typeof (g_app_launch_context_new) g_app_launch_context_new __attribute((alias("IA__g_app_launch_context_new"), visibility("default")));
-
-#undef g_app_launch_context_get_display
-extern __typeof (g_app_launch_context_get_display) g_app_launch_context_get_display __attribute((alias("IA__g_app_launch_context_get_display"), visibility("default")));
-
-#undef g_app_launch_context_get_startup_notify_id
-extern __typeof (g_app_launch_context_get_startup_notify_id) g_app_launch_context_get_startup_notify_id __attribute((alias("IA__g_app_launch_context_get_startup_notify_id"), visibility("default")));
-
-#undef g_app_launch_context_launch_failed
-extern __typeof (g_app_launch_context_launch_failed) g_app_launch_context_launch_failed __attribute((alias("IA__g_app_launch_context_launch_failed"), visibility("default")));
-
-#endif
-#if IN_FILE(__G_DESKTOP_APP_INFO_C__)
-#undef g_app_info_create_from_commandline
-extern __typeof (g_app_info_create_from_commandline) g_app_info_create_from_commandline __attribute((alias("IA__g_app_info_create_from_commandline"), visibility("default")));
-
-#undef g_app_info_get_all
-extern __typeof (g_app_info_get_all) g_app_info_get_all __attribute((alias("IA__g_app_info_get_all"), visibility("default")));
-
-#undef g_app_info_get_all_for_type
-extern __typeof (g_app_info_get_all_for_type) g_app_info_get_all_for_type __attribute((alias("IA__g_app_info_get_all_for_type"), visibility("default")));
-
-#undef g_app_info_get_default_for_type
-extern __typeof (g_app_info_get_default_for_type) g_app_info_get_default_for_type __attribute((alias("IA__g_app_info_get_default_for_type"), visibility("default")));
-
-#undef g_app_info_get_default_for_uri_scheme
-extern __typeof (g_app_info_get_default_for_uri_scheme) g_app_info_get_default_for_uri_scheme __attribute((alias("IA__g_app_info_get_default_for_uri_scheme"), visibility("default")));
-
-#undef g_app_info_reset_type_associations
-extern __typeof (g_app_info_reset_type_associations) g_app_info_reset_type_associations __attribute((alias("IA__g_app_info_reset_type_associations"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_DESKTOP_APP_INFO_H__)
-#if IN_FILE(__G_DESKTOP_APP_INFO_C__)
-#ifdef G_OS_UNIX
-#undef g_desktop_app_info_new_from_filename
-extern __typeof (g_desktop_app_info_new_from_filename) g_desktop_app_info_new_from_filename __attribute((alias("IA__g_desktop_app_info_new_from_filename"), visibility("default")));
-
-#undef g_desktop_app_info_new_from_keyfile
-extern __typeof (g_desktop_app_info_new_from_keyfile) g_desktop_app_info_new_from_keyfile __attribute((alias("IA__g_desktop_app_info_new_from_keyfile"), visibility("default")));
-
-#undef g_desktop_app_info_new
-extern __typeof (g_desktop_app_info_new) g_desktop_app_info_new __attribute((alias("IA__g_desktop_app_info_new"), visibility("default")));
-
-#undef g_desktop_app_info_get_filename
-extern __typeof (g_desktop_app_info_get_filename) g_desktop_app_info_get_filename __attribute((alias("IA__g_desktop_app_info_get_filename"), visibility("default")));
-
-#undef g_desktop_app_info_get_type
-extern __typeof (g_desktop_app_info_get_type) g_desktop_app_info_get_type __attribute((alias("IA__g_desktop_app_info_get_type"), visibility("default")));
-
-#undef g_desktop_app_info_get_is_hidden
-extern __typeof (g_desktop_app_info_get_is_hidden) g_desktop_app_info_get_is_hidden __attribute((alias("IA__g_desktop_app_info_get_is_hidden"), visibility("default")));
-
-#undef g_desktop_app_info_set_desktop_env
-extern __typeof (g_desktop_app_info_set_desktop_env) g_desktop_app_info_set_desktop_env __attribute((alias("IA__g_desktop_app_info_set_desktop_env"), visibility("default")));
-
-#undef g_desktop_app_info_lookup_get_type
-extern __typeof (g_desktop_app_info_lookup_get_type) g_desktop_app_info_lookup_get_type __attribute((alias("IA__g_desktop_app_info_lookup_get_type"), visibility("default")));
-
-#undef g_desktop_app_info_lookup_get_default_for_uri_scheme
-extern __typeof (g_desktop_app_info_lookup_get_default_for_uri_scheme) g_desktop_app_info_lookup_get_default_for_uri_scheme __attribute((alias("IA__g_desktop_app_info_lookup_get_default_for_uri_scheme"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_ASYNC_RESULT_H__)
-#if IN_FILE(__G_ASYNC_RESULT_C__)
-#undef g_async_result_get_type
-extern __typeof (g_async_result_get_type) g_async_result_get_type __attribute((alias("IA__g_async_result_get_type"), visibility("default")));
-
-#undef g_async_result_get_user_data
-extern __typeof (g_async_result_get_user_data) g_async_result_get_user_data __attribute((alias("IA__g_async_result_get_user_data"), visibility("default")));
-
-#undef g_async_result_get_source_object
-extern __typeof (g_async_result_get_source_object) g_async_result_get_source_object __attribute((alias("IA__g_async_result_get_source_object"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_BUFFERED_INPUT_STREAM_H__)
-#if IN_FILE(__G_BUFFERED_INPUT_STREAM_C__)
-#undef g_buffered_input_stream_get_type
-extern __typeof (g_buffered_input_stream_get_type) g_buffered_input_stream_get_type __attribute((alias("IA__g_buffered_input_stream_get_type"), visibility("default")));
-
-#undef g_buffered_input_stream_new
-extern __typeof (g_buffered_input_stream_new) g_buffered_input_stream_new __attribute((alias("IA__g_buffered_input_stream_new"), visibility("default")));
-
-#undef g_buffered_input_stream_new_sized
-extern __typeof (g_buffered_input_stream_new_sized) g_buffered_input_stream_new_sized __attribute((alias("IA__g_buffered_input_stream_new_sized"), visibility("default")));
-
-#undef g_buffered_input_stream_get_buffer_size
-extern __typeof (g_buffered_input_stream_get_buffer_size) g_buffered_input_stream_get_buffer_size __attribute((alias("IA__g_buffered_input_stream_get_buffer_size"), visibility("default")));
-
-#undef g_buffered_input_stream_set_buffer_size
-extern __typeof (g_buffered_input_stream_set_buffer_size) g_buffered_input_stream_set_buffer_size __attribute((alias("IA__g_buffered_input_stream_set_buffer_size"), visibility("default")));
-
-#undef g_buffered_input_stream_get_available
-extern __typeof (g_buffered_input_stream_get_available) g_buffered_input_stream_get_available __attribute((alias("IA__g_buffered_input_stream_get_available"), visibility("default")));
-
-#undef g_buffered_input_stream_peek
-extern __typeof (g_buffered_input_stream_peek) g_buffered_input_stream_peek __attribute((alias("IA__g_buffered_input_stream_peek"), visibility("default")));
-
-#undef g_buffered_input_stream_peek_buffer
-extern __typeof (g_buffered_input_stream_peek_buffer) g_buffered_input_stream_peek_buffer __attribute((alias("IA__g_buffered_input_stream_peek_buffer"), visibility("default")));
-
-#undef g_buffered_input_stream_fill
-extern __typeof (g_buffered_input_stream_fill) g_buffered_input_stream_fill __attribute((alias("IA__g_buffered_input_stream_fill"), visibility("default")));
-
-#undef g_buffered_input_stream_fill_async
-extern __typeof (g_buffered_input_stream_fill_async) g_buffered_input_stream_fill_async __attribute((alias("IA__g_buffered_input_stream_fill_async"), visibility("default")));
-
-#undef g_buffered_input_stream_fill_finish
-extern __typeof (g_buffered_input_stream_fill_finish) g_buffered_input_stream_fill_finish __attribute((alias("IA__g_buffered_input_stream_fill_finish"), visibility("default")));
-
-#undef g_buffered_input_stream_read_byte
-extern __typeof (g_buffered_input_stream_read_byte) g_buffered_input_stream_read_byte __attribute((alias("IA__g_buffered_input_stream_read_byte"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_BUFFERED_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_BUFFERED_OUTPUT_STREAM_C__)
-#undef g_buffered_output_stream_get_type
-extern __typeof (g_buffered_output_stream_get_type) g_buffered_output_stream_get_type __attribute((alias("IA__g_buffered_output_stream_get_type"), visibility("default")));
-
-#undef g_buffered_output_stream_new
-extern __typeof (g_buffered_output_stream_new) g_buffered_output_stream_new __attribute((alias("IA__g_buffered_output_stream_new"), visibility("default")));
-
-#undef g_buffered_output_stream_new_sized
-extern __typeof (g_buffered_output_stream_new_sized) g_buffered_output_stream_new_sized __attribute((alias("IA__g_buffered_output_stream_new_sized"), visibility("default")));
-
-#undef g_buffered_output_stream_get_buffer_size
-extern __typeof (g_buffered_output_stream_get_buffer_size) g_buffered_output_stream_get_buffer_size __attribute((alias("IA__g_buffered_output_stream_get_buffer_size"), visibility("default")));
-
-#undef g_buffered_output_stream_set_buffer_size
-extern __typeof (g_buffered_output_stream_set_buffer_size) g_buffered_output_stream_set_buffer_size __attribute((alias("IA__g_buffered_output_stream_set_buffer_size"), visibility("default")));
-
-#undef g_buffered_output_stream_get_auto_grow
-extern __typeof (g_buffered_output_stream_get_auto_grow) g_buffered_output_stream_get_auto_grow __attribute((alias("IA__g_buffered_output_stream_get_auto_grow"), visibility("default")));
-
-#undef g_buffered_output_stream_set_auto_grow
-extern __typeof (g_buffered_output_stream_set_auto_grow) g_buffered_output_stream_set_auto_grow __attribute((alias("IA__g_buffered_output_stream_set_auto_grow"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_CANCELLABLE_H__)
-#if IN_FILE(__G_CANCELLABLE_C__)
-#undef g_cancellable_get_type
-extern __typeof (g_cancellable_get_type) g_cancellable_get_type __attribute((alias("IA__g_cancellable_get_type"), visibility("default")));
-
-#undef g_cancellable_new
-extern __typeof (g_cancellable_new) g_cancellable_new __attribute((alias("IA__g_cancellable_new"), visibility("default")));
-
-#undef g_cancellable_is_cancelled
-extern __typeof (g_cancellable_is_cancelled) g_cancellable_is_cancelled __attribute((alias("IA__g_cancellable_is_cancelled"), visibility("default")));
-
-#undef g_cancellable_set_error_if_cancelled
-extern __typeof (g_cancellable_set_error_if_cancelled) g_cancellable_set_error_if_cancelled __attribute((alias("IA__g_cancellable_set_error_if_cancelled"), visibility("default")));
-
-#undef g_cancellable_get_fd
-extern __typeof (g_cancellable_get_fd) g_cancellable_get_fd __attribute((alias("IA__g_cancellable_get_fd"), visibility("default")));
-
-#undef g_cancellable_make_pollfd
-extern __typeof (g_cancellable_make_pollfd) g_cancellable_make_pollfd __attribute((alias("IA__g_cancellable_make_pollfd"), visibility("default")));
-
-#undef g_cancellable_release_fd
-extern __typeof (g_cancellable_release_fd) g_cancellable_release_fd __attribute((alias("IA__g_cancellable_release_fd"), visibility("default")));
-
-#undef g_cancellable_get_current
-extern __typeof (g_cancellable_get_current) g_cancellable_get_current __attribute((alias("IA__g_cancellable_get_current"), visibility("default")));
-
-#undef g_cancellable_push_current
-extern __typeof (g_cancellable_push_current) g_cancellable_push_current __attribute((alias("IA__g_cancellable_push_current"), visibility("default")));
-
-#undef g_cancellable_pop_current
-extern __typeof (g_cancellable_pop_current) g_cancellable_pop_current __attribute((alias("IA__g_cancellable_pop_current"), visibility("default")));
-
-#undef g_cancellable_reset
-extern __typeof (g_cancellable_reset) g_cancellable_reset __attribute((alias("IA__g_cancellable_reset"), visibility("default")));
-
-#undef g_cancellable_cancel
-extern __typeof (g_cancellable_cancel) g_cancellable_cancel __attribute((alias("IA__g_cancellable_cancel"), visibility("default")));
-
-#undef g_cancellable_connect
-extern __typeof (g_cancellable_connect) g_cancellable_connect __attribute((alias("IA__g_cancellable_connect"), visibility("default")));
-
-#undef g_cancellable_disconnect
-extern __typeof (g_cancellable_disconnect) g_cancellable_disconnect __attribute((alias("IA__g_cancellable_disconnect"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_CONTENT_TYPE_H__)
-#if IN_FILE(__G_CONTENT_TYPE_C__)
-#undef g_content_type_equals
-extern __typeof (g_content_type_equals) g_content_type_equals __attribute((alias("IA__g_content_type_equals"), visibility("default")));
-
-#undef g_content_type_is_a
-extern __typeof (g_content_type_is_a) g_content_type_is_a __attribute((alias("IA__g_content_type_is_a"), visibility("default")));
-
-#undef g_content_type_is_unknown
-extern __typeof (g_content_type_is_unknown) g_content_type_is_unknown __attribute((alias("IA__g_content_type_is_unknown"), visibility("default")));
-
-#undef g_content_type_get_description
-extern __typeof (g_content_type_get_description) g_content_type_get_description __attribute((alias("IA__g_content_type_get_description"), visibility("default")));
-
-#undef g_content_type_get_mime_type
-extern __typeof (g_content_type_get_mime_type) g_content_type_get_mime_type __attribute((alias("IA__g_content_type_get_mime_type"), visibility("default")));
-
-#undef g_content_type_get_icon
-extern __typeof (g_content_type_get_icon) g_content_type_get_icon __attribute((alias("IA__g_content_type_get_icon"), visibility("default")));
-
-#undef g_content_type_can_be_executable
-extern __typeof (g_content_type_can_be_executable) g_content_type_can_be_executable __attribute((alias("IA__g_content_type_can_be_executable"), visibility("default")));
-
-#undef g_content_type_from_mime_type
-extern __typeof (g_content_type_from_mime_type) g_content_type_from_mime_type __attribute((alias("IA__g_content_type_from_mime_type"), visibility("default")));
-
-#undef g_content_type_guess
-extern __typeof (g_content_type_guess) g_content_type_guess __attribute((alias("IA__g_content_type_guess"), visibility("default")));
-
-#undef g_content_type_guess_for_tree
-extern __typeof (g_content_type_guess_for_tree) g_content_type_guess_for_tree __attribute((alias("IA__g_content_type_guess_for_tree"), visibility("default")));
-
-#undef g_content_types_get_registered
-extern __typeof (g_content_types_get_registered) g_content_types_get_registered __attribute((alias("IA__g_content_types_get_registered"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_CONVERTER_H__)
-#if IN_FILE(__G_CONVERTER_C__)
-#undef g_converter_get_type
-extern __typeof (g_converter_get_type) g_converter_get_type __attribute((alias("IA__g_converter_get_type"), visibility("default")));
-
-#undef g_converter_reset
-extern __typeof (g_converter_reset) g_converter_reset __attribute((alias("IA__g_converter_reset"), visibility("default")));
-
-#undef g_converter_convert
-extern __typeof (g_converter_convert) g_converter_convert __attribute((alias("IA__g_converter_convert"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_CONVERTER_INPUT_STREAM_H__)
-#if IN_FILE(__G_CONVERTER_INPUT_STREAM_C__)
-#undef g_converter_input_stream_get_type
-extern __typeof (g_converter_input_stream_get_type) g_converter_input_stream_get_type __attribute((alias("IA__g_converter_input_stream_get_type"), visibility("default")));
-
-#undef g_converter_input_stream_new
-extern __typeof (g_converter_input_stream_new) g_converter_input_stream_new __attribute((alias("IA__g_converter_input_stream_new"), visibility("default")));
-
-#undef g_converter_input_stream_get_converter
-extern __typeof (g_converter_input_stream_get_converter) g_converter_input_stream_get_converter __attribute((alias("IA__g_converter_input_stream_get_converter"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_CONVERTER_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_CONVERTER_OUTPUT_STREAM_C__)
-#undef g_converter_output_stream_get_type
-extern __typeof (g_converter_output_stream_get_type) g_converter_output_stream_get_type __attribute((alias("IA__g_converter_output_stream_get_type"), visibility("default")));
-
-#undef g_converter_output_stream_new
-extern __typeof (g_converter_output_stream_new) g_converter_output_stream_new __attribute((alias("IA__g_converter_output_stream_new"), visibility("default")));
-
-#undef g_converter_output_stream_get_converter
-extern __typeof (g_converter_output_stream_get_converter) g_converter_output_stream_get_converter __attribute((alias("IA__g_converter_output_stream_get_converter"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_CHARSET_CONVERTER_H__)
-#if IN_FILE(__G_CHARSET_CONVERTER_C__)
-#undef g_charset_converter_get_type
-extern __typeof (g_charset_converter_get_type) g_charset_converter_get_type __attribute((alias("IA__g_charset_converter_get_type"), visibility("default")));
-
-#undef g_charset_converter_new
-extern __typeof (g_charset_converter_new) g_charset_converter_new __attribute((alias("IA__g_charset_converter_new"), visibility("default")));
-
-#undef g_charset_converter_get_num_fallbacks
-extern __typeof (g_charset_converter_get_num_fallbacks) g_charset_converter_get_num_fallbacks __attribute((alias("IA__g_charset_converter_get_num_fallbacks"), visibility("default")));
-
-#undef g_charset_converter_get_use_fallback
-extern __typeof (g_charset_converter_get_use_fallback) g_charset_converter_get_use_fallback __attribute((alias("IA__g_charset_converter_get_use_fallback"), visibility("default")));
-
-#undef g_charset_converter_set_use_fallback
-extern __typeof (g_charset_converter_set_use_fallback) g_charset_converter_set_use_fallback __attribute((alias("IA__g_charset_converter_set_use_fallback"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_DATA_INPUT_STREAM_H__)
-#if IN_FILE(__G_DATA_INPUT_STREAM_C__)
-#undef g_data_input_stream_get_type
-extern __typeof (g_data_input_stream_get_type) g_data_input_stream_get_type __attribute((alias("IA__g_data_input_stream_get_type"), visibility("default")));
-
-#undef g_data_input_stream_new
-extern __typeof (g_data_input_stream_new) g_data_input_stream_new __attribute((alias("IA__g_data_input_stream_new"), visibility("default")));
-
-#undef g_data_input_stream_set_byte_order
-extern __typeof (g_data_input_stream_set_byte_order) g_data_input_stream_set_byte_order __attribute((alias("IA__g_data_input_stream_set_byte_order"), visibility("default")));
-
-#undef g_data_input_stream_get_byte_order
-extern __typeof (g_data_input_stream_get_byte_order) g_data_input_stream_get_byte_order __attribute((alias("IA__g_data_input_stream_get_byte_order"), visibility("default")));
-
-#undef g_data_input_stream_set_newline_type
-extern __typeof (g_data_input_stream_set_newline_type) g_data_input_stream_set_newline_type __attribute((alias("IA__g_data_input_stream_set_newline_type"), visibility("default")));
-
-#undef g_data_input_stream_get_newline_type
-extern __typeof (g_data_input_stream_get_newline_type) g_data_input_stream_get_newline_type __attribute((alias("IA__g_data_input_stream_get_newline_type"), visibility("default")));
-
-#undef g_data_input_stream_read_byte
-extern __typeof (g_data_input_stream_read_byte) g_data_input_stream_read_byte __attribute((alias("IA__g_data_input_stream_read_byte"), visibility("default")));
-
-#undef g_data_input_stream_read_int16
-extern __typeof (g_data_input_stream_read_int16) g_data_input_stream_read_int16 __attribute((alias("IA__g_data_input_stream_read_int16"), visibility("default")));
-
-#undef g_data_input_stream_read_uint16
-extern __typeof (g_data_input_stream_read_uint16) g_data_input_stream_read_uint16 __attribute((alias("IA__g_data_input_stream_read_uint16"), visibility("default")));
-
-#undef g_data_input_stream_read_int32
-extern __typeof (g_data_input_stream_read_int32) g_data_input_stream_read_int32 __attribute((alias("IA__g_data_input_stream_read_int32"), visibility("default")));
-
-#undef g_data_input_stream_read_uint32
-extern __typeof (g_data_input_stream_read_uint32) g_data_input_stream_read_uint32 __attribute((alias("IA__g_data_input_stream_read_uint32"), visibility("default")));
-
-#undef g_data_input_stream_read_int64
-extern __typeof (g_data_input_stream_read_int64) g_data_input_stream_read_int64 __attribute((alias("IA__g_data_input_stream_read_int64"), visibility("default")));
-
-#undef g_data_input_stream_read_uint64
-extern __typeof (g_data_input_stream_read_uint64) g_data_input_stream_read_uint64 __attribute((alias("IA__g_data_input_stream_read_uint64"), visibility("default")));
-
-#undef g_data_input_stream_read_line
-extern __typeof (g_data_input_stream_read_line) g_data_input_stream_read_line __attribute((alias("IA__g_data_input_stream_read_line"), visibility("default")));
-
-#undef g_data_input_stream_read_line_async
-extern __typeof (g_data_input_stream_read_line_async) g_data_input_stream_read_line_async __attribute((alias("IA__g_data_input_stream_read_line_async"), visibility("default")));
-
-#undef g_data_input_stream_read_line_finish
-extern __typeof (g_data_input_stream_read_line_finish) g_data_input_stream_read_line_finish __attribute((alias("IA__g_data_input_stream_read_line_finish"), visibility("default")));
-
-#undef g_data_input_stream_read_until
-extern __typeof (g_data_input_stream_read_until) g_data_input_stream_read_until __attribute((alias("IA__g_data_input_stream_read_until"), visibility("default")));
-
-#undef g_data_input_stream_read_until_async
-extern __typeof (g_data_input_stream_read_until_async) g_data_input_stream_read_until_async __attribute((alias("IA__g_data_input_stream_read_until_async"), visibility("default")));
-
-#undef g_data_input_stream_read_until_finish
-extern __typeof (g_data_input_stream_read_until_finish) g_data_input_stream_read_until_finish __attribute((alias("IA__g_data_input_stream_read_until_finish"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_DATA_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_DATA_OUTPUT_STREAM_C__)
-#undef g_data_output_stream_get_type
-extern __typeof (g_data_output_stream_get_type) g_data_output_stream_get_type __attribute((alias("IA__g_data_output_stream_get_type"), visibility("default")));
-
-#undef g_data_output_stream_new
-extern __typeof (g_data_output_stream_new) g_data_output_stream_new __attribute((alias("IA__g_data_output_stream_new"), visibility("default")));
-
-#undef g_data_output_stream_set_byte_order
-extern __typeof (g_data_output_stream_set_byte_order) g_data_output_stream_set_byte_order __attribute((alias("IA__g_data_output_stream_set_byte_order"), visibility("default")));
-
-#undef g_data_output_stream_get_byte_order
-extern __typeof (g_data_output_stream_get_byte_order) g_data_output_stream_get_byte_order __attribute((alias("IA__g_data_output_stream_get_byte_order"), visibility("default")));
-
-#undef g_data_output_stream_put_byte
-extern __typeof (g_data_output_stream_put_byte) g_data_output_stream_put_byte __attribute((alias("IA__g_data_output_stream_put_byte"), visibility("default")));
-
-#undef g_data_output_stream_put_int16
-extern __typeof (g_data_output_stream_put_int16) g_data_output_stream_put_int16 __attribute((alias("IA__g_data_output_stream_put_int16"), visibility("default")));
-
-#undef g_data_output_stream_put_uint16
-extern __typeof (g_data_output_stream_put_uint16) g_data_output_stream_put_uint16 __attribute((alias("IA__g_data_output_stream_put_uint16"), visibility("default")));
-
-#undef g_data_output_stream_put_int32
-extern __typeof (g_data_output_stream_put_int32) g_data_output_stream_put_int32 __attribute((alias("IA__g_data_output_stream_put_int32"), visibility("default")));
-
-#undef g_data_output_stream_put_uint32
-extern __typeof (g_data_output_stream_put_uint32) g_data_output_stream_put_uint32 __attribute((alias("IA__g_data_output_stream_put_uint32"), visibility("default")));
-
-#undef g_data_output_stream_put_int64
-extern __typeof (g_data_output_stream_put_int64) g_data_output_stream_put_int64 __attribute((alias("IA__g_data_output_stream_put_int64"), visibility("default")));
-
-#undef g_data_output_stream_put_uint64
-extern __typeof (g_data_output_stream_put_uint64) g_data_output_stream_put_uint64 __attribute((alias("IA__g_data_output_stream_put_uint64"), visibility("default")));
-
-#undef g_data_output_stream_put_string
-extern __typeof (g_data_output_stream_put_string) g_data_output_stream_put_string __attribute((alias("IA__g_data_output_stream_put_string"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_DRIVE_H__)
-#if IN_FILE(__G_DRIVE_C__)
-#undef g_drive_get_type
-extern __typeof (g_drive_get_type) g_drive_get_type __attribute((alias("IA__g_drive_get_type"), visibility("default")));
-
-#undef g_drive_get_name
-extern __typeof (g_drive_get_name) g_drive_get_name __attribute((alias("IA__g_drive_get_name"), visibility("default")));
-
-#undef g_drive_get_icon
-extern __typeof (g_drive_get_icon) g_drive_get_icon __attribute((alias("IA__g_drive_get_icon"), visibility("default")));
-
-#undef g_drive_has_volumes
-extern __typeof (g_drive_has_volumes) g_drive_has_volumes __attribute((alias("IA__g_drive_has_volumes"), visibility("default")));
-
-#undef g_drive_get_volumes
-extern __typeof (g_drive_get_volumes) g_drive_get_volumes __attribute((alias("IA__g_drive_get_volumes"), visibility("default")));
-
-#undef g_drive_is_media_removable
-extern __typeof (g_drive_is_media_removable) g_drive_is_media_removable __attribute((alias("IA__g_drive_is_media_removable"), visibility("default")));
-
-#undef g_drive_has_media
-extern __typeof (g_drive_has_media) g_drive_has_media __attribute((alias("IA__g_drive_has_media"), visibility("default")));
-
-#undef g_drive_is_media_check_automatic
-extern __typeof (g_drive_is_media_check_automatic) g_drive_is_media_check_automatic __attribute((alias("IA__g_drive_is_media_check_automatic"), visibility("default")));
-
-#undef g_drive_can_poll_for_media
-extern __typeof (g_drive_can_poll_for_media) g_drive_can_poll_for_media __attribute((alias("IA__g_drive_can_poll_for_media"), visibility("default")));
-
-#undef g_drive_can_eject
-extern __typeof (g_drive_can_eject) g_drive_can_eject __attribute((alias("IA__g_drive_can_eject"), visibility("default")));
-
-#undef g_drive_eject_with_operation
-extern __typeof (g_drive_eject_with_operation) g_drive_eject_with_operation __attribute((alias("IA__g_drive_eject_with_operation"), visibility("default")));
-
-#undef g_drive_eject_with_operation_finish
-extern __typeof (g_drive_eject_with_operation_finish) g_drive_eject_with_operation_finish __attribute((alias("IA__g_drive_eject_with_operation_finish"), visibility("default")));
-
-#undef g_drive_poll_for_media
-extern __typeof (g_drive_poll_for_media) g_drive_poll_for_media __attribute((alias("IA__g_drive_poll_for_media"), visibility("default")));
-
-#undef g_drive_poll_for_media_finish
-extern __typeof (g_drive_poll_for_media_finish) g_drive_poll_for_media_finish __attribute((alias("IA__g_drive_poll_for_media_finish"), visibility("default")));
-
-#undef g_drive_get_identifier
-extern __typeof (g_drive_get_identifier) g_drive_get_identifier __attribute((alias("IA__g_drive_get_identifier"), visibility("default")));
-
-#undef g_drive_enumerate_identifiers
-extern __typeof (g_drive_enumerate_identifiers) g_drive_enumerate_identifiers __attribute((alias("IA__g_drive_enumerate_identifiers"), visibility("default")));
-
-#undef g_drive_get_start_stop_type
-extern __typeof (g_drive_get_start_stop_type) g_drive_get_start_stop_type __attribute((alias("IA__g_drive_get_start_stop_type"), visibility("default")));
-
-#undef g_drive_can_start
-extern __typeof (g_drive_can_start) g_drive_can_start __attribute((alias("IA__g_drive_can_start"), visibility("default")));
-
-#undef g_drive_can_start_degraded
-extern __typeof (g_drive_can_start_degraded) g_drive_can_start_degraded __attribute((alias("IA__g_drive_can_start_degraded"), visibility("default")));
-
-#undef g_drive_start
-extern __typeof (g_drive_start) g_drive_start __attribute((alias("IA__g_drive_start"), visibility("default")));
-
-#undef g_drive_start_finish
-extern __typeof (g_drive_start_finish) g_drive_start_finish __attribute((alias("IA__g_drive_start_finish"), visibility("default")));
-
-#undef g_drive_can_stop
-extern __typeof (g_drive_can_stop) g_drive_can_stop __attribute((alias("IA__g_drive_can_stop"), visibility("default")));
-
-#undef g_drive_stop
-extern __typeof (g_drive_stop) g_drive_stop __attribute((alias("IA__g_drive_stop"), visibility("default")));
-
-#undef g_drive_stop_finish
-extern __typeof (g_drive_stop_finish) g_drive_stop_finish __attribute((alias("IA__g_drive_stop_finish"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_drive_eject
-extern __typeof (g_drive_eject) g_drive_eject __attribute((alias("IA__g_drive_eject"), visibility("default")));
-
-#undef g_drive_eject_finish
-extern __typeof (g_drive_eject_finish) g_drive_eject_finish __attribute((alias("IA__g_drive_eject_finish"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_FILE_ATTRIBUTE_H__)
-#if IN_FILE(__G_FILE_ATTRIBUTE_C__)
-#undef g_file_attribute_info_list_new
-extern __typeof (g_file_attribute_info_list_new) g_file_attribute_info_list_new __attribute((alias("IA__g_file_attribute_info_list_new"), visibility("default")));
-
-#undef g_file_attribute_info_list_ref
-extern __typeof (g_file_attribute_info_list_ref) g_file_attribute_info_list_ref __attribute((alias("IA__g_file_attribute_info_list_ref"), visibility("default")));
-
-#undef g_file_attribute_info_list_unref
-extern __typeof (g_file_attribute_info_list_unref) g_file_attribute_info_list_unref __attribute((alias("IA__g_file_attribute_info_list_unref"), visibility("default")));
-
-#undef g_file_attribute_info_list_dup
-extern __typeof (g_file_attribute_info_list_dup) g_file_attribute_info_list_dup __attribute((alias("IA__g_file_attribute_info_list_dup"), visibility("default")));
-
-#undef g_file_attribute_info_list_get_type
-extern __typeof (g_file_attribute_info_list_get_type) g_file_attribute_info_list_get_type __attribute((alias("IA__g_file_attribute_info_list_get_type"), visibility("default")));
-
-#undef g_file_attribute_info_list_lookup
-extern __typeof (g_file_attribute_info_list_lookup) g_file_attribute_info_list_lookup __attribute((alias("IA__g_file_attribute_info_list_lookup"), visibility("default")));
-
-#undef g_file_attribute_info_list_add
-extern __typeof (g_file_attribute_info_list_add) g_file_attribute_info_list_add __attribute((alias("IA__g_file_attribute_info_list_add"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_H__)
-#if IN_FILE(__G_FILE_C__)
-#undef g_file_get_type
-extern __typeof (g_file_get_type) g_file_get_type __attribute((alias("IA__g_file_get_type"), visibility("default")));
-
-#undef g_file_new_for_path
-extern __typeof (g_file_new_for_path) g_file_new_for_path __attribute((alias("IA__g_file_new_for_path"), visibility("default")));
-
-#undef g_file_new_for_uri
-extern __typeof (g_file_new_for_uri) g_file_new_for_uri __attribute((alias("IA__g_file_new_for_uri"), visibility("default")));
-
-#undef g_file_new_for_commandline_arg
-extern __typeof (g_file_new_for_commandline_arg) g_file_new_for_commandline_arg __attribute((alias("IA__g_file_new_for_commandline_arg"), visibility("default")));
-
-#undef g_file_parse_name
-extern __typeof (g_file_parse_name) g_file_parse_name __attribute((alias("IA__g_file_parse_name"), visibility("default")));
-
-#undef g_file_dup
-extern __typeof (g_file_dup) g_file_dup __attribute((alias("IA__g_file_dup"), visibility("default")));
-
-#undef g_file_hash
-extern __typeof (g_file_hash) g_file_hash __attribute((alias("IA__g_file_hash"), visibility("default")));
-
-#undef g_file_equal
-extern __typeof (g_file_equal) g_file_equal __attribute((alias("IA__g_file_equal"), visibility("default")));
-
-#undef g_file_get_basename
-extern __typeof (g_file_get_basename) g_file_get_basename __attribute((alias("IA__g_file_get_basename"), visibility("default")));
-
-#undef g_file_get_path
-extern __typeof (g_file_get_path) g_file_get_path __attribute((alias("IA__g_file_get_path"), visibility("default")));
-
-#undef g_file_get_uri
-extern __typeof (g_file_get_uri) g_file_get_uri __attribute((alias("IA__g_file_get_uri"), visibility("default")));
-
-#undef g_file_get_parse_name
-extern __typeof (g_file_get_parse_name) g_file_get_parse_name __attribute((alias("IA__g_file_get_parse_name"), visibility("default")));
-
-#undef g_file_get_parent
-extern __typeof (g_file_get_parent) g_file_get_parent __attribute((alias("IA__g_file_get_parent"), visibility("default")));
-
-#undef g_file_has_parent
-extern __typeof (g_file_has_parent) g_file_has_parent __attribute((alias("IA__g_file_has_parent"), visibility("default")));
-
-#undef g_file_get_child
-extern __typeof (g_file_get_child) g_file_get_child __attribute((alias("IA__g_file_get_child"), visibility("default")));
-
-#undef g_file_get_child_for_display_name
-extern __typeof (g_file_get_child_for_display_name) g_file_get_child_for_display_name __attribute((alias("IA__g_file_get_child_for_display_name"), visibility("default")));
-
-#undef g_file_has_prefix
-extern __typeof (g_file_has_prefix) g_file_has_prefix __attribute((alias("IA__g_file_has_prefix"), visibility("default")));
-
-#undef g_file_get_relative_path
-extern __typeof (g_file_get_relative_path) g_file_get_relative_path __attribute((alias("IA__g_file_get_relative_path"), visibility("default")));
-
-#undef g_file_resolve_relative_path
-extern __typeof (g_file_resolve_relative_path) g_file_resolve_relative_path __attribute((alias("IA__g_file_resolve_relative_path"), visibility("default")));
-
-#undef g_file_is_native
-extern __typeof (g_file_is_native) g_file_is_native __attribute((alias("IA__g_file_is_native"), visibility("default")));
-
-#undef g_file_has_uri_scheme
-extern __typeof (g_file_has_uri_scheme) g_file_has_uri_scheme __attribute((alias("IA__g_file_has_uri_scheme"), visibility("default")));
-
-#undef g_file_get_uri_scheme
-extern __typeof (g_file_get_uri_scheme) g_file_get_uri_scheme __attribute((alias("IA__g_file_get_uri_scheme"), visibility("default")));
-
-#undef g_file_read
-extern __typeof (g_file_read) g_file_read __attribute((alias("IA__g_file_read"), visibility("default")));
-
-#undef g_file_read_async
-extern __typeof (g_file_read_async) g_file_read_async __attribute((alias("IA__g_file_read_async"), visibility("default")));
-
-#undef g_file_read_finish
-extern __typeof (g_file_read_finish) g_file_read_finish __attribute((alias("IA__g_file_read_finish"), visibility("default")));
-
-#undef g_file_append_to
-extern __typeof (g_file_append_to) g_file_append_to __attribute((alias("IA__g_file_append_to"), visibility("default")));
-
-#undef g_file_create
-extern __typeof (g_file_create) g_file_create __attribute((alias("IA__g_file_create"), visibility("default")));
-
-#undef g_file_replace
-extern __typeof (g_file_replace) g_file_replace __attribute((alias("IA__g_file_replace"), visibility("default")));
-
-#undef g_file_append_to_async
-extern __typeof (g_file_append_to_async) g_file_append_to_async __attribute((alias("IA__g_file_append_to_async"), visibility("default")));
-
-#undef g_file_append_to_finish
-extern __typeof (g_file_append_to_finish) g_file_append_to_finish __attribute((alias("IA__g_file_append_to_finish"), visibility("default")));
-
-#undef g_file_create_async
-extern __typeof (g_file_create_async) g_file_create_async __attribute((alias("IA__g_file_create_async"), visibility("default")));
-
-#undef g_file_create_finish
-extern __typeof (g_file_create_finish) g_file_create_finish __attribute((alias("IA__g_file_create_finish"), visibility("default")));
-
-#undef g_file_replace_async
-extern __typeof (g_file_replace_async) g_file_replace_async __attribute((alias("IA__g_file_replace_async"), visibility("default")));
-
-#undef g_file_replace_finish
-extern __typeof (g_file_replace_finish) g_file_replace_finish __attribute((alias("IA__g_file_replace_finish"), visibility("default")));
-
-#undef g_file_query_exists
-extern __typeof (g_file_query_exists) g_file_query_exists __attribute((alias("IA__g_file_query_exists"), visibility("default")));
-
-#undef g_file_query_info
-extern __typeof (g_file_query_info) g_file_query_info __attribute((alias("IA__g_file_query_info"), visibility("default")));
-
-#undef g_file_query_info_async
-extern __typeof (g_file_query_info_async) g_file_query_info_async __attribute((alias("IA__g_file_query_info_async"), visibility("default")));
-
-#undef g_file_query_info_finish
-extern __typeof (g_file_query_info_finish) g_file_query_info_finish __attribute((alias("IA__g_file_query_info_finish"), visibility("default")));
-
-#undef g_file_query_file_type
-extern __typeof (g_file_query_file_type) g_file_query_file_type __attribute((alias("IA__g_file_query_file_type"), visibility("default")));
-
-#undef g_file_query_filesystem_info
-extern __typeof (g_file_query_filesystem_info) g_file_query_filesystem_info __attribute((alias("IA__g_file_query_filesystem_info"), visibility("default")));
-
-#undef g_file_query_filesystem_info_async
-extern __typeof (g_file_query_filesystem_info_async) g_file_query_filesystem_info_async __attribute((alias("IA__g_file_query_filesystem_info_async"), visibility("default")));
-
-#undef g_file_query_filesystem_info_finish
-extern __typeof (g_file_query_filesystem_info_finish) g_file_query_filesystem_info_finish __attribute((alias("IA__g_file_query_filesystem_info_finish"), visibility("default")));
-
-#undef g_file_find_enclosing_mount
-extern __typeof (g_file_find_enclosing_mount) g_file_find_enclosing_mount __attribute((alias("IA__g_file_find_enclosing_mount"), visibility("default")));
-
-#undef g_file_find_enclosing_mount_async
-extern __typeof (g_file_find_enclosing_mount_async) g_file_find_enclosing_mount_async __attribute((alias("IA__g_file_find_enclosing_mount_async"), visibility("default")));
-
-#undef g_file_find_enclosing_mount_finish
-extern __typeof (g_file_find_enclosing_mount_finish) g_file_find_enclosing_mount_finish __attribute((alias("IA__g_file_find_enclosing_mount_finish"), visibility("default")));
-
-#undef g_file_enumerate_children
-extern __typeof (g_file_enumerate_children) g_file_enumerate_children __attribute((alias("IA__g_file_enumerate_children"), visibility("default")));
-
-#undef g_file_enumerate_children_async
-extern __typeof (g_file_enumerate_children_async) g_file_enumerate_children_async __attribute((alias("IA__g_file_enumerate_children_async"), visibility("default")));
-
-#undef g_file_enumerate_children_finish
-extern __typeof (g_file_enumerate_children_finish) g_file_enumerate_children_finish __attribute((alias("IA__g_file_enumerate_children_finish"), visibility("default")));
-
-#undef g_file_set_display_name
-extern __typeof (g_file_set_display_name) g_file_set_display_name __attribute((alias("IA__g_file_set_display_name"), visibility("default")));
-
-#undef g_file_set_display_name_async
-extern __typeof (g_file_set_display_name_async) g_file_set_display_name_async __attribute((alias("IA__g_file_set_display_name_async"), visibility("default")));
-
-#undef g_file_set_display_name_finish
-extern __typeof (g_file_set_display_name_finish) g_file_set_display_name_finish __attribute((alias("IA__g_file_set_display_name_finish"), visibility("default")));
-
-#undef g_file_delete
-extern __typeof (g_file_delete) g_file_delete __attribute((alias("IA__g_file_delete"), visibility("default")));
-
-#undef g_file_trash
-extern __typeof (g_file_trash) g_file_trash __attribute((alias("IA__g_file_trash"), visibility("default")));
-
-#undef g_file_copy
-extern __typeof (g_file_copy) g_file_copy __attribute((alias("IA__g_file_copy"), visibility("default")));
-
-#undef g_file_copy_async
-extern __typeof (g_file_copy_async) g_file_copy_async __attribute((alias("IA__g_file_copy_async"), visibility("default")));
-
-#undef g_file_copy_finish
-extern __typeof (g_file_copy_finish) g_file_copy_finish __attribute((alias("IA__g_file_copy_finish"), visibility("default")));
-
-#undef g_file_move
-extern __typeof (g_file_move) g_file_move __attribute((alias("IA__g_file_move"), visibility("default")));
-
-#undef g_file_make_directory
-extern __typeof (g_file_make_directory) g_file_make_directory __attribute((alias("IA__g_file_make_directory"), visibility("default")));
-
-#undef g_file_make_directory_with_parents
-extern __typeof (g_file_make_directory_with_parents) g_file_make_directory_with_parents __attribute((alias("IA__g_file_make_directory_with_parents"), visibility("default")));
-
-#undef g_file_make_symbolic_link
-extern __typeof (g_file_make_symbolic_link) g_file_make_symbolic_link __attribute((alias("IA__g_file_make_symbolic_link"), visibility("default")));
-
-#undef g_file_query_settable_attributes
-extern __typeof (g_file_query_settable_attributes) g_file_query_settable_attributes __attribute((alias("IA__g_file_query_settable_attributes"), visibility("default")));
-
-#undef g_file_query_writable_namespaces
-extern __typeof (g_file_query_writable_namespaces) g_file_query_writable_namespaces __attribute((alias("IA__g_file_query_writable_namespaces"), visibility("default")));
-
-#undef g_file_set_attribute
-extern __typeof (g_file_set_attribute) g_file_set_attribute __attribute((alias("IA__g_file_set_attribute"), visibility("default")));
-
-#undef g_file_set_attributes_from_info
-extern __typeof (g_file_set_attributes_from_info) g_file_set_attributes_from_info __attribute((alias("IA__g_file_set_attributes_from_info"), visibility("default")));
-
-#undef g_file_set_attributes_async
-extern __typeof (g_file_set_attributes_async) g_file_set_attributes_async __attribute((alias("IA__g_file_set_attributes_async"), visibility("default")));
-
-#undef g_file_set_attributes_finish
-extern __typeof (g_file_set_attributes_finish) g_file_set_attributes_finish __attribute((alias("IA__g_file_set_attributes_finish"), visibility("default")));
-
-#undef g_file_set_attribute_string
-extern __typeof (g_file_set_attribute_string) g_file_set_attribute_string __attribute((alias("IA__g_file_set_attribute_string"), visibility("default")));
-
-#undef g_file_set_attribute_byte_string
-extern __typeof (g_file_set_attribute_byte_string) g_file_set_attribute_byte_string __attribute((alias("IA__g_file_set_attribute_byte_string"), visibility("default")));
-
-#undef g_file_set_attribute_uint32
-extern __typeof (g_file_set_attribute_uint32) g_file_set_attribute_uint32 __attribute((alias("IA__g_file_set_attribute_uint32"), visibility("default")));
-
-#undef g_file_set_attribute_int32
-extern __typeof (g_file_set_attribute_int32) g_file_set_attribute_int32 __attribute((alias("IA__g_file_set_attribute_int32"), visibility("default")));
-
-#undef g_file_set_attribute_uint64
-extern __typeof (g_file_set_attribute_uint64) g_file_set_attribute_uint64 __attribute((alias("IA__g_file_set_attribute_uint64"), visibility("default")));
-
-#undef g_file_set_attribute_int64
-extern __typeof (g_file_set_attribute_int64) g_file_set_attribute_int64 __attribute((alias("IA__g_file_set_attribute_int64"), visibility("default")));
-
-#undef g_file_mount_enclosing_volume
-extern __typeof (g_file_mount_enclosing_volume) g_file_mount_enclosing_volume __attribute((alias("IA__g_file_mount_enclosing_volume"), visibility("default")));
-
-#undef g_file_mount_enclosing_volume_finish
-extern __typeof (g_file_mount_enclosing_volume_finish) g_file_mount_enclosing_volume_finish __attribute((alias("IA__g_file_mount_enclosing_volume_finish"), visibility("default")));
-
-#undef g_file_mount_mountable
-extern __typeof (g_file_mount_mountable) g_file_mount_mountable __attribute((alias("IA__g_file_mount_mountable"), visibility("default")));
-
-#undef g_file_mount_mountable_finish
-extern __typeof (g_file_mount_mountable_finish) g_file_mount_mountable_finish __attribute((alias("IA__g_file_mount_mountable_finish"), visibility("default")));
-
-#undef g_file_unmount_mountable_with_operation
-extern __typeof (g_file_unmount_mountable_with_operation) g_file_unmount_mountable_with_operation __attribute((alias("IA__g_file_unmount_mountable_with_operation"), visibility("default")));
-
-#undef g_file_unmount_mountable_with_operation_finish
-extern __typeof (g_file_unmount_mountable_with_operation_finish) g_file_unmount_mountable_with_operation_finish __attribute((alias("IA__g_file_unmount_mountable_with_operation_finish"), visibility("default")));
-
-#undef g_file_eject_mountable_with_operation
-extern __typeof (g_file_eject_mountable_with_operation) g_file_eject_mountable_with_operation __attribute((alias("IA__g_file_eject_mountable_with_operation"), visibility("default")));
-
-#undef g_file_eject_mountable_with_operation_finish
-extern __typeof (g_file_eject_mountable_with_operation_finish) g_file_eject_mountable_with_operation_finish __attribute((alias("IA__g_file_eject_mountable_with_operation_finish"), visibility("default")));
-
-#undef g_file_copy_attributes
-extern __typeof (g_file_copy_attributes) g_file_copy_attributes __attribute((alias("IA__g_file_copy_attributes"), visibility("default")));
-
-#undef g_file_monitor_directory
-extern __typeof (g_file_monitor_directory) g_file_monitor_directory __attribute((alias("IA__g_file_monitor_directory"), visibility("default")));
-
-#undef g_file_monitor_file
-extern __typeof (g_file_monitor_file) g_file_monitor_file __attribute((alias("IA__g_file_monitor_file"), visibility("default")));
-
-#undef g_file_monitor
-extern __typeof (g_file_monitor) g_file_monitor __attribute((alias("IA__g_file_monitor"), visibility("default")));
-
-#undef g_file_query_default_handler
-extern __typeof (g_file_query_default_handler) g_file_query_default_handler __attribute((alias("IA__g_file_query_default_handler"), visibility("default")));
-
-#undef g_file_load_contents
-extern __typeof (g_file_load_contents) g_file_load_contents __attribute((alias("IA__g_file_load_contents"), visibility("default")));
-
-#undef g_file_load_contents_async
-extern __typeof (g_file_load_contents_async) g_file_load_contents_async __attribute((alias("IA__g_file_load_contents_async"), visibility("default")));
-
-#undef g_file_load_contents_finish
-extern __typeof (g_file_load_contents_finish) g_file_load_contents_finish __attribute((alias("IA__g_file_load_contents_finish"), visibility("default")));
-
-#undef g_file_load_partial_contents_async
-extern __typeof (g_file_load_partial_contents_async) g_file_load_partial_contents_async __attribute((alias("IA__g_file_load_partial_contents_async"), visibility("default")));
-
-#undef g_file_load_partial_contents_finish
-extern __typeof (g_file_load_partial_contents_finish) g_file_load_partial_contents_finish __attribute((alias("IA__g_file_load_partial_contents_finish"), visibility("default")));
-
-#undef g_file_replace_contents
-extern __typeof (g_file_replace_contents) g_file_replace_contents __attribute((alias("IA__g_file_replace_contents"), visibility("default")));
-
-#undef g_file_replace_contents_async
-extern __typeof (g_file_replace_contents_async) g_file_replace_contents_async __attribute((alias("IA__g_file_replace_contents_async"), visibility("default")));
-
-#undef g_file_replace_contents_finish
-extern __typeof (g_file_replace_contents_finish) g_file_replace_contents_finish __attribute((alias("IA__g_file_replace_contents_finish"), visibility("default")));
-
-#undef g_file_create_readwrite
-extern __typeof (g_file_create_readwrite) g_file_create_readwrite __attribute((alias("IA__g_file_create_readwrite"), visibility("default")));
-
-#undef g_file_create_readwrite_async
-extern __typeof (g_file_create_readwrite_async) g_file_create_readwrite_async __attribute((alias("IA__g_file_create_readwrite_async"), visibility("default")));
-
-#undef g_file_create_readwrite_finish
-extern __typeof (g_file_create_readwrite_finish) g_file_create_readwrite_finish __attribute((alias("IA__g_file_create_readwrite_finish"), visibility("default")));
-
-#undef g_file_open_readwrite
-extern __typeof (g_file_open_readwrite) g_file_open_readwrite __attribute((alias("IA__g_file_open_readwrite"), visibility("default")));
-
-#undef g_file_open_readwrite_async
-extern __typeof (g_file_open_readwrite_async) g_file_open_readwrite_async __attribute((alias("IA__g_file_open_readwrite_async"), visibility("default")));
-
-#undef g_file_open_readwrite_finish
-extern __typeof (g_file_open_readwrite_finish) g_file_open_readwrite_finish __attribute((alias("IA__g_file_open_readwrite_finish"), visibility("default")));
-
-#undef g_file_replace_readwrite
-extern __typeof (g_file_replace_readwrite) g_file_replace_readwrite __attribute((alias("IA__g_file_replace_readwrite"), visibility("default")));
-
-#undef g_file_replace_readwrite_async
-extern __typeof (g_file_replace_readwrite_async) g_file_replace_readwrite_async __attribute((alias("IA__g_file_replace_readwrite_async"), visibility("default")));
-
-#undef g_file_replace_readwrite_finish
-extern __typeof (g_file_replace_readwrite_finish) g_file_replace_readwrite_finish __attribute((alias("IA__g_file_replace_readwrite_finish"), visibility("default")));
-
-#undef g_file_start_mountable
-extern __typeof (g_file_start_mountable) g_file_start_mountable __attribute((alias("IA__g_file_start_mountable"), visibility("default")));
-
-#undef g_file_start_mountable_finish
-extern __typeof (g_file_start_mountable_finish) g_file_start_mountable_finish __attribute((alias("IA__g_file_start_mountable_finish"), visibility("default")));
-
-#undef g_file_stop_mountable
-extern __typeof (g_file_stop_mountable) g_file_stop_mountable __attribute((alias("IA__g_file_stop_mountable"), visibility("default")));
-
-#undef g_file_stop_mountable_finish
-extern __typeof (g_file_stop_mountable_finish) g_file_stop_mountable_finish __attribute((alias("IA__g_file_stop_mountable_finish"), visibility("default")));
-
-#undef g_file_supports_thread_contexts
-extern __typeof (g_file_supports_thread_contexts) g_file_supports_thread_contexts __attribute((alias("IA__g_file_supports_thread_contexts"), visibility("default")));
-
-#undef g_file_poll_mountable
-extern __typeof (g_file_poll_mountable) g_file_poll_mountable __attribute((alias("IA__g_file_poll_mountable"), visibility("default")));
-
-#undef g_file_poll_mountable_finish
-extern __typeof (g_file_poll_mountable_finish) g_file_poll_mountable_finish __attribute((alias("IA__g_file_poll_mountable_finish"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_file_unmount_mountable
-extern __typeof (g_file_unmount_mountable) g_file_unmount_mountable __attribute((alias("IA__g_file_unmount_mountable"), visibility("default")));
-
-#undef g_file_unmount_mountable_finish
-extern __typeof (g_file_unmount_mountable_finish) g_file_unmount_mountable_finish __attribute((alias("IA__g_file_unmount_mountable_finish"), visibility("default")));
-
-#undef g_file_eject_mountable
-extern __typeof (g_file_eject_mountable) g_file_eject_mountable __attribute((alias("IA__g_file_eject_mountable"), visibility("default")));
-
-#undef g_file_eject_mountable_finish
-extern __typeof (g_file_eject_mountable_finish) g_file_eject_mountable_finish __attribute((alias("IA__g_file_eject_mountable_finish"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_FILE_ENUMERATOR_H__)
-#if IN_FILE(__G_FILE_ENUMERATOR_C__)
-#undef g_file_enumerator_get_type
-extern __typeof (g_file_enumerator_get_type) g_file_enumerator_get_type __attribute((alias("IA__g_file_enumerator_get_type"), visibility("default")));
-
-#undef g_file_enumerator_next_file
-extern __typeof (g_file_enumerator_next_file) g_file_enumerator_next_file __attribute((alias("IA__g_file_enumerator_next_file"), visibility("default")));
-
-#undef g_file_enumerator_close
-extern __typeof (g_file_enumerator_close) g_file_enumerator_close __attribute((alias("IA__g_file_enumerator_close"), visibility("default")));
-
-#undef g_file_enumerator_next_files_async
-extern __typeof (g_file_enumerator_next_files_async) g_file_enumerator_next_files_async __attribute((alias("IA__g_file_enumerator_next_files_async"), visibility("default")));
-
-#undef g_file_enumerator_next_files_finish
-extern __typeof (g_file_enumerator_next_files_finish) g_file_enumerator_next_files_finish __attribute((alias("IA__g_file_enumerator_next_files_finish"), visibility("default")));
-
-#undef g_file_enumerator_close_async
-extern __typeof (g_file_enumerator_close_async) g_file_enumerator_close_async __attribute((alias("IA__g_file_enumerator_close_async"), visibility("default")));
-
-#undef g_file_enumerator_close_finish
-extern __typeof (g_file_enumerator_close_finish) g_file_enumerator_close_finish __attribute((alias("IA__g_file_enumerator_close_finish"), visibility("default")));
-
-#undef g_file_enumerator_is_closed
-extern __typeof (g_file_enumerator_is_closed) g_file_enumerator_is_closed __attribute((alias("IA__g_file_enumerator_is_closed"), visibility("default")));
-
-#undef g_file_enumerator_has_pending
-extern __typeof (g_file_enumerator_has_pending) g_file_enumerator_has_pending __attribute((alias("IA__g_file_enumerator_has_pending"), visibility("default")));
-
-#undef g_file_enumerator_set_pending
-extern __typeof (g_file_enumerator_set_pending) g_file_enumerator_set_pending __attribute((alias("IA__g_file_enumerator_set_pending"), visibility("default")));
-
-#undef g_file_enumerator_get_container
-extern __typeof (g_file_enumerator_get_container) g_file_enumerator_get_container __attribute((alias("IA__g_file_enumerator_get_container"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_ICON_H__)
-#if IN_FILE(__G_FILE_ICON_C__)
-#undef g_file_icon_get_type
-extern __typeof (g_file_icon_get_type) g_file_icon_get_type __attribute((alias("IA__g_file_icon_get_type"), visibility("default")));
-
-#undef g_file_icon_new
-extern __typeof (g_file_icon_new) g_file_icon_new __attribute((alias("IA__g_file_icon_new"), visibility("default")));
-
-#undef g_file_icon_get_file
-extern __typeof (g_file_icon_get_file) g_file_icon_get_file __attribute((alias("IA__g_file_icon_get_file"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_INFO_H__)
-#if IN_FILE(__G_FILE_INFO_C__)
-#undef g_file_info_get_type
-extern __typeof (g_file_info_get_type) g_file_info_get_type __attribute((alias("IA__g_file_info_get_type"), visibility("default")));
-
-#undef g_file_info_new
-extern __typeof (g_file_info_new) g_file_info_new __attribute((alias("IA__g_file_info_new"), visibility("default")));
-
-#undef g_file_info_dup
-extern __typeof (g_file_info_dup) g_file_info_dup __attribute((alias("IA__g_file_info_dup"), visibility("default")));
-
-#undef g_file_info_copy_into
-extern __typeof (g_file_info_copy_into) g_file_info_copy_into __attribute((alias("IA__g_file_info_copy_into"), visibility("default")));
-
-#undef g_file_info_has_attribute
-extern __typeof (g_file_info_has_attribute) g_file_info_has_attribute __attribute((alias("IA__g_file_info_has_attribute"), visibility("default")));
-
-#undef g_file_info_has_namespace
-extern __typeof (g_file_info_has_namespace) g_file_info_has_namespace __attribute((alias("IA__g_file_info_has_namespace"), visibility("default")));
-
-#undef g_file_info_list_attributes
-extern __typeof (g_file_info_list_attributes) g_file_info_list_attributes __attribute((alias("IA__g_file_info_list_attributes"), visibility("default")));
-
-#undef g_file_info_get_attribute_type
-extern __typeof (g_file_info_get_attribute_type) g_file_info_get_attribute_type __attribute((alias("IA__g_file_info_get_attribute_type"), visibility("default")));
-
-#undef g_file_info_remove_attribute
-extern __typeof (g_file_info_remove_attribute) g_file_info_remove_attribute __attribute((alias("IA__g_file_info_remove_attribute"), visibility("default")));
-
-#undef g_file_info_get_attribute_status
-extern __typeof (g_file_info_get_attribute_status) g_file_info_get_attribute_status __attribute((alias("IA__g_file_info_get_attribute_status"), visibility("default")));
-
-#undef g_file_info_get_attribute_data
-extern __typeof (g_file_info_get_attribute_data) g_file_info_get_attribute_data __attribute((alias("IA__g_file_info_get_attribute_data"), visibility("default")));
-
-#undef g_file_info_get_attribute_as_string
-extern __typeof (g_file_info_get_attribute_as_string) g_file_info_get_attribute_as_string __attribute((alias("IA__g_file_info_get_attribute_as_string"), visibility("default")));
-
-#undef g_file_info_get_attribute_string
-extern __typeof (g_file_info_get_attribute_string) g_file_info_get_attribute_string __attribute((alias("IA__g_file_info_get_attribute_string"), visibility("default")));
-
-#undef g_file_info_get_attribute_byte_string
-extern __typeof (g_file_info_get_attribute_byte_string) g_file_info_get_attribute_byte_string __attribute((alias("IA__g_file_info_get_attribute_byte_string"), visibility("default")));
-
-#undef g_file_info_get_attribute_boolean
-extern __typeof (g_file_info_get_attribute_boolean) g_file_info_get_attribute_boolean __attribute((alias("IA__g_file_info_get_attribute_boolean"), visibility("default")));
-
-#undef g_file_info_get_attribute_uint32
-extern __typeof (g_file_info_get_attribute_uint32) g_file_info_get_attribute_uint32 __attribute((alias("IA__g_file_info_get_attribute_uint32"), visibility("default")));
-
-#undef g_file_info_get_attribute_int32
-extern __typeof (g_file_info_get_attribute_int32) g_file_info_get_attribute_int32 __attribute((alias("IA__g_file_info_get_attribute_int32"), visibility("default")));
-
-#undef g_file_info_get_attribute_uint64
-extern __typeof (g_file_info_get_attribute_uint64) g_file_info_get_attribute_uint64 __attribute((alias("IA__g_file_info_get_attribute_uint64"), visibility("default")));
-
-#undef g_file_info_get_attribute_int64
-extern __typeof (g_file_info_get_attribute_int64) g_file_info_get_attribute_int64 __attribute((alias("IA__g_file_info_get_attribute_int64"), visibility("default")));
-
-#undef g_file_info_get_attribute_object
-extern __typeof (g_file_info_get_attribute_object) g_file_info_get_attribute_object __attribute((alias("IA__g_file_info_get_attribute_object"), visibility("default")));
-
-#undef g_file_info_get_attribute_stringv
-extern __typeof (g_file_info_get_attribute_stringv) g_file_info_get_attribute_stringv __attribute((alias("IA__g_file_info_get_attribute_stringv"), visibility("default")));
-
-#undef g_file_info_set_attribute_status
-extern __typeof (g_file_info_set_attribute_status) g_file_info_set_attribute_status __attribute((alias("IA__g_file_info_set_attribute_status"), visibility("default")));
-
-#undef g_file_info_set_attribute
-extern __typeof (g_file_info_set_attribute) g_file_info_set_attribute __attribute((alias("IA__g_file_info_set_attribute"), visibility("default")));
-
-#undef g_file_info_set_attribute_string
-extern __typeof (g_file_info_set_attribute_string) g_file_info_set_attribute_string __attribute((alias("IA__g_file_info_set_attribute_string"), visibility("default")));
-
-#undef g_file_info_set_attribute_byte_string
-extern __typeof (g_file_info_set_attribute_byte_string) g_file_info_set_attribute_byte_string __attribute((alias("IA__g_file_info_set_attribute_byte_string"), visibility("default")));
-
-#undef g_file_info_set_attribute_boolean
-extern __typeof (g_file_info_set_attribute_boolean) g_file_info_set_attribute_boolean __attribute((alias("IA__g_file_info_set_attribute_boolean"), visibility("default")));
-
-#undef g_file_info_set_attribute_uint32
-extern __typeof (g_file_info_set_attribute_uint32) g_file_info_set_attribute_uint32 __attribute((alias("IA__g_file_info_set_attribute_uint32"), visibility("default")));
-
-#undef g_file_info_set_attribute_int32
-extern __typeof (g_file_info_set_attribute_int32) g_file_info_set_attribute_int32 __attribute((alias("IA__g_file_info_set_attribute_int32"), visibility("default")));
-
-#undef g_file_info_set_attribute_uint64
-extern __typeof (g_file_info_set_attribute_uint64) g_file_info_set_attribute_uint64 __attribute((alias("IA__g_file_info_set_attribute_uint64"), visibility("default")));
-
-#undef g_file_info_set_attribute_int64
-extern __typeof (g_file_info_set_attribute_int64) g_file_info_set_attribute_int64 __attribute((alias("IA__g_file_info_set_attribute_int64"), visibility("default")));
-
-#undef g_file_info_set_attribute_object
-extern __typeof (g_file_info_set_attribute_object) g_file_info_set_attribute_object __attribute((alias("IA__g_file_info_set_attribute_object"), visibility("default")));
-
-#undef g_file_info_set_attribute_stringv
-extern __typeof (g_file_info_set_attribute_stringv) g_file_info_set_attribute_stringv __attribute((alias("IA__g_file_info_set_attribute_stringv"), visibility("default")));
-
-#undef g_file_info_clear_status
-extern __typeof (g_file_info_clear_status) g_file_info_clear_status __attribute((alias("IA__g_file_info_clear_status"), visibility("default")));
-
-#undef g_file_info_get_file_type
-extern __typeof (g_file_info_get_file_type) g_file_info_get_file_type __attribute((alias("IA__g_file_info_get_file_type"), visibility("default")));
-
-#undef g_file_info_get_is_hidden
-extern __typeof (g_file_info_get_is_hidden) g_file_info_get_is_hidden __attribute((alias("IA__g_file_info_get_is_hidden"), visibility("default")));
-
-#undef g_file_info_get_is_backup
-extern __typeof (g_file_info_get_is_backup) g_file_info_get_is_backup __attribute((alias("IA__g_file_info_get_is_backup"), visibility("default")));
-
-#undef g_file_info_get_is_symlink
-extern __typeof (g_file_info_get_is_symlink) g_file_info_get_is_symlink __attribute((alias("IA__g_file_info_get_is_symlink"), visibility("default")));
-
-#undef g_file_info_get_name
-extern __typeof (g_file_info_get_name) g_file_info_get_name __attribute((alias("IA__g_file_info_get_name"), visibility("default")));
-
-#undef g_file_info_get_display_name
-extern __typeof (g_file_info_get_display_name) g_file_info_get_display_name __attribute((alias("IA__g_file_info_get_display_name"), visibility("default")));
-
-#undef g_file_info_get_edit_name
-extern __typeof (g_file_info_get_edit_name) g_file_info_get_edit_name __attribute((alias("IA__g_file_info_get_edit_name"), visibility("default")));
-
-#undef g_file_info_get_icon
-extern __typeof (g_file_info_get_icon) g_file_info_get_icon __attribute((alias("IA__g_file_info_get_icon"), visibility("default")));
-
-#undef g_file_info_get_content_type
-extern __typeof (g_file_info_get_content_type) g_file_info_get_content_type __attribute((alias("IA__g_file_info_get_content_type"), visibility("default")));
-
-#undef g_file_info_get_size
-extern __typeof (g_file_info_get_size) g_file_info_get_size __attribute((alias("IA__g_file_info_get_size"), visibility("default")));
-
-#undef g_file_info_get_modification_time
-extern __typeof (g_file_info_get_modification_time) g_file_info_get_modification_time __attribute((alias("IA__g_file_info_get_modification_time"), visibility("default")));
-
-#undef g_file_info_get_symlink_target
-extern __typeof (g_file_info_get_symlink_target) g_file_info_get_symlink_target __attribute((alias("IA__g_file_info_get_symlink_target"), visibility("default")));
-
-#undef g_file_info_get_etag
-extern __typeof (g_file_info_get_etag) g_file_info_get_etag __attribute((alias("IA__g_file_info_get_etag"), visibility("default")));
-
-#undef g_file_info_get_sort_order
-extern __typeof (g_file_info_get_sort_order) g_file_info_get_sort_order __attribute((alias("IA__g_file_info_get_sort_order"), visibility("default")));
-
-#undef g_file_info_set_attribute_mask
-extern __typeof (g_file_info_set_attribute_mask) g_file_info_set_attribute_mask __attribute((alias("IA__g_file_info_set_attribute_mask"), visibility("default")));
-
-#undef g_file_info_unset_attribute_mask
-extern __typeof (g_file_info_unset_attribute_mask) g_file_info_unset_attribute_mask __attribute((alias("IA__g_file_info_unset_attribute_mask"), visibility("default")));
-
-#undef g_file_info_set_file_type
-extern __typeof (g_file_info_set_file_type) g_file_info_set_file_type __attribute((alias("IA__g_file_info_set_file_type"), visibility("default")));
-
-#undef g_file_info_set_is_hidden
-extern __typeof (g_file_info_set_is_hidden) g_file_info_set_is_hidden __attribute((alias("IA__g_file_info_set_is_hidden"), visibility("default")));
-
-#undef g_file_info_set_is_symlink
-extern __typeof (g_file_info_set_is_symlink) g_file_info_set_is_symlink __attribute((alias("IA__g_file_info_set_is_symlink"), visibility("default")));
-
-#undef g_file_info_set_name
-extern __typeof (g_file_info_set_name) g_file_info_set_name __attribute((alias("IA__g_file_info_set_name"), visibility("default")));
-
-#undef g_file_info_set_display_name
-extern __typeof (g_file_info_set_display_name) g_file_info_set_display_name __attribute((alias("IA__g_file_info_set_display_name"), visibility("default")));
-
-#undef g_file_info_set_edit_name
-extern __typeof (g_file_info_set_edit_name) g_file_info_set_edit_name __attribute((alias("IA__g_file_info_set_edit_name"), visibility("default")));
-
-#undef g_file_info_set_icon
-extern __typeof (g_file_info_set_icon) g_file_info_set_icon __attribute((alias("IA__g_file_info_set_icon"), visibility("default")));
-
-#undef g_file_info_set_content_type
-extern __typeof (g_file_info_set_content_type) g_file_info_set_content_type __attribute((alias("IA__g_file_info_set_content_type"), visibility("default")));
-
-#undef g_file_info_set_size
-extern __typeof (g_file_info_set_size) g_file_info_set_size __attribute((alias("IA__g_file_info_set_size"), visibility("default")));
-
-#undef g_file_info_set_modification_time
-extern __typeof (g_file_info_set_modification_time) g_file_info_set_modification_time __attribute((alias("IA__g_file_info_set_modification_time"), visibility("default")));
-
-#undef g_file_info_set_symlink_target
-extern __typeof (g_file_info_set_symlink_target) g_file_info_set_symlink_target __attribute((alias("IA__g_file_info_set_symlink_target"), visibility("default")));
-
-#undef g_file_info_set_sort_order
-extern __typeof (g_file_info_set_sort_order) g_file_info_set_sort_order __attribute((alias("IA__g_file_info_set_sort_order"), visibility("default")));
-
-#undef g_file_attribute_matcher_new
-extern __typeof (g_file_attribute_matcher_new) g_file_attribute_matcher_new __attribute((alias("IA__g_file_attribute_matcher_new"), visibility("default")));
-
-#undef g_file_attribute_matcher_ref
-extern __typeof (g_file_attribute_matcher_ref) g_file_attribute_matcher_ref __attribute((alias("IA__g_file_attribute_matcher_ref"), visibility("default")));
-
-#undef g_file_attribute_matcher_unref
-extern __typeof (g_file_attribute_matcher_unref) g_file_attribute_matcher_unref __attribute((alias("IA__g_file_attribute_matcher_unref"), visibility("default")));
-
-#undef g_file_attribute_matcher_matches
-extern __typeof (g_file_attribute_matcher_matches) g_file_attribute_matcher_matches __attribute((alias("IA__g_file_attribute_matcher_matches"), visibility("default")));
-
-#undef g_file_attribute_matcher_matches_only
-extern __typeof (g_file_attribute_matcher_matches_only) g_file_attribute_matcher_matches_only __attribute((alias("IA__g_file_attribute_matcher_matches_only"), visibility("default")));
-
-#undef g_file_attribute_matcher_enumerate_namespace
-extern __typeof (g_file_attribute_matcher_enumerate_namespace) g_file_attribute_matcher_enumerate_namespace __attribute((alias("IA__g_file_attribute_matcher_enumerate_namespace"), visibility("default")));
-
-#undef g_file_attribute_matcher_enumerate_next
-extern __typeof (g_file_attribute_matcher_enumerate_next) g_file_attribute_matcher_enumerate_next __attribute((alias("IA__g_file_attribute_matcher_enumerate_next"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_INPUT_STREAM_H__)
-#if IN_FILE(__G_FILE_INPUT_STREAM_C__)
-#undef g_file_input_stream_get_type
-extern __typeof (g_file_input_stream_get_type) g_file_input_stream_get_type __attribute((alias("IA__g_file_input_stream_get_type"), visibility("default")));
-
-#undef g_file_input_stream_query_info
-extern __typeof (g_file_input_stream_query_info) g_file_input_stream_query_info __attribute((alias("IA__g_file_input_stream_query_info"), visibility("default")));
-
-#undef g_file_input_stream_query_info_async
-extern __typeof (g_file_input_stream_query_info_async) g_file_input_stream_query_info_async __attribute((alias("IA__g_file_input_stream_query_info_async"), visibility("default")));
-
-#undef g_file_input_stream_query_info_finish
-extern __typeof (g_file_input_stream_query_info_finish) g_file_input_stream_query_info_finish __attribute((alias("IA__g_file_input_stream_query_info_finish"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_MONITOR_H__)
-#if IN_FILE(__G_FILE_MONITOR_C__)
-#undef g_file_monitor_get_type
-extern __typeof (g_file_monitor_get_type) g_file_monitor_get_type __attribute((alias("IA__g_file_monitor_get_type"), visibility("default")));
-
-#undef g_file_monitor_cancel
-extern __typeof (g_file_monitor_cancel) g_file_monitor_cancel __attribute((alias("IA__g_file_monitor_cancel"), visibility("default")));
-
-#undef g_file_monitor_is_cancelled
-extern __typeof (g_file_monitor_is_cancelled) g_file_monitor_is_cancelled __attribute((alias("IA__g_file_monitor_is_cancelled"), visibility("default")));
-
-#undef g_file_monitor_set_rate_limit
-extern __typeof (g_file_monitor_set_rate_limit) g_file_monitor_set_rate_limit __attribute((alias("IA__g_file_monitor_set_rate_limit"), visibility("default")));
-
-#undef g_file_monitor_emit_event
-extern __typeof (g_file_monitor_emit_event) g_file_monitor_emit_event __attribute((alias("IA__g_file_monitor_emit_event"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_FILENAME_COMPLETER_H__)
-#if IN_FILE(__G_FILENAME_COMPLETER_C__)
-#undef g_filename_completer_get_type
-extern __typeof (g_filename_completer_get_type) g_filename_completer_get_type __attribute((alias("IA__g_filename_completer_get_type"), visibility("default")));
-
-#undef g_filename_completer_new
-extern __typeof (g_filename_completer_new) g_filename_completer_new __attribute((alias("IA__g_filename_completer_new"), visibility("default")));
-
-#undef g_filename_completer_get_completion_suffix
-extern __typeof (g_filename_completer_get_completion_suffix) g_filename_completer_get_completion_suffix __attribute((alias("IA__g_filename_completer_get_completion_suffix"), visibility("default")));
-
-#undef g_filename_completer_get_completions
-extern __typeof (g_filename_completer_get_completions) g_filename_completer_get_completions __attribute((alias("IA__g_filename_completer_get_completions"), visibility("default")));
-
-#undef g_filename_completer_set_dirs_only
-extern __typeof (g_filename_completer_set_dirs_only) g_filename_completer_set_dirs_only __attribute((alias("IA__g_filename_completer_set_dirs_only"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_FILE_OUTPUT_STREAM_C__)
-#undef g_file_output_stream_get_type
-extern __typeof (g_file_output_stream_get_type) g_file_output_stream_get_type __attribute((alias("IA__g_file_output_stream_get_type"), visibility("default")));
-
-#undef g_file_output_stream_query_info
-extern __typeof (g_file_output_stream_query_info) g_file_output_stream_query_info __attribute((alias("IA__g_file_output_stream_query_info"), visibility("default")));
-
-#undef g_file_output_stream_query_info_async
-extern __typeof (g_file_output_stream_query_info_async) g_file_output_stream_query_info_async __attribute((alias("IA__g_file_output_stream_query_info_async"), visibility("default")));
-
-#undef g_file_output_stream_query_info_finish
-extern __typeof (g_file_output_stream_query_info_finish) g_file_output_stream_query_info_finish __attribute((alias("IA__g_file_output_stream_query_info_finish"), visibility("default")));
-
-#undef g_file_output_stream_get_etag
-extern __typeof (g_file_output_stream_get_etag) g_file_output_stream_get_etag __attribute((alias("IA__g_file_output_stream_get_etag"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_IO_STREAM_H__)
-#if IN_FILE(__G_FILE_IO_STREAM_C__)
-#undef g_file_io_stream_get_type
-extern __typeof (g_file_io_stream_get_type) g_file_io_stream_get_type __attribute((alias("IA__g_file_io_stream_get_type"), visibility("default")));
-
-#undef g_file_io_stream_query_info
-extern __typeof (g_file_io_stream_query_info) g_file_io_stream_query_info __attribute((alias("IA__g_file_io_stream_query_info"), visibility("default")));
-
-#undef g_file_io_stream_query_info_async
-extern __typeof (g_file_io_stream_query_info_async) g_file_io_stream_query_info_async __attribute((alias("IA__g_file_io_stream_query_info_async"), visibility("default")));
-
-#undef g_file_io_stream_query_info_finish
-extern __typeof (g_file_io_stream_query_info_finish) g_file_io_stream_query_info_finish __attribute((alias("IA__g_file_io_stream_query_info_finish"), visibility("default")));
-
-#undef g_file_io_stream_get_etag
-extern __typeof (g_file_io_stream_get_etag) g_file_io_stream_get_etag __attribute((alias("IA__g_file_io_stream_get_etag"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_FILTER_INPUT_STREAM_H__)
-#if IN_FILE(__G_FILTER_INPUT_STREAM_C__)
-#undef g_filter_input_stream_get_type
-extern __typeof (g_filter_input_stream_get_type) g_filter_input_stream_get_type __attribute((alias("IA__g_filter_input_stream_get_type"), visibility("default")));
-
-#undef g_filter_input_stream_get_base_stream
-extern __typeof (g_filter_input_stream_get_base_stream) g_filter_input_stream_get_base_stream __attribute((alias("IA__g_filter_input_stream_get_base_stream"), visibility("default")));
-
-#undef g_filter_input_stream_get_close_base_stream
-extern __typeof (g_filter_input_stream_get_close_base_stream) g_filter_input_stream_get_close_base_stream __attribute((alias("IA__g_filter_input_stream_get_close_base_stream"), visibility("default")));
-
-#undef g_filter_input_stream_set_close_base_stream
-extern __typeof (g_filter_input_stream_set_close_base_stream) g_filter_input_stream_set_close_base_stream __attribute((alias("IA__g_filter_input_stream_set_close_base_stream"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_FILTER_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_FILTER_OUTPUT_STREAM_C__)
-#undef g_filter_output_stream_get_type
-extern __typeof (g_filter_output_stream_get_type) g_filter_output_stream_get_type __attribute((alias("IA__g_filter_output_stream_get_type"), visibility("default")));
-
-#undef g_filter_output_stream_get_base_stream
-extern __typeof (g_filter_output_stream_get_base_stream) g_filter_output_stream_get_base_stream __attribute((alias("IA__g_filter_output_stream_get_base_stream"), visibility("default")));
-
-#undef g_filter_output_stream_get_close_base_stream
-extern __typeof (g_filter_output_stream_get_close_base_stream) g_filter_output_stream_get_close_base_stream __attribute((alias("IA__g_filter_output_stream_get_close_base_stream"), visibility("default")));
-
-#undef g_filter_output_stream_set_close_base_stream
-extern __typeof (g_filter_output_stream_set_close_base_stream) g_filter_output_stream_set_close_base_stream __attribute((alias("IA__g_filter_output_stream_set_close_base_stream"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_ICON_H__)
-#if IN_FILE(__G_ICON_C__)
-#undef g_icon_get_type
-extern __typeof (g_icon_get_type) g_icon_get_type __attribute((alias("IA__g_icon_get_type"), visibility("default")));
-
-#undef g_icon_hash
-extern __typeof (g_icon_hash) g_icon_hash __attribute((alias("IA__g_icon_hash"), visibility("default")));
-
-#undef g_icon_equal
-extern __typeof (g_icon_equal) g_icon_equal __attribute((alias("IA__g_icon_equal"), visibility("default")));
-
-#undef g_icon_to_string
-extern __typeof (g_icon_to_string) g_icon_to_string __attribute((alias("IA__g_icon_to_string"), visibility("default")));
-
-#undef g_icon_new_for_string
-extern __typeof (g_icon_new_for_string) g_icon_new_for_string __attribute((alias("IA__g_icon_new_for_string"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_INPUT_STREAM_H__)
-#if IN_FILE(__G_INPUT_STREAM_C__)
-#undef g_input_stream_get_type
-extern __typeof (g_input_stream_get_type) g_input_stream_get_type __attribute((alias("IA__g_input_stream_get_type"), visibility("default")));
-
-#undef g_input_stream_read
-extern __typeof (g_input_stream_read) g_input_stream_read __attribute((alias("IA__g_input_stream_read"), visibility("default")));
-
-#undef g_input_stream_read_all
-extern __typeof (g_input_stream_read_all) g_input_stream_read_all __attribute((alias("IA__g_input_stream_read_all"), visibility("default")));
-
-#undef g_input_stream_skip
-extern __typeof (g_input_stream_skip) g_input_stream_skip __attribute((alias("IA__g_input_stream_skip"), visibility("default")));
-
-#undef g_input_stream_close
-extern __typeof (g_input_stream_close) g_input_stream_close __attribute((alias("IA__g_input_stream_close"), visibility("default")));
-
-#undef g_input_stream_read_async
-extern __typeof (g_input_stream_read_async) g_input_stream_read_async __attribute((alias("IA__g_input_stream_read_async"), visibility("default")));
-
-#undef g_input_stream_read_finish
-extern __typeof (g_input_stream_read_finish) g_input_stream_read_finish __attribute((alias("IA__g_input_stream_read_finish"), visibility("default")));
-
-#undef g_input_stream_skip_async
-extern __typeof (g_input_stream_skip_async) g_input_stream_skip_async __attribute((alias("IA__g_input_stream_skip_async"), visibility("default")));
-
-#undef g_input_stream_skip_finish
-extern __typeof (g_input_stream_skip_finish) g_input_stream_skip_finish __attribute((alias("IA__g_input_stream_skip_finish"), visibility("default")));
-
-#undef g_input_stream_close_async
-extern __typeof (g_input_stream_close_async) g_input_stream_close_async __attribute((alias("IA__g_input_stream_close_async"), visibility("default")));
-
-#undef g_input_stream_close_finish
-extern __typeof (g_input_stream_close_finish) g_input_stream_close_finish __attribute((alias("IA__g_input_stream_close_finish"), visibility("default")));
-
-#undef g_input_stream_is_closed
-extern __typeof (g_input_stream_is_closed) g_input_stream_is_closed __attribute((alias("IA__g_input_stream_is_closed"), visibility("default")));
-
-#undef g_input_stream_has_pending
-extern __typeof (g_input_stream_has_pending) g_input_stream_has_pending __attribute((alias("IA__g_input_stream_has_pending"), visibility("default")));
-
-#undef g_input_stream_set_pending
-extern __typeof (g_input_stream_set_pending) g_input_stream_set_pending __attribute((alias("IA__g_input_stream_set_pending"), visibility("default")));
-
-#undef g_input_stream_clear_pending
-extern __typeof (g_input_stream_clear_pending) g_input_stream_clear_pending __attribute((alias("IA__g_input_stream_clear_pending"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_IO_STREAM_H__)
-#if IN_FILE(__G_IO_STREAM_C__)
-#undef g_io_stream_get_type
-extern __typeof (g_io_stream_get_type) g_io_stream_get_type __attribute((alias("IA__g_io_stream_get_type"), visibility("default")));
-
-#undef g_io_stream_get_input_stream
-extern __typeof (g_io_stream_get_input_stream) g_io_stream_get_input_stream __attribute((alias("IA__g_io_stream_get_input_stream"), visibility("default")));
-
-#undef g_io_stream_get_output_stream
-extern __typeof (g_io_stream_get_output_stream) g_io_stream_get_output_stream __attribute((alias("IA__g_io_stream_get_output_stream"), visibility("default")));
-
-#undef g_io_stream_close
-extern __typeof (g_io_stream_close) g_io_stream_close __attribute((alias("IA__g_io_stream_close"), visibility("default")));
-
-#undef g_io_stream_close_async
-extern __typeof (g_io_stream_close_async) g_io_stream_close_async __attribute((alias("IA__g_io_stream_close_async"), visibility("default")));
-
-#undef g_io_stream_close_finish
-extern __typeof (g_io_stream_close_finish) g_io_stream_close_finish __attribute((alias("IA__g_io_stream_close_finish"), visibility("default")));
-
-#undef g_io_stream_is_closed
-extern __typeof (g_io_stream_is_closed) g_io_stream_is_closed __attribute((alias("IA__g_io_stream_is_closed"), visibility("default")));
-
-#undef g_io_stream_has_pending
-extern __typeof (g_io_stream_has_pending) g_io_stream_has_pending __attribute((alias("IA__g_io_stream_has_pending"), visibility("default")));
-
-#undef g_io_stream_set_pending
-extern __typeof (g_io_stream_set_pending) g_io_stream_set_pending __attribute((alias("IA__g_io_stream_set_pending"), visibility("default")));
-
-#undef g_io_stream_clear_pending
-extern __typeof (g_io_stream_clear_pending) g_io_stream_clear_pending __attribute((alias("IA__g_io_stream_clear_pending"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_IO_ERROR_H__)
-#if IN_FILE(__G_IO_ERROR_C__)
-#undef g_io_error_quark
-extern __typeof (g_io_error_quark) g_io_error_quark __attribute((alias("IA__g_io_error_quark"), visibility("default")));
-
-#undef g_io_error_from_errno
-extern __typeof (g_io_error_from_errno) g_io_error_from_errno __attribute((alias("IA__g_io_error_from_errno"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_IO_MODULE_H__)
-#if IN_FILE(__G_IO_MODULE_C__)
-#undef g_io_module_get_type
-extern __typeof (g_io_module_get_type) g_io_module_get_type __attribute((alias("IA__g_io_module_get_type"), visibility("default")));
-
-#undef g_io_module_new
-extern __typeof (g_io_module_new) g_io_module_new __attribute((alias("IA__g_io_module_new"), visibility("default")));
-
-#undef g_io_modules_scan_all_in_directory
-extern __typeof (g_io_modules_scan_all_in_directory) g_io_modules_scan_all_in_directory __attribute((alias("IA__g_io_modules_scan_all_in_directory"), visibility("default")));
-
-#undef g_io_modules_load_all_in_directory
-extern __typeof (g_io_modules_load_all_in_directory) g_io_modules_load_all_in_directory __attribute((alias("IA__g_io_modules_load_all_in_directory"), visibility("default")));
-
-#undef g_io_extension_point_register
-extern __typeof (g_io_extension_point_register) g_io_extension_point_register __attribute((alias("IA__g_io_extension_point_register"), visibility("default")));
-
-#undef g_io_extension_point_lookup
-extern __typeof (g_io_extension_point_lookup) g_io_extension_point_lookup __attribute((alias("IA__g_io_extension_point_lookup"), visibility("default")));
-
-#undef g_io_extension_point_set_required_type
-extern __typeof (g_io_extension_point_set_required_type) g_io_extension_point_set_required_type __attribute((alias("IA__g_io_extension_point_set_required_type"), visibility("default")));
-
-#undef g_io_extension_point_get_required_type
-extern __typeof (g_io_extension_point_get_required_type) g_io_extension_point_get_required_type __attribute((alias("IA__g_io_extension_point_get_required_type"), visibility("default")));
-
-#undef g_io_extension_point_get_extensions
-extern __typeof (g_io_extension_point_get_extensions) g_io_extension_point_get_extensions __attribute((alias("IA__g_io_extension_point_get_extensions"), visibility("default")));
-
-#undef g_io_extension_point_get_extension_by_name
-extern __typeof (g_io_extension_point_get_extension_by_name) g_io_extension_point_get_extension_by_name __attribute((alias("IA__g_io_extension_point_get_extension_by_name"), visibility("default")));
-
-#undef g_io_extension_point_implement
-extern __typeof (g_io_extension_point_implement) g_io_extension_point_implement __attribute((alias("IA__g_io_extension_point_implement"), visibility("default")));
-
-#undef g_io_extension_get_type
-extern __typeof (g_io_extension_get_type) g_io_extension_get_type __attribute((alias("IA__g_io_extension_get_type"), visibility("default")));
-
-#undef g_io_extension_get_name
-extern __typeof (g_io_extension_get_name) g_io_extension_get_name __attribute((alias("IA__g_io_extension_get_name"), visibility("default")));
-
-#undef g_io_extension_get_priority
-extern __typeof (g_io_extension_get_priority) g_io_extension_get_priority __attribute((alias("IA__g_io_extension_get_priority"), visibility("default")));
-
-#undef g_io_extension_ref_class
-extern __typeof (g_io_extension_ref_class) g_io_extension_ref_class __attribute((alias("IA__g_io_extension_ref_class"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_IO_SCHEDULER_H__)
-#if IN_FILE(__G_IO_SCHEDULER_C__)
-#undef g_io_scheduler_push_job
-extern __typeof (g_io_scheduler_push_job) g_io_scheduler_push_job __attribute((alias("IA__g_io_scheduler_push_job"), visibility("default")));
-
-#undef g_io_scheduler_cancel_all_jobs
-extern __typeof (g_io_scheduler_cancel_all_jobs) g_io_scheduler_cancel_all_jobs __attribute((alias("IA__g_io_scheduler_cancel_all_jobs"), visibility("default")));
-
-#undef g_io_scheduler_job_send_to_mainloop
-extern __typeof (g_io_scheduler_job_send_to_mainloop) g_io_scheduler_job_send_to_mainloop __attribute((alias("IA__g_io_scheduler_job_send_to_mainloop"), visibility("default")));
-
-#undef g_io_scheduler_job_send_to_mainloop_async
-extern __typeof (g_io_scheduler_job_send_to_mainloop_async) g_io_scheduler_job_send_to_mainloop_async __attribute((alias("IA__g_io_scheduler_job_send_to_mainloop_async"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_LOADABLE_ICON_H__)
-#if IN_FILE(__G_LOADABLE_ICON_C__)
-#undef g_loadable_icon_get_type
-extern __typeof (g_loadable_icon_get_type) g_loadable_icon_get_type __attribute((alias("IA__g_loadable_icon_get_type"), visibility("default")));
-
-#undef g_loadable_icon_load
-extern __typeof (g_loadable_icon_load) g_loadable_icon_load __attribute((alias("IA__g_loadable_icon_load"), visibility("default")));
-
-#undef g_loadable_icon_load_async
-extern __typeof (g_loadable_icon_load_async) g_loadable_icon_load_async __attribute((alias("IA__g_loadable_icon_load_async"), visibility("default")));
-
-#undef g_loadable_icon_load_finish
-extern __typeof (g_loadable_icon_load_finish) g_loadable_icon_load_finish __attribute((alias("IA__g_loadable_icon_load_finish"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_MEMORY_INPUT_STREAM_H__)
-#if IN_FILE(__G_MEMORY_INPUT_STREAM_C__)
-#undef g_memory_input_stream_get_type
-extern __typeof (g_memory_input_stream_get_type) g_memory_input_stream_get_type __attribute((alias("IA__g_memory_input_stream_get_type"), visibility("default")));
-
-#undef g_memory_input_stream_new
-extern __typeof (g_memory_input_stream_new) g_memory_input_stream_new __attribute((alias("IA__g_memory_input_stream_new"), visibility("default")));
-
-#undef g_memory_input_stream_new_from_data
-extern __typeof (g_memory_input_stream_new_from_data) g_memory_input_stream_new_from_data __attribute((alias("IA__g_memory_input_stream_new_from_data"), visibility("default")));
-
-#undef g_memory_input_stream_add_data
-extern __typeof (g_memory_input_stream_add_data) g_memory_input_stream_add_data __attribute((alias("IA__g_memory_input_stream_add_data"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_MEMORY_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_MEMORY_OUTPUT_STREAM_C__)
-#undef g_memory_output_stream_get_type
-extern __typeof (g_memory_output_stream_get_type) g_memory_output_stream_get_type __attribute((alias("IA__g_memory_output_stream_get_type"), visibility("default")));
-
-#undef g_memory_output_stream_new
-extern __typeof (g_memory_output_stream_new) g_memory_output_stream_new __attribute((alias("IA__g_memory_output_stream_new"), visibility("default")));
-
-#undef g_memory_output_stream_get_data
-extern __typeof (g_memory_output_stream_get_data) g_memory_output_stream_get_data __attribute((alias("IA__g_memory_output_stream_get_data"), visibility("default")));
-
-#undef g_memory_output_stream_get_data_size
-extern __typeof (g_memory_output_stream_get_data_size) g_memory_output_stream_get_data_size __attribute((alias("IA__g_memory_output_stream_get_data_size"), visibility("default")));
-
-#undef g_memory_output_stream_get_size
-extern __typeof (g_memory_output_stream_get_size) g_memory_output_stream_get_size __attribute((alias("IA__g_memory_output_stream_get_size"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_MOUNT_OPERATION_H__)
-#if IN_FILE(__G_MOUNT_OPERATION_C__)
-#undef g_mount_operation_get_type
-extern __typeof (g_mount_operation_get_type) g_mount_operation_get_type __attribute((alias("IA__g_mount_operation_get_type"), visibility("default")));
-
-#undef g_mount_operation_new
-extern __typeof (g_mount_operation_new) g_mount_operation_new __attribute((alias("IA__g_mount_operation_new"), visibility("default")));
-
-#undef g_mount_operation_get_username
-extern __typeof (g_mount_operation_get_username) g_mount_operation_get_username __attribute((alias("IA__g_mount_operation_get_username"), visibility("default")));
-
-#undef g_mount_operation_set_username
-extern __typeof (g_mount_operation_set_username) g_mount_operation_set_username __attribute((alias("IA__g_mount_operation_set_username"), visibility("default")));
-
-#undef g_mount_operation_get_password
-extern __typeof (g_mount_operation_get_password) g_mount_operation_get_password __attribute((alias("IA__g_mount_operation_get_password"), visibility("default")));
-
-#undef g_mount_operation_set_password
-extern __typeof (g_mount_operation_set_password) g_mount_operation_set_password __attribute((alias("IA__g_mount_operation_set_password"), visibility("default")));
-
-#undef g_mount_operation_get_anonymous
-extern __typeof (g_mount_operation_get_anonymous) g_mount_operation_get_anonymous __attribute((alias("IA__g_mount_operation_get_anonymous"), visibility("default")));
-
-#undef g_mount_operation_set_anonymous
-extern __typeof (g_mount_operation_set_anonymous) g_mount_operation_set_anonymous __attribute((alias("IA__g_mount_operation_set_anonymous"), visibility("default")));
-
-#undef g_mount_operation_get_domain
-extern __typeof (g_mount_operation_get_domain) g_mount_operation_get_domain __attribute((alias("IA__g_mount_operation_get_domain"), visibility("default")));
-
-#undef g_mount_operation_set_domain
-extern __typeof (g_mount_operation_set_domain) g_mount_operation_set_domain __attribute((alias("IA__g_mount_operation_set_domain"), visibility("default")));
-
-#undef g_mount_operation_get_password_save
-extern __typeof (g_mount_operation_get_password_save) g_mount_operation_get_password_save __attribute((alias("IA__g_mount_operation_get_password_save"), visibility("default")));
-
-#undef g_mount_operation_set_password_save
-extern __typeof (g_mount_operation_set_password_save) g_mount_operation_set_password_save __attribute((alias("IA__g_mount_operation_set_password_save"), visibility("default")));
-
-#undef g_mount_operation_get_choice
-extern __typeof (g_mount_operation_get_choice) g_mount_operation_get_choice __attribute((alias("IA__g_mount_operation_get_choice"), visibility("default")));
-
-#undef g_mount_operation_set_choice
-extern __typeof (g_mount_operation_set_choice) g_mount_operation_set_choice __attribute((alias("IA__g_mount_operation_set_choice"), visibility("default")));
-
-#undef g_mount_operation_reply
-extern __typeof (g_mount_operation_reply) g_mount_operation_reply __attribute((alias("IA__g_mount_operation_reply"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_OUTPUT_STREAM_C__)
-#undef g_output_stream_get_type
-extern __typeof (g_output_stream_get_type) g_output_stream_get_type __attribute((alias("IA__g_output_stream_get_type"), visibility("default")));
-
-#undef g_output_stream_write
-extern __typeof (g_output_stream_write) g_output_stream_write __attribute((alias("IA__g_output_stream_write"), visibility("default")));
-
-#undef g_output_stream_write_all
-extern __typeof (g_output_stream_write_all) g_output_stream_write_all __attribute((alias("IA__g_output_stream_write_all"), visibility("default")));
-
-#undef g_output_stream_splice
-extern __typeof (g_output_stream_splice) g_output_stream_splice __attribute((alias("IA__g_output_stream_splice"), visibility("default")));
-
-#undef g_output_stream_flush
-extern __typeof (g_output_stream_flush) g_output_stream_flush __attribute((alias("IA__g_output_stream_flush"), visibility("default")));
-
-#undef g_output_stream_close
-extern __typeof (g_output_stream_close) g_output_stream_close __attribute((alias("IA__g_output_stream_close"), visibility("default")));
-
-#undef g_output_stream_write_async
-extern __typeof (g_output_stream_write_async) g_output_stream_write_async __attribute((alias("IA__g_output_stream_write_async"), visibility("default")));
-
-#undef g_output_stream_write_finish
-extern __typeof (g_output_stream_write_finish) g_output_stream_write_finish __attribute((alias("IA__g_output_stream_write_finish"), visibility("default")));
-
-#undef g_output_stream_splice_async
-extern __typeof (g_output_stream_splice_async) g_output_stream_splice_async __attribute((alias("IA__g_output_stream_splice_async"), visibility("default")));
-
-#undef g_output_stream_splice_finish
-extern __typeof (g_output_stream_splice_finish) g_output_stream_splice_finish __attribute((alias("IA__g_output_stream_splice_finish"), visibility("default")));
-
-#undef g_output_stream_flush_async
-extern __typeof (g_output_stream_flush_async) g_output_stream_flush_async __attribute((alias("IA__g_output_stream_flush_async"), visibility("default")));
-
-#undef g_output_stream_flush_finish
-extern __typeof (g_output_stream_flush_finish) g_output_stream_flush_finish __attribute((alias("IA__g_output_stream_flush_finish"), visibility("default")));
-
-#undef g_output_stream_close_async
-extern __typeof (g_output_stream_close_async) g_output_stream_close_async __attribute((alias("IA__g_output_stream_close_async"), visibility("default")));
-
-#undef g_output_stream_close_finish
-extern __typeof (g_output_stream_close_finish) g_output_stream_close_finish __attribute((alias("IA__g_output_stream_close_finish"), visibility("default")));
-
-#undef g_output_stream_is_closed
-extern __typeof (g_output_stream_is_closed) g_output_stream_is_closed __attribute((alias("IA__g_output_stream_is_closed"), visibility("default")));
-
-#undef g_output_stream_is_closing
-extern __typeof (g_output_stream_is_closing) g_output_stream_is_closing __attribute((alias("IA__g_output_stream_is_closing"), visibility("default")));
-
-#undef g_output_stream_has_pending
-extern __typeof (g_output_stream_has_pending) g_output_stream_has_pending __attribute((alias("IA__g_output_stream_has_pending"), visibility("default")));
-
-#undef g_output_stream_set_pending
-extern __typeof (g_output_stream_set_pending) g_output_stream_set_pending __attribute((alias("IA__g_output_stream_set_pending"), visibility("default")));
-
-#undef g_output_stream_clear_pending
-extern __typeof (g_output_stream_clear_pending) g_output_stream_clear_pending __attribute((alias("IA__g_output_stream_clear_pending"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SEEKABLE_H__)
-#if IN_FILE(__G_SEEKABLE_C__)
-#undef g_seekable_get_type
-extern __typeof (g_seekable_get_type) g_seekable_get_type __attribute((alias("IA__g_seekable_get_type"), visibility("default")));
-
-#undef g_seekable_tell
-extern __typeof (g_seekable_tell) g_seekable_tell __attribute((alias("IA__g_seekable_tell"), visibility("default")));
-
-#undef g_seekable_can_seek
-extern __typeof (g_seekable_can_seek) g_seekable_can_seek __attribute((alias("IA__g_seekable_can_seek"), visibility("default")));
-
-#undef g_seekable_seek
-extern __typeof (g_seekable_seek) g_seekable_seek __attribute((alias("IA__g_seekable_seek"), visibility("default")));
-
-#undef g_seekable_can_truncate
-extern __typeof (g_seekable_can_truncate) g_seekable_can_truncate __attribute((alias("IA__g_seekable_can_truncate"), visibility("default")));
-
-#undef g_seekable_truncate
-extern __typeof (g_seekable_truncate) g_seekable_truncate __attribute((alias("IA__g_seekable_truncate"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SIMPLE_ASYNC_RESULT_H__)
-#if IN_FILE(__G_SIMPLE_ASYNC_RESULT_C__)
-#undef g_simple_async_result_get_type
-extern __typeof (g_simple_async_result_get_type) g_simple_async_result_get_type __attribute((alias("IA__g_simple_async_result_get_type"), visibility("default")));
-
-#undef g_simple_async_result_new
-extern __typeof (g_simple_async_result_new) g_simple_async_result_new __attribute((alias("IA__g_simple_async_result_new"), visibility("default")));
-
-#undef g_simple_async_result_new_error
-extern __typeof (g_simple_async_result_new_error) g_simple_async_result_new_error __attribute((alias("IA__g_simple_async_result_new_error"), visibility("default")));
-
-#undef g_simple_async_result_new_from_error
-extern __typeof (g_simple_async_result_new_from_error) g_simple_async_result_new_from_error __attribute((alias("IA__g_simple_async_result_new_from_error"), visibility("default")));
-
-#undef g_simple_async_result_set_op_res_gpointer
-extern __typeof (g_simple_async_result_set_op_res_gpointer) g_simple_async_result_set_op_res_gpointer __attribute((alias("IA__g_simple_async_result_set_op_res_gpointer"), visibility("default")));
-
-#undef g_simple_async_result_get_op_res_gpointer
-extern __typeof (g_simple_async_result_get_op_res_gpointer) g_simple_async_result_get_op_res_gpointer __attribute((alias("IA__g_simple_async_result_get_op_res_gpointer"), visibility("default")));
-
-#undef g_simple_async_result_set_op_res_gssize
-extern __typeof (g_simple_async_result_set_op_res_gssize) g_simple_async_result_set_op_res_gssize __attribute((alias("IA__g_simple_async_result_set_op_res_gssize"), visibility("default")));
-
-#undef g_simple_async_result_get_op_res_gssize
-extern __typeof (g_simple_async_result_get_op_res_gssize) g_simple_async_result_get_op_res_gssize __attribute((alias("IA__g_simple_async_result_get_op_res_gssize"), visibility("default")));
-
-#undef g_simple_async_result_set_op_res_gboolean
-extern __typeof (g_simple_async_result_set_op_res_gboolean) g_simple_async_result_set_op_res_gboolean __attribute((alias("IA__g_simple_async_result_set_op_res_gboolean"), visibility("default")));
-
-#undef g_simple_async_result_get_op_res_gboolean
-extern __typeof (g_simple_async_result_get_op_res_gboolean) g_simple_async_result_get_op_res_gboolean __attribute((alias("IA__g_simple_async_result_get_op_res_gboolean"), visibility("default")));
-
-#undef g_simple_async_result_get_source_tag
-extern __typeof (g_simple_async_result_get_source_tag) g_simple_async_result_get_source_tag __attribute((alias("IA__g_simple_async_result_get_source_tag"), visibility("default")));
-
-#undef g_simple_async_result_set_handle_cancellation
-extern __typeof (g_simple_async_result_set_handle_cancellation) g_simple_async_result_set_handle_cancellation __attribute((alias("IA__g_simple_async_result_set_handle_cancellation"), visibility("default")));
-
-#undef g_simple_async_result_complete
-extern __typeof (g_simple_async_result_complete) g_simple_async_result_complete __attribute((alias("IA__g_simple_async_result_complete"), visibility("default")));
-
-#undef g_simple_async_result_complete_in_idle
-extern __typeof (g_simple_async_result_complete_in_idle) g_simple_async_result_complete_in_idle __attribute((alias("IA__g_simple_async_result_complete_in_idle"), visibility("default")));
-
-#undef g_simple_async_result_run_in_thread
-extern __typeof (g_simple_async_result_run_in_thread) g_simple_async_result_run_in_thread __attribute((alias("IA__g_simple_async_result_run_in_thread"), visibility("default")));
-
-#undef g_simple_async_result_set_from_error
-extern __typeof (g_simple_async_result_set_from_error) g_simple_async_result_set_from_error __attribute((alias("IA__g_simple_async_result_set_from_error"), visibility("default")));
-
-#undef g_simple_async_result_propagate_error
-extern __typeof (g_simple_async_result_propagate_error) g_simple_async_result_propagate_error __attribute((alias("IA__g_simple_async_result_propagate_error"), visibility("default")));
-
-#undef g_simple_async_result_set_error
-extern __typeof (g_simple_async_result_set_error) g_simple_async_result_set_error __attribute((alias("IA__g_simple_async_result_set_error"), visibility("default")));
-
-#undef g_simple_async_result_set_error_va
-extern __typeof (g_simple_async_result_set_error_va) g_simple_async_result_set_error_va __attribute((alias("IA__g_simple_async_result_set_error_va"), visibility("default")));
-
-#undef g_simple_async_result_is_valid
-extern __typeof (g_simple_async_result_is_valid) g_simple_async_result_is_valid __attribute((alias("IA__g_simple_async_result_is_valid"), visibility("default")));
-
-#undef g_simple_async_report_error_in_idle
-extern __typeof (g_simple_async_report_error_in_idle) g_simple_async_report_error_in_idle __attribute((alias("IA__g_simple_async_report_error_in_idle"), visibility("default")));
-
-#undef g_simple_async_report_gerror_in_idle
-extern __typeof (g_simple_async_report_gerror_in_idle) g_simple_async_report_gerror_in_idle __attribute((alias("IA__g_simple_async_report_gerror_in_idle"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_THEMED_ICON_H__)
-#if IN_FILE(__G_THEMED_ICON_C__)
-#undef g_themed_icon_get_type
-extern __typeof (g_themed_icon_get_type) g_themed_icon_get_type __attribute((alias("IA__g_themed_icon_get_type"), visibility("default")));
-
-#undef g_themed_icon_new
-extern __typeof (g_themed_icon_new) g_themed_icon_new __attribute((alias("IA__g_themed_icon_new"), visibility("default")));
-
-#undef g_themed_icon_new_with_default_fallbacks
-extern __typeof (g_themed_icon_new_with_default_fallbacks) g_themed_icon_new_with_default_fallbacks __attribute((alias("IA__g_themed_icon_new_with_default_fallbacks"), visibility("default")));
-
-#undef g_themed_icon_new_from_names
-extern __typeof (g_themed_icon_new_from_names) g_themed_icon_new_from_names __attribute((alias("IA__g_themed_icon_new_from_names"), visibility("default")));
-
-#undef g_themed_icon_get_names
-extern __typeof (g_themed_icon_get_names) g_themed_icon_get_names __attribute((alias("IA__g_themed_icon_get_names"), visibility("default")));
-
-#undef g_themed_icon_prepend_name
-extern __typeof (g_themed_icon_prepend_name) g_themed_icon_prepend_name __attribute((alias("IA__g_themed_icon_prepend_name"), visibility("default")));
-
-#undef g_themed_icon_append_name
-extern __typeof (g_themed_icon_append_name) g_themed_icon_append_name __attribute((alias("IA__g_themed_icon_append_name"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_MOUNTS_H__)
-#if IN_FILE(__G_UNIX_MOUNTS_C__)
-#ifdef G_OS_UNIX
-#undef g_unix_mount_free
-extern __typeof (g_unix_mount_free) g_unix_mount_free __attribute((alias("IA__g_unix_mount_free"), visibility("default")));
-
-#undef g_unix_mount_point_free
-extern __typeof (g_unix_mount_point_free) g_unix_mount_point_free __attribute((alias("IA__g_unix_mount_point_free"), visibility("default")));
-
-#undef g_unix_mount_compare
-extern __typeof (g_unix_mount_compare) g_unix_mount_compare __attribute((alias("IA__g_unix_mount_compare"), visibility("default")));
-
-#undef g_unix_mount_get_mount_path
-extern __typeof (g_unix_mount_get_mount_path) g_unix_mount_get_mount_path __attribute((alias("IA__g_unix_mount_get_mount_path"), visibility("default")));
-
-#undef g_unix_mount_get_device_path
-extern __typeof (g_unix_mount_get_device_path) g_unix_mount_get_device_path __attribute((alias("IA__g_unix_mount_get_device_path"), visibility("default")));
-
-#undef g_unix_mount_get_fs_type
-extern __typeof (g_unix_mount_get_fs_type) g_unix_mount_get_fs_type __attribute((alias("IA__g_unix_mount_get_fs_type"), visibility("default")));
-
-#undef g_unix_mount_is_readonly
-extern __typeof (g_unix_mount_is_readonly) g_unix_mount_is_readonly __attribute((alias("IA__g_unix_mount_is_readonly"), visibility("default")));
-
-#undef g_unix_mount_is_system_internal
-extern __typeof (g_unix_mount_is_system_internal) g_unix_mount_is_system_internal __attribute((alias("IA__g_unix_mount_is_system_internal"), visibility("default")));
-
-#undef g_unix_mount_guess_can_eject
-extern __typeof (g_unix_mount_guess_can_eject) g_unix_mount_guess_can_eject __attribute((alias("IA__g_unix_mount_guess_can_eject"), visibility("default")));
-
-#undef g_unix_mount_guess_should_display
-extern __typeof (g_unix_mount_guess_should_display) g_unix_mount_guess_should_display __attribute((alias("IA__g_unix_mount_guess_should_display"), visibility("default")));
-
-#undef g_unix_mount_guess_name
-extern __typeof (g_unix_mount_guess_name) g_unix_mount_guess_name __attribute((alias("IA__g_unix_mount_guess_name"), visibility("default")));
-
-#undef g_unix_mount_guess_icon
-extern __typeof (g_unix_mount_guess_icon) g_unix_mount_guess_icon __attribute((alias("IA__g_unix_mount_guess_icon"), visibility("default")));
-
-#undef g_unix_mount_point_compare
-extern __typeof (g_unix_mount_point_compare) g_unix_mount_point_compare __attribute((alias("IA__g_unix_mount_point_compare"), visibility("default")));
-
-#undef g_unix_mount_point_get_mount_path
-extern __typeof (g_unix_mount_point_get_mount_path) g_unix_mount_point_get_mount_path __attribute((alias("IA__g_unix_mount_point_get_mount_path"), visibility("default")));
-
-#undef g_unix_mount_point_get_device_path
-extern __typeof (g_unix_mount_point_get_device_path) g_unix_mount_point_get_device_path __attribute((alias("IA__g_unix_mount_point_get_device_path"), visibility("default")));
-
-#undef g_unix_mount_point_get_fs_type
-extern __typeof (g_unix_mount_point_get_fs_type) g_unix_mount_point_get_fs_type __attribute((alias("IA__g_unix_mount_point_get_fs_type"), visibility("default")));
-
-#undef g_unix_mount_point_is_readonly
-extern __typeof (g_unix_mount_point_is_readonly) g_unix_mount_point_is_readonly __attribute((alias("IA__g_unix_mount_point_is_readonly"), visibility("default")));
-
-#undef g_unix_mount_point_is_user_mountable
-extern __typeof (g_unix_mount_point_is_user_mountable) g_unix_mount_point_is_user_mountable __attribute((alias("IA__g_unix_mount_point_is_user_mountable"), visibility("default")));
-
-#undef g_unix_mount_point_is_loopback
-extern __typeof (g_unix_mount_point_is_loopback) g_unix_mount_point_is_loopback __attribute((alias("IA__g_unix_mount_point_is_loopback"), visibility("default")));
-
-#undef g_unix_mount_point_guess_can_eject
-extern __typeof (g_unix_mount_point_guess_can_eject) g_unix_mount_point_guess_can_eject __attribute((alias("IA__g_unix_mount_point_guess_can_eject"), visibility("default")));
-
-#undef g_unix_mount_point_guess_name
-extern __typeof (g_unix_mount_point_guess_name) g_unix_mount_point_guess_name __attribute((alias("IA__g_unix_mount_point_guess_name"), visibility("default")));
-
-#undef g_unix_mount_point_guess_icon
-extern __typeof (g_unix_mount_point_guess_icon) g_unix_mount_point_guess_icon __attribute((alias("IA__g_unix_mount_point_guess_icon"), visibility("default")));
-
-#undef g_unix_mount_points_get
-extern __typeof (g_unix_mount_points_get) g_unix_mount_points_get __attribute((alias("IA__g_unix_mount_points_get"), visibility("default")));
-
-#undef g_unix_mounts_get
-extern __typeof (g_unix_mounts_get) g_unix_mounts_get __attribute((alias("IA__g_unix_mounts_get"), visibility("default")));
-
-#undef g_unix_mount_at
-extern __typeof (g_unix_mount_at) g_unix_mount_at __attribute((alias("IA__g_unix_mount_at"), visibility("default")));
-
-#undef g_unix_mounts_changed_since
-extern __typeof (g_unix_mounts_changed_since) g_unix_mounts_changed_since __attribute((alias("IA__g_unix_mounts_changed_since"), visibility("default")));
-
-#undef g_unix_mount_points_changed_since
-extern __typeof (g_unix_mount_points_changed_since) g_unix_mount_points_changed_since __attribute((alias("IA__g_unix_mount_points_changed_since"), visibility("default")));
-
-#undef g_unix_mount_monitor_get_type
-extern __typeof (g_unix_mount_monitor_get_type) g_unix_mount_monitor_get_type __attribute((alias("IA__g_unix_mount_monitor_get_type"), visibility("default")));
-
-#undef g_unix_mount_monitor_new
-extern __typeof (g_unix_mount_monitor_new) g_unix_mount_monitor_new __attribute((alias("IA__g_unix_mount_monitor_new"), visibility("default")));
-
-#undef g_unix_mount_monitor_set_rate_limit
-extern __typeof (g_unix_mount_monitor_set_rate_limit) g_unix_mount_monitor_set_rate_limit __attribute((alias("IA__g_unix_mount_monitor_set_rate_limit"), visibility("default")));
-
-#undef g_unix_is_mount_path_system_internal
-extern __typeof (g_unix_is_mount_path_system_internal) g_unix_is_mount_path_system_internal __attribute((alias("IA__g_unix_is_mount_path_system_internal"), visibility("default")));
-
-#endif /* G_OS_UNIX */
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_INPUT_STREAM_H__)
-#if IN_FILE(__G_UNIX_INPUT_STREAM_C__)
-#ifdef G_OS_UNIX
-#undef g_unix_input_stream_get_type
-extern __typeof (g_unix_input_stream_get_type) g_unix_input_stream_get_type __attribute((alias("IA__g_unix_input_stream_get_type"), visibility("default")));
-
-#undef g_unix_input_stream_new
-extern __typeof (g_unix_input_stream_new) g_unix_input_stream_new __attribute((alias("IA__g_unix_input_stream_new"), visibility("default")));
-
-#undef g_unix_input_stream_set_close_fd
-extern __typeof (g_unix_input_stream_set_close_fd) g_unix_input_stream_set_close_fd __attribute((alias("IA__g_unix_input_stream_set_close_fd"), visibility("default")));
-
-#undef g_unix_input_stream_get_close_fd
-extern __typeof (g_unix_input_stream_get_close_fd) g_unix_input_stream_get_close_fd __attribute((alias("IA__g_unix_input_stream_get_close_fd"), visibility("default")));
-
-#undef g_unix_input_stream_get_fd
-extern __typeof (g_unix_input_stream_get_fd) g_unix_input_stream_get_fd __attribute((alias("IA__g_unix_input_stream_get_fd"), visibility("default")));
-
-#endif /* G_OS_UNIX */
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_OUTPUT_STREAM_H__)
-#if IN_FILE(__G_UNIX_OUTPUT_STREAM_C__)
-#ifdef G_OS_UNIX
-#undef g_unix_output_stream_get_type
-extern __typeof (g_unix_output_stream_get_type) g_unix_output_stream_get_type __attribute((alias("IA__g_unix_output_stream_get_type"), visibility("default")));
-
-#undef g_unix_output_stream_new
-extern __typeof (g_unix_output_stream_new) g_unix_output_stream_new __attribute((alias("IA__g_unix_output_stream_new"), visibility("default")));
-
-#undef g_unix_output_stream_set_close_fd
-extern __typeof (g_unix_output_stream_set_close_fd) g_unix_output_stream_set_close_fd __attribute((alias("IA__g_unix_output_stream_set_close_fd"), visibility("default")));
-
-#undef g_unix_output_stream_get_close_fd
-extern __typeof (g_unix_output_stream_get_close_fd) g_unix_output_stream_get_close_fd __attribute((alias("IA__g_unix_output_stream_get_close_fd"), visibility("default")));
-
-#undef g_unix_output_stream_get_fd
-extern __typeof (g_unix_output_stream_get_fd) g_unix_output_stream_get_fd __attribute((alias("IA__g_unix_output_stream_get_fd"), visibility("default")));
-
-#endif /* G_OS_UNIX */
-#endif
-#endif
-#if IN_HEADER(__G_MOUNT_H__)
-#if IN_FILE(__G_MOUNT_C__)
-#undef g_mount_get_type
-extern __typeof (g_mount_get_type) g_mount_get_type __attribute((alias("IA__g_mount_get_type"), visibility("default")));
-
-#undef g_mount_get_root
-extern __typeof (g_mount_get_root) g_mount_get_root __attribute((alias("IA__g_mount_get_root"), visibility("default")));
-
-#undef g_mount_get_name
-extern __typeof (g_mount_get_name) g_mount_get_name __attribute((alias("IA__g_mount_get_name"), visibility("default")));
-
-#undef g_mount_get_icon
-extern __typeof (g_mount_get_icon) g_mount_get_icon __attribute((alias("IA__g_mount_get_icon"), visibility("default")));
-
-#undef g_mount_get_uuid
-extern __typeof (g_mount_get_uuid) g_mount_get_uuid __attribute((alias("IA__g_mount_get_uuid"), visibility("default")));
-
-#undef g_mount_get_volume
-extern __typeof (g_mount_get_volume) g_mount_get_volume __attribute((alias("IA__g_mount_get_volume"), visibility("default")));
-
-#undef g_mount_get_drive
-extern __typeof (g_mount_get_drive) g_mount_get_drive __attribute((alias("IA__g_mount_get_drive"), visibility("default")));
-
-#undef g_mount_can_unmount
-extern __typeof (g_mount_can_unmount) g_mount_can_unmount __attribute((alias("IA__g_mount_can_unmount"), visibility("default")));
-
-#undef g_mount_can_eject
-extern __typeof (g_mount_can_eject) g_mount_can_eject __attribute((alias("IA__g_mount_can_eject"), visibility("default")));
-
-#undef g_mount_unmount_with_operation
-extern __typeof (g_mount_unmount_with_operation) g_mount_unmount_with_operation __attribute((alias("IA__g_mount_unmount_with_operation"), visibility("default")));
-
-#undef g_mount_unmount_with_operation_finish
-extern __typeof (g_mount_unmount_with_operation_finish) g_mount_unmount_with_operation_finish __attribute((alias("IA__g_mount_unmount_with_operation_finish"), visibility("default")));
-
-#undef g_mount_eject_with_operation
-extern __typeof (g_mount_eject_with_operation) g_mount_eject_with_operation __attribute((alias("IA__g_mount_eject_with_operation"), visibility("default")));
-
-#undef g_mount_eject_with_operation_finish
-extern __typeof (g_mount_eject_with_operation_finish) g_mount_eject_with_operation_finish __attribute((alias("IA__g_mount_eject_with_operation_finish"), visibility("default")));
-
-#undef g_mount_get_default_location
-extern __typeof (g_mount_get_default_location) g_mount_get_default_location __attribute((alias("IA__g_mount_get_default_location"), visibility("default")));
-
-#undef g_mount_remount
-extern __typeof (g_mount_remount) g_mount_remount __attribute((alias("IA__g_mount_remount"), visibility("default")));
-
-#undef g_mount_remount_finish
-extern __typeof (g_mount_remount_finish) g_mount_remount_finish __attribute((alias("IA__g_mount_remount_finish"), visibility("default")));
-
-#undef g_mount_guess_content_type
-extern __typeof (g_mount_guess_content_type) g_mount_guess_content_type __attribute((alias("IA__g_mount_guess_content_type"), visibility("default")));
-
-#undef g_mount_guess_content_type_finish
-extern __typeof (g_mount_guess_content_type_finish) g_mount_guess_content_type_finish __attribute((alias("IA__g_mount_guess_content_type_finish"), visibility("default")));
-
-#undef g_mount_guess_content_type_sync
-extern __typeof (g_mount_guess_content_type_sync) g_mount_guess_content_type_sync __attribute((alias("IA__g_mount_guess_content_type_sync"), visibility("default")));
-
-#undef g_mount_is_shadowed
-extern __typeof (g_mount_is_shadowed) g_mount_is_shadowed __attribute((alias("IA__g_mount_is_shadowed"), visibility("default")));
-
-#undef g_mount_shadow
-extern __typeof (g_mount_shadow) g_mount_shadow __attribute((alias("IA__g_mount_shadow"), visibility("default")));
-
-#undef g_mount_unshadow
-extern __typeof (g_mount_unshadow) g_mount_unshadow __attribute((alias("IA__g_mount_unshadow"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_mount_unmount
-extern __typeof (g_mount_unmount) g_mount_unmount __attribute((alias("IA__g_mount_unmount"), visibility("default")));
-
-#undef g_mount_unmount_finish
-extern __typeof (g_mount_unmount_finish) g_mount_unmount_finish __attribute((alias("IA__g_mount_unmount_finish"), visibility("default")));
-
-#undef g_mount_eject
-extern __typeof (g_mount_eject) g_mount_eject __attribute((alias("IA__g_mount_eject"), visibility("default")));
-
-#undef g_mount_eject_finish
-extern __typeof (g_mount_eject_finish) g_mount_eject_finish __attribute((alias("IA__g_mount_eject_finish"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_VOLUME_H__)
-#if IN_FILE(__G_VOLUME_C__)
-#undef g_volume_get_type
-extern __typeof (g_volume_get_type) g_volume_get_type __attribute((alias("IA__g_volume_get_type"), visibility("default")));
-
-#undef g_volume_get_name
-extern __typeof (g_volume_get_name) g_volume_get_name __attribute((alias("IA__g_volume_get_name"), visibility("default")));
-
-#undef g_volume_get_icon
-extern __typeof (g_volume_get_icon) g_volume_get_icon __attribute((alias("IA__g_volume_get_icon"), visibility("default")));
-
-#undef g_volume_get_uuid
-extern __typeof (g_volume_get_uuid) g_volume_get_uuid __attribute((alias("IA__g_volume_get_uuid"), visibility("default")));
-
-#undef g_volume_get_drive
-extern __typeof (g_volume_get_drive) g_volume_get_drive __attribute((alias("IA__g_volume_get_drive"), visibility("default")));
-
-#undef g_volume_get_mount
-extern __typeof (g_volume_get_mount) g_volume_get_mount __attribute((alias("IA__g_volume_get_mount"), visibility("default")));
-
-#undef g_volume_should_automount
-extern __typeof (g_volume_should_automount) g_volume_should_automount __attribute((alias("IA__g_volume_should_automount"), visibility("default")));
-
-#undef g_volume_can_mount
-extern __typeof (g_volume_can_mount) g_volume_can_mount __attribute((alias("IA__g_volume_can_mount"), visibility("default")));
-
-#undef g_volume_can_eject
-extern __typeof (g_volume_can_eject) g_volume_can_eject __attribute((alias("IA__g_volume_can_eject"), visibility("default")));
-
-#undef g_volume_mount
-extern __typeof (g_volume_mount) g_volume_mount __attribute((alias("IA__g_volume_mount"), visibility("default")));
-
-#undef g_volume_mount_finish
-extern __typeof (g_volume_mount_finish) g_volume_mount_finish __attribute((alias("IA__g_volume_mount_finish"), visibility("default")));
-
-#undef g_volume_eject_with_operation
-extern __typeof (g_volume_eject_with_operation) g_volume_eject_with_operation __attribute((alias("IA__g_volume_eject_with_operation"), visibility("default")));
-
-#undef g_volume_eject_with_operation_finish
-extern __typeof (g_volume_eject_with_operation_finish) g_volume_eject_with_operation_finish __attribute((alias("IA__g_volume_eject_with_operation_finish"), visibility("default")));
-
-#undef g_volume_get_identifier
-extern __typeof (g_volume_get_identifier) g_volume_get_identifier __attribute((alias("IA__g_volume_get_identifier"), visibility("default")));
-
-#undef g_volume_enumerate_identifiers
-extern __typeof (g_volume_enumerate_identifiers) g_volume_enumerate_identifiers __attribute((alias("IA__g_volume_enumerate_identifiers"), visibility("default")));
-
-#undef g_volume_get_activation_root
-extern __typeof (g_volume_get_activation_root) g_volume_get_activation_root __attribute((alias("IA__g_volume_get_activation_root"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_volume_eject
-extern __typeof (g_volume_eject) g_volume_eject __attribute((alias("IA__g_volume_eject"), visibility("default")));
-
-#undef g_volume_eject_finish
-extern __typeof (g_volume_eject_finish) g_volume_eject_finish __attribute((alias("IA__g_volume_eject_finish"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_VOLUME_MONITOR_H__)
-#if IN_FILE(__G_VOLUME_MONITOR_C__)
-#undef g_volume_monitor_get_type
-extern __typeof (g_volume_monitor_get_type) g_volume_monitor_get_type __attribute((alias("IA__g_volume_monitor_get_type"), visibility("default")));
-
-#undef g_volume_monitor_get_connected_drives
-extern __typeof (g_volume_monitor_get_connected_drives) g_volume_monitor_get_connected_drives __attribute((alias("IA__g_volume_monitor_get_connected_drives"), visibility("default")));
-
-#undef g_volume_monitor_get_volume_for_uuid
-extern __typeof (g_volume_monitor_get_volume_for_uuid) g_volume_monitor_get_volume_for_uuid __attribute((alias("IA__g_volume_monitor_get_volume_for_uuid"), visibility("default")));
-
-#undef g_volume_monitor_get_volumes
-extern __typeof (g_volume_monitor_get_volumes) g_volume_monitor_get_volumes __attribute((alias("IA__g_volume_monitor_get_volumes"), visibility("default")));
-
-#undef g_volume_monitor_get_mounts
-extern __typeof (g_volume_monitor_get_mounts) g_volume_monitor_get_mounts __attribute((alias("IA__g_volume_monitor_get_mounts"), visibility("default")));
-
-#undef g_volume_monitor_get_mount_for_uuid
-extern __typeof (g_volume_monitor_get_mount_for_uuid) g_volume_monitor_get_mount_for_uuid __attribute((alias("IA__g_volume_monitor_get_mount_for_uuid"), visibility("default")));
-
-#endif
-#if IN_FILE(__G_UNION_VOLUME_MONITOR_C__)
-#undef g_volume_monitor_get
-extern __typeof (g_volume_monitor_get) g_volume_monitor_get __attribute((alias("IA__g_volume_monitor_get"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_volume_monitor_adopt_orphan_mount
-extern __typeof (g_volume_monitor_adopt_orphan_mount) g_volume_monitor_adopt_orphan_mount __attribute((alias("IA__g_volume_monitor_adopt_orphan_mount"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_NATIVE_VOLUME_MONITOR_H__)
-#if IN_FILE(__G_NATIVE_VOLUME_MONITOR_C__)
-#undef g_native_volume_monitor_get_type
-extern __typeof (g_native_volume_monitor_get_type) g_native_volume_monitor_get_type __attribute((alias("IA__g_native_volume_monitor_get_type"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_LOCAL_FILE_MONITOR_H__)
-#if IN_FILE(__G_LOCAL_FILE_MONITOR_C__)
-#ifdef G_OS_UNIX
-#undef g_local_file_monitor_get_type
-extern __typeof (g_local_file_monitor_get_type) g_local_file_monitor_get_type __attribute((alias("IA__g_local_file_monitor_get_type"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_LOCAL_DIRECTORY_MONITOR_H__)
-#if IN_FILE(__G_LOCAL_DIRECTORY_MONITOR_C__)
-#ifdef G_OS_UNIX
-#undef g_local_directory_monitor_get_type
-extern __typeof (g_local_directory_monitor_get_type) g_local_directory_monitor_get_type __attribute((alias("IA__g_local_directory_monitor_get_type"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__GIO_ENUM_TYPES_H__)
-#if IN_FILE(__GIO_ENUM_TYPES_C__)
-#undef g_mount_unmount_flags_get_type
-extern __typeof (g_mount_unmount_flags_get_type) g_mount_unmount_flags_get_type __attribute((alias("IA__g_mount_unmount_flags_get_type"), visibility("default")));
-
-#undef g_app_info_create_flags_get_type
-extern __typeof (g_app_info_create_flags_get_type) g_app_info_create_flags_get_type __attribute((alias("IA__g_app_info_create_flags_get_type"), visibility("default")));
-
-#undef g_converter_flags_get_type
-extern __typeof (g_converter_flags_get_type) g_converter_flags_get_type __attribute((alias("IA__g_converter_flags_get_type"), visibility("default")));
-
-#undef g_converter_result_get_type
-extern __typeof (g_converter_result_get_type) g_converter_result_get_type __attribute((alias("IA__g_converter_result_get_type"), visibility("default")));
-
-#undef g_data_stream_byte_order_get_type
-extern __typeof (g_data_stream_byte_order_get_type) g_data_stream_byte_order_get_type __attribute((alias("IA__g_data_stream_byte_order_get_type"), visibility("default")));
-
-#undef g_data_stream_newline_type_get_type
-extern __typeof (g_data_stream_newline_type_get_type) g_data_stream_newline_type_get_type __attribute((alias("IA__g_data_stream_newline_type_get_type"), visibility("default")));
-
-#undef g_file_attribute_info_flags_get_type
-extern __typeof (g_file_attribute_info_flags_get_type) g_file_attribute_info_flags_get_type __attribute((alias("IA__g_file_attribute_info_flags_get_type"), visibility("default")));
-
-#undef g_file_attribute_status_get_type
-extern __typeof (g_file_attribute_status_get_type) g_file_attribute_status_get_type __attribute((alias("IA__g_file_attribute_status_get_type"), visibility("default")));
-
-#undef g_file_attribute_type_get_type
-extern __typeof (g_file_attribute_type_get_type) g_file_attribute_type_get_type __attribute((alias("IA__g_file_attribute_type_get_type"), visibility("default")));
-
-#undef g_file_copy_flags_get_type
-extern __typeof (g_file_copy_flags_get_type) g_file_copy_flags_get_type __attribute((alias("IA__g_file_copy_flags_get_type"), visibility("default")));
-
-#undef g_file_create_flags_get_type
-extern __typeof (g_file_create_flags_get_type) g_file_create_flags_get_type __attribute((alias("IA__g_file_create_flags_get_type"), visibility("default")));
-
-#undef g_file_monitor_event_get_type
-extern __typeof (g_file_monitor_event_get_type) g_file_monitor_event_get_type __attribute((alias("IA__g_file_monitor_event_get_type"), visibility("default")));
-
-#undef g_file_monitor_flags_get_type
-extern __typeof (g_file_monitor_flags_get_type) g_file_monitor_flags_get_type __attribute((alias("IA__g_file_monitor_flags_get_type"), visibility("default")));
-
-#undef g_file_query_info_flags_get_type
-extern __typeof (g_file_query_info_flags_get_type) g_file_query_info_flags_get_type __attribute((alias("IA__g_file_query_info_flags_get_type"), visibility("default")));
-
-#undef g_file_type_get_type
-extern __typeof (g_file_type_get_type) g_file_type_get_type __attribute((alias("IA__g_file_type_get_type"), visibility("default")));
-
-#undef g_filesystem_preview_type_get_type
-extern __typeof (g_filesystem_preview_type_get_type) g_filesystem_preview_type_get_type __attribute((alias("IA__g_filesystem_preview_type_get_type"), visibility("default")));
-
-#undef g_io_error_enum_get_type
-extern __typeof (g_io_error_enum_get_type) g_io_error_enum_get_type __attribute((alias("IA__g_io_error_enum_get_type"), visibility("default")));
-
-#undef g_mount_mount_flags_get_type
-extern __typeof (g_mount_mount_flags_get_type) g_mount_mount_flags_get_type __attribute((alias("IA__g_mount_mount_flags_get_type"), visibility("default")));
-
-#undef g_mount_operation_result_get_type
-extern __typeof (g_mount_operation_result_get_type) g_mount_operation_result_get_type __attribute((alias("IA__g_mount_operation_result_get_type"), visibility("default")));
-
-#undef g_drive_start_flags_get_type
-extern __typeof (g_drive_start_flags_get_type) g_drive_start_flags_get_type __attribute((alias("IA__g_drive_start_flags_get_type"), visibility("default")));
-
-#undef g_drive_start_stop_type_get_type
-extern __typeof (g_drive_start_stop_type_get_type) g_drive_start_stop_type_get_type __attribute((alias("IA__g_drive_start_stop_type_get_type"), visibility("default")));
-
-#undef g_output_stream_splice_flags_get_type
-extern __typeof (g_output_stream_splice_flags_get_type) g_output_stream_splice_flags_get_type __attribute((alias("IA__g_output_stream_splice_flags_get_type"), visibility("default")));
-
-#undef g_ask_password_flags_get_type
-extern __typeof (g_ask_password_flags_get_type) g_ask_password_flags_get_type __attribute((alias("IA__g_ask_password_flags_get_type"), visibility("default")));
-
-#undef g_password_save_get_type
-extern __typeof (g_password_save_get_type) g_password_save_get_type __attribute((alias("IA__g_password_save_get_type"), visibility("default")));
-
-#undef g_emblem_origin_get_type
-extern __typeof (g_emblem_origin_get_type) g_emblem_origin_get_type __attribute((alias("IA__g_emblem_origin_get_type"), visibility("default")));
-
-#undef g_socket_family_get_type
-extern __typeof (g_socket_family_get_type) g_socket_family_get_type __attribute((alias("IA__g_socket_family_get_type"), visibility("default")));
-
-#undef g_socket_type_get_type
-extern __typeof (g_socket_type_get_type) g_socket_type_get_type __attribute((alias("IA__g_socket_type_get_type"), visibility("default")));
-
-#undef g_socket_protocol_get_type
-extern __typeof (g_socket_protocol_get_type) g_socket_protocol_get_type __attribute((alias("IA__g_socket_protocol_get_type"), visibility("default")));
-
-#undef g_socket_msg_flags_get_type
-extern __typeof (g_socket_msg_flags_get_type) g_socket_msg_flags_get_type __attribute((alias("IA__g_socket_msg_flags_get_type"), visibility("default")));
-
-#undef g_resolver_error_get_type
-extern __typeof (g_resolver_error_get_type) g_resolver_error_get_type __attribute((alias("IA__g_resolver_error_get_type"), visibility("default")));
-
-#undef g_zlib_compressor_format_get_type
-extern __typeof (g_zlib_compressor_format_get_type) g_zlib_compressor_format_get_type __attribute((alias("IA__g_zlib_compressor_format_get_type"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_EMBLEMED_ICON_H__)
-#if IN_FILE(__G_EMBLEMED_ICON_C__)
-#undef g_emblemed_icon_get_type
-extern __typeof (g_emblemed_icon_get_type) g_emblemed_icon_get_type __attribute((alias("IA__g_emblemed_icon_get_type"), visibility("default")));
-
-#undef g_emblemed_icon_new
-extern __typeof (g_emblemed_icon_new) g_emblemed_icon_new __attribute((alias("IA__g_emblemed_icon_new"), visibility("default")));
-
-#undef g_emblemed_icon_get_icon
-extern __typeof (g_emblemed_icon_get_icon) g_emblemed_icon_get_icon __attribute((alias("IA__g_emblemed_icon_get_icon"), visibility("default")));
-
-#undef g_emblemed_icon_get_emblems
-extern __typeof (g_emblemed_icon_get_emblems) g_emblemed_icon_get_emblems __attribute((alias("IA__g_emblemed_icon_get_emblems"), visibility("default")));
-
-#undef g_emblemed_icon_add_emblem
-extern __typeof (g_emblemed_icon_add_emblem) g_emblemed_icon_add_emblem __attribute((alias("IA__g_emblemed_icon_add_emblem"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_EMBLEM_H__)
-#if IN_FILE(__G_EMBLEM_C__)
-#undef g_emblem_get_type
-extern __typeof (g_emblem_get_type) g_emblem_get_type __attribute((alias("IA__g_emblem_get_type"), visibility("default")));
-
-#undef g_emblem_new
-extern __typeof (g_emblem_new) g_emblem_new __attribute((alias("IA__g_emblem_new"), visibility("default")));
-
-#undef g_emblem_new_with_origin
-extern __typeof (g_emblem_new_with_origin) g_emblem_new_with_origin __attribute((alias("IA__g_emblem_new_with_origin"), visibility("default")));
-
-#undef g_emblem_get_icon
-extern __typeof (g_emblem_get_icon) g_emblem_get_icon __attribute((alias("IA__g_emblem_get_icon"), visibility("default")));
-
-#undef g_emblem_get_origin
-extern __typeof (g_emblem_get_origin) g_emblem_get_origin __attribute((alias("IA__g_emblem_get_origin"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_INET_ADDRESS_H__)
-#if IN_FILE(__G_INET_ADDRESS_C__)
-#undef g_inet_address_new_from_string
-extern __typeof (g_inet_address_new_from_string) g_inet_address_new_from_string __attribute((alias("IA__g_inet_address_new_from_string"), visibility("default")));
-
-#undef g_inet_address_new_from_bytes
-extern __typeof (g_inet_address_new_from_bytes) g_inet_address_new_from_bytes __attribute((alias("IA__g_inet_address_new_from_bytes"), visibility("default")));
-
-#undef g_inet_address_new_any
-extern __typeof (g_inet_address_new_any) g_inet_address_new_any __attribute((alias("IA__g_inet_address_new_any"), visibility("default")));
-
-#undef g_inet_address_new_loopback
-extern __typeof (g_inet_address_new_loopback) g_inet_address_new_loopback __attribute((alias("IA__g_inet_address_new_loopback"), visibility("default")));
-
-#undef g_inet_address_get_family
-extern __typeof (g_inet_address_get_family) g_inet_address_get_family __attribute((alias("IA__g_inet_address_get_family"), visibility("default")));
-
-#undef g_inet_address_get_type
-extern __typeof (g_inet_address_get_type) g_inet_address_get_type __attribute((alias("IA__g_inet_address_get_type"), visibility("default")));
-
-#undef g_inet_address_get_is_any
-extern __typeof (g_inet_address_get_is_any) g_inet_address_get_is_any __attribute((alias("IA__g_inet_address_get_is_any"), visibility("default")));
-
-#undef g_inet_address_get_is_link_local
-extern __typeof (g_inet_address_get_is_link_local) g_inet_address_get_is_link_local __attribute((alias("IA__g_inet_address_get_is_link_local"), visibility("default")));
-
-#undef g_inet_address_get_is_loopback
-extern __typeof (g_inet_address_get_is_loopback) g_inet_address_get_is_loopback __attribute((alias("IA__g_inet_address_get_is_loopback"), visibility("default")));
-
-#undef g_inet_address_get_is_mc_global
-extern __typeof (g_inet_address_get_is_mc_global) g_inet_address_get_is_mc_global __attribute((alias("IA__g_inet_address_get_is_mc_global"), visibility("default")));
-
-#undef g_inet_address_get_is_mc_link_local
-extern __typeof (g_inet_address_get_is_mc_link_local) g_inet_address_get_is_mc_link_local __attribute((alias("IA__g_inet_address_get_is_mc_link_local"), visibility("default")));
-
-#undef g_inet_address_get_is_mc_node_local
-extern __typeof (g_inet_address_get_is_mc_node_local) g_inet_address_get_is_mc_node_local __attribute((alias("IA__g_inet_address_get_is_mc_node_local"), visibility("default")));
-
-#undef g_inet_address_get_is_mc_org_local
-extern __typeof (g_inet_address_get_is_mc_org_local) g_inet_address_get_is_mc_org_local __attribute((alias("IA__g_inet_address_get_is_mc_org_local"), visibility("default")));
-
-#undef g_inet_address_get_is_mc_site_local
-extern __typeof (g_inet_address_get_is_mc_site_local) g_inet_address_get_is_mc_site_local __attribute((alias("IA__g_inet_address_get_is_mc_site_local"), visibility("default")));
-
-#undef g_inet_address_get_is_multicast
-extern __typeof (g_inet_address_get_is_multicast) g_inet_address_get_is_multicast __attribute((alias("IA__g_inet_address_get_is_multicast"), visibility("default")));
-
-#undef g_inet_address_get_is_site_local
-extern __typeof (g_inet_address_get_is_site_local) g_inet_address_get_is_site_local __attribute((alias("IA__g_inet_address_get_is_site_local"), visibility("default")));
-
-#undef g_inet_address_to_bytes
-extern __typeof (g_inet_address_to_bytes) g_inet_address_to_bytes __attribute((alias("IA__g_inet_address_to_bytes"), visibility("default")));
-
-#undef g_inet_address_get_native_size
-extern __typeof (g_inet_address_get_native_size) g_inet_address_get_native_size __attribute((alias("IA__g_inet_address_get_native_size"), visibility("default")));
-
-#undef g_inet_address_to_string
-extern __typeof (g_inet_address_to_string) g_inet_address_to_string __attribute((alias("IA__g_inet_address_to_string"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_INET_SOCKET_ADDRESS_H__)
-#if IN_FILE(__G_INET_SOCKET_ADDRESS_C__)
-#undef g_inet_socket_address_get_address
-extern __typeof (g_inet_socket_address_get_address) g_inet_socket_address_get_address __attribute((alias("IA__g_inet_socket_address_get_address"), visibility("default")));
-
-#undef g_inet_socket_address_get_port
-extern __typeof (g_inet_socket_address_get_port) g_inet_socket_address_get_port __attribute((alias("IA__g_inet_socket_address_get_port"), visibility("default")));
-
-#undef g_inet_socket_address_get_type
-extern __typeof (g_inet_socket_address_get_type) g_inet_socket_address_get_type __attribute((alias("IA__g_inet_socket_address_get_type"), visibility("default")));
-
-#undef g_inet_socket_address_new
-extern __typeof (g_inet_socket_address_new) g_inet_socket_address_new __attribute((alias("IA__g_inet_socket_address_new"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_SOCKET_ADDRESS_H__)
-#if IN_FILE(__G_UNIX_SOCKET_ADDRESS_C__)
-#ifdef G_OS_UNIX
-#undef g_unix_socket_address_get_type
-extern __typeof (g_unix_socket_address_get_type) g_unix_socket_address_get_type __attribute((alias("IA__g_unix_socket_address_get_type"), visibility("default")));
-
-#undef g_unix_socket_address_new
-extern __typeof (g_unix_socket_address_new) g_unix_socket_address_new __attribute((alias("IA__g_unix_socket_address_new"), visibility("default")));
-
-#undef g_unix_socket_address_new_abstract
-extern __typeof (g_unix_socket_address_new_abstract) g_unix_socket_address_new_abstract __attribute((alias("IA__g_unix_socket_address_new_abstract"), visibility("default")));
-
-#undef g_unix_socket_address_abstract_names_supported
-extern __typeof (g_unix_socket_address_abstract_names_supported) g_unix_socket_address_abstract_names_supported __attribute((alias("IA__g_unix_socket_address_abstract_names_supported"), visibility("default")));
-
-#undef g_unix_socket_address_get_is_abstract
-extern __typeof (g_unix_socket_address_get_is_abstract) g_unix_socket_address_get_is_abstract __attribute((alias("IA__g_unix_socket_address_get_is_abstract"), visibility("default")));
-
-#undef g_unix_socket_address_get_path
-extern __typeof (g_unix_socket_address_get_path) g_unix_socket_address_get_path __attribute((alias("IA__g_unix_socket_address_get_path"), visibility("default")));
-
-#undef g_unix_socket_address_get_path_len
-extern __typeof (g_unix_socket_address_get_path_len) g_unix_socket_address_get_path_len __attribute((alias("IA__g_unix_socket_address_get_path_len"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_ADDRESS_H__)
-#if IN_FILE(__G_SOCKET_ADDRESS_C__)
-#undef g_socket_address_new_from_native
-extern __typeof (g_socket_address_new_from_native) g_socket_address_new_from_native __attribute((alias("IA__g_socket_address_new_from_native"), visibility("default")));
-
-#undef g_socket_address_get_type
-extern __typeof (g_socket_address_get_type) g_socket_address_get_type __attribute((alias("IA__g_socket_address_get_type"), visibility("default")));
-
-#undef g_socket_address_get_family
-extern __typeof (g_socket_address_get_family) g_socket_address_get_family __attribute((alias("IA__g_socket_address_get_family"), visibility("default")));
-
-#undef g_socket_address_get_native_size
-extern __typeof (g_socket_address_get_native_size) g_socket_address_get_native_size __attribute((alias("IA__g_socket_address_get_native_size"), visibility("default")));
-
-#undef g_socket_address_to_native
-extern __typeof (g_socket_address_to_native) g_socket_address_to_native __attribute((alias("IA__g_socket_address_to_native"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_RESOLVER_H__)
-#if IN_FILE(__G_RESOLVER_C__)
-#undef g_resolver_error_quark
-extern __typeof (g_resolver_error_quark) g_resolver_error_quark __attribute((alias("IA__g_resolver_error_quark"), visibility("default")));
-
-#undef g_resolver_free_addresses
-extern __typeof (g_resolver_free_addresses) g_resolver_free_addresses __attribute((alias("IA__g_resolver_free_addresses"), visibility("default")));
-
-#undef g_resolver_free_targets
-extern __typeof (g_resolver_free_targets) g_resolver_free_targets __attribute((alias("IA__g_resolver_free_targets"), visibility("default")));
-
-#undef g_resolver_get_type
-extern __typeof (g_resolver_get_type) g_resolver_get_type __attribute((alias("IA__g_resolver_get_type"), visibility("default")));
-
-#undef g_resolver_get_default
-extern __typeof (g_resolver_get_default) g_resolver_get_default __attribute((alias("IA__g_resolver_get_default"), visibility("default")));
-
-#undef g_resolver_set_default
-extern __typeof (g_resolver_set_default) g_resolver_set_default __attribute((alias("IA__g_resolver_set_default"), visibility("default")));
-
-#undef g_resolver_lookup_by_name
-extern __typeof (g_resolver_lookup_by_name) g_resolver_lookup_by_name __attribute((alias("IA__g_resolver_lookup_by_name"), visibility("default")));
-
-#undef g_resolver_lookup_by_name_async
-extern __typeof (g_resolver_lookup_by_name_async) g_resolver_lookup_by_name_async __attribute((alias("IA__g_resolver_lookup_by_name_async"), visibility("default")));
-
-#undef g_resolver_lookup_by_name_finish
-extern __typeof (g_resolver_lookup_by_name_finish) g_resolver_lookup_by_name_finish __attribute((alias("IA__g_resolver_lookup_by_name_finish"), visibility("default")));
-
-#undef g_resolver_lookup_by_address
-extern __typeof (g_resolver_lookup_by_address) g_resolver_lookup_by_address __attribute((alias("IA__g_resolver_lookup_by_address"), visibility("default")));
-
-#undef g_resolver_lookup_by_address_async
-extern __typeof (g_resolver_lookup_by_address_async) g_resolver_lookup_by_address_async __attribute((alias("IA__g_resolver_lookup_by_address_async"), visibility("default")));
-
-#undef g_resolver_lookup_by_address_finish
-extern __typeof (g_resolver_lookup_by_address_finish) g_resolver_lookup_by_address_finish __attribute((alias("IA__g_resolver_lookup_by_address_finish"), visibility("default")));
-
-#undef g_resolver_lookup_service
-extern __typeof (g_resolver_lookup_service) g_resolver_lookup_service __attribute((alias("IA__g_resolver_lookup_service"), visibility("default")));
-
-#undef g_resolver_lookup_service_async
-extern __typeof (g_resolver_lookup_service_async) g_resolver_lookup_service_async __attribute((alias("IA__g_resolver_lookup_service_async"), visibility("default")));
-
-#undef g_resolver_lookup_service_finish
-extern __typeof (g_resolver_lookup_service_finish) g_resolver_lookup_service_finish __attribute((alias("IA__g_resolver_lookup_service_finish"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_THREADED_RESOLVER_H__)
-#if IN_FILE(__G_THREADED_RESOLVER_C__)
-#undef g_threaded_resolver_get_type
-extern __typeof (g_threaded_resolver_get_type) g_threaded_resolver_get_type __attribute((alias("IA__g_threaded_resolver_get_type"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_RESOLVER_H__)
-#if IN_FILE(__G_UNIX_RESOLVER_C__)
-#ifdef G_OS_UNIX
-#undef g_unix_resolver_get_type
-extern __typeof (g_unix_resolver_get_type) g_unix_resolver_get_type __attribute((alias("IA__g_unix_resolver_get_type"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_WIN32_RESOLVER_H__)
-#if IN_FILE(__G_WIN32_RESOLVER_C__)
-#ifdef G_OS_WIN32
-#undef g_win32_resolver_get_type
-extern __typeof (g_win32_resolver_get_type) g_win32_resolver_get_type __attribute((alias("IA__g_win32_resolver_get_type"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_SRV_TARGET_H__)
-#if IN_FILE(__G_SRV_TARGET_C__)
-#undef g_srv_target_get_type
-extern __typeof (g_srv_target_get_type) g_srv_target_get_type __attribute((alias("IA__g_srv_target_get_type"), visibility("default")));
-
-#undef g_srv_target_new
-extern __typeof (g_srv_target_new) g_srv_target_new __attribute((alias("IA__g_srv_target_new"), visibility("default")));
-
-#undef g_srv_target_copy
-extern __typeof (g_srv_target_copy) g_srv_target_copy __attribute((alias("IA__g_srv_target_copy"), visibility("default")));
-
-#undef g_srv_target_free
-extern __typeof (g_srv_target_free) g_srv_target_free __attribute((alias("IA__g_srv_target_free"), visibility("default")));
-
-#undef g_srv_target_get_hostname
-extern __typeof (g_srv_target_get_hostname) g_srv_target_get_hostname __attribute((alias("IA__g_srv_target_get_hostname"), visibility("default")));
-
-#undef g_srv_target_get_port
-extern __typeof (g_srv_target_get_port) g_srv_target_get_port __attribute((alias("IA__g_srv_target_get_port"), visibility("default")));
-
-#undef g_srv_target_get_priority
-extern __typeof (g_srv_target_get_priority) g_srv_target_get_priority __attribute((alias("IA__g_srv_target_get_priority"), visibility("default")));
-
-#undef g_srv_target_get_weight
-extern __typeof (g_srv_target_get_weight) g_srv_target_get_weight __attribute((alias("IA__g_srv_target_get_weight"), visibility("default")));
-
-#undef g_srv_target_list_sort
-extern __typeof (g_srv_target_list_sort) g_srv_target_list_sort __attribute((alias("IA__g_srv_target_list_sort"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_NETWORK_ADDRESS_H__)
-#if IN_FILE(__G_NETWORK_ADDRESS_C__)
-#undef g_network_address_get_type
-extern __typeof (g_network_address_get_type) g_network_address_get_type __attribute((alias("IA__g_network_address_get_type"), visibility("default")));
-
-#undef g_network_address_get_hostname
-extern __typeof (g_network_address_get_hostname) g_network_address_get_hostname __attribute((alias("IA__g_network_address_get_hostname"), visibility("default")));
-
-#undef g_network_address_get_port
-extern __typeof (g_network_address_get_port) g_network_address_get_port __attribute((alias("IA__g_network_address_get_port"), visibility("default")));
-
-#undef g_network_address_new
-extern __typeof (g_network_address_new) g_network_address_new __attribute((alias("IA__g_network_address_new"), visibility("default")));
-
-#undef g_network_address_parse
-extern __typeof (g_network_address_parse) g_network_address_parse __attribute((alias("IA__g_network_address_parse"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_NETWORK_SERVICE_H__)
-#if IN_FILE(__G_NETWORK_SERVICE_C__)
-#undef g_network_service_get_type
-extern __typeof (g_network_service_get_type) g_network_service_get_type __attribute((alias("IA__g_network_service_get_type"), visibility("default")));
-
-#undef g_network_service_get_service
-extern __typeof (g_network_service_get_service) g_network_service_get_service __attribute((alias("IA__g_network_service_get_service"), visibility("default")));
-
-#undef g_network_service_get_protocol
-extern __typeof (g_network_service_get_protocol) g_network_service_get_protocol __attribute((alias("IA__g_network_service_get_protocol"), visibility("default")));
-
-#undef g_network_service_get_domain
-extern __typeof (g_network_service_get_domain) g_network_service_get_domain __attribute((alias("IA__g_network_service_get_domain"), visibility("default")));
-
-#undef g_network_service_new
-extern __typeof (g_network_service_new) g_network_service_new __attribute((alias("IA__g_network_service_new"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_CONNECTABLE_H__)
-#if IN_FILE(__G_SOCKET_CONNECTABLE_C__)
-#undef g_socket_connectable_enumerate
-extern __typeof (g_socket_connectable_enumerate) g_socket_connectable_enumerate __attribute((alias("IA__g_socket_connectable_enumerate"), visibility("default")));
-
-#undef g_socket_connectable_get_type
-extern __typeof (g_socket_connectable_get_type) g_socket_connectable_get_type __attribute((alias("IA__g_socket_connectable_get_type"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_ADDRESS_ENUMERATOR_H__)
-#if IN_FILE(__G_SOCKET_ADDRESS_ENUMERATOR_C__)
-#undef g_socket_address_enumerator_get_type
-extern __typeof (g_socket_address_enumerator_get_type) g_socket_address_enumerator_get_type __attribute((alias("IA__g_socket_address_enumerator_get_type"), visibility("default")));
-
-#undef g_socket_address_enumerator_next
-extern __typeof (g_socket_address_enumerator_next) g_socket_address_enumerator_next __attribute((alias("IA__g_socket_address_enumerator_next"), visibility("default")));
-
-#undef g_socket_address_enumerator_next_async
-extern __typeof (g_socket_address_enumerator_next_async) g_socket_address_enumerator_next_async __attribute((alias("IA__g_socket_address_enumerator_next_async"), visibility("default")));
-
-#undef g_socket_address_enumerator_next_finish
-extern __typeof (g_socket_address_enumerator_next_finish) g_socket_address_enumerator_next_finish __attribute((alias("IA__g_socket_address_enumerator_next_finish"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_ASYNC_INITABLE_H__)
-#if IN_FILE(__G_ASYNC_INITABLE_C__)
-#undef g_async_initable_get_type
-extern __typeof (g_async_initable_get_type) g_async_initable_get_type __attribute((alias("IA__g_async_initable_get_type"), visibility("default")));
-
-#undef g_async_initable_init_async
-extern __typeof (g_async_initable_init_async) g_async_initable_init_async __attribute((alias("IA__g_async_initable_init_async"), visibility("default")));
-
-#undef g_async_initable_init_finish
-extern __typeof (g_async_initable_init_finish) g_async_initable_init_finish __attribute((alias("IA__g_async_initable_init_finish"), visibility("default")));
-
-#undef g_async_initable_new_async
-extern __typeof (g_async_initable_new_async) g_async_initable_new_async __attribute((alias("IA__g_async_initable_new_async"), visibility("default")));
-
-#undef g_async_initable_new_finish
-extern __typeof (g_async_initable_new_finish) g_async_initable_new_finish __attribute((alias("IA__g_async_initable_new_finish"), visibility("default")));
-
-#undef g_async_initable_new_valist_async
-extern __typeof (g_async_initable_new_valist_async) g_async_initable_new_valist_async __attribute((alias("IA__g_async_initable_new_valist_async"), visibility("default")));
-
-#undef g_async_initable_newv_async
-extern __typeof (g_async_initable_newv_async) g_async_initable_newv_async __attribute((alias("IA__g_async_initable_newv_async"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_INITABLE_H__)
-#if IN_FILE(__G_INITABLE_C__)
-#undef g_initable_get_type
-extern __typeof (g_initable_get_type) g_initable_get_type __attribute((alias("IA__g_initable_get_type"), visibility("default")));
-
-#undef g_initable_init
-extern __typeof (g_initable_init) g_initable_init __attribute((alias("IA__g_initable_init"), visibility("default")));
-
-#undef g_initable_new
-extern __typeof (g_initable_new) g_initable_new __attribute((alias("IA__g_initable_new"), visibility("default")));
-
-#undef g_initable_newv
-extern __typeof (g_initable_newv) g_initable_newv __attribute((alias("IA__g_initable_newv"), visibility("default")));
-
-#undef g_initable_new_valist
-extern __typeof (g_initable_new_valist) g_initable_new_valist __attribute((alias("IA__g_initable_new_valist"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_H__)
-#if IN_FILE(__G_SOCKET_C__)
-#undef g_socket_get_type
-extern __typeof (g_socket_get_type) g_socket_get_type __attribute((alias("IA__g_socket_get_type"), visibility("default")));
-
-#undef g_socket_accept
-extern __typeof (g_socket_accept) g_socket_accept __attribute((alias("IA__g_socket_accept"), visibility("default")));
-
-#undef g_socket_bind
-extern __typeof (g_socket_bind) g_socket_bind __attribute((alias("IA__g_socket_bind"), visibility("default")));
-
-#undef g_socket_check_connect_result
-extern __typeof (g_socket_check_connect_result) g_socket_check_connect_result __attribute((alias("IA__g_socket_check_connect_result"), visibility("default")));
-
-#undef g_socket_close
-extern __typeof (g_socket_close) g_socket_close __attribute((alias("IA__g_socket_close"), visibility("default")));
-
-#undef g_socket_shutdown
-extern __typeof (g_socket_shutdown) g_socket_shutdown __attribute((alias("IA__g_socket_shutdown"), visibility("default")));
-
-#undef g_socket_condition_check
-extern __typeof (g_socket_condition_check) g_socket_condition_check __attribute((alias("IA__g_socket_condition_check"), visibility("default")));
-
-#undef g_socket_condition_wait
-extern __typeof (g_socket_condition_wait) g_socket_condition_wait __attribute((alias("IA__g_socket_condition_wait"), visibility("default")));
-
-#undef g_socket_connect
-extern __typeof (g_socket_connect) g_socket_connect __attribute((alias("IA__g_socket_connect"), visibility("default")));
-
-#undef g_socket_create_source
-extern __typeof (g_socket_create_source) g_socket_create_source __attribute((alias("IA__g_socket_create_source"), visibility("default")));
-
-#undef g_socket_get_blocking
-extern __typeof (g_socket_get_blocking) g_socket_get_blocking __attribute((alias("IA__g_socket_get_blocking"), visibility("default")));
-
-#undef g_socket_get_family
-extern __typeof (g_socket_get_family) g_socket_get_family __attribute((alias("IA__g_socket_get_family"), visibility("default")));
-
-#undef g_socket_get_fd
-extern __typeof (g_socket_get_fd) g_socket_get_fd __attribute((alias("IA__g_socket_get_fd"), visibility("default")));
-
-#undef g_socket_get_keepalive
-extern __typeof (g_socket_get_keepalive) g_socket_get_keepalive __attribute((alias("IA__g_socket_get_keepalive"), visibility("default")));
-
-#undef g_socket_get_listen_backlog
-extern __typeof (g_socket_get_listen_backlog) g_socket_get_listen_backlog __attribute((alias("IA__g_socket_get_listen_backlog"), visibility("default")));
-
-#undef g_socket_get_local_address
-extern __typeof (g_socket_get_local_address) g_socket_get_local_address __attribute((alias("IA__g_socket_get_local_address"), visibility("default")));
-
-#undef g_socket_get_protocol
-extern __typeof (g_socket_get_protocol) g_socket_get_protocol __attribute((alias("IA__g_socket_get_protocol"), visibility("default")));
-
-#undef g_socket_get_remote_address
-extern __typeof (g_socket_get_remote_address) g_socket_get_remote_address __attribute((alias("IA__g_socket_get_remote_address"), visibility("default")));
-
-#undef g_socket_get_socket_type
-extern __typeof (g_socket_get_socket_type) g_socket_get_socket_type __attribute((alias("IA__g_socket_get_socket_type"), visibility("default")));
-
-#undef g_socket_is_closed
-extern __typeof (g_socket_is_closed) g_socket_is_closed __attribute((alias("IA__g_socket_is_closed"), visibility("default")));
-
-#undef g_socket_is_connected
-extern __typeof (g_socket_is_connected) g_socket_is_connected __attribute((alias("IA__g_socket_is_connected"), visibility("default")));
-
-#undef g_socket_listen
-extern __typeof (g_socket_listen) g_socket_listen __attribute((alias("IA__g_socket_listen"), visibility("default")));
-
-#undef g_socket_new
-extern __typeof (g_socket_new) g_socket_new __attribute((alias("IA__g_socket_new"), visibility("default")));
-
-#undef g_socket_new_from_fd
-extern __typeof (g_socket_new_from_fd) g_socket_new_from_fd __attribute((alias("IA__g_socket_new_from_fd"), visibility("default")));
-
-#undef g_socket_receive
-extern __typeof (g_socket_receive) g_socket_receive __attribute((alias("IA__g_socket_receive"), visibility("default")));
-
-#undef g_socket_receive_from
-extern __typeof (g_socket_receive_from) g_socket_receive_from __attribute((alias("IA__g_socket_receive_from"), visibility("default")));
-
-#undef g_socket_receive_message
-extern __typeof (g_socket_receive_message) g_socket_receive_message __attribute((alias("IA__g_socket_receive_message"), visibility("default")));
-
-#undef g_socket_send
-extern __typeof (g_socket_send) g_socket_send __attribute((alias("IA__g_socket_send"), visibility("default")));
-
-#undef g_socket_send_message
-extern __typeof (g_socket_send_message) g_socket_send_message __attribute((alias("IA__g_socket_send_message"), visibility("default")));
-
-#undef g_socket_send_to
-extern __typeof (g_socket_send_to) g_socket_send_to __attribute((alias("IA__g_socket_send_to"), visibility("default")));
-
-#undef g_socket_set_blocking
-extern __typeof (g_socket_set_blocking) g_socket_set_blocking __attribute((alias("IA__g_socket_set_blocking"), visibility("default")));
-
-#undef g_socket_set_keepalive
-extern __typeof (g_socket_set_keepalive) g_socket_set_keepalive __attribute((alias("IA__g_socket_set_keepalive"), visibility("default")));
-
-#undef g_socket_set_listen_backlog
-extern __typeof (g_socket_set_listen_backlog) g_socket_set_listen_backlog __attribute((alias("IA__g_socket_set_listen_backlog"), visibility("default")));
-
-#undef g_socket_speaks_ipv4
-extern __typeof (g_socket_speaks_ipv4) g_socket_speaks_ipv4 __attribute((alias("IA__g_socket_speaks_ipv4"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_CONTROL_MESSAGE_H__)
-#if IN_FILE(__G_SOCKET_CONTROL_MESSAGE_C__)
-#undef g_socket_control_message_get_type
-extern __typeof (g_socket_control_message_get_type) g_socket_control_message_get_type __attribute((alias("IA__g_socket_control_message_get_type"), visibility("default")));
-
-#undef g_socket_control_message_deserialize
-extern __typeof (g_socket_control_message_deserialize) g_socket_control_message_deserialize __attribute((alias("IA__g_socket_control_message_deserialize"), visibility("default")));
-
-#undef g_socket_control_message_get_level
-extern __typeof (g_socket_control_message_get_level) g_socket_control_message_get_level __attribute((alias("IA__g_socket_control_message_get_level"), visibility("default")));
-
-#undef g_socket_control_message_get_msg_type
-extern __typeof (g_socket_control_message_get_msg_type) g_socket_control_message_get_msg_type __attribute((alias("IA__g_socket_control_message_get_msg_type"), visibility("default")));
-
-#undef g_socket_control_message_get_size
-extern __typeof (g_socket_control_message_get_size) g_socket_control_message_get_size __attribute((alias("IA__g_socket_control_message_get_size"), visibility("default")));
-
-#undef g_socket_control_message_serialize
-extern __typeof (g_socket_control_message_serialize) g_socket_control_message_serialize __attribute((alias("IA__g_socket_control_message_serialize"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_CLIENT_H__)
-#if IN_FILE(__G_SOCKET_CLIENT_C__)
-#undef g_socket_client_get_type
-extern __typeof (g_socket_client_get_type) g_socket_client_get_type __attribute((alias("IA__g_socket_client_get_type"), visibility("default")));
-
-#undef g_socket_client_connect
-extern __typeof (g_socket_client_connect) g_socket_client_connect __attribute((alias("IA__g_socket_client_connect"), visibility("default")));
-
-#undef g_socket_client_connect_async
-extern __typeof (g_socket_client_connect_async) g_socket_client_connect_async __attribute((alias("IA__g_socket_client_connect_async"), visibility("default")));
-
-#undef g_socket_client_connect_finish
-extern __typeof (g_socket_client_connect_finish) g_socket_client_connect_finish __attribute((alias("IA__g_socket_client_connect_finish"), visibility("default")));
-
-#undef g_socket_client_connect_to_host
-extern __typeof (g_socket_client_connect_to_host) g_socket_client_connect_to_host __attribute((alias("IA__g_socket_client_connect_to_host"), visibility("default")));
-
-#undef g_socket_client_connect_to_host_async
-extern __typeof (g_socket_client_connect_to_host_async) g_socket_client_connect_to_host_async __attribute((alias("IA__g_socket_client_connect_to_host_async"), visibility("default")));
-
-#undef g_socket_client_connect_to_host_finish
-extern __typeof (g_socket_client_connect_to_host_finish) g_socket_client_connect_to_host_finish __attribute((alias("IA__g_socket_client_connect_to_host_finish"), visibility("default")));
-
-#undef g_socket_client_connect_to_service
-extern __typeof (g_socket_client_connect_to_service) g_socket_client_connect_to_service __attribute((alias("IA__g_socket_client_connect_to_service"), visibility("default")));
-
-#undef g_socket_client_connect_to_service_async
-extern __typeof (g_socket_client_connect_to_service_async) g_socket_client_connect_to_service_async __attribute((alias("IA__g_socket_client_connect_to_service_async"), visibility("default")));
-
-#undef g_socket_client_connect_to_service_finish
-extern __typeof (g_socket_client_connect_to_service_finish) g_socket_client_connect_to_service_finish __attribute((alias("IA__g_socket_client_connect_to_service_finish"), visibility("default")));
-
-#undef g_socket_client_get_family
-extern __typeof (g_socket_client_get_family) g_socket_client_get_family __attribute((alias("IA__g_socket_client_get_family"), visibility("default")));
-
-#undef g_socket_client_get_local_address
-extern __typeof (g_socket_client_get_local_address) g_socket_client_get_local_address __attribute((alias("IA__g_socket_client_get_local_address"), visibility("default")));
-
-#undef g_socket_client_get_protocol
-extern __typeof (g_socket_client_get_protocol) g_socket_client_get_protocol __attribute((alias("IA__g_socket_client_get_protocol"), visibility("default")));
-
-#undef g_socket_client_get_socket_type
-extern __typeof (g_socket_client_get_socket_type) g_socket_client_get_socket_type __attribute((alias("IA__g_socket_client_get_socket_type"), visibility("default")));
-
-#undef g_socket_client_new
-extern __typeof (g_socket_client_new) g_socket_client_new __attribute((alias("IA__g_socket_client_new"), visibility("default")));
-
-#undef g_socket_client_set_family
-extern __typeof (g_socket_client_set_family) g_socket_client_set_family __attribute((alias("IA__g_socket_client_set_family"), visibility("default")));
-
-#undef g_socket_client_set_local_address
-extern __typeof (g_socket_client_set_local_address) g_socket_client_set_local_address __attribute((alias("IA__g_socket_client_set_local_address"), visibility("default")));
-
-#undef g_socket_client_set_protocol
-extern __typeof (g_socket_client_set_protocol) g_socket_client_set_protocol __attribute((alias("IA__g_socket_client_set_protocol"), visibility("default")));
-
-#undef g_socket_client_set_socket_type
-extern __typeof (g_socket_client_set_socket_type) g_socket_client_set_socket_type __attribute((alias("IA__g_socket_client_set_socket_type"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_CONNECTION_H__)
-#if IN_FILE(__G_SOCKET_CONNECTION_C__)
-#undef g_socket_connection_get_type
-extern __typeof (g_socket_connection_get_type) g_socket_connection_get_type __attribute((alias("IA__g_socket_connection_get_type"), visibility("default")));
-
-#undef g_socket_connection_factory_create_connection
-extern __typeof (g_socket_connection_factory_create_connection) g_socket_connection_factory_create_connection __attribute((alias("IA__g_socket_connection_factory_create_connection"), visibility("default")));
-
-#undef g_socket_connection_factory_lookup_type
-extern __typeof (g_socket_connection_factory_lookup_type) g_socket_connection_factory_lookup_type __attribute((alias("IA__g_socket_connection_factory_lookup_type"), visibility("default")));
-
-#undef g_socket_connection_factory_register_type
-extern __typeof (g_socket_connection_factory_register_type) g_socket_connection_factory_register_type __attribute((alias("IA__g_socket_connection_factory_register_type"), visibility("default")));
-
-#undef g_socket_connection_get_local_address
-extern __typeof (g_socket_connection_get_local_address) g_socket_connection_get_local_address __attribute((alias("IA__g_socket_connection_get_local_address"), visibility("default")));
-
-#undef g_socket_connection_get_remote_address
-extern __typeof (g_socket_connection_get_remote_address) g_socket_connection_get_remote_address __attribute((alias("IA__g_socket_connection_get_remote_address"), visibility("default")));
-
-#undef g_socket_connection_get_socket
-extern __typeof (g_socket_connection_get_socket) g_socket_connection_get_socket __attribute((alias("IA__g_socket_connection_get_socket"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_LISTENER_H__)
-#if IN_FILE(__G_SOCKET_LISTENER_C__)
-#undef g_socket_listener_get_type
-extern __typeof (g_socket_listener_get_type) g_socket_listener_get_type __attribute((alias("IA__g_socket_listener_get_type"), visibility("default")));
-
-#undef g_socket_listener_accept
-extern __typeof (g_socket_listener_accept) g_socket_listener_accept __attribute((alias("IA__g_socket_listener_accept"), visibility("default")));
-
-#undef g_socket_listener_accept_async
-extern __typeof (g_socket_listener_accept_async) g_socket_listener_accept_async __attribute((alias("IA__g_socket_listener_accept_async"), visibility("default")));
-
-#undef g_socket_listener_accept_finish
-extern __typeof (g_socket_listener_accept_finish) g_socket_listener_accept_finish __attribute((alias("IA__g_socket_listener_accept_finish"), visibility("default")));
-
-#undef g_socket_listener_accept_socket
-extern __typeof (g_socket_listener_accept_socket) g_socket_listener_accept_socket __attribute((alias("IA__g_socket_listener_accept_socket"), visibility("default")));
-
-#undef g_socket_listener_accept_socket_async
-extern __typeof (g_socket_listener_accept_socket_async) g_socket_listener_accept_socket_async __attribute((alias("IA__g_socket_listener_accept_socket_async"), visibility("default")));
-
-#undef g_socket_listener_accept_socket_finish
-extern __typeof (g_socket_listener_accept_socket_finish) g_socket_listener_accept_socket_finish __attribute((alias("IA__g_socket_listener_accept_socket_finish"), visibility("default")));
-
-#undef g_socket_listener_add_address
-extern __typeof (g_socket_listener_add_address) g_socket_listener_add_address __attribute((alias("IA__g_socket_listener_add_address"), visibility("default")));
-
-#undef g_socket_listener_add_inet_port
-extern __typeof (g_socket_listener_add_inet_port) g_socket_listener_add_inet_port __attribute((alias("IA__g_socket_listener_add_inet_port"), visibility("default")));
-
-#undef g_socket_listener_add_any_inet_port
-extern __typeof (g_socket_listener_add_any_inet_port) g_socket_listener_add_any_inet_port __attribute((alias("IA__g_socket_listener_add_any_inet_port"), visibility("default")));
-
-#undef g_socket_listener_add_socket
-extern __typeof (g_socket_listener_add_socket) g_socket_listener_add_socket __attribute((alias("IA__g_socket_listener_add_socket"), visibility("default")));
-
-#undef g_socket_listener_close
-extern __typeof (g_socket_listener_close) g_socket_listener_close __attribute((alias("IA__g_socket_listener_close"), visibility("default")));
-
-#undef g_socket_listener_new
-extern __typeof (g_socket_listener_new) g_socket_listener_new __attribute((alias("IA__g_socket_listener_new"), visibility("default")));
-
-#undef g_socket_listener_set_backlog
-extern __typeof (g_socket_listener_set_backlog) g_socket_listener_set_backlog __attribute((alias("IA__g_socket_listener_set_backlog"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SOCKET_SERVICE_H__)
-#if IN_FILE(__G_SOCKET_SERVICE_C__)
-#undef g_socket_service_get_type
-extern __typeof (g_socket_service_get_type) g_socket_service_get_type __attribute((alias("IA__g_socket_service_get_type"), visibility("default")));
-
-#undef g_socket_service_is_active
-extern __typeof (g_socket_service_is_active) g_socket_service_is_active __attribute((alias("IA__g_socket_service_is_active"), visibility("default")));
-
-#undef g_socket_service_new
-extern __typeof (g_socket_service_new) g_socket_service_new __attribute((alias("IA__g_socket_service_new"), visibility("default")));
-
-#undef g_socket_service_start
-extern __typeof (g_socket_service_start) g_socket_service_start __attribute((alias("IA__g_socket_service_start"), visibility("default")));
-
-#undef g_socket_service_stop
-extern __typeof (g_socket_service_stop) g_socket_service_stop __attribute((alias("IA__g_socket_service_stop"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_THREADED_SOCKET_SERVICE_H__)
-#if IN_FILE(__G_THREADED_SOCKET_SERVICE_C__)
-#undef g_threaded_socket_service_get_type
-extern __typeof (g_threaded_socket_service_get_type) g_threaded_socket_service_get_type __attribute((alias("IA__g_threaded_socket_service_get_type"), visibility("default")));
-
-#undef g_threaded_socket_service_new
-extern __typeof (g_threaded_socket_service_new) g_threaded_socket_service_new __attribute((alias("IA__g_threaded_socket_service_new"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_TCP_CONNECTION_H__)
-#if IN_FILE(__G_TCP_CONNECTION_C__)
-#undef g_tcp_connection_get_type
-extern __typeof (g_tcp_connection_get_type) g_tcp_connection_get_type __attribute((alias("IA__g_tcp_connection_get_type"), visibility("default")));
-
-#undef g_tcp_connection_set_graceful_disconnect
-extern __typeof (g_tcp_connection_set_graceful_disconnect) g_tcp_connection_set_graceful_disconnect __attribute((alias("IA__g_tcp_connection_set_graceful_disconnect"), visibility("default")));
-
-#undef g_tcp_connection_get_graceful_disconnect
-extern __typeof (g_tcp_connection_get_graceful_disconnect) g_tcp_connection_get_graceful_disconnect __attribute((alias("IA__g_tcp_connection_get_graceful_disconnect"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_CONNECTION_H__)
-#if IN_FILE(__G_UNIX_CONNECTION_C__)
-#ifndef G_OS_WIN32
-#undef g_unix_connection_get_type
-extern __typeof (g_unix_connection_get_type) g_unix_connection_get_type __attribute((alias("IA__g_unix_connection_get_type"), visibility("default")));
-
-#undef g_unix_connection_receive_fd
-extern __typeof (g_unix_connection_receive_fd) g_unix_connection_receive_fd __attribute((alias("IA__g_unix_connection_receive_fd"), visibility("default")));
-
-#undef g_unix_connection_send_fd
-extern __typeof (g_unix_connection_send_fd) g_unix_connection_send_fd __attribute((alias("IA__g_unix_connection_send_fd"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_FD_MESSAGE_H__)
-#if IN_FILE(__G_UNIX_FD_MESSAGE_C__)
-#ifndef G_OS_WIN32
-#undef g_unix_fd_message_get_type
-extern __typeof (g_unix_fd_message_get_type) g_unix_fd_message_get_type __attribute((alias("IA__g_unix_fd_message_get_type"), visibility("default")));
-
-#undef g_unix_fd_message_append_fd
-extern __typeof (g_unix_fd_message_append_fd) g_unix_fd_message_append_fd __attribute((alias("IA__g_unix_fd_message_append_fd"), visibility("default")));
-
-#undef g_unix_fd_message_new
-extern __typeof (g_unix_fd_message_new) g_unix_fd_message_new __attribute((alias("IA__g_unix_fd_message_new"), visibility("default")));
-
-#undef g_unix_fd_message_steal_fds
-extern __typeof (g_unix_fd_message_steal_fds) g_unix_fd_message_steal_fds __attribute((alias("IA__g_unix_fd_message_steal_fds"), visibility("default")));
-
-#undef g_unix_fd_message_get_fd_list
-extern __typeof (g_unix_fd_message_get_fd_list) g_unix_fd_message_get_fd_list __attribute((alias("IA__g_unix_fd_message_get_fd_list"), visibility("default")));
-
-#undef g_unix_fd_message_new_with_fd_list
-extern __typeof (g_unix_fd_message_new_with_fd_list) g_unix_fd_message_new_with_fd_list __attribute((alias("IA__g_unix_fd_message_new_with_fd_list"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_UNIX_FD_LIST_H__)
-#if IN_FILE(__G_UNIX_FD_LIST_C__)
-#ifndef G_OS_WIN32
-#undef g_unix_fd_list_append
-extern __typeof (g_unix_fd_list_append) g_unix_fd_list_append __attribute((alias("IA__g_unix_fd_list_append"), visibility("default")));
-
-#undef g_unix_fd_list_get
-extern __typeof (g_unix_fd_list_get) g_unix_fd_list_get __attribute((alias("IA__g_unix_fd_list_get"), visibility("default")));
-
-#undef g_unix_fd_list_get_length
-extern __typeof (g_unix_fd_list_get_length) g_unix_fd_list_get_length __attribute((alias("IA__g_unix_fd_list_get_length"), visibility("default")));
-
-#undef g_unix_fd_list_get_type
-extern __typeof (g_unix_fd_list_get_type) g_unix_fd_list_get_type __attribute((alias("IA__g_unix_fd_list_get_type"), visibility("default")));
-
-#undef g_unix_fd_list_new
-extern __typeof (g_unix_fd_list_new) g_unix_fd_list_new __attribute((alias("IA__g_unix_fd_list_new"), visibility("default")));
-
-#undef g_unix_fd_list_new_from_array
-extern __typeof (g_unix_fd_list_new_from_array) g_unix_fd_list_new_from_array __attribute((alias("IA__g_unix_fd_list_new_from_array"), visibility("default")));
-
-#undef g_unix_fd_list_peek_fds
-extern __typeof (g_unix_fd_list_peek_fds) g_unix_fd_list_peek_fds __attribute((alias("IA__g_unix_fd_list_peek_fds"), visibility("default")));
-
-#undef g_unix_fd_list_steal_fds
-extern __typeof (g_unix_fd_list_steal_fds) g_unix_fd_list_steal_fds __attribute((alias("IA__g_unix_fd_list_steal_fds"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_ZLIB_COMPRESSOR_H__)
-#if IN_FILE(__G_ZLIB_COMPRESSOR_C__)
-#undef g_zlib_compressor_get_type
-extern __typeof (g_zlib_compressor_get_type) g_zlib_compressor_get_type __attribute((alias("IA__g_zlib_compressor_get_type"), visibility("default")));
-
-#undef g_zlib_compressor_new
-extern __typeof (g_zlib_compressor_new) g_zlib_compressor_new __attribute((alias("IA__g_zlib_compressor_new"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_ZLIB_DECOMPRESSOR_H__)
-#if IN_FILE(__G_ZLIB_DECOMPRESSOR_C__)
-#undef g_zlib_decompressor_get_type
-extern __typeof (g_zlib_decompressor_get_type) g_zlib_decompressor_get_type __attribute((alias("IA__g_zlib_decompressor_get_type"), visibility("default")));
-
-#undef g_zlib_decompressor_new
-extern __typeof (g_zlib_decompressor_new) g_zlib_decompressor_new __attribute((alias("IA__g_zlib_decompressor_new"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_FILE_DESCRIPTOR_BASED_H__)
-#if IN_FILE(__G_FILE_DESCRIPTOR_BASED_C__)
-#undef g_file_descriptor_based_get_type
-extern __typeof (g_file_descriptor_based_get_type) g_file_descriptor_based_get_type __attribute((alias("IA__g_file_descriptor_based_get_type"), visibility("default")));
-
-#undef g_file_descriptor_based_get_fd
-extern __typeof (g_file_descriptor_based_get_fd) g_file_descriptor_based_get_fd __attribute((alias("IA__g_file_descriptor_based_get_fd"), visibility("default")));
-
-#endif
-#endif
-
-#endif /* G_HAVE_GNUC_VISIBILITY */
-#endif /* DISABLE_VISIBILITY */
+++ /dev/null
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
-
-/* GIO - GLib Input, Output and Streaming Library
- *
- * Copyright (C) 2008 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-#include <glib.h>
-#include "glibintl.h"
-
-#include <stdio.h>
-#include <string.h>
-
-#include "gunixresolver.h"
-#include "gnetworkingprivate.h"
-
-#include "gcancellable.h"
-#include "gsimpleasyncresult.h"
-#include "gsocketaddress.h"
-
-#include "gioalias.h"
-
-G_DEFINE_TYPE (GUnixResolver, g_unix_resolver, G_TYPE_THREADED_RESOLVER)
-
-static gboolean g_unix_resolver_watch (GIOChannel *iochannel,
- GIOCondition condition,
- gpointer user_data);
-static void g_unix_resolver_reload (GResolver *resolver);
-
-static void
-g_unix_resolver_init (GUnixResolver *gur)
-{
- g_unix_resolver_reload (G_RESOLVER (gur));
-}
-
-static void
-g_unix_resolver_finalize (GObject *object)
-{
- GUnixResolver *gur = G_UNIX_RESOLVER (object);
-
- if (gur->watch)
- g_source_remove (gur->watch);
- _g_asyncns_free (gur->asyncns);
-
- G_OBJECT_CLASS (g_unix_resolver_parent_class)->finalize (object);
-}
-
-static void
-g_unix_resolver_reload (GResolver *resolver)
-{
- GUnixResolver *gur = G_UNIX_RESOLVER (resolver);
- gint fd;
- GIOChannel *io;
-
- if (gur->asyncns)
- {
- if (_g_asyncns_getnqueries (gur->asyncns) == 0)
- {
- g_source_remove (gur->watch);
- _g_asyncns_free (gur->asyncns);
- }
- /* else, we will free it later from g_unix_resolver_watch */
- }
-
- /* FIXME: how many workers? */
- gur->asyncns = _g_asyncns_new (2);
-
- fd = _g_asyncns_fd (gur->asyncns);
- io = g_io_channel_unix_new (fd);
- gur->watch = g_io_add_watch (io, G_IO_IN | G_IO_HUP | G_IO_ERR,
- g_unix_resolver_watch, gur->asyncns);
- g_io_channel_unref (io);
-}
-
-/* The various request possibilities:
- *
- * 1. Synchronous: handed off to the base class (GThreadedResolver);
- * since it's never possible to cancel a synchronous request in a
- * single-threaded program, the request is done in the calling
- * thread.
- *
- * 2. Asynchronous: An appropriate _g_asyncns_query_t is created, and
- * then a GUnixResolverRequest is created with that query and a
- * GSimpleAsyncResult. Two sub-possibilities:
- *
- * a. The resolution completes: g_unix_resolver_watch() sees that
- * the request has completed, and calls
- * g_unix_resolver_request_complete(), which detaches the
- * "cancelled" signal handler (if it was present), queues the
- * async_result to be completed, and then unrefs it.
- *
- * b. The resolution is cancelled: request_cancelled() calls
- * _g_asyncns_cancel() to cancel the resolution. Then it calls
- * g_unix_resolver_request_complete(), which detaches the
- * signal handler, and queues async_result to complete in an
- * idle handler. Because the asyncns resolution was cancelled,
- * g_unix_resolver_watch() will never be triggered for this
- * req.
- *
- * Since there's only a single thread, it's not possible for the
- * request to both complete and be cancelled "at the same time",
- * and each of the two possibilities takes steps to block the other
- * from being able to happen later, so it's always safe to free req
- * after the async_result completes.
- */
-
-typedef struct _GUnixResolverRequest GUnixResolverRequest;
-typedef void (*GUnixResolverFunc) (GUnixResolverRequest *);
-
-struct _GUnixResolverRequest {
- GUnixResolver *gur;
- _g_asyncns_t *asyncns;
-
- _g_asyncns_query_t *qy;
- union {
- struct {
- gchar *hostname;
- GList *addresses;
- } name;
-
- struct {
- GInetAddress *address;
- gchar *hostname;
- } address;
-
- struct {
- gchar *service;
- GList *targets;
- } service;
- } u;
- GUnixResolverFunc process_func, free_func;
-
- GCancellable *cancellable;
- GSimpleAsyncResult *async_result;
-
-};
-
-static void g_unix_resolver_request_free (GUnixResolverRequest *req);
-static void request_cancelled (GCancellable *cancellable,
- gpointer user_data);
-
-static GUnixResolverRequest *
-g_unix_resolver_request_new (GUnixResolver *gur,
- _g_asyncns_query_t *qy,
- GUnixResolverFunc process_func,
- GUnixResolverFunc free_func,
- GCancellable *cancellable,
- GSimpleAsyncResult *async_result)
-{
- GUnixResolverRequest *req;
-
- req = g_slice_new0 (GUnixResolverRequest);
- req->gur = g_object_ref (gur);
- req->asyncns = gur->asyncns;
- req->qy = qy;
- req->process_func = process_func;
- req->free_func = free_func;
-
- if (cancellable)
- {
- req->cancellable = g_object_ref (cancellable);
- g_signal_connect (cancellable, "cancelled",
- G_CALLBACK (request_cancelled), req);
- }
-
- req->async_result = g_object_ref (async_result);
-
- g_simple_async_result_set_op_res_gpointer (req->async_result, req, (GDestroyNotify)g_unix_resolver_request_free);
-
- return req;
-}
-
-static void
-g_unix_resolver_request_free (GUnixResolverRequest *req)
-{
- req->free_func (req);
-
- /* We don't have to free req->cancellable and req->async_result,
- * since they must already have been freed if we're here.
- */
-
- /* Check if this was the last request remaining on an old asyncns. */
- if (req->asyncns != req->gur->asyncns &&
- _g_asyncns_getnqueries (req->asyncns) == 0)
- _g_asyncns_free (req->asyncns);
-
- g_object_unref (req->gur);
- g_slice_free (GUnixResolverRequest, req);
-}
-
-static void
-g_unix_resolver_request_complete (GUnixResolverRequest *req)
-{
- if (req->cancellable)
- {
- g_signal_handlers_disconnect_by_func (req->cancellable, request_cancelled, req);
- g_object_unref (req->cancellable);
- req->cancellable = NULL;
- }
-
- /* We always complete_in_idle, even if we were called from
- * g_unix_resolver_watch(), since we might have been started under a
- * non-default g_main_context_get_thread_default().
- */
- g_simple_async_result_complete_in_idle (req->async_result);
- g_object_unref (req->async_result);
-}
-
-static void
-request_cancelled (GCancellable *cancellable,
- gpointer user_data)
-{
- GUnixResolverRequest *req = user_data;
- GError *error = NULL;
-
- _g_asyncns_cancel (req->asyncns, req->qy);
- req->qy = NULL;
-
- g_cancellable_set_error_if_cancelled (cancellable, &error);
- g_simple_async_result_set_from_error (req->async_result, error);
- g_error_free (error);
-
- g_unix_resolver_request_complete (req);
-}
-
-static gboolean
-g_unix_resolver_watch (GIOChannel *iochannel,
- GIOCondition condition,
- gpointer user_data)
-{
- _g_asyncns_t *asyncns = user_data;
- _g_asyncns_query_t *qy;
- GUnixResolverRequest *req;
-
- if (condition & (G_IO_HUP | G_IO_ERR))
- {
- /* Will happen if we reload, and then eventually kill the old
- * _g_asyncns_t when it's done processing requests.
- */
- return FALSE;
- }
-
- while (_g_asyncns_wait (asyncns, FALSE) == 0 &&
- (qy = _g_asyncns_getnext (asyncns)) != NULL)
- {
- req = _g_asyncns_getuserdata (asyncns, qy);
- req->process_func (req);
- g_unix_resolver_request_complete (req);
- }
-
- return TRUE;
-}
-
-static GUnixResolverRequest *
-resolve_async (GUnixResolver *gur,
- _g_asyncns_query_t *qy,
- GUnixResolverFunc process_func,
- GUnixResolverFunc free_func,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data,
- gpointer tag)
-{
- GSimpleAsyncResult *result;
- GUnixResolverRequest *req;
-
- result = g_simple_async_result_new (G_OBJECT (gur), callback, user_data, tag);
- req = g_unix_resolver_request_new (gur, qy, process_func, free_func,
- cancellable, result);
- g_object_unref (result);
- _g_asyncns_setuserdata (gur->asyncns, qy, req);
-
- return req;
-}
-
-static void
-lookup_by_name_process (GUnixResolverRequest *req)
-{
- struct addrinfo *res;
- gint retval;
- GError *error = NULL;
-
- retval = _g_asyncns_getaddrinfo_done (req->asyncns, req->qy, &res);
- req->u.name.addresses =
- _g_resolver_addresses_from_addrinfo (req->u.name.hostname,
- res, retval, &error);
- if (res)
- freeaddrinfo (res);
-
- if (error)
- {
- g_simple_async_result_set_from_error (req->async_result, error);
- g_error_free (error);
- }
-}
-
-static void
-lookup_by_name_free (GUnixResolverRequest *req)
-{
- g_free (req->u.name.hostname);
- if (req->u.name.addresses)
- g_resolver_free_addresses (req->u.name.addresses);
-}
-
-static void
-lookup_by_name_async (GResolver *resolver,
- const gchar *hostname,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GUnixResolver *gur = G_UNIX_RESOLVER (resolver);
- GUnixResolverRequest *req;
- _g_asyncns_query_t *qy;
-
- qy = _g_asyncns_getaddrinfo (gur->asyncns, hostname, NULL,
- &_g_resolver_addrinfo_hints);
- req = resolve_async (gur, qy, lookup_by_name_process, lookup_by_name_free,
- cancellable, callback, user_data, lookup_by_name_async);
- req->u.name.hostname = g_strdup (hostname);
-}
-
-static GList *
-lookup_by_name_finish (GResolver *resolver,
- GAsyncResult *result,
- GError **error)
-{
- GSimpleAsyncResult *simple;
- GUnixResolverRequest *req;
- GList *addresses;
-
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (resolver), lookup_by_name_async), FALSE);
- simple = G_SIMPLE_ASYNC_RESULT (result);
-
- if (g_simple_async_result_propagate_error (simple, error))
- return NULL;
-
- req = g_simple_async_result_get_op_res_gpointer (simple);
- addresses = req->u.name.addresses;
- req->u.name.addresses = NULL;
-
- return addresses;
-}
-
-
-static void
-lookup_by_address_process (GUnixResolverRequest *req)
-{
- gchar host[NI_MAXHOST];
- gint retval;
- GError *error = NULL;
-
- retval = _g_asyncns_getnameinfo_done (req->asyncns, req->qy,
- host, sizeof (host), NULL, 0);
- req->u.address.hostname =
- _g_resolver_name_from_nameinfo (req->u.address.address,
- host, retval, &error);
-
- if (error)
- {
- g_simple_async_result_set_from_error (req->async_result, error);
- g_error_free (error);
- }
-}
-
-static void
-lookup_by_address_free (GUnixResolverRequest *req)
-{
- g_object_unref (req->u.address.address);
- if (req->u.address.hostname)
- g_free (req->u.address.hostname);
-}
-
-static void
-lookup_by_address_async (GResolver *resolver,
- GInetAddress *address,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GUnixResolver *gur = G_UNIX_RESOLVER (resolver);
- GUnixResolverRequest *req;
- _g_asyncns_query_t *qy;
- struct sockaddr_storage sockaddr;
- gsize sockaddr_size;
-
- _g_resolver_address_to_sockaddr (address, &sockaddr, &sockaddr_size);
- qy = _g_asyncns_getnameinfo (gur->asyncns,
- (struct sockaddr *)&sockaddr, sockaddr_size,
- NI_NAMEREQD, TRUE, FALSE);
- req = resolve_async (gur, qy, lookup_by_address_process,
- lookup_by_address_free, cancellable,
- callback, user_data, lookup_by_address_async);
- req->u.address.address = g_object_ref (address);
-}
-
-static gchar *
-lookup_by_address_finish (GResolver *resolver,
- GAsyncResult *result,
- GError **error)
-{
- GSimpleAsyncResult *simple;
- GUnixResolverRequest *req;
- gchar *name;
-
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (resolver), lookup_by_address_async), FALSE);
- simple = G_SIMPLE_ASYNC_RESULT (result);
-
- if (g_simple_async_result_propagate_error (simple, error))
- return NULL;
-
- req = g_simple_async_result_get_op_res_gpointer (simple);
- name = req->u.address.hostname;
- req->u.address.hostname = NULL;
-
- return name;
-}
-
-
-static void
-lookup_service_process (GUnixResolverRequest *req)
-{
- guchar *answer;
- gint len, herr;
- GError *error = NULL;
-
- len = _g_asyncns_res_done (req->asyncns, req->qy, &answer);
- if (len < 0)
- herr = h_errno;
- else
- herr = 0;
-
- req->u.service.targets =
- _g_resolver_targets_from_res_query (req->u.service.service,
- answer, len, herr, &error);
- _g_asyncns_freeanswer (answer);
-
- if (error)
- {
- g_simple_async_result_set_from_error (req->async_result, error);
- g_error_free (error);
- }
-}
-
-static void
-lookup_service_free (GUnixResolverRequest *req)
-{
- g_free (req->u.service.service);
- if (req->u.service.targets)
- g_resolver_free_targets (req->u.service.targets);
-}
-
-static void
-lookup_service_async (GResolver *resolver,
- const char *rrname,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GUnixResolver *gur = G_UNIX_RESOLVER (resolver);
- GUnixResolverRequest *req;
- _g_asyncns_query_t *qy;
-
- qy = _g_asyncns_res_query (gur->asyncns, rrname, C_IN, T_SRV);
- req = resolve_async (gur, qy, lookup_service_process, lookup_service_free,
- cancellable, callback, user_data, lookup_service_async);
- req->u.service.service = g_strdup (rrname);
-}
-
-static GList *
-lookup_service_finish (GResolver *resolver,
- GAsyncResult *result,
- GError **error)
-{
- GSimpleAsyncResult *simple;
- GUnixResolverRequest *req;
- GList *targets;
-
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (resolver), lookup_service_async), FALSE);
- simple = G_SIMPLE_ASYNC_RESULT (result);
-
- if (g_simple_async_result_propagate_error (simple, error))
- return NULL;
-
- req = g_simple_async_result_get_op_res_gpointer (simple);
- targets = req->u.service.targets;
- req->u.service.targets = NULL;
-
- return targets;
-}
-
-
-static void
-g_unix_resolver_class_init (GUnixResolverClass *unix_class)
-{
- GResolverClass *resolver_class = G_RESOLVER_CLASS (unix_class);
- GObjectClass *object_class = G_OBJECT_CLASS (unix_class);
-
- resolver_class->reload = g_unix_resolver_reload;
- resolver_class->lookup_by_name_async = lookup_by_name_async;
- resolver_class->lookup_by_name_finish = lookup_by_name_finish;
- resolver_class->lookup_by_address_async = lookup_by_address_async;
- resolver_class->lookup_by_address_finish = lookup_by_address_finish;
- resolver_class->lookup_service_async = lookup_service_async;
- resolver_class->lookup_service_finish = lookup_service_finish;
-
- object_class->finalize = g_unix_resolver_finalize;
-}
-
-#define __G_UNIX_RESOLVER_C__
-#include "gioaliasdef.c"
+++ /dev/null
-/* GIO - GLib Input, Output and Streaming Library
- *
- * Copyright (C) 2008 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __G_UNIX_RESOLVER_H__
-#define __G_UNIX_RESOLVER_H__
-
-#include <gio/gthreadedresolver.h>
-#include "libasyncns/asyncns.h"
-
-G_BEGIN_DECLS
-
-#define G_TYPE_UNIX_RESOLVER (g_unix_resolver_get_type ())
-#define G_UNIX_RESOLVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_UNIX_RESOLVER, GUnixResolver))
-#define G_UNIX_RESOLVER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_UNIX_RESOLVER, GUnixResolverClass))
-#define G_IS_UNIX_RESOLVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_UNIX_RESOLVER))
-#define G_IS_UNIX_RESOLVER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_UNIX_RESOLVER))
-#define G_UNIX_RESOLVER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_UNIX_RESOLVER, GUnixResolverClass))
-
-typedef struct {
- GThreadedResolver parent_instance;
-
- _g_asyncns_t *asyncns;
- guint watch;
-
-} GUnixResolver;
-
-typedef struct {
- GThreadedResolverClass parent_class;
-
-} GUnixResolverClass;
-
-GType g_unix_resolver_get_type (void) G_GNUC_CONST;
-
-G_END_DECLS
-
-#endif /* __G_RESOLVER_H__ */
+++ /dev/null
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
-
-/* GIO - GLib Input, Output and Streaming Library
- *
- * Copyright (C) 2008 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-#include <glib.h>
-#include "glibintl.h"
-
-#include <stdio.h>
-#include <string.h>
-
-#include "gwin32resolver.h"
-#include "gnetworkingprivate.h"
-
-#include "gcancellable.h"
-#include "gsimpleasyncresult.h"
-#include "gsocketaddress.h"
-
-#include "gioalias.h"
-
-G_DEFINE_TYPE (GWin32Resolver, g_win32_resolver, G_TYPE_THREADED_RESOLVER)
-
-static void
-g_win32_resolver_init (GWin32Resolver *gwr)
-{
-}
-
-/* This is simpler than GThreadedResolver since we don't have to worry
- * about multiple application-level threads, but more complicated than
- * GUnixResolver, since we do have to deal with multiple threads of
- * our own.
- *
- * The various request possibilities:
- *
- * 1. Synchronous: handed off to the base class (GThreadedResolver);
- * since it's never possible to cancel a synchronous request in a
- * single-threaded program, the request is done in the calling
- * thread.
- *
- * 2. Asynchronous: A GWin32ResolverRequest is created with
- * appropriate query-specific information, a Windows event handle,
- * and a GSimpleAsyncResult. This is then handed to the
- * Windows-internal thread pool, which does the raw DNS query part
- * of the operation (being careful to not call any glib methods
- * that might fail when called from another thread when
- * g_thread_init() has not been called). The main thread sets up a
- * GSource to asynchronously poll the event handle. There are two
- * sub-possibilities:
- *
- * a. The resolution completes: the threadpool function calls
- * SetEvent() on the event handle and then returns.
- *
- * b. The resolution is cancelled: request_cancelled()
- * disconnects the "cancelled" signal handler, and queues an
- * idle handler to complete the async_result.
- *
- * Since we can't free the request from the threadpool thread
- * (because of glib locking issues), we *always* have to have it
- * call SetEvent and trigger the callback to indicate that it is
- * done. But this means that it's possible for the request to be
- * cancelled (queuing an idle handler to return that result) and
- * then have the resolution thread complete before the idle handler
- * runs. So the event callback and the idle handler need to both
- * watch out for this, making sure we don't complete the same
- * result twice.
- */
-
-typedef struct GWin32ResolverRequest GWin32ResolverRequest;
-typedef void (*GWin32ResolverRequestFreeFunc) (GWin32ResolverRequest *);
-
-struct GWin32ResolverRequest {
- GWin32ResolverRequestFreeFunc free_func;
-
- GCancellable *cancellable;
- GError *error;
-
- HANDLE *event;
- GSimpleAsyncResult *async_result;
- gboolean complete;
- GSource *cancelled_idle;
-
- union {
- struct {
- gchar *name;
- gint retval;
- struct addrinfo *res;
- } name;
-
- struct {
- GInetAddress *iaddr;
- struct sockaddr_storage addr;
- gsize addrlen;
- gint retval;
- gchar *namebuf;
- } address;
-
- struct {
- gchar *rrname;
- DNS_STATUS retval;
- DNS_RECORD *results;
- } service;
- } u;
-
-};
-
-static GSource *g_win32_handle_source_add (HANDLE handle,
- GSourceFunc callback,
- gpointer user_data);
-
-static gboolean request_completed (gpointer user_data);
-static void request_cancelled (GCancellable *cancellable,
- gpointer user_data);
-
-GWin32ResolverRequest *
-g_win32_resolver_request_new (GResolver *resolver,
- GWin32ResolverRequestFreeFunc free_func,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data,
- gpointer tag)
-{
- GWin32ResolverRequest *req;
-
- req = g_slice_new0 (GWin32ResolverRequest);
- req->free_func = free_func;
-
- req->async_result = g_simple_async_result_new (G_OBJECT (resolver), callback,
- user_data, tag);
- g_simple_async_result_set_op_res_gpointer (req->async_result, req, NULL);
-
- req->event = CreateEvent (NULL, FALSE, FALSE, NULL);
- g_win32_handle_source_add (req->event, request_completed, req);
-
- if (cancellable)
- {
- req->cancellable = g_object_ref (cancellable);
- g_signal_connect (cancellable, "cancelled",
- G_CALLBACK (request_cancelled), req);
- }
-
- return req;
-}
-
-static gboolean
-request_completed (gpointer user_data)
-{
- GWin32ResolverRequest *req = user_data;
-
- /* Clean up cancellation-related stuff first */
- if (req->cancelled_idle)
- {
- g_source_destroy (req->cancelled_idle);
- g_source_unref (req->cancelled_idle);
- req->cancelled_idle = NULL;
- }
- if (req->cancellable)
- {
- g_signal_handlers_disconnect_by_func (req->cancellable, request_cancelled, req);
- g_object_unref (req->cancellable);
- }
-
- /* Now complete the result (assuming it wasn't already completed) */
- if (req->async_result)
- {
- g_simple_async_result_complete (req->async_result);
- g_object_unref (req->async_result);
- }
-
- /* And free req */
- CloseHandle (req->event);
- req->free_func (req);
- g_slice_free (GWin32ResolverRequest, req);
-
- return FALSE;
-}
-
-static gboolean
-request_cancelled_idle (gpointer user_data)
-{
- GWin32ResolverRequest *req = user_data;
- GError *error = NULL;
-
- g_source_unref (req->cancelled_idle);
- req->cancelled_idle = NULL;
-
- g_cancellable_set_error_if_cancelled (req->cancellable, &error);
- g_simple_async_result_set_from_error (req->async_result, error);
- g_simple_async_result_complete (req->async_result);
-
- g_object_unref (req->async_result);
- req->async_result = NULL;
-
- /* request_completed will eventually be called to free req */
-
- return FALSE;
-}
-
-static void
-request_cancelled (GCancellable *cancellable,
- gpointer user_data)
-{
- GWin32ResolverRequest *req = user_data;
-
- if (req->cancellable)
- {
- g_signal_handlers_disconnect_by_func (req->cancellable, request_cancelled, req);
- g_object_unref (req->cancellable);
- req->cancellable = NULL;
- }
-
- /* We need to wait until main-loop-time to actually complete the
- * result; we don't use _complete_in_idle() here because we need to
- * keep track of the source so we can potentially cancel it before
- * it runs.
- */
- req->cancelled_idle = g_idle_source_new ();
- g_source_set_callback (req->cancelled_idle,
- (GSourceFunc)request_cancelled_idle, req, NULL);
- g_source_attach (req->cancelled_idle, g_main_context_get_thread_default ());
-}
-
-static DWORD WINAPI
-lookup_by_name_in_thread (LPVOID data)
-{
- GWin32ResolverRequest *req = data;
-
- req->u.name.retval = getaddrinfo (req->u.name.name, NULL,
- &_g_resolver_addrinfo_hints,
- &req->u.name.res);
- SetEvent (req->event);
- return 0;
-}
-
-static void
-free_lookup_by_name (GWin32ResolverRequest *req)
-{
- g_free (req->u.name.name);
- if (req->u.name.res)
- freeaddrinfo (req->u.name.res);
-}
-
-static void
-lookup_by_name_async (GResolver *resolver,
- const gchar *hostname,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GWin32ResolverRequest *req;
-
- req = g_win32_resolver_request_new (resolver, free_lookup_by_name,
- cancellable, callback, user_data,
- lookup_by_name_async);
- req->u.name.name = g_strdup (hostname);
-
- QueueUserWorkItem (lookup_by_name_in_thread, req, 0);
-}
-
-static GList *
-lookup_by_name_finish (GResolver *resolver,
- GAsyncResult *result,
- GError **error)
-{
- GSimpleAsyncResult *simple;
- GWin32ResolverRequest *req;
-
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (resolver), lookup_by_name_async), NULL);
- simple = G_SIMPLE_ASYNC_RESULT (result);
-
- req = g_simple_async_result_get_op_res_gpointer (simple);
- return _g_resolver_addresses_from_addrinfo (req->u.name.name, req->u.name.res,
- req->u.name.retval, error);
-}
-
-
-static DWORD WINAPI
-lookup_by_addresses_in_thread (LPVOID data)
-{
- GWin32ResolverRequest *req = data;
-
- req->u.address.retval =
- getnameinfo ((struct sockaddr *)&req->u.address.addr,
- req->u.address.addrlen,
- req->u.address.namebuf, NI_MAXHOST, NULL, 0, NI_NAMEREQD);
- SetEvent (req->event);
- return 0;
-}
-
-static void
-free_lookup_by_address (GWin32ResolverRequest *req)
-{
- g_object_unref (req->u.address.iaddr);
- g_free (req->u.address.namebuf);
-}
-
-static void
-lookup_by_address_async (GResolver *resolver,
- GInetAddress *address,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GWin32ResolverRequest *req;
-
- req = g_win32_resolver_request_new (resolver, free_lookup_by_address,
- cancellable, callback, user_data,
- lookup_by_address_async);
-
- req->u.address.iaddr = g_object_ref (address);
- _g_resolver_address_to_sockaddr (address, &req->u.address.addr,
- &req->u.address.addrlen);
- req->u.address.namebuf = g_malloc (NI_MAXHOST);
-
- QueueUserWorkItem (lookup_by_addresses_in_thread, req, 0);
-}
-
-static char *
-lookup_by_address_finish (GResolver *resolver,
- GAsyncResult *result,
- GError **error)
-{
- GSimpleAsyncResult *simple;
- GWin32ResolverRequest *req;
-
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (resolver), lookup_by_address_async), NULL);
- simple = G_SIMPLE_ASYNC_RESULT (result);
-
- req = g_simple_async_result_get_op_res_gpointer (simple);
- return _g_resolver_name_from_nameinfo (req->u.address.iaddr,
- req->u.address.namebuf,
- req->u.address.retval, error);
-}
-
-
-static DWORD WINAPI
-lookup_service_in_thread (LPVOID data)
-{
- GWin32ResolverRequest *req = data;
-
- req->u.service.retval =
- DnsQuery_A (req->u.service.rrname, DNS_TYPE_SRV, DNS_QUERY_STANDARD,
- NULL, &req->u.service.results, NULL);
- SetEvent (req->event);
- return 0;
-}
-
-static void
-free_lookup_service (GWin32ResolverRequest *req)
-{
- g_free (req->u.service.rrname);
- if (req->u.service.results)
- DnsRecordListFree (req->u.service.results, DnsFreeRecordList);
-}
-
-static void
-lookup_service_async (GResolver *resolver,
- const char *rrname,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- GWin32ResolverRequest *req;
-
- req = g_win32_resolver_request_new (resolver, free_lookup_service,
- cancellable, callback, user_data,
- lookup_service_async);
- req->u.service.rrname = g_strdup (rrname);
-
- QueueUserWorkItem (lookup_service_in_thread, req, 0);
-}
-
-static GList *
-lookup_service_finish (GResolver *resolver,
- GAsyncResult *result,
- GError **error)
-{
- GSimpleAsyncResult *simple;
- GWin32ResolverRequest *req;
-
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (resolver), lookup_service_async), NULL);
- simple = G_SIMPLE_ASYNC_RESULT (result);
-
- req = g_simple_async_result_get_op_res_gpointer (simple);
- return _g_resolver_targets_from_DnsQuery (req->u.service.rrname,
- req->u.service.retval,
- req->u.service.results, error);
-}
-
-
-static void
-g_win32_resolver_class_init (GWin32ResolverClass *win32_class)
-{
- GResolverClass *resolver_class = G_RESOLVER_CLASS (win32_class);
-
- resolver_class->lookup_by_name_async = lookup_by_name_async;
- resolver_class->lookup_by_name_finish = lookup_by_name_finish;
- resolver_class->lookup_by_address_async = lookup_by_address_async;
- resolver_class->lookup_by_address_finish = lookup_by_address_finish;
- resolver_class->lookup_service_async = lookup_service_async;
- resolver_class->lookup_service_finish = lookup_service_finish;
-}
-
-
-/* Windows HANDLE GSource */
-
-typedef struct {
- GSource source;
- GPollFD pollfd;
-} GWin32HandleSource;
-
-static gboolean
-g_win32_handle_source_prepare (GSource *source,
- gint *timeout)
-{
- *timeout = -1;
- return FALSE;
-}
-
-static gboolean
-g_win32_handle_source_check (GSource *source)
-{
- GWin32HandleSource *hsource = (GWin32HandleSource *)source;
-
- return hsource->pollfd.revents;
-}
-
-static gboolean
-g_win32_handle_source_dispatch (GSource *source,
- GSourceFunc callback,
- gpointer user_data)
-{
- return (*callback) (user_data);
-}
-
-static void
-g_win32_handle_source_finalize (GSource *source)
-{
- ;
-}
-
-GSourceFuncs g_win32_handle_source_funcs = {
- g_win32_handle_source_prepare,
- g_win32_handle_source_check,
- g_win32_handle_source_dispatch,
- g_win32_handle_source_finalize
-};
-
-static GSource *
-g_win32_handle_source_add (HANDLE handle,
- GSourceFunc callback,
- gpointer user_data)
-{
- GWin32HandleSource *hsource;
- GSource *source;
-
- source = g_source_new (&g_win32_handle_source_funcs, sizeof (GWin32HandleSource));
- hsource = (GWin32HandleSource *)source;
- hsource->pollfd.fd = (gint)handle;
- hsource->pollfd.events = G_IO_IN;
- hsource->pollfd.revents = 0;
- g_source_add_poll (source, &hsource->pollfd);
-
- g_source_set_callback (source, callback, user_data, NULL);
- g_source_attach (source, g_main_context_get_thread_default ());
- return source;
-}
-
-#define __G_WIN32_RESOLVER_C__
-#include "gioaliasdef.c"
+++ /dev/null
-/* GIO - GLib Input, Output and Streaming Library
- *
- * Copyright (C) 2008 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __G_WIN32_RESOLVER_H__
-#define __G_WIN32_RESOLVER_H__
-
-#include <gio/gthreadedresolver.h>
-
-G_BEGIN_DECLS
-
-#define G_TYPE_WIN32_RESOLVER (g_win32_resolver_get_type ())
-#define G_WIN32_RESOLVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_WIN32_RESOLVER, GWin32Resolver))
-#define G_WIN32_RESOLVER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_WIN32_RESOLVER, GWin32ResolverClass))
-#define G_IS_WIN32_RESOLVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_WIN32_RESOLVER))
-#define G_IS_WIN32_RESOLVER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_WIN32_RESOLVER))
-#define G_WIN32_RESOLVER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_WIN32_RESOLVER, GWin32ResolverClass))
-
-typedef struct {
- GThreadedResolver parent_instance;
-
-} GWin32Resolver;
-
-typedef struct {
- GThreadedResolverClass parent_class;
-
-} GWin32ResolverClass;
-
-GType g_win32_resolver_get_type (void) G_GNUC_CONST;
-
-G_END_DECLS
-
-#endif /* __G_RESOLVER_H__ */
+++ /dev/null
-## Process this file with automake to produce Makefile.in
-include $(top_srcdir)/Makefile.decl
-
-INCLUDES = -I$(top_srcdir)
-
-noinst_LTLIBRARIES = libasyncns.la
-
-libasyncns_la_SOURCES = \
- asyncns.c \
- asyncns.h \
- g-asyncns.h
-
-libasyncns_la_LIBADD = $(LIBASYNCNS_LIBADD)
-
-EXTRA_DIST += README update.sh
+++ /dev/null
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# GLIB - Library of useful C routines
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/Makefile.decl
-subdir = gio/libasyncns
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/acglib.m4 \
- $(top_srcdir)/glib/libcharset/codeset.m4 \
- $(top_srcdir)/glib/libcharset/glibc21.m4 \
- $(top_srcdir)/m4macros/glib-gettext.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-libasyncns_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_libasyncns_la_OBJECTS = asyncns.lo
-libasyncns_la_OBJECTS = $(am_libasyncns_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
-am__v_lt_0 = --silent
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(libasyncns_la_SOURCES)
-DIST_SOURCES = $(libasyncns_la_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ABS_GLIB_RUNTIME_LIBDIR = @ABS_GLIB_RUNTIME_LIBDIR@
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATADIRNAME = @DATADIRNAME@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DISABLE_MEM_POOLS = @DISABLE_MEM_POOLS@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FAM_LIBS = @FAM_LIBS@
-FGREP = @FGREP@
-GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
-GIO = @GIO@
-GIO_MODULE_DIR = @GIO_MODULE_DIR@
-GLIBC21 = @GLIBC21@
-GLIB_BINARY_AGE = @GLIB_BINARY_AGE@
-GLIB_DEBUG_FLAGS = @GLIB_DEBUG_FLAGS@
-GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
-GLIB_INTERFACE_AGE = @GLIB_INTERFACE_AGE@
-GLIB_MAJOR_VERSION = @GLIB_MAJOR_VERSION@
-GLIB_MICRO_VERSION = @GLIB_MICRO_VERSION@
-GLIB_MINOR_VERSION = @GLIB_MINOR_VERSION@
-GLIB_RUNTIME_LIBDIR = @GLIB_RUNTIME_LIBDIR@
-GLIB_VERSION = @GLIB_VERSION@
-GLIB_WIN32_STATIC_COMPILATION_DEFINE = @GLIB_WIN32_STATIC_COMPILATION_DEFINE@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GREP = @GREP@
-GSPAWN = @GSPAWN@
-GTHREAD_COMPILE_IMPL_DEFINES = @GTHREAD_COMPILE_IMPL_DEFINES@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-G_LIBS_EXTRA = @G_LIBS_EXTRA@
-G_MODULE_BROKEN_RTLD_GLOBAL = @G_MODULE_BROKEN_RTLD_GLOBAL@
-G_MODULE_HAVE_DLERROR = @G_MODULE_HAVE_DLERROR@
-G_MODULE_IMPL = @G_MODULE_IMPL@
-G_MODULE_LDFLAGS = @G_MODULE_LDFLAGS@
-G_MODULE_LIBS = @G_MODULE_LIBS@
-G_MODULE_LIBS_EXTRA = @G_MODULE_LIBS_EXTRA@
-G_MODULE_NEED_USCORE = @G_MODULE_NEED_USCORE@
-G_MODULE_PLUGIN_LIBS = @G_MODULE_PLUGIN_LIBS@
-G_MODULE_SUPPORTED = @G_MODULE_SUPPORTED@
-G_THREAD_CFLAGS = @G_THREAD_CFLAGS@
-G_THREAD_LIBS = @G_THREAD_LIBS@
-G_THREAD_LIBS_EXTRA = @G_THREAD_LIBS_EXTRA@
-G_THREAD_LIBS_FOR_GTHREAD = @G_THREAD_LIBS_FOR_GTHREAD@
-HTML_DIR = @HTML_DIR@
-ICONV_LIBS = @ICONV_LIBS@
-INDENT = @INDENT@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
-INTLLIBS = @INTLLIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBASYNCNS_LIBADD = @LIBASYNCNS_LIBADD@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_EXPORT_OPTIONS = @LIBTOOL_EXPORT_OPTIONS@
-LIB_EXE_MACHINE_FLAG = @LIB_EXE_MACHINE_FLAG@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_AGE = @LT_AGE@
-LT_CURRENT = @LT_CURRENT@
-LT_CURRENT_MINUS_AGE = @LT_CURRENT_MINUS_AGE@
-LT_RELEASE = @LT_RELEASE@
-LT_REVISION = @LT_REVISION@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MSGFMT = @MSGFMT@
-MSGFMT_OPTS = @MSGFMT_OPTS@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PCRE_CFLAGS = @PCRE_CFLAGS@
-PCRE_LIBS = @PCRE_LIBS@
-PCRE_REQUIRES = @PCRE_REQUIRES@
-PCRE_WARN_CFLAGS = @PCRE_WARN_CFLAGS@
-PERL = @PERL@
-PERL_PATH = @PERL_PATH@
-PKG_CONFIG = @PKG_CONFIG@
-PLATFORMDEP = @PLATFORMDEP@
-POFILES = @POFILES@
-POSUB = @POSUB@
-PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
-PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-REBUILD = @REBUILD@
-SED = @SED@
-SELINUX_LIBS = @SELINUX_LIBS@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-WINDRES = @WINDRES@
-XATTR_LIBS = @XATTR_LIBS@
-XGETTEXT = @XGETTEXT@
-XMLCATALOG = @XMLCATALOG@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-ms_librarian = @ms_librarian@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-
-#GTESTER = gtester # for non-GLIB packages
-GTESTER = $(top_builddir)/glib/gtester # for the GLIB package
-GTESTER_REPORT = $(top_builddir)/glib/gtester-report # for the GLIB package
-
-# initialize variables for unconditional += appending
-EXTRA_DIST = README update.sh
-TEST_PROGS =
-INCLUDES = -I$(top_srcdir)
-noinst_LTLIBRARIES = libasyncns.la
-libasyncns_la_SOURCES = \
- asyncns.c \
- asyncns.h \
- g-asyncns.h
-
-libasyncns_la_LIBADD = $(LIBASYNCNS_LIBADD)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.decl $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gio/libasyncns/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu gio/libasyncns/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libasyncns.la: $(libasyncns_la_OBJECTS) $(libasyncns_la_DEPENDENCIES)
- $(AM_V_CCLD)$(LINK) $(libasyncns_la_OBJECTS) $(libasyncns_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asyncns.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am check-local clean \
- clean-generic clean-libtool clean-noinstLTLIBRARIES ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
-
-
-### testing rules
-
-# test: run all tests in cwd and subdirs
-test: ${TEST_PROGS}
-@OS_UNIX_TRUE@ @test -z "${TEST_PROGS}" || ${GTESTER} --verbose ${TEST_PROGS}
-@OS_UNIX_TRUE@ @ for subdir in $(SUBDIRS) . ; do \
-@OS_UNIX_TRUE@ test "$$subdir" = "." -o "$$subdir" = "po" || \
-@OS_UNIX_TRUE@ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
-@OS_UNIX_TRUE@ done
-
-# test-report: run tests in subdirs and generate report
-# perf-report: run tests in subdirs with -m perf and generate report
-# full-report: like test-report: with -m perf and -m slow
-test-report perf-report full-report: ${TEST_PROGS}
- @test -z "${TEST_PROGS}" || { \
- case $@ in \
- test-report) test_options="-k";; \
- perf-report) test_options="-k -m=perf";; \
- full-report) test_options="-k -m=perf -m=slow";; \
- esac ; \
- if test -z "$$GTESTER_LOGDIR" ; then \
- ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
- elif test -n "${TEST_PROGS}" ; then \
- ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
- fi ; \
- }
- @ ignore_logdir=true ; \
- if test -z "$$GTESTER_LOGDIR" ; then \
- GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
- ignore_logdir=false ; \
- fi ; \
- for subdir in $(SUBDIRS) . ; do \
- test "$$subdir" = "." -o "$$subdir" = "po" || \
- ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
- done ; \
- $$ignore_logdir || { \
- echo '<?xml version="1.0"?>' > $@.xml ; \
- echo '<report-collection>' >> $@.xml ; \
- for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
- sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
- done ; \
- echo >> $@.xml ; \
- echo '</report-collection>' >> $@.xml ; \
- rm -rf "$$GTESTER_LOGDIR"/ ; \
- ${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
- }
-.PHONY: test test-report perf-report full-report
-# run make test as part of make check
-check-local: test
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
+++ /dev/null
-The sources are derived from Lennart Poettering's libasyncns library:
-
- http://0pointer.de/lennart/projects/libasyncns/
-
-The 'update.sh' script in this directory, when pointed at
-the original sources updates the files in this directory
-to the new version
+++ /dev/null
-/***
- This file is part of libasyncns.
-
- Copyright 2005-2008 Lennart Poettering
-
- libasyncns is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation, either version 2.1 of the
- License, or (at your option) any later version.
-
- libasyncns is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with libasyncns. If not, see
- <http://www.gnu.org/licenses/>.
-***/
-
-#ifdef HAVE_CONFIG_H
-#include "g-asyncns.h"
-#endif
-
-/* #undef HAVE_PTHREAD */
-
-#include <assert.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <unistd.h>
-
-#ifdef HAVE_SYS_SELECT_H
-#include <sys/select.h>
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <sys/wait.h>
-#include <sys/types.h>
-#include <pwd.h>
-#include <netinet/in.h>
-#include <arpa/nameser.h>
-#include <resolv.h>
-#include <dirent.h>
-
-#ifdef HAVE_SYS_TIME_H
-#include <sys/time.h>
-#endif
-
-#include <sys/resource.h>
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-
-#ifdef HAVE_SYS_PRCTL_H
-#include <sys/prctl.h>
-#endif
-
-#if HAVE_PTHREAD
-#include <pthread.h>
-#endif
-
-#include "asyncns.h"
-
-#ifndef MSG_NOSIGNAL
-#define MSG_NOSIGNAL 0
-#endif
-
-#define MAX_WORKERS 16
-#define MAX_QUERIES 256
-#define BUFSIZE (10240)
-
-typedef enum {
- REQUEST_ADDRINFO,
- RESPONSE_ADDRINFO,
- REQUEST_NAMEINFO,
- RESPONSE_NAMEINFO,
- REQUEST_RES_QUERY,
- REQUEST_RES_SEARCH,
- RESPONSE_RES,
- REQUEST_TERMINATE,
- RESPONSE_DIED
-} query_type_t;
-
-enum {
- REQUEST_RECV_FD = 0,
- REQUEST_SEND_FD = 1,
- RESPONSE_RECV_FD = 2,
- RESPONSE_SEND_FD = 3,
- MESSAGE_FD_MAX = 4
-};
-
-struct asyncns {
- int fds[4];
-
-#ifndef HAVE_PTHREAD
- pid_t workers[MAX_WORKERS];
-#else
- pthread_t workers[MAX_WORKERS];
-#endif
- unsigned valid_workers;
-
- unsigned current_id, current_index;
- _g_asyncns_query_t* queries[MAX_QUERIES];
-
- _g_asyncns_query_t *done_head, *done_tail;
-
- int n_queries;
- int dead;
-};
-
-struct _g_asyncns_query {
- _g_asyncns_t *asyncns;
- int done;
- unsigned id;
- query_type_t type;
- _g_asyncns_query_t *done_next, *done_prev;
- int ret;
- int _errno;
- int _h_errno;
- struct addrinfo *addrinfo;
- char *serv, *host;
- void *userdata;
-};
-
-typedef struct rheader {
- query_type_t type;
- unsigned id;
- size_t length;
-} rheader_t;
-
-typedef struct addrinfo_request {
- struct rheader header;
- int hints_is_null;
- int ai_flags;
- int ai_family;
- int ai_socktype;
- int ai_protocol;
- size_t node_len, service_len;
-} addrinfo_request_t;
-
-typedef struct addrinfo_response {
- struct rheader header;
- int ret;
- int _errno;
- int _h_errno;
- /* followed by addrinfo_serialization[] */
-} addrinfo_response_t;
-
-typedef struct addrinfo_serialization {
- int ai_flags;
- int ai_family;
- int ai_socktype;
- int ai_protocol;
- size_t ai_addrlen;
- size_t canonname_len;
- /* Followed by ai_addr amd ai_canonname with variable lengths */
-} addrinfo_serialization_t;
-
-typedef struct nameinfo_request {
- struct rheader header;
- int flags;
- socklen_t sockaddr_len;
- int gethost, getserv;
-} nameinfo_request_t;
-
-typedef struct nameinfo_response {
- struct rheader header;
- size_t hostlen, servlen;
- int ret;
- int _errno;
- int _h_errno;
-} nameinfo_response_t;
-
-typedef struct res_request {
- struct rheader header;
- int class;
- int type;
- size_t dname_len;
-} res_request_t;
-
-typedef struct res_response {
- struct rheader header;
- int ret;
- int _errno;
- int _h_errno;
-} res_response_t;
-
-typedef union packet {
- rheader_t rheader;
- addrinfo_request_t addrinfo_request;
- addrinfo_response_t addrinfo_response;
- nameinfo_request_t nameinfo_request;
- nameinfo_response_t nameinfo_response;
- res_request_t res_request;
- res_response_t res_response;
-} packet_t;
-
-#ifndef HAVE_STRNDUP
-
-static char *strndup(const char *s, size_t l) {
- size_t a;
- char *n;
-
- a = strlen(s);
- if (a > l)
- a = l;
-
- if (!(n = malloc(a+1)))
- return NULL;
-
- memcpy(n, s, a);
- n[a] = 0;
-
- return n;
-}
-
-#endif
-
-#ifndef HAVE_PTHREAD
-
-static int close_allv(const int except_fds[]) {
- struct rlimit rl;
- int fd, maxfd;
-
-#ifdef __linux__
-
- DIR *d;
-
- assert(except_fds);
-
- if ((d = opendir("/proc/self/fd"))) {
-
- struct dirent *de;
-
- while ((de = readdir(d))) {
- int found;
- long l;
- char *e = NULL;
- int i;
-
- if (de->d_name[0] == '.')
- continue;
-
- errno = 0;
- l = strtol(de->d_name, &e, 10);
- if (errno != 0 || !e || *e) {
- closedir(d);
- errno = EINVAL;
- return -1;
- }
-
- fd = (int) l;
-
- if ((long) fd != l) {
- closedir(d);
- errno = EINVAL;
- return -1;
- }
-
- if (fd < 3)
- continue;
-
- if (fd == dirfd(d))
- continue;
-
- found = 0;
- for (i = 0; except_fds[i] >= 0; i++)
- if (except_fds[i] == fd) {
- found = 1;
- break;
- }
-
- if (found)
- continue;
-
- if (close(fd) < 0) {
- int saved_errno;
-
- saved_errno = errno;
- closedir(d);
- errno = saved_errno;
-
- return -1;
- }
- }
-
- closedir(d);
- return 0;
- }
-
-#endif
-
- if (getrlimit(RLIMIT_NOFILE, &rl) > 0)
- maxfd = (int) rl.rlim_max;
- else
- maxfd = sysconf(_SC_OPEN_MAX);
-
- for (fd = 3; fd < maxfd; fd++) {
- int i, found;
-
- found = 0;
- for (i = 0; except_fds[i] >= 0; i++)
- if (except_fds[i] == fd) {
- found = 1;
- continue;
- }
-
- if (found)
- continue;
-
- if (close(fd) < 0 && errno != EBADF)
- return -1;
- }
-
- return 0;
-}
-
-static int reset_sigsv(const int except[]) {
- int sig;
- assert(except);
-
- for (sig = 1; sig < NSIG; sig++) {
- int reset = 1;
-
- switch (sig) {
- case SIGKILL:
- case SIGSTOP:
- reset = 0;
- break;
-
- default: {
- int i;
-
- for (i = 0; except[i] > 0; i++) {
- if (sig == except[i]) {
- reset = 0;
- break;
- }
- }
- }
- }
-
- if (reset) {
- struct sigaction sa;
-
- memset(&sa, 0, sizeof(sa));
- sa.sa_handler = SIG_DFL;
-
- /* On Linux the first two RT signals are reserved by
- * glibc, and sigaction() will return EINVAL for them. */
- if ((sigaction(sig, &sa, NULL) < 0))
- if (errno != EINVAL)
- return -1;
- }
- }
-
- return 0;
-}
-
-static int ignore_sigsv(const int ignore[]) {
- int i;
- assert(ignore);
-
- for (i = 0; ignore[i] > 0; i++) {
- struct sigaction sa;
-
- memset(&sa, 0, sizeof(sa));
- sa.sa_handler = SIG_IGN;
-
- if ((sigaction(ignore[i], &sa, NULL) < 0))
- return -1;
- }
-
- return 0;
-}
-
-#endif
-
-static int fd_nonblock(int fd) {
- int i;
- assert(fd >= 0);
-
- if ((i = fcntl(fd, F_GETFL, 0)) < 0)
- return -1;
-
- if (i & O_NONBLOCK)
- return 0;
-
- return fcntl(fd, F_SETFL, i | O_NONBLOCK);
-}
-
-static int fd_cloexec(int fd) {
- int v;
- assert(fd >= 0);
-
- if ((v = fcntl(fd, F_GETFD, 0)) < 0)
- return -1;
-
- if (v & FD_CLOEXEC)
- return 0;
-
- return fcntl(fd, F_SETFD, v | FD_CLOEXEC);
-}
-
-static int send_died(int out_fd) {
- rheader_t rh;
- assert(out_fd > 0);
-
- memset(&rh, 0, sizeof(rh));
- rh.type = RESPONSE_DIED;
- rh.id = 0;
- rh.length = sizeof(rh);
-
- return send(out_fd, &rh, rh.length, MSG_NOSIGNAL);
-}
-
-static void *serialize_addrinfo(void *p, const struct addrinfo *ai, size_t *length, size_t maxlength) {
- addrinfo_serialization_t s;
- size_t cnl, l;
- assert(p);
- assert(ai);
- assert(length);
- assert(*length <= maxlength);
-
- cnl = (ai->ai_canonname ? strlen(ai->ai_canonname)+1 : 0);
- l = sizeof(addrinfo_serialization_t) + ai->ai_addrlen + cnl;
-
- if (*length + l > maxlength)
- return NULL;
-
- s.ai_flags = ai->ai_flags;
- s.ai_family = ai->ai_family;
- s.ai_socktype = ai->ai_socktype;
- s.ai_protocol = ai->ai_protocol;
- s.ai_addrlen = ai->ai_addrlen;
- s.canonname_len = cnl;
-
- memcpy((uint8_t*) p, &s, sizeof(addrinfo_serialization_t));
- memcpy((uint8_t*) p + sizeof(addrinfo_serialization_t), ai->ai_addr, ai->ai_addrlen);
-
- if (ai->ai_canonname)
- strcpy((char*) p + sizeof(addrinfo_serialization_t) + ai->ai_addrlen, ai->ai_canonname);
-
- *length += l;
- return (uint8_t*) p + l;
-}
-
-static int send_addrinfo_reply(int out_fd, unsigned id, int ret, struct addrinfo *ai, int _errno, int _h_errno) {
- addrinfo_response_t data[BUFSIZE/sizeof(addrinfo_response_t) + 1];
- addrinfo_response_t *resp = data;
- assert(out_fd >= 0);
-
- memset(data, 0, sizeof(data));
- resp->header.type = RESPONSE_ADDRINFO;
- resp->header.id = id;
- resp->header.length = sizeof(addrinfo_response_t);
- resp->ret = ret;
- resp->_errno = _errno;
- resp->_h_errno = _h_errno;
-
- if (ret == 0 && ai) {
- void *p = data + 1;
- struct addrinfo *k;
-
- for (k = ai; k; k = k->ai_next) {
-
- if (!(p = serialize_addrinfo(p, k, &resp->header.length, (char*) data + BUFSIZE - (char*) p))) {
- resp->ret = EAI_MEMORY;
- break;
- }
- }
- }
-
- if (ai)
- freeaddrinfo(ai);
-
- return send(out_fd, resp, resp->header.length, MSG_NOSIGNAL);
-}
-
-static int send_nameinfo_reply(int out_fd, unsigned id, int ret, const char *host, const char *serv, int _errno, int _h_errno) {
- nameinfo_response_t data[BUFSIZE/sizeof(nameinfo_response_t) + 1];
- size_t hl, sl;
- nameinfo_response_t *resp = data;
-
- assert(out_fd >= 0);
-
- sl = serv ? strlen(serv)+1 : 0;
- hl = host ? strlen(host)+1 : 0;
-
- memset(data, 0, sizeof(data));
- resp->header.type = RESPONSE_NAMEINFO;
- resp->header.id = id;
- resp->header.length = sizeof(nameinfo_response_t) + hl + sl;
- resp->ret = ret;
- resp->_errno = _errno;
- resp->_h_errno = _h_errno;
- resp->hostlen = hl;
- resp->servlen = sl;
-
- assert(sizeof(data) >= resp->header.length);
-
- if (host)
- memcpy((uint8_t *)data + sizeof(nameinfo_response_t), host, hl);
-
- if (serv)
- memcpy((uint8_t *)data + sizeof(nameinfo_response_t) + hl, serv, sl);
-
- return send(out_fd, resp, resp->header.length, MSG_NOSIGNAL);
-}
-
-static int send_res_reply(int out_fd, unsigned id, const unsigned char *answer, int ret, int _errno, int _h_errno) {
- res_response_t data[BUFSIZE/sizeof(res_response_t) + 1];
- res_response_t *resp = data;
-
- assert(out_fd >= 0);
-
- memset(data, 0, sizeof(data));
- resp->header.type = RESPONSE_RES;
- resp->header.id = id;
- resp->header.length = sizeof(res_response_t) + (ret < 0 ? 0 : ret);
- resp->ret = ret;
- resp->_errno = _errno;
- resp->_h_errno = _h_errno;
-
- assert(sizeof(data) >= resp->header.length);
-
- if (ret > 0)
- memcpy((uint8_t *)data + sizeof(res_response_t), answer, ret);
-
- return send(out_fd, resp, resp->header.length, MSG_NOSIGNAL);
-}
-
-static int handle_request(int out_fd, const packet_t *packet, size_t length) {
- const rheader_t *req;
- assert(out_fd >= 0);
-
- req = &packet->rheader;
- assert(req);
- assert(length >= sizeof(rheader_t));
- assert(length == req->length);
-
- switch (req->type) {
-
- case REQUEST_ADDRINFO: {
- struct addrinfo ai, *result = NULL;
- const addrinfo_request_t *ai_req = &packet->addrinfo_request;
- const char *node, *service;
- int ret;
-
- assert(length >= sizeof(addrinfo_request_t));
- assert(length == sizeof(addrinfo_request_t) + ai_req->node_len + ai_req->service_len);
-
- memset(&ai, 0, sizeof(ai));
- ai.ai_flags = ai_req->ai_flags;
- ai.ai_family = ai_req->ai_family;
- ai.ai_socktype = ai_req->ai_socktype;
- ai.ai_protocol = ai_req->ai_protocol;
-
- node = ai_req->node_len ? (const char*) ai_req + sizeof(addrinfo_request_t) : NULL;
- service = ai_req->service_len ? (const char*) ai_req + sizeof(addrinfo_request_t) + ai_req->node_len : NULL;
-
- ret = getaddrinfo(node, service,
- ai_req->hints_is_null ? NULL : &ai,
- &result);
-
- /* send_addrinfo_reply() frees result */
- return send_addrinfo_reply(out_fd, req->id, ret, result, errno, h_errno);
- }
-
- case REQUEST_NAMEINFO: {
- int ret;
- const nameinfo_request_t *ni_req = &packet->nameinfo_request;
- char hostbuf[NI_MAXHOST], servbuf[NI_MAXSERV];
- struct sockaddr_storage sa;
-
- assert(length >= sizeof(nameinfo_request_t));
- assert(length == sizeof(nameinfo_request_t) + ni_req->sockaddr_len);
-
- memcpy(&sa, (const uint8_t *) ni_req + sizeof(nameinfo_request_t), ni_req->sockaddr_len);
-
- ret = getnameinfo((struct sockaddr *)&sa, ni_req->sockaddr_len,
- ni_req->gethost ? hostbuf : NULL, ni_req->gethost ? sizeof(hostbuf) : 0,
- ni_req->getserv ? servbuf : NULL, ni_req->getserv ? sizeof(servbuf) : 0,
- ni_req->flags);
-
- return send_nameinfo_reply(out_fd, req->id, ret,
- ret == 0 && ni_req->gethost ? hostbuf : NULL,
- ret == 0 && ni_req->getserv ? servbuf : NULL,
- errno, h_errno);
- }
-
- case REQUEST_RES_QUERY:
- case REQUEST_RES_SEARCH: {
- int ret;
- HEADER answer[BUFSIZE/sizeof(HEADER) + 1];
- const res_request_t *res_req = &packet->res_request;
- const char *dname;
-
- assert(length >= sizeof(res_request_t));
- assert(length == sizeof(res_request_t) + res_req->dname_len);
-
- dname = (const char *) req + sizeof(res_request_t);
-
- if (req->type == REQUEST_RES_QUERY)
- ret = res_query(dname, res_req->class, res_req->type, (unsigned char *) answer, BUFSIZE);
- else
- ret = res_search(dname, res_req->class, res_req->type, (unsigned char *) answer, BUFSIZE);
-
- return send_res_reply(out_fd, req->id, (unsigned char *) answer, ret, errno, h_errno);
- }
-
- case REQUEST_TERMINATE:
- /* Quit */
- return -1;
-
- default:
- ;
- }
-
- return 0;
-}
-
-#ifndef HAVE_PTHREAD
-
-static int process_worker(int in_fd, int out_fd) {
- int have_death_sig = 0;
- int good_fds[3];
- int ret = 1;
-
- const int ignore_sigs[] = {
- SIGINT,
- SIGHUP,
- SIGPIPE,
- SIGUSR1,
- SIGUSR2,
- -1
- };
-
- assert(in_fd > 2);
- assert(out_fd > 2);
-
- close(0);
- close(1);
- close(2);
-
- if (open("/dev/null", O_RDONLY) != 0)
- goto fail;
-
- if (open("/dev/null", O_WRONLY) != 1)
- goto fail;
-
- if (open("/dev/null", O_WRONLY) != 2)
- goto fail;
-
- if (chdir("/") < 0)
- goto fail;
-
- if (geteuid() == 0) {
- struct passwd *pw;
- int r;
-
- if ((pw = getpwnam("nobody"))) {
-#ifdef HAVE_SETRESUID
- r = setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid);
-#elif HAVE_SETREUID
- r = setreuid(pw->pw_uid, pw->pw_uid);
-#else
- if ((r = setuid(pw->pw_uid)) >= 0)
- r = seteuid(pw->pw_uid);
-#endif
- if (r < 0)
- goto fail;
- }
- }
-
- if (reset_sigsv(ignore_sigs) < 0)
- goto fail;
-
- if (ignore_sigsv(ignore_sigs) < 0)
- goto fail;
-
- good_fds[0] = in_fd; good_fds[1] = out_fd; good_fds[2] = -1;
- if (close_allv(good_fds) < 0)
- goto fail;
-
-#ifdef PR_SET_PDEATHSIG
- if (prctl(PR_SET_PDEATHSIG, SIGTERM) >= 0)
- have_death_sig = 1;
-#endif
-
- if (!have_death_sig)
- fd_nonblock(in_fd);
-
- while (getppid() > 1) { /* if the parent PID is 1 our parent process died. */
- packet_t buf[BUFSIZE/sizeof(packet_t) + 1];
- ssize_t length;
-
- if (!have_death_sig) {
- fd_set fds;
- struct timeval tv = { 0, 500000 };
-
- FD_ZERO(&fds);
- FD_SET(in_fd, &fds);
-
- if (select(in_fd+1, &fds, NULL, NULL, &tv) < 0)
- break;
-
- if (getppid() == 1)
- break;
- }
-
- if ((length = recv(in_fd, buf, sizeof(buf), 0)) <= 0) {
-
- if (length < 0 &&
- (errno == EAGAIN || errno == EINTR))
- continue;
-
- break;
- }
-
- if (handle_request(out_fd, buf, (size_t) length) < 0)
- break;
- }
-
- ret = 0;
-
-fail:
- send_died(out_fd);
-
- return ret;
-}
-
-#else
-
-static void* thread_worker(void *p) {
- _g_asyncns_t *asyncns = p;
- sigset_t fullset;
-
- /* No signals in this thread please */
- sigfillset(&fullset);
- pthread_sigmask(SIG_BLOCK, &fullset, NULL);
-
- while (!asyncns->dead) {
- packet_t buf[BUFSIZE/sizeof(packet_t) + 1];
- ssize_t length;
-
- if ((length = recv(asyncns->fds[REQUEST_RECV_FD], buf, sizeof(buf), 0)) <= 0) {
-
- if (length < 0 &&
- (errno == EAGAIN || errno == EINTR))
- continue;
-
- break;
- }
-
- if (asyncns->dead)
- break;
-
- if (handle_request(asyncns->fds[RESPONSE_SEND_FD], buf, (size_t) length) < 0)
- break;
- }
-
- send_died(asyncns->fds[RESPONSE_SEND_FD]);
-
- return NULL;
-}
-
-#endif
-
-_g_asyncns_t* _g_asyncns_new(unsigned n_proc) {
- _g_asyncns_t *asyncns = NULL;
- int i;
- assert(n_proc >= 1);
-
- if (n_proc > MAX_WORKERS)
- n_proc = MAX_WORKERS;
-
- if (!(asyncns = malloc(sizeof(_g_asyncns_t)))) {
- errno = ENOMEM;
- goto fail;
- }
-
- asyncns->dead = 0;
- asyncns->valid_workers = 0;
-
- for (i = 0; i < MESSAGE_FD_MAX; i++)
- asyncns->fds[i] = -1;
-
- memset(asyncns->queries, 0, sizeof(asyncns->queries));
-
- if (socketpair(PF_UNIX, SOCK_DGRAM, 0, asyncns->fds) < 0 ||
- socketpair(PF_UNIX, SOCK_DGRAM, 0, asyncns->fds+2) < 0)
- goto fail;
-
- for (i = 0; i < MESSAGE_FD_MAX; i++)
- fd_cloexec(asyncns->fds[i]);
-
- for (asyncns->valid_workers = 0; asyncns->valid_workers < n_proc; asyncns->valid_workers++) {
-
-#ifndef HAVE_PTHREAD
- if ((asyncns->workers[asyncns->valid_workers] = fork()) < 0)
- goto fail;
- else if (asyncns->workers[asyncns->valid_workers] == 0) {
- int ret;
-
- close(asyncns->fds[REQUEST_SEND_FD]);
- close(asyncns->fds[RESPONSE_RECV_FD]);
- ret = process_worker(asyncns->fds[REQUEST_RECV_FD], asyncns->fds[RESPONSE_SEND_FD]);
- close(asyncns->fds[REQUEST_RECV_FD]);
- close(asyncns->fds[RESPONSE_SEND_FD]);
- _exit(ret);
- }
-#else
- int r;
-
- if ((r = pthread_create(&asyncns->workers[asyncns->valid_workers], NULL, thread_worker, asyncns)) != 0) {
- errno = r;
- goto fail;
- }
-#endif
- }
-
-#ifndef HAVE_PTHREAD
- close(asyncns->fds[REQUEST_RECV_FD]);
- close(asyncns->fds[RESPONSE_SEND_FD]);
- asyncns->fds[REQUEST_RECV_FD] = asyncns->fds[RESPONSE_SEND_FD] = -1;
-#endif
-
- asyncns->current_index = asyncns->current_id = 0;
- asyncns->done_head = asyncns->done_tail = NULL;
- asyncns->n_queries = 0;
-
- fd_nonblock(asyncns->fds[RESPONSE_RECV_FD]);
-
- return asyncns;
-
-fail:
- if (asyncns)
- _g_asyncns_free(asyncns);
-
- return NULL;
-}
-
-void _g_asyncns_free(_g_asyncns_t *asyncns) {
- int i;
- int saved_errno = errno;
- unsigned p;
-
- assert(asyncns);
-
- asyncns->dead = 1;
-
- if (asyncns->fds[REQUEST_SEND_FD] >= 0) {
- rheader_t req;
-
- memset(&req, 0, sizeof(req));
- req.type = REQUEST_TERMINATE;
- req.length = sizeof(req);
- req.id = 0;
-
- /* Send one termination packet for each worker */
- for (p = 0; p < asyncns->valid_workers; p++)
- send(asyncns->fds[REQUEST_SEND_FD], &req, req.length, MSG_NOSIGNAL);
- }
-
- /* Now terminate them and wait until they are gone. */
- for (p = 0; p < asyncns->valid_workers; p++) {
-#ifndef HAVE_PTHREAD
- kill(asyncns->workers[p], SIGTERM);
- for (;;) {
- if (waitpid(asyncns->workers[p], NULL, 0) >= 0 || errno != EINTR)
- break;
- }
-#else
- for (;;) {
- if (pthread_join(asyncns->workers[p], NULL) != EINTR)
- break;
- }
-#endif
- }
-
- /* Close all communication channels */
- for (i = 0; i < MESSAGE_FD_MAX; i++)
- if (asyncns->fds[i] >= 0)
- close(asyncns->fds[i]);
-
- for (p = 0; p < MAX_QUERIES; p++)
- if (asyncns->queries[p])
- _g_asyncns_cancel(asyncns, asyncns->queries[p]);
-
- free(asyncns);
-
- errno = saved_errno;
-}
-
-int _g_asyncns_fd(_g_asyncns_t *asyncns) {
- assert(asyncns);
-
- return asyncns->fds[RESPONSE_RECV_FD];
-}
-
-static _g_asyncns_query_t *lookup_query(_g_asyncns_t *asyncns, unsigned id) {
- _g_asyncns_query_t *q;
- assert(asyncns);
-
- if ((q = asyncns->queries[id % MAX_QUERIES]))
- if (q->id == id)
- return q;
-
- return NULL;
-}
-
-static void complete_query(_g_asyncns_t *asyncns, _g_asyncns_query_t *q) {
- assert(asyncns);
- assert(q);
- assert(!q->done);
-
- q->done = 1;
-
- if ((q->done_prev = asyncns->done_tail))
- asyncns->done_tail->done_next = q;
- else
- asyncns->done_head = q;
-
- asyncns->done_tail = q;
- q->done_next = NULL;
-}
-
-static const void *unserialize_addrinfo(const void *p, struct addrinfo **ret_ai, size_t *length) {
- addrinfo_serialization_t s;
- size_t l;
- struct addrinfo *ai;
- assert(p);
- assert(ret_ai);
- assert(length);
-
- if (*length < sizeof(addrinfo_serialization_t))
- return NULL;
-
- memcpy(&s, p, sizeof(s));
-
- l = sizeof(addrinfo_serialization_t) + s.ai_addrlen + s.canonname_len;
- if (*length < l)
- return NULL;
-
- if (!(ai = malloc(sizeof(struct addrinfo))))
- goto fail;
-
- ai->ai_addr = NULL;
- ai->ai_canonname = NULL;
- ai->ai_next = NULL;
-
- if (s.ai_addrlen && !(ai->ai_addr = malloc(s.ai_addrlen)))
- goto fail;
-
- if (s.canonname_len && !(ai->ai_canonname = malloc(s.canonname_len)))
- goto fail;
-
- ai->ai_flags = s.ai_flags;
- ai->ai_family = s.ai_family;
- ai->ai_socktype = s.ai_socktype;
- ai->ai_protocol = s.ai_protocol;
- ai->ai_addrlen = s.ai_addrlen;
-
- if (ai->ai_addr)
- memcpy(ai->ai_addr, (const uint8_t*) p + sizeof(addrinfo_serialization_t), s.ai_addrlen);
-
- if (ai->ai_canonname)
- memcpy(ai->ai_canonname, (const uint8_t*) p + sizeof(addrinfo_serialization_t) + s.ai_addrlen, s.canonname_len);
-
- *length -= l;
- *ret_ai = ai;
-
- return (const uint8_t*) p + l;
-
-
-fail:
- if (ai)
- _g_asyncns_freeaddrinfo(ai);
-
- return NULL;
-}
-
-static int handle_response(_g_asyncns_t *asyncns, const packet_t *packet, size_t length) {
- const rheader_t *resp;
- _g_asyncns_query_t *q;
-
- assert(asyncns);
-
- resp = &packet->rheader;
- assert(resp);
- assert(length >= sizeof(rheader_t));
- assert(length == resp->length);
-
- if (resp->type == RESPONSE_DIED) {
- asyncns->dead = 1;
- return 0;
- }
-
- if (!(q = lookup_query(asyncns, resp->id)))
- return 0;
-
- switch (resp->type) {
- case RESPONSE_ADDRINFO: {
- const addrinfo_response_t *ai_resp = &packet->addrinfo_response;
- const void *p;
- size_t l;
- struct addrinfo *prev = NULL;
-
- assert(length >= sizeof(addrinfo_response_t));
- assert(q->type == REQUEST_ADDRINFO);
-
- q->ret = ai_resp->ret;
- q->_errno = ai_resp->_errno;
- q->_h_errno = ai_resp->_h_errno;
- l = length - sizeof(addrinfo_response_t);
- p = (const uint8_t*) resp + sizeof(addrinfo_response_t);
-
- while (l > 0 && p) {
- struct addrinfo *ai = NULL;
- p = unserialize_addrinfo(p, &ai, &l);
-
- if (!p || !ai) {
- q->ret = EAI_MEMORY;
- break;
- }
-
- if (prev)
- prev->ai_next = ai;
- else
- q->addrinfo = ai;
-
- prev = ai;
- }
-
- complete_query(asyncns, q);
- break;
- }
-
- case RESPONSE_NAMEINFO: {
- const nameinfo_response_t *ni_resp = &packet->nameinfo_response;
-
- assert(length >= sizeof(nameinfo_response_t));
- assert(q->type == REQUEST_NAMEINFO);
-
- q->ret = ni_resp->ret;
- q->_errno = ni_resp->_errno;
- q->_h_errno = ni_resp->_h_errno;
-
- if (ni_resp->hostlen)
- if (!(q->host = strndup((const char*) ni_resp + sizeof(nameinfo_response_t), ni_resp->hostlen-1)))
- q->ret = EAI_MEMORY;
-
- if (ni_resp->servlen)
- if (!(q->serv = strndup((const char*) ni_resp + sizeof(nameinfo_response_t) + ni_resp->hostlen, ni_resp->servlen-1)))
- q->ret = EAI_MEMORY;
-
- complete_query(asyncns, q);
- break;
- }
-
- case RESPONSE_RES: {
- const res_response_t *res_resp = &packet->res_response;
-
- assert(length >= sizeof(res_response_t));
- assert(q->type == REQUEST_RES_QUERY || q->type == REQUEST_RES_SEARCH);
-
- q->ret = res_resp->ret;
- q->_errno = res_resp->_errno;
- q->_h_errno = res_resp->_h_errno;
-
- if (res_resp->ret >= 0) {
- if (!(q->serv = malloc(res_resp->ret))) {
- q->ret = -1;
- q->_errno = ENOMEM;
- } else
- memcpy(q->serv, (const char *)resp + sizeof(res_response_t), res_resp->ret);
- }
-
- complete_query(asyncns, q);
- break;
- }
-
- default:
- ;
- }
-
- return 0;
-}
-
-int _g_asyncns_wait(_g_asyncns_t *asyncns, int block) {
- int handled = 0;
- assert(asyncns);
-
- for (;;) {
- packet_t buf[BUFSIZE/sizeof(packet_t) + 1];
- ssize_t l;
-
- if (asyncns->dead) {
- errno = ECHILD;
- return -1;
- }
-
- if (((l = recv(asyncns->fds[RESPONSE_RECV_FD], buf, sizeof(buf), 0)) < 0)) {
- fd_set fds;
-
- if (errno != EAGAIN)
- return -1;
-
- if (!block || handled)
- return 0;
-
- FD_ZERO(&fds);
- FD_SET(asyncns->fds[RESPONSE_RECV_FD], &fds);
-
- if (select(asyncns->fds[RESPONSE_RECV_FD]+1, &fds, NULL, NULL, NULL) < 0)
- return -1;
-
- continue;
- }
-
- if (handle_response(asyncns, buf, (size_t) l) < 0)
- return -1;
-
- handled = 1;
- }
-}
-
-static _g_asyncns_query_t *alloc_query(_g_asyncns_t *asyncns) {
- _g_asyncns_query_t *q;
- assert(asyncns);
-
- if (asyncns->n_queries >= MAX_QUERIES) {
- errno = ENOMEM;
- return NULL;
- }
-
- while (asyncns->queries[asyncns->current_index]) {
-
- asyncns->current_index++;
- asyncns->current_id++;
-
- while (asyncns->current_index >= MAX_QUERIES)
- asyncns->current_index -= MAX_QUERIES;
- }
-
- if (!(q = asyncns->queries[asyncns->current_index] = malloc(sizeof(_g_asyncns_query_t)))) {
- errno = ENOMEM;
- return NULL;
- }
-
- asyncns->n_queries++;
-
- q->asyncns = asyncns;
- q->done = 0;
- q->id = asyncns->current_id;
- q->done_next = q->done_prev = NULL;
- q->ret = 0;
- q->_errno = 0;
- q->_h_errno = 0;
- q->addrinfo = NULL;
- q->userdata = NULL;
- q->host = q->serv = NULL;
-
- return q;
-}
-
-_g_asyncns_query_t* _g_asyncns_getaddrinfo(_g_asyncns_t *asyncns, const char *node, const char *service, const struct addrinfo *hints) {
- addrinfo_request_t data[BUFSIZE/sizeof(addrinfo_request_t) + 1];
- addrinfo_request_t *req = data;
- _g_asyncns_query_t *q;
- assert(asyncns);
- assert(node || service);
-
- if (asyncns->dead) {
- errno = ECHILD;
- return NULL;
- }
-
- if (!(q = alloc_query(asyncns)))
- return NULL;
-
- memset(req, 0, sizeof(addrinfo_request_t));
-
- req->node_len = node ? strlen(node)+1 : 0;
- req->service_len = service ? strlen(service)+1 : 0;
-
- req->header.id = q->id;
- req->header.type = q->type = REQUEST_ADDRINFO;
- req->header.length = sizeof(addrinfo_request_t) + req->node_len + req->service_len;
-
- if (req->header.length > BUFSIZE) {
- errno = ENOMEM;
- goto fail;
- }
-
- if (!(req->hints_is_null = !hints)) {
- req->ai_flags = hints->ai_flags;
- req->ai_family = hints->ai_family;
- req->ai_socktype = hints->ai_socktype;
- req->ai_protocol = hints->ai_protocol;
- }
-
- if (node)
- strcpy((char*) req + sizeof(addrinfo_request_t), node);
-
- if (service)
- strcpy((char*) req + sizeof(addrinfo_request_t) + req->node_len, service);
-
- if (send(asyncns->fds[REQUEST_SEND_FD], req, req->header.length, MSG_NOSIGNAL) < 0)
- goto fail;
-
- return q;
-
-fail:
- if (q)
- _g_asyncns_cancel(asyncns, q);
-
- return NULL;
-}
-
-int _g_asyncns_getaddrinfo_done(_g_asyncns_t *asyncns, _g_asyncns_query_t* q, struct addrinfo **ret_res) {
- int ret;
- assert(asyncns);
- assert(q);
- assert(q->asyncns == asyncns);
- assert(q->type == REQUEST_ADDRINFO);
-
- if (asyncns->dead) {
- errno = ECHILD;
- return EAI_SYSTEM;
- }
-
- if (!q->done)
- return EAI_AGAIN;
-
- *ret_res = q->addrinfo;
- q->addrinfo = NULL;
-
- ret = q->ret;
-
- if (ret == EAI_SYSTEM)
- errno = q->_errno;
-
- if (ret != 0)
- h_errno = q->_h_errno;
-
- _g_asyncns_cancel(asyncns, q);
-
- return ret;
-}
-
-_g_asyncns_query_t* _g_asyncns_getnameinfo(_g_asyncns_t *asyncns, const struct sockaddr *sa, socklen_t salen, int flags, int gethost, int getserv) {
- nameinfo_request_t data[BUFSIZE/sizeof(nameinfo_request_t) + 1];
- nameinfo_request_t *req = data;
- _g_asyncns_query_t *q;
-
- assert(asyncns);
- assert(sa);
- assert(salen > 0);
-
- if (asyncns->dead) {
- errno = ECHILD;
- return NULL;
- }
-
- if (!(q = alloc_query(asyncns)))
- return NULL;
-
- memset(req, 0, sizeof(nameinfo_request_t));
-
- req->header.id = q->id;
- req->header.type = q->type = REQUEST_NAMEINFO;
- req->header.length = sizeof(nameinfo_request_t) + salen;
-
- if (req->header.length > BUFSIZE) {
- errno = ENOMEM;
- goto fail;
- }
-
- req->flags = flags;
- req->sockaddr_len = salen;
- req->gethost = gethost;
- req->getserv = getserv;
-
- memcpy((uint8_t*) req + sizeof(nameinfo_request_t), sa, salen);
-
- if (send(asyncns->fds[REQUEST_SEND_FD], req, req->header.length, MSG_NOSIGNAL) < 0)
- goto fail;
-
- return q;
-
-fail:
- if (q)
- _g_asyncns_cancel(asyncns, q);
-
- return NULL;
-}
-
-int _g_asyncns_getnameinfo_done(_g_asyncns_t *asyncns, _g_asyncns_query_t* q, char *ret_host, size_t hostlen, char *ret_serv, size_t servlen) {
- int ret;
- assert(asyncns);
- assert(q);
- assert(q->asyncns == asyncns);
- assert(q->type == REQUEST_NAMEINFO);
- assert(!ret_host || hostlen);
- assert(!ret_serv || servlen);
-
- if (asyncns->dead) {
- errno = ECHILD;
- return EAI_SYSTEM;
- }
-
- if (!q->done)
- return EAI_AGAIN;
-
- if (ret_host && q->host) {
- strncpy(ret_host, q->host, hostlen);
- ret_host[hostlen-1] = 0;
- }
-
- if (ret_serv && q->serv) {
- strncpy(ret_serv, q->serv, servlen);
- ret_serv[servlen-1] = 0;
- }
-
- ret = q->ret;
-
- if (ret == EAI_SYSTEM)
- errno = q->_errno;
-
- if (ret != 0)
- h_errno = q->_h_errno;
-
- _g_asyncns_cancel(asyncns, q);
-
- return ret;
-}
-
-static _g_asyncns_query_t * _g_asyncns_res(_g_asyncns_t *asyncns, query_type_t qtype, const char *dname, int class, int type) {
- res_request_t data[BUFSIZE/sizeof(res_request_t) + 1];
- res_request_t *req = data;
- _g_asyncns_query_t *q;
-
- assert(asyncns);
- assert(dname);
-
- if (asyncns->dead) {
- errno = ECHILD;
- return NULL;
- }
-
- if (!(q = alloc_query(asyncns)))
- return NULL;
-
- memset(req, 0, sizeof(res_request_t));
-
- req->dname_len = strlen(dname) + 1;
-
- req->header.id = q->id;
- req->header.type = q->type = qtype;
- req->header.length = sizeof(res_request_t) + req->dname_len;
-
- if (req->header.length > BUFSIZE) {
- errno = ENOMEM;
- goto fail;
- }
-
- req->class = class;
- req->type = type;
-
- strcpy((char*) req + sizeof(res_request_t), dname);
-
- if (send(asyncns->fds[REQUEST_SEND_FD], req, req->header.length, MSG_NOSIGNAL) < 0)
- goto fail;
-
- return q;
-
-fail:
- if (q)
- _g_asyncns_cancel(asyncns, q);
-
- return NULL;
-}
-
-_g_asyncns_query_t* _g_asyncns_res_query(_g_asyncns_t *asyncns, const char *dname, int class, int type) {
- return _g_asyncns_res(asyncns, REQUEST_RES_QUERY, dname, class, type);
-}
-
-_g_asyncns_query_t* _g_asyncns_res_search(_g_asyncns_t *asyncns, const char *dname, int class, int type) {
- return _g_asyncns_res(asyncns, REQUEST_RES_SEARCH, dname, class, type);
-}
-
-int _g_asyncns_res_done(_g_asyncns_t *asyncns, _g_asyncns_query_t* q, unsigned char **answer) {
- int ret;
- assert(asyncns);
- assert(q);
- assert(q->asyncns == asyncns);
- assert(q->type == REQUEST_RES_QUERY || q->type == REQUEST_RES_SEARCH);
- assert(answer);
-
- if (asyncns->dead) {
- errno = ECHILD;
- return -ECHILD;
- }
-
- if (!q->done) {
- errno = EAGAIN;
- return -EAGAIN;
- }
-
- *answer = (unsigned char *)q->serv;
- q->serv = NULL;
-
- ret = q->ret;
-
- if (ret < 0) {
- errno = q->_errno;
- h_errno = q->_h_errno;
- }
-
- _g_asyncns_cancel(asyncns, q);
-
- return ret < 0 ? -errno : ret;
-}
-
-_g_asyncns_query_t* _g_asyncns_getnext(_g_asyncns_t *asyncns) {
- assert(asyncns);
- return asyncns->done_head;
-}
-
-int _g_asyncns_getnqueries(_g_asyncns_t *asyncns) {
- assert(asyncns);
- return asyncns->n_queries;
-}
-
-void _g_asyncns_cancel(_g_asyncns_t *asyncns, _g_asyncns_query_t* q) {
- int i;
- int saved_errno = errno;
-
- assert(asyncns);
- assert(q);
- assert(q->asyncns == asyncns);
- assert(asyncns->n_queries > 0);
-
- if (q->done) {
-
- if (q->done_prev)
- q->done_prev->done_next = q->done_next;
- else
- asyncns->done_head = q->done_next;
-
- if (q->done_next)
- q->done_next->done_prev = q->done_prev;
- else
- asyncns->done_tail = q->done_prev;
- }
-
- i = q->id % MAX_QUERIES;
- assert(asyncns->queries[i] == q);
- asyncns->queries[i] = NULL;
-
- _g_asyncns_freeaddrinfo(q->addrinfo);
- free(q->host);
- free(q->serv);
-
- asyncns->n_queries--;
- free(q);
-
- errno = saved_errno;
-}
-
-void _g_asyncns_freeaddrinfo(struct addrinfo *ai) {
- int saved_errno = errno;
-
- while (ai) {
- struct addrinfo *next = ai->ai_next;
-
- free(ai->ai_addr);
- free(ai->ai_canonname);
- free(ai);
-
- ai = next;
- }
-
- errno = saved_errno;
-}
-
-void _g_asyncns_freeanswer(unsigned char *answer) {
- int saved_errno = errno;
-
- if (!answer)
- return;
-
- /* Please note that this function is new in libasyncns 0.4. In
- * older versions you were supposed to free the answer directly
- * with free(). Hence, if this function is changed to do more than
- * just a simple free() this must be considered ABI/API breakage! */
-
- free(answer);
-
- errno = saved_errno;
-}
-
-int _g_asyncns_isdone(_g_asyncns_t *asyncns, _g_asyncns_query_t*q) {
- assert(asyncns);
- assert(q);
- assert(q->asyncns == asyncns);
-
- return q->done;
-}
-
-void _g_asyncns_setuserdata(_g_asyncns_t *asyncns, _g_asyncns_query_t *q, void *userdata) {
- assert(q);
- assert(asyncns);
- assert(q->asyncns = asyncns);
-
- q->userdata = userdata;
-}
-
-void* _g_asyncns_getuserdata(_g_asyncns_t *asyncns, _g_asyncns_query_t *q) {
- assert(q);
- assert(asyncns);
- assert(q->asyncns = asyncns);
-
- return q->userdata;
-}
+++ /dev/null
-#ifndef fooasyncnshfoo
-#define fooasyncnshfoo
-
-/***
- This file is part of libasyncns.
-
- Copyright 2005-2008 Lennart Poettering
-
- libasyncns is free software; you can redistribute it and/or modify
- it under the terms of the GNU Lesser General Public License as
- published by the Free Software Foundation, either version 2.1 of the
- License, or (at your option) any later version.
-
- libasyncns is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with libasyncns. If not, see
- <http://www.gnu.org/licenses/>.
-***/
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netdb.h>
-
-/** \mainpage
- *
- * \section moo Method of operation
- *
- * To use libasyncns allocate an _g_asyncns_t object with
- * _g_asyncns_new(). This will spawn a number of worker threads (or processes, depending on what is available) which
- * are subsequently used to process the queries the controlling
- * program issues via _g_asyncns_getaddrinfo() and
- * _g_asyncns_getnameinfo(). Use _g_asyncns_free() to shut down the worker
- * threads/processes.
- *
- * Since libasyncns may fork off new processes you have to make sure that
- * your program is not irritated by spurious SIGCHLD signals.
- */
-
-/** \example asyncns-test.c
- * An example program */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** An opaque libasyncns session structure */
-typedef struct asyncns _g_asyncns_t;
-
-/** An opaque libasyncns query structure */
-typedef struct _g_asyncns_query _g_asyncns_query_t;
-
-/** Allocate a new libasyncns session with n_proc worker processes/threads */
-_g_asyncns_t* _g_asyncns_new(unsigned n_proc);
-
-/** Free a libasyncns session. This destroys all attached
- * _g_asyncns_query_t objects automatically */
-void _g_asyncns_free(_g_asyncns_t *asyncns);
-
-/** Return the UNIX file descriptor to select() for readability
- * on. Use this function to integrate libasyncns with your custom main
- * loop. */
-int _g_asyncns_fd(_g_asyncns_t *asyncns);
-
-/** Process pending responses. After this function is called you can
- * get the next completed query object(s) using _g_asyncns_getnext(). If
- * block is non-zero wait until at least one response has been
- * processed. If block is zero, process all pending responses and
- * return. */
-int _g_asyncns_wait(_g_asyncns_t *asyncns, int block);
-
-/** Issue a name to address query on the specified session. The
- * arguments are compatible with the ones of libc's
- * getaddrinfo(3). The function returns a new query object. When the
- * query is completed you may retrieve the results using
- * _g_asyncns_getaddrinfo_done().*/
-_g_asyncns_query_t* _g_asyncns_getaddrinfo(_g_asyncns_t *asyncns, const char *node, const char *service, const struct addrinfo *hints);
-
-/** Retrieve the results of a preceding _g_asyncns_getaddrinfo()
- * call. Returns a addrinfo structure and a return value compatible
- * with libc's getaddrinfo(3). The query object q is destroyed by this
- * call and may not be used any further. Make sure to free the
- * returned addrinfo structure with _g_asyncns_freeaddrinfo() and not
- * libc's freeaddrinfo(3)! If the query is not completed yet EAI_AGAIN
- * is returned.*/
-int _g_asyncns_getaddrinfo_done(_g_asyncns_t *asyncns, _g_asyncns_query_t* q, struct addrinfo **ret_res);
-
-/** Issue an address to name query on the specified session. The
- * arguments are compatible with the ones of libc's
- * getnameinfo(3). The function returns a new query object. When the
- * query is completed you may retrieve the results using
- * _g_asyncns_getnameinfo_done(). Set gethost (resp. getserv) to non-zero
- * if you want to query the hostname (resp. the service name). */
-_g_asyncns_query_t* _g_asyncns_getnameinfo(_g_asyncns_t *asyncns, const struct sockaddr *sa, socklen_t salen, int flags, int gethost, int getserv);
-
-/** Retrieve the results of a preceding _g_asyncns_getnameinfo()
- * call. Returns the hostname and the service name in ret_host and
- * ret_serv. The query object q is destroyed by this call and may not
- * be used any further. If the query is not completed yet EAI_AGAIN is
- * returned. */
-int _g_asyncns_getnameinfo_done(_g_asyncns_t *asyncns, _g_asyncns_query_t* q, char *ret_host, size_t hostlen, char *ret_serv, size_t servlen);
-
-/** Issue a resolver query on the specified session. The arguments are
- * compatible with the ones of libc's res_query(3). The function returns a new
- * query object. When the query is completed you may retrieve the results using
- * _g_asyncns_res_done(). */
-_g_asyncns_query_t* _g_asyncns_res_query(_g_asyncns_t *asyncns, const char *dname, int class, int type);
-
-/** Issue an resolver query on the specified session. The arguments are
- * compatible with the ones of libc's res_search(3). The function returns a new
- * query object. When the query is completed you may retrieve the results using
- * _g_asyncns_res_done(). */
-_g_asyncns_query_t* _g_asyncns_res_search(_g_asyncns_t *asyncns, const char *dname, int class, int type);
-
-/** Retrieve the results of a preceding _g_asyncns_res_query() or
- * _g_asyncns_res_search call. The query object q is destroyed by this
- * call and may not be used any further. Returns a pointer to the
- * answer of the res_query call. If the query is not completed yet
- * -EAGAIN is returned, on failure -errno is returned, otherwise the
- * length of answer is returned. Make sure to free the answer is a
- * call to _g_asyncns_freeanswer(). */
-int _g_asyncns_res_done(_g_asyncns_t *asyncns, _g_asyncns_query_t* q, unsigned char **answer);
-
-/** Return the next completed query object. If no query has been
- * completed yet, return NULL. Please note that you need to run
- * _g_asyncns_wait() before this function will return sensible data. */
-_g_asyncns_query_t* _g_asyncns_getnext(_g_asyncns_t *asyncns);
-
-/** Return the number of query objects (completed or not) attached to
- * this session */
-int _g_asyncns_getnqueries(_g_asyncns_t *asyncns);
-
-/** Cancel a currently running query. q is is destroyed by this call
- * and may not be used any futher. */
-void _g_asyncns_cancel(_g_asyncns_t *asyncns, _g_asyncns_query_t* q);
-
-/** Free the addrinfo structure as returned by
- * _g_asyncns_getaddrinfo_done(). Make sure to use this functions instead
- * of the libc's freeaddrinfo()! */
-void _g_asyncns_freeaddrinfo(struct addrinfo *ai);
-
-/** Free the answer data as returned by _g_asyncns_res_done().*/
-void _g_asyncns_freeanswer(unsigned char *answer);
-
-/** Returns non-zero when the query operation specified by q has been completed */
-int _g_asyncns_isdone(_g_asyncns_t *asyncns, _g_asyncns_query_t*q);
-
-/** Assign some opaque userdata with a query object */
-void _g_asyncns_setuserdata(_g_asyncns_t *asyncns, _g_asyncns_query_t *q, void *userdata);
-
-/** Return userdata assigned to a query object. Use
- * _g_asyncns_setuserdata() to set this data. If no data has been set
- * prior to this call it returns NULL. */
-void* _g_asyncns_getuserdata(_g_asyncns_t *asyncns, _g_asyncns_query_t *q);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 2008 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-#ifndef __G_ASYNCNS_H__
-
-#include "config.h"
-
-#define _GNU_SOURCE
-
-/* We want to build the fork-based version, not the threaded version. */
-#undef HAVE_PTHREAD
-
-/* asyncns.c removed this for #580301, but that appears to have been wrong */
-#if HAVE_ARPA_NAMESER_COMPAT_H
-#include <arpa/nameser_compat.h>
-#endif
-
-#include "asyncns.h"
-
-#endif
+++ /dev/null
-#!/bin/sh
-
-if test $# = 1 ; then
- ORIGINAL=$1
-else
- echo "Usage: update.sh /path/to/libasyncns" 1>&2
- exit 1
-fi
-
-if test -f $ORIGINAL/libasyncns/asyncns.c ; then : ; else
- echo "Usage: update.sh /path/to/libasyncns" 1>&2
- exit 1
-fi
-
-for i in asyncns.c asyncns.h ; do
- sed -e 's/\([^a-z]\)asyncns_/\1_g_asyncns_/g' \
- -e 's/^asyncns_/_g_asyncns_/' \
- -e 's/<config\.h>/"g-asyncns\.h"/' \
- $ORIGINAL/libasyncns/$i > $i
-done
+++ /dev/null
-#!/usr/bin/perl -w
-
-my $do_def = 0;
-
-if (($#ARGV >= 0) && ($ARGV[0] eq "-def")) {
- shift;
- $do_def = 1;
-}
-
-print <<EOF;
-/* Generated by makegioalias.pl */
-
-#ifndef DISABLE_VISIBILITY
-
-#include "glib.h"
-
-#ifdef G_HAVE_GNUC_VISIBILITY
-
-EOF
-
-if ($do_def) {
- print <<EOF
-#undef IN_FILE
-#define IN_FILE defined
-
-#undef IN_HEADER
-#define IN_HEADER(x) 1
-
-EOF
-}
-else {
- print <<EOF
-#define IN_FILE(x) 1
-#define IN_HEADER defined
-
-EOF
-}
-
-my $in_comment = 0;
-my $in_skipped_section = 0;
-
-while (<>) {
-
- # ignore empty lines
- next if /^\s*$/;
-
- # skip comments
- if ($_ =~ /^\s*\/\*/)
- {
- $in_comment = 1;
- }
-
- if ($in_comment)
- {
- if ($_ =~ /\*\/\s$/)
- {
- $in_comment = 0;
- }
-
- next;
- }
-
- # handle ifdefs
- if ($_ =~ /^\#endif/)
- {
- if (!$in_skipped_section)
- {
- print $_;
- }
-
- $in_skipped_section = 0;
-
- next;
- }
-
- if ($_ =~ /^\#ifdef\s+(INCLUDE_VARIABLES|INCLUDE_INTERNAL_SYMBOLS|ALL_FILES)/)
- {
- $in_skipped_section = 1;
- }
-
- if ($in_skipped_section)
- {
- next;
- }
-
- if ($_ =~ /^\#ifn?def\s+G/)
- {
- print $_;
-
- next;
- }
-
- if ($_ =~ /^\#if.*(IN_FILE|IN_HEADER)/)
- {
- print $_;
-
- next;
- }
-
- chop;
- my $str = $_;
- my @words;
- my $attributes = "";
-
- @words = split(/ /, $str);
- $str = shift(@words);
- chomp($str);
- my $alias = "IA__".$str;
-
- # Drop any Win32 specific .def file syntax, but keep attributes
- foreach $word (@words) {
- $attributes = "$attributes $word" unless $word eq "PRIVATE";
- }
-
- if (!$do_def) {
- print <<EOF
-extern __typeof ($str) $alias __attribute((visibility("hidden")))$attributes;
-\#define $str $alias
-
-EOF
- }
- else {
- print <<EOF
-\#undef $str
-extern __typeof ($str) $str __attribute((alias("$alias"), visibility("default")));
-
-EOF
- }
-}
-
-print <<EOF;
-
-#endif /* G_HAVE_GNUC_VISIBILITY */
-#endif /* DISABLE_VISIBILITY */
-EOF
-
-
+++ /dev/null
-#!/bin/sh
-
-LANG=C
-
-status=0
-
-if ! which readelf 2>/dev/null >/dev/null; then
- echo "'readelf' not found; skipping test"
- exit 0
-fi
-
-SKIP='\<g_access\|\<g_array_\|\<g_ascii\|\<g_list_\|\<g_assertion_message\|\<g_warn_message\|\<g_atomic\|\<g_bit_\|\<g_boxed\|\<g_build_filename\|\<g_byte_array\|\<g_checksum\|\<g_child_watch\|\<g_clear_error\|\<g_convert\|\<g_dir_\|\<g_enum_\|\<g_error_\|\<g_prefix_error\|\<g_file_error_quark\|\<g_file_get_contents\|\<g_file_set_contents\|\<g_file_test\|\<g_file_read_link\|\<g_filename_\|\<g_find_program_in_path\|\<g_flags_\|\<g_free\|\<g_get_\|\<g_getenv\|\<g_setenv\|\<g_hash_table_\|\<g_hostname_\|\<g_iconv\|\<g_idle_\|\<g_intern_static_string\|\<g_io_add_watch\|\<g_io_channel_\|\<g_io_create_watch\|\<g_key_file_\|\<g_listenv\|\<g_locale_to_utf8\|\<g_log\|\<g_main_context_\|\<g_main_current_source\|\<g_main_loop_\|\<g_malloc\|\<g_markup_\|\<g_mkdir_\|\<g_mkstemp\|\<g_module_\|\<g_object_\|\<g_once_\|\<g_param_spec_\|\<g_path_\|\<g_poll\|\<g_printerr\|\<g_propagate_error\|\<g_ptr_array_\|\<g_qsort_\|\<g_quark_\|\<g_queue_\|\<g_random_int_range\|\<g_realloc\|\<g_return_if_fail\|\<g_set_error\|\<g_shell_\|\<g_signal_\|\<g_slice_\|\<g_slist_\|\<g_snprintf\|\<g_source_\|\<g_spawn_\|\<g_static_\|\<g_str\|\<g_thread_pool_\|\<g_time_val_add\|\<g_timeout_\|\<g_type_\|\<g_unlink\|\<g_uri_\|\<g_utf8_\|\<g_value_'
-
-for so in .libs/lib*.so; do
- echo Checking $so for local PLT entries
- readelf -r $so | grep 'JU\?MP_SLOT\?' | grep '\<g_' | grep -v $SKIP && status=1
-done
-
-exit $status
+++ /dev/null
-glib_genmarshal=${pc_top_builddir}/${pcfiledir}/gobject/glib-genmarshal
-gobject_query=${pc_top_builddir}/${pcfiledir}/gobject/gobject-query
-glib_mkenums=${pc_top_builddir}/${pcfiledir}/@srcdir@/gobject/glib-mkenums
-
-Name: GLib Uninstalled
-Description: C Utility Library, Not Installed
-Version: @VERSION@
-Libs: ${pc_top_builddir}/${pcfiledir}/glib/libglib-2.0.la
-Cflags: -I${pc_top_builddir}/${pcfiledir} -I${pc_top_builddir}/${pcfiledir}/@srcdir@ -I${pc_top_builddir}/${pcfiledir}/@srcdir@/glib
+++ /dev/null
-/* Generated by makegalias.pl */
-
-#ifndef DISABLE_VISIBILITY
-
-#include "glibconfig.h"
-
-#ifdef G_HAVE_GNUC_VISIBILITY
-
-#define IN_FILE(x) 1
-#define IN_HEADER defined
-
-#if IN_HEADER(__G_ARRAY_H__)
-#if IN_FILE(__G_ARRAY_C__)
-extern __typeof (g_array_append_vals) IA__g_array_append_vals __attribute((visibility("hidden")));
-#define g_array_append_vals IA__g_array_append_vals
-
-extern __typeof (g_array_free) IA__g_array_free __attribute((visibility("hidden")));
-#define g_array_free IA__g_array_free
-
-extern __typeof (g_array_insert_vals) IA__g_array_insert_vals __attribute((visibility("hidden")));
-#define g_array_insert_vals IA__g_array_insert_vals
-
-extern __typeof (g_array_new) IA__g_array_new __attribute((visibility("hidden")));
-#define g_array_new IA__g_array_new
-
-extern __typeof (g_array_ref) IA__g_array_ref __attribute((visibility("hidden")));
-#define g_array_ref IA__g_array_ref
-
-extern __typeof (g_array_unref) IA__g_array_unref __attribute((visibility("hidden")));
-#define g_array_unref IA__g_array_unref
-
-extern __typeof (g_array_get_element_size) IA__g_array_get_element_size __attribute((visibility("hidden")));
-#define g_array_get_element_size IA__g_array_get_element_size
-
-extern __typeof (g_array_prepend_vals) IA__g_array_prepend_vals __attribute((visibility("hidden")));
-#define g_array_prepend_vals IA__g_array_prepend_vals
-
-extern __typeof (g_array_remove_index) IA__g_array_remove_index __attribute((visibility("hidden")));
-#define g_array_remove_index IA__g_array_remove_index
-
-extern __typeof (g_array_remove_index_fast) IA__g_array_remove_index_fast __attribute((visibility("hidden")));
-#define g_array_remove_index_fast IA__g_array_remove_index_fast
-
-extern __typeof (g_array_remove_range) IA__g_array_remove_range __attribute((visibility("hidden")));
-#define g_array_remove_range IA__g_array_remove_range
-
-extern __typeof (g_array_set_size) IA__g_array_set_size __attribute((visibility("hidden")));
-#define g_array_set_size IA__g_array_set_size
-
-extern __typeof (g_array_sized_new) IA__g_array_sized_new __attribute((visibility("hidden")));
-#define g_array_sized_new IA__g_array_sized_new
-
-extern __typeof (g_array_sort) IA__g_array_sort __attribute((visibility("hidden")));
-#define g_array_sort IA__g_array_sort
-
-extern __typeof (g_array_sort_with_data) IA__g_array_sort_with_data __attribute((visibility("hidden")));
-#define g_array_sort_with_data IA__g_array_sort_with_data
-
-extern __typeof (g_byte_array_append) IA__g_byte_array_append __attribute((visibility("hidden")));
-#define g_byte_array_append IA__g_byte_array_append
-
-extern __typeof (g_byte_array_free) IA__g_byte_array_free __attribute((visibility("hidden")));
-#define g_byte_array_free IA__g_byte_array_free
-
-extern __typeof (g_byte_array_unref) IA__g_byte_array_unref __attribute((visibility("hidden")));
-#define g_byte_array_unref IA__g_byte_array_unref
-
-extern __typeof (g_byte_array_ref) IA__g_byte_array_ref __attribute((visibility("hidden")));
-#define g_byte_array_ref IA__g_byte_array_ref
-
-extern __typeof (g_byte_array_new) IA__g_byte_array_new __attribute((visibility("hidden")));
-#define g_byte_array_new IA__g_byte_array_new
-
-extern __typeof (g_byte_array_prepend) IA__g_byte_array_prepend __attribute((visibility("hidden")));
-#define g_byte_array_prepend IA__g_byte_array_prepend
-
-extern __typeof (g_byte_array_remove_index) IA__g_byte_array_remove_index __attribute((visibility("hidden")));
-#define g_byte_array_remove_index IA__g_byte_array_remove_index
-
-extern __typeof (g_byte_array_remove_index_fast) IA__g_byte_array_remove_index_fast __attribute((visibility("hidden")));
-#define g_byte_array_remove_index_fast IA__g_byte_array_remove_index_fast
-
-extern __typeof (g_byte_array_remove_range) IA__g_byte_array_remove_range __attribute((visibility("hidden")));
-#define g_byte_array_remove_range IA__g_byte_array_remove_range
-
-extern __typeof (g_byte_array_set_size) IA__g_byte_array_set_size __attribute((visibility("hidden")));
-#define g_byte_array_set_size IA__g_byte_array_set_size
-
-extern __typeof (g_byte_array_sized_new) IA__g_byte_array_sized_new __attribute((visibility("hidden")));
-#define g_byte_array_sized_new IA__g_byte_array_sized_new
-
-extern __typeof (g_byte_array_sort) IA__g_byte_array_sort __attribute((visibility("hidden")));
-#define g_byte_array_sort IA__g_byte_array_sort
-
-extern __typeof (g_byte_array_sort_with_data) IA__g_byte_array_sort_with_data __attribute((visibility("hidden")));
-#define g_byte_array_sort_with_data IA__g_byte_array_sort_with_data
-
-extern __typeof (g_ptr_array_add) IA__g_ptr_array_add __attribute((visibility("hidden")));
-#define g_ptr_array_add IA__g_ptr_array_add
-
-extern __typeof (g_ptr_array_foreach) IA__g_ptr_array_foreach __attribute((visibility("hidden")));
-#define g_ptr_array_foreach IA__g_ptr_array_foreach
-
-extern __typeof (g_ptr_array_free) IA__g_ptr_array_free __attribute((visibility("hidden")));
-#define g_ptr_array_free IA__g_ptr_array_free
-
-extern __typeof (g_ptr_array_unref) IA__g_ptr_array_unref __attribute((visibility("hidden")));
-#define g_ptr_array_unref IA__g_ptr_array_unref
-
-extern __typeof (g_ptr_array_ref) IA__g_ptr_array_ref __attribute((visibility("hidden")));
-#define g_ptr_array_ref IA__g_ptr_array_ref
-
-extern __typeof (g_ptr_array_new) IA__g_ptr_array_new __attribute((visibility("hidden")));
-#define g_ptr_array_new IA__g_ptr_array_new
-
-extern __typeof (g_ptr_array_new_with_free_func) IA__g_ptr_array_new_with_free_func __attribute((visibility("hidden")));
-#define g_ptr_array_new_with_free_func IA__g_ptr_array_new_with_free_func
-
-extern __typeof (g_ptr_array_set_free_func) IA__g_ptr_array_set_free_func __attribute((visibility("hidden")));
-#define g_ptr_array_set_free_func IA__g_ptr_array_set_free_func
-
-extern __typeof (g_ptr_array_remove) IA__g_ptr_array_remove __attribute((visibility("hidden")));
-#define g_ptr_array_remove IA__g_ptr_array_remove
-
-extern __typeof (g_ptr_array_remove_fast) IA__g_ptr_array_remove_fast __attribute((visibility("hidden")));
-#define g_ptr_array_remove_fast IA__g_ptr_array_remove_fast
-
-extern __typeof (g_ptr_array_remove_index) IA__g_ptr_array_remove_index __attribute((visibility("hidden")));
-#define g_ptr_array_remove_index IA__g_ptr_array_remove_index
-
-extern __typeof (g_ptr_array_remove_index_fast) IA__g_ptr_array_remove_index_fast __attribute((visibility("hidden")));
-#define g_ptr_array_remove_index_fast IA__g_ptr_array_remove_index_fast
-
-extern __typeof (g_ptr_array_remove_range) IA__g_ptr_array_remove_range __attribute((visibility("hidden")));
-#define g_ptr_array_remove_range IA__g_ptr_array_remove_range
-
-extern __typeof (g_ptr_array_set_size) IA__g_ptr_array_set_size __attribute((visibility("hidden")));
-#define g_ptr_array_set_size IA__g_ptr_array_set_size
-
-extern __typeof (g_ptr_array_sized_new) IA__g_ptr_array_sized_new __attribute((visibility("hidden")));
-#define g_ptr_array_sized_new IA__g_ptr_array_sized_new
-
-extern __typeof (g_ptr_array_sort) IA__g_ptr_array_sort __attribute((visibility("hidden")));
-#define g_ptr_array_sort IA__g_ptr_array_sort
-
-extern __typeof (g_ptr_array_sort_with_data) IA__g_ptr_array_sort_with_data __attribute((visibility("hidden")));
-#define g_ptr_array_sort_with_data IA__g_ptr_array_sort_with_data
-
-#endif
-#endif
-#if IN_HEADER(__G_ASYNCQUEUE_H__)
-#if IN_FILE(__G_ASYNCQUEUE_C__)
-extern __typeof (g_async_queue_length) IA__g_async_queue_length __attribute((visibility("hidden")));
-#define g_async_queue_length IA__g_async_queue_length
-
-extern __typeof (g_async_queue_length_unlocked) IA__g_async_queue_length_unlocked __attribute((visibility("hidden")));
-#define g_async_queue_length_unlocked IA__g_async_queue_length_unlocked
-
-extern __typeof (g_async_queue_lock) IA__g_async_queue_lock __attribute((visibility("hidden")));
-#define g_async_queue_lock IA__g_async_queue_lock
-
-extern __typeof (g_async_queue_new) IA__g_async_queue_new __attribute((visibility("hidden")));
-#define g_async_queue_new IA__g_async_queue_new
-
-extern __typeof (g_async_queue_new_full) IA__g_async_queue_new_full __attribute((visibility("hidden")));
-#define g_async_queue_new_full IA__g_async_queue_new_full
-
-extern __typeof (g_async_queue_pop) IA__g_async_queue_pop __attribute((visibility("hidden")));
-#define g_async_queue_pop IA__g_async_queue_pop
-
-extern __typeof (g_async_queue_pop_unlocked) IA__g_async_queue_pop_unlocked __attribute((visibility("hidden")));
-#define g_async_queue_pop_unlocked IA__g_async_queue_pop_unlocked
-
-extern __typeof (g_async_queue_push) IA__g_async_queue_push __attribute((visibility("hidden")));
-#define g_async_queue_push IA__g_async_queue_push
-
-extern __typeof (g_async_queue_push_unlocked) IA__g_async_queue_push_unlocked __attribute((visibility("hidden")));
-#define g_async_queue_push_unlocked IA__g_async_queue_push_unlocked
-
-extern __typeof (g_async_queue_push_sorted) IA__g_async_queue_push_sorted __attribute((visibility("hidden")));
-#define g_async_queue_push_sorted IA__g_async_queue_push_sorted
-
-extern __typeof (g_async_queue_push_sorted_unlocked) IA__g_async_queue_push_sorted_unlocked __attribute((visibility("hidden")));
-#define g_async_queue_push_sorted_unlocked IA__g_async_queue_push_sorted_unlocked
-
-extern __typeof (g_async_queue_ref) IA__g_async_queue_ref __attribute((visibility("hidden")));
-#define g_async_queue_ref IA__g_async_queue_ref
-
-extern __typeof (g_async_queue_sort) IA__g_async_queue_sort __attribute((visibility("hidden")));
-#define g_async_queue_sort IA__g_async_queue_sort
-
-extern __typeof (g_async_queue_sort_unlocked) IA__g_async_queue_sort_unlocked __attribute((visibility("hidden")));
-#define g_async_queue_sort_unlocked IA__g_async_queue_sort_unlocked
-
-extern __typeof (g_async_queue_timed_pop) IA__g_async_queue_timed_pop __attribute((visibility("hidden")));
-#define g_async_queue_timed_pop IA__g_async_queue_timed_pop
-
-extern __typeof (g_async_queue_timed_pop_unlocked) IA__g_async_queue_timed_pop_unlocked __attribute((visibility("hidden")));
-#define g_async_queue_timed_pop_unlocked IA__g_async_queue_timed_pop_unlocked
-
-extern __typeof (g_async_queue_try_pop) IA__g_async_queue_try_pop __attribute((visibility("hidden")));
-#define g_async_queue_try_pop IA__g_async_queue_try_pop
-
-extern __typeof (g_async_queue_try_pop_unlocked) IA__g_async_queue_try_pop_unlocked __attribute((visibility("hidden")));
-#define g_async_queue_try_pop_unlocked IA__g_async_queue_try_pop_unlocked
-
-extern __typeof (g_async_queue_unlock) IA__g_async_queue_unlock __attribute((visibility("hidden")));
-#define g_async_queue_unlock IA__g_async_queue_unlock
-
-extern __typeof (g_async_queue_unref) IA__g_async_queue_unref __attribute((visibility("hidden")));
-#define g_async_queue_unref IA__g_async_queue_unref
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_async_queue_ref_unlocked) IA__g_async_queue_ref_unlocked __attribute((visibility("hidden")));
-#define g_async_queue_ref_unlocked IA__g_async_queue_ref_unlocked
-
-extern __typeof (g_async_queue_unref_and_unlock) IA__g_async_queue_unref_and_unlock __attribute((visibility("hidden")));
-#define g_async_queue_unref_and_unlock IA__g_async_queue_unref_and_unlock
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_ATOMIC_H__)
-#if IN_FILE(__G_ATOMIC_C__)
-extern __typeof (g_atomic_int_add) IA__g_atomic_int_add __attribute((visibility("hidden")));
-#define g_atomic_int_add IA__g_atomic_int_add
-
-extern __typeof (g_atomic_int_compare_and_exchange) IA__g_atomic_int_compare_and_exchange __attribute((visibility("hidden")));
-#define g_atomic_int_compare_and_exchange IA__g_atomic_int_compare_and_exchange
-
-extern __typeof (g_atomic_int_exchange_and_add) IA__g_atomic_int_exchange_and_add __attribute((visibility("hidden")));
-#define g_atomic_int_exchange_and_add IA__g_atomic_int_exchange_and_add
-
-extern __typeof (g_atomic_pointer_compare_and_exchange) IA__g_atomic_pointer_compare_and_exchange __attribute((visibility("hidden")));
-#define g_atomic_pointer_compare_and_exchange IA__g_atomic_pointer_compare_and_exchange
-
-#endif
-#endif
-#if IN_HEADER(__G_BACKTRACE_H__)
-#if IN_FILE(__G_BACKTRACE_C__)
-extern __typeof (g_on_error_query) IA__g_on_error_query __attribute((visibility("hidden")));
-#define g_on_error_query IA__g_on_error_query
-
-extern __typeof (g_on_error_stack_trace) IA__g_on_error_stack_trace __attribute((visibility("hidden")));
-#define g_on_error_stack_trace IA__g_on_error_stack_trace
-
-#endif
-#endif
-#if IN_HEADER(__G_BASE64_H__)
-#if IN_FILE(__G_BASE64_C__)
-extern __typeof (g_base64_encode_step) IA__g_base64_encode_step __attribute((visibility("hidden")));
-#define g_base64_encode_step IA__g_base64_encode_step
-
-extern __typeof (g_base64_encode_close) IA__g_base64_encode_close __attribute((visibility("hidden")));
-#define g_base64_encode_close IA__g_base64_encode_close
-
-extern __typeof (g_base64_encode) IA__g_base64_encode __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_base64_encode IA__g_base64_encode
-
-extern __typeof (g_base64_decode_step) IA__g_base64_decode_step __attribute((visibility("hidden")));
-#define g_base64_decode_step IA__g_base64_decode_step
-
-extern __typeof (g_base64_decode) IA__g_base64_decode __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_base64_decode IA__g_base64_decode
-
-extern __typeof (g_base64_decode_inplace) IA__g_base64_decode_inplace __attribute((visibility("hidden")));
-#define g_base64_decode_inplace IA__g_base64_decode_inplace
-
-#endif
-#endif
-#if IN_HEADER(__G_BOOKMARK_FILE_H__)
-#if IN_FILE(__G_BOOKMARK_FILE_C__)
-extern __typeof (g_bookmark_file_error_quark) IA__g_bookmark_file_error_quark __attribute((visibility("hidden")));
-#define g_bookmark_file_error_quark IA__g_bookmark_file_error_quark
-
-extern __typeof (g_bookmark_file_new) IA__g_bookmark_file_new __attribute((visibility("hidden")));
-#define g_bookmark_file_new IA__g_bookmark_file_new
-
-extern __typeof (g_bookmark_file_free) IA__g_bookmark_file_free __attribute((visibility("hidden")));
-#define g_bookmark_file_free IA__g_bookmark_file_free
-
-extern __typeof (g_bookmark_file_load_from_file) IA__g_bookmark_file_load_from_file __attribute((visibility("hidden")));
-#define g_bookmark_file_load_from_file IA__g_bookmark_file_load_from_file
-
-extern __typeof (g_bookmark_file_load_from_data) IA__g_bookmark_file_load_from_data __attribute((visibility("hidden")));
-#define g_bookmark_file_load_from_data IA__g_bookmark_file_load_from_data
-
-extern __typeof (g_bookmark_file_load_from_data_dirs) IA__g_bookmark_file_load_from_data_dirs __attribute((visibility("hidden")));
-#define g_bookmark_file_load_from_data_dirs IA__g_bookmark_file_load_from_data_dirs
-
-extern __typeof (g_bookmark_file_to_data) IA__g_bookmark_file_to_data __attribute((visibility("hidden")));
-#define g_bookmark_file_to_data IA__g_bookmark_file_to_data
-
-extern __typeof (g_bookmark_file_to_file) IA__g_bookmark_file_to_file __attribute((visibility("hidden")));
-#define g_bookmark_file_to_file IA__g_bookmark_file_to_file
-
-extern __typeof (g_bookmark_file_set_title) IA__g_bookmark_file_set_title __attribute((visibility("hidden")));
-#define g_bookmark_file_set_title IA__g_bookmark_file_set_title
-
-extern __typeof (g_bookmark_file_get_title) IA__g_bookmark_file_get_title __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_bookmark_file_get_title IA__g_bookmark_file_get_title
-
-extern __typeof (g_bookmark_file_set_description) IA__g_bookmark_file_set_description __attribute((visibility("hidden")));
-#define g_bookmark_file_set_description IA__g_bookmark_file_set_description
-
-extern __typeof (g_bookmark_file_get_description) IA__g_bookmark_file_get_description __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_bookmark_file_get_description IA__g_bookmark_file_get_description
-
-extern __typeof (g_bookmark_file_set_mime_type) IA__g_bookmark_file_set_mime_type __attribute((visibility("hidden")));
-#define g_bookmark_file_set_mime_type IA__g_bookmark_file_set_mime_type
-
-extern __typeof (g_bookmark_file_get_mime_type) IA__g_bookmark_file_get_mime_type __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_bookmark_file_get_mime_type IA__g_bookmark_file_get_mime_type
-
-extern __typeof (g_bookmark_file_set_groups) IA__g_bookmark_file_set_groups __attribute((visibility("hidden")));
-#define g_bookmark_file_set_groups IA__g_bookmark_file_set_groups
-
-extern __typeof (g_bookmark_file_add_group) IA__g_bookmark_file_add_group __attribute((visibility("hidden")));
-#define g_bookmark_file_add_group IA__g_bookmark_file_add_group
-
-extern __typeof (g_bookmark_file_has_group) IA__g_bookmark_file_has_group __attribute((visibility("hidden")));
-#define g_bookmark_file_has_group IA__g_bookmark_file_has_group
-
-extern __typeof (g_bookmark_file_get_groups) IA__g_bookmark_file_get_groups __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_bookmark_file_get_groups IA__g_bookmark_file_get_groups
-
-extern __typeof (g_bookmark_file_add_application) IA__g_bookmark_file_add_application __attribute((visibility("hidden")));
-#define g_bookmark_file_add_application IA__g_bookmark_file_add_application
-
-extern __typeof (g_bookmark_file_has_application) IA__g_bookmark_file_has_application __attribute((visibility("hidden")));
-#define g_bookmark_file_has_application IA__g_bookmark_file_has_application
-
-extern __typeof (g_bookmark_file_get_applications) IA__g_bookmark_file_get_applications __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_bookmark_file_get_applications IA__g_bookmark_file_get_applications
-
-extern __typeof (g_bookmark_file_set_app_info) IA__g_bookmark_file_set_app_info __attribute((visibility("hidden")));
-#define g_bookmark_file_set_app_info IA__g_bookmark_file_set_app_info
-
-extern __typeof (g_bookmark_file_get_app_info) IA__g_bookmark_file_get_app_info __attribute((visibility("hidden")));
-#define g_bookmark_file_get_app_info IA__g_bookmark_file_get_app_info
-
-extern __typeof (g_bookmark_file_set_is_private) IA__g_bookmark_file_set_is_private __attribute((visibility("hidden")));
-#define g_bookmark_file_set_is_private IA__g_bookmark_file_set_is_private
-
-extern __typeof (g_bookmark_file_get_is_private) IA__g_bookmark_file_get_is_private __attribute((visibility("hidden")));
-#define g_bookmark_file_get_is_private IA__g_bookmark_file_get_is_private
-
-extern __typeof (g_bookmark_file_set_icon) IA__g_bookmark_file_set_icon __attribute((visibility("hidden")));
-#define g_bookmark_file_set_icon IA__g_bookmark_file_set_icon
-
-extern __typeof (g_bookmark_file_get_icon) IA__g_bookmark_file_get_icon __attribute((visibility("hidden")));
-#define g_bookmark_file_get_icon IA__g_bookmark_file_get_icon
-
-extern __typeof (g_bookmark_file_set_added) IA__g_bookmark_file_set_added __attribute((visibility("hidden")));
-#define g_bookmark_file_set_added IA__g_bookmark_file_set_added
-
-extern __typeof (g_bookmark_file_get_added) IA__g_bookmark_file_get_added __attribute((visibility("hidden")));
-#define g_bookmark_file_get_added IA__g_bookmark_file_get_added
-
-extern __typeof (g_bookmark_file_set_modified) IA__g_bookmark_file_set_modified __attribute((visibility("hidden")));
-#define g_bookmark_file_set_modified IA__g_bookmark_file_set_modified
-
-extern __typeof (g_bookmark_file_get_modified) IA__g_bookmark_file_get_modified __attribute((visibility("hidden")));
-#define g_bookmark_file_get_modified IA__g_bookmark_file_get_modified
-
-extern __typeof (g_bookmark_file_set_visited) IA__g_bookmark_file_set_visited __attribute((visibility("hidden")));
-#define g_bookmark_file_set_visited IA__g_bookmark_file_set_visited
-
-extern __typeof (g_bookmark_file_get_visited) IA__g_bookmark_file_get_visited __attribute((visibility("hidden")));
-#define g_bookmark_file_get_visited IA__g_bookmark_file_get_visited
-
-extern __typeof (g_bookmark_file_has_item) IA__g_bookmark_file_has_item __attribute((visibility("hidden")));
-#define g_bookmark_file_has_item IA__g_bookmark_file_has_item
-
-extern __typeof (g_bookmark_file_get_size) IA__g_bookmark_file_get_size __attribute((visibility("hidden")));
-#define g_bookmark_file_get_size IA__g_bookmark_file_get_size
-
-extern __typeof (g_bookmark_file_get_uris) IA__g_bookmark_file_get_uris __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_bookmark_file_get_uris IA__g_bookmark_file_get_uris
-
-extern __typeof (g_bookmark_file_remove_group) IA__g_bookmark_file_remove_group __attribute((visibility("hidden")));
-#define g_bookmark_file_remove_group IA__g_bookmark_file_remove_group
-
-extern __typeof (g_bookmark_file_remove_application) IA__g_bookmark_file_remove_application __attribute((visibility("hidden")));
-#define g_bookmark_file_remove_application IA__g_bookmark_file_remove_application
-
-extern __typeof (g_bookmark_file_remove_item) IA__g_bookmark_file_remove_item __attribute((visibility("hidden")));
-#define g_bookmark_file_remove_item IA__g_bookmark_file_remove_item
-
-extern __typeof (g_bookmark_file_move_item) IA__g_bookmark_file_move_item __attribute((visibility("hidden")));
-#define g_bookmark_file_move_item IA__g_bookmark_file_move_item
-
-#endif
-#endif
-#if IN_HEADER(__G_CACHE_H__)
-#if IN_FILE(__G_CACHE_C__)
-extern __typeof (g_cache_destroy) IA__g_cache_destroy __attribute((visibility("hidden")));
-#define g_cache_destroy IA__g_cache_destroy
-
-extern __typeof (g_cache_insert) IA__g_cache_insert __attribute((visibility("hidden")));
-#define g_cache_insert IA__g_cache_insert
-
-extern __typeof (g_cache_key_foreach) IA__g_cache_key_foreach __attribute((visibility("hidden")));
-#define g_cache_key_foreach IA__g_cache_key_foreach
-
-extern __typeof (g_cache_new) IA__g_cache_new __attribute((visibility("hidden")));
-#define g_cache_new IA__g_cache_new
-
-extern __typeof (g_cache_remove) IA__g_cache_remove __attribute((visibility("hidden")));
-#define g_cache_remove IA__g_cache_remove
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_cache_value_foreach) IA__g_cache_value_foreach __attribute((visibility("hidden")));
-#define g_cache_value_foreach IA__g_cache_value_foreach
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_CHECKSUM_H__)
-#if IN_FILE(__G_CHECKSUM_C__)
-extern __typeof (g_checksum_type_get_length) IA__g_checksum_type_get_length __attribute((visibility("hidden")));
-#define g_checksum_type_get_length IA__g_checksum_type_get_length
-
-extern __typeof (g_checksum_new) IA__g_checksum_new __attribute((visibility("hidden")));
-#define g_checksum_new IA__g_checksum_new
-
-extern __typeof (g_checksum_copy) IA__g_checksum_copy __attribute((visibility("hidden")));
-#define g_checksum_copy IA__g_checksum_copy
-
-extern __typeof (g_checksum_free) IA__g_checksum_free __attribute((visibility("hidden")));
-#define g_checksum_free IA__g_checksum_free
-
-extern __typeof (g_checksum_update) IA__g_checksum_update __attribute((visibility("hidden")));
-#define g_checksum_update IA__g_checksum_update
-
-extern __typeof (g_checksum_reset) IA__g_checksum_reset __attribute((visibility("hidden")));
-#define g_checksum_reset IA__g_checksum_reset
-
-extern __typeof (g_checksum_get_string) IA__g_checksum_get_string __attribute((visibility("hidden")));
-#define g_checksum_get_string IA__g_checksum_get_string
-
-extern __typeof (g_checksum_get_digest) IA__g_checksum_get_digest __attribute((visibility("hidden")));
-#define g_checksum_get_digest IA__g_checksum_get_digest
-
-extern __typeof (g_compute_checksum_for_data) IA__g_compute_checksum_for_data __attribute((visibility("hidden")));
-#define g_compute_checksum_for_data IA__g_compute_checksum_for_data
-
-extern __typeof (g_compute_checksum_for_string) IA__g_compute_checksum_for_string __attribute((visibility("hidden")));
-#define g_compute_checksum_for_string IA__g_compute_checksum_for_string
-
-#endif
-#endif
-#if IN_HEADER(__G_COMPLETION_H__)
-#if IN_FILE(__G_COMPLETION_C__)
-extern __typeof (g_completion_add_items) IA__g_completion_add_items __attribute((visibility("hidden")));
-#define g_completion_add_items IA__g_completion_add_items
-
-extern __typeof (g_completion_clear_items) IA__g_completion_clear_items __attribute((visibility("hidden")));
-#define g_completion_clear_items IA__g_completion_clear_items
-
-extern __typeof (g_completion_complete) IA__g_completion_complete __attribute((visibility("hidden")));
-#define g_completion_complete IA__g_completion_complete
-
-extern __typeof (g_completion_complete_utf8) IA__g_completion_complete_utf8 __attribute((visibility("hidden")));
-#define g_completion_complete_utf8 IA__g_completion_complete_utf8
-
-extern __typeof (g_completion_free) IA__g_completion_free __attribute((visibility("hidden")));
-#define g_completion_free IA__g_completion_free
-
-extern __typeof (g_completion_new) IA__g_completion_new __attribute((visibility("hidden")));
-#define g_completion_new IA__g_completion_new
-
-extern __typeof (g_completion_remove_items) IA__g_completion_remove_items __attribute((visibility("hidden")));
-#define g_completion_remove_items IA__g_completion_remove_items
-
-extern __typeof (g_completion_set_compare) IA__g_completion_set_compare __attribute((visibility("hidden")));
-#define g_completion_set_compare IA__g_completion_set_compare
-
-#endif
-#endif
-#if IN_HEADER(__G_CONVERT_H__)
-#if IN_FILE(__G_CONVERT_C__)
-extern __typeof (g_get_filename_charsets) IA__g_get_filename_charsets __attribute((visibility("hidden")));
-#define g_get_filename_charsets IA__g_get_filename_charsets
-
-extern __typeof (g_convert) IA__g_convert __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_convert IA__g_convert
-
-extern __typeof (g_convert_error_quark) IA__g_convert_error_quark __attribute((visibility("hidden")));
-#define g_convert_error_quark IA__g_convert_error_quark
-
-extern __typeof (g_convert_with_fallback) IA__g_convert_with_fallback __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_convert_with_fallback IA__g_convert_with_fallback
-
-extern __typeof (g_convert_with_iconv) IA__g_convert_with_iconv __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_convert_with_iconv IA__g_convert_with_iconv
-
-extern __typeof (g_iconv) IA__g_iconv __attribute((visibility("hidden")));
-#define g_iconv IA__g_iconv
-
-extern __typeof (g_iconv_close) IA__g_iconv_close __attribute((visibility("hidden")));
-#define g_iconv_close IA__g_iconv_close
-
-extern __typeof (g_iconv_open) IA__g_iconv_open __attribute((visibility("hidden")));
-#define g_iconv_open IA__g_iconv_open
-
-extern __typeof (g_locale_from_utf8) IA__g_locale_from_utf8 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_locale_from_utf8 IA__g_locale_from_utf8
-
-extern __typeof (g_locale_to_utf8) IA__g_locale_to_utf8 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_locale_to_utf8 IA__g_locale_to_utf8
-
-extern __typeof (g_filename_display_name) IA__g_filename_display_name __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_filename_display_name IA__g_filename_display_name
-
-extern __typeof (g_filename_display_basename) IA__g_filename_display_basename __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_filename_display_basename IA__g_filename_display_basename
-
-#ifndef _WIN64
-extern __typeof (g_filename_from_uri) IA__g_filename_from_uri __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_filename_from_uri IA__g_filename_from_uri
-
-extern __typeof (g_filename_from_utf8) IA__g_filename_from_utf8 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_filename_from_utf8 IA__g_filename_from_utf8
-
-extern __typeof (g_filename_to_uri) IA__g_filename_to_uri __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_filename_to_uri IA__g_filename_to_uri
-
-extern __typeof (g_filename_to_utf8) IA__g_filename_to_utf8 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_filename_to_utf8 IA__g_filename_to_utf8
-
-#endif
-#ifdef G_OS_WIN32
-extern __typeof (g_filename_from_uri_utf8) IA__g_filename_from_uri_utf8 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_filename_from_uri_utf8 IA__g_filename_from_uri_utf8
-
-extern __typeof (g_filename_from_utf8_utf8) IA__g_filename_from_utf8_utf8 __attribute((visibility("hidden")));
-#define g_filename_from_utf8_utf8 IA__g_filename_from_utf8_utf8
-
-extern __typeof (g_filename_to_uri_utf8) IA__g_filename_to_uri_utf8 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_filename_to_uri_utf8 IA__g_filename_to_uri_utf8
-
-extern __typeof (g_filename_to_utf8_utf8) IA__g_filename_to_utf8_utf8 __attribute((visibility("hidden")));
-#define g_filename_to_utf8_utf8 IA__g_filename_to_utf8_utf8
-
-#endif
-extern __typeof (g_uri_list_extract_uris) IA__g_uri_list_extract_uris __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_uri_list_extract_uris IA__g_uri_list_extract_uris
-
-#endif
-#endif
-#if IN_HEADER(__G_DATASET_H__)
-#if IN_FILE(__G_DATASET_C__)
-extern __typeof (g_datalist_clear) IA__g_datalist_clear __attribute((visibility("hidden")));
-#define g_datalist_clear IA__g_datalist_clear
-
-extern __typeof (g_datalist_foreach) IA__g_datalist_foreach __attribute((visibility("hidden")));
-#define g_datalist_foreach IA__g_datalist_foreach
-
-extern __typeof (g_datalist_get_flags) IA__g_datalist_get_flags __attribute((visibility("hidden")));
-#define g_datalist_get_flags IA__g_datalist_get_flags
-
-extern __typeof (g_datalist_id_get_data) IA__g_datalist_id_get_data __attribute((visibility("hidden")));
-#define g_datalist_id_get_data IA__g_datalist_id_get_data
-
-extern __typeof (g_datalist_id_remove_no_notify) IA__g_datalist_id_remove_no_notify __attribute((visibility("hidden")));
-#define g_datalist_id_remove_no_notify IA__g_datalist_id_remove_no_notify
-
-extern __typeof (g_datalist_id_set_data_full) IA__g_datalist_id_set_data_full __attribute((visibility("hidden")));
-#define g_datalist_id_set_data_full IA__g_datalist_id_set_data_full
-
-extern __typeof (g_datalist_set_flags) IA__g_datalist_set_flags __attribute((visibility("hidden")));
-#define g_datalist_set_flags IA__g_datalist_set_flags
-
-extern __typeof (g_datalist_unset_flags) IA__g_datalist_unset_flags __attribute((visibility("hidden")));
-#define g_datalist_unset_flags IA__g_datalist_unset_flags
-
-extern __typeof (g_datalist_init) IA__g_datalist_init __attribute((visibility("hidden")));
-#define g_datalist_init IA__g_datalist_init
-
-extern __typeof (g_dataset_destroy) IA__g_dataset_destroy __attribute((visibility("hidden")));
-#define g_dataset_destroy IA__g_dataset_destroy
-
-extern __typeof (g_dataset_foreach) IA__g_dataset_foreach __attribute((visibility("hidden")));
-#define g_dataset_foreach IA__g_dataset_foreach
-
-extern __typeof (g_dataset_id_get_data) IA__g_dataset_id_get_data __attribute((visibility("hidden")));
-#define g_dataset_id_get_data IA__g_dataset_id_get_data
-
-extern __typeof (g_dataset_id_remove_no_notify) IA__g_dataset_id_remove_no_notify __attribute((visibility("hidden")));
-#define g_dataset_id_remove_no_notify IA__g_dataset_id_remove_no_notify
-
-extern __typeof (g_dataset_id_set_data_full) IA__g_dataset_id_set_data_full __attribute((visibility("hidden")));
-#define g_dataset_id_set_data_full IA__g_dataset_id_set_data_full
-
-#endif
-#endif
-#if IN_HEADER(__G_QUARK_H__)
-#if IN_FILE(__G_DATASET_C__)
-extern __typeof (g_quark_from_static_string) IA__g_quark_from_static_string __attribute((visibility("hidden")));
-#define g_quark_from_static_string IA__g_quark_from_static_string
-
-extern __typeof (g_quark_from_string) IA__g_quark_from_string __attribute((visibility("hidden")));
-#define g_quark_from_string IA__g_quark_from_string
-
-extern __typeof (g_quark_to_string) IA__g_quark_to_string __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_quark_to_string IA__g_quark_to_string
-
-extern __typeof (g_quark_try_string) IA__g_quark_try_string __attribute((visibility("hidden")));
-#define g_quark_try_string IA__g_quark_try_string
-
-extern __typeof (g_intern_string) IA__g_intern_string __attribute((visibility("hidden")));
-#define g_intern_string IA__g_intern_string
-
-extern __typeof (g_intern_static_string) IA__g_intern_static_string __attribute((visibility("hidden")));
-#define g_intern_static_string IA__g_intern_static_string
-
-#endif
-#endif
-#if IN_HEADER(__G_DATE_H__)
-#if IN_FILE(__G_DATE_C__)
-extern __typeof (g_date_add_days) IA__g_date_add_days __attribute((visibility("hidden")));
-#define g_date_add_days IA__g_date_add_days
-
-extern __typeof (g_date_add_months) IA__g_date_add_months __attribute((visibility("hidden")));
-#define g_date_add_months IA__g_date_add_months
-
-extern __typeof (g_date_add_years) IA__g_date_add_years __attribute((visibility("hidden")));
-#define g_date_add_years IA__g_date_add_years
-
-extern __typeof (g_date_clamp) IA__g_date_clamp __attribute((visibility("hidden")));
-#define g_date_clamp IA__g_date_clamp
-
-extern __typeof (g_date_clear) IA__g_date_clear __attribute((visibility("hidden")));
-#define g_date_clear IA__g_date_clear
-
-extern __typeof (g_date_compare) IA__g_date_compare __attribute((visibility("hidden")));
-#define g_date_compare IA__g_date_compare
-
-extern __typeof (g_date_days_between) IA__g_date_days_between __attribute((visibility("hidden")));
-#define g_date_days_between IA__g_date_days_between
-
-extern __typeof (g_date_free) IA__g_date_free __attribute((visibility("hidden")));
-#define g_date_free IA__g_date_free
-
-extern __typeof (g_date_get_day) IA__g_date_get_day __attribute((visibility("hidden")));
-#define g_date_get_day IA__g_date_get_day
-
-extern __typeof (g_date_get_day_of_year) IA__g_date_get_day_of_year __attribute((visibility("hidden")));
-#define g_date_get_day_of_year IA__g_date_get_day_of_year
-
-extern __typeof (g_date_get_days_in_month) IA__g_date_get_days_in_month __attribute((visibility("hidden")));
-#define g_date_get_days_in_month IA__g_date_get_days_in_month
-
-extern __typeof (g_date_get_iso8601_week_of_year) IA__g_date_get_iso8601_week_of_year __attribute((visibility("hidden")));
-#define g_date_get_iso8601_week_of_year IA__g_date_get_iso8601_week_of_year
-
-extern __typeof (g_date_get_julian) IA__g_date_get_julian __attribute((visibility("hidden")));
-#define g_date_get_julian IA__g_date_get_julian
-
-extern __typeof (g_date_get_monday_week_of_year) IA__g_date_get_monday_week_of_year __attribute((visibility("hidden")));
-#define g_date_get_monday_week_of_year IA__g_date_get_monday_week_of_year
-
-extern __typeof (g_date_get_monday_weeks_in_year) IA__g_date_get_monday_weeks_in_year __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_date_get_monday_weeks_in_year IA__g_date_get_monday_weeks_in_year
-
-extern __typeof (g_date_get_month) IA__g_date_get_month __attribute((visibility("hidden")));
-#define g_date_get_month IA__g_date_get_month
-
-extern __typeof (g_date_get_sunday_week_of_year) IA__g_date_get_sunday_week_of_year __attribute((visibility("hidden")));
-#define g_date_get_sunday_week_of_year IA__g_date_get_sunday_week_of_year
-
-extern __typeof (g_date_get_sunday_weeks_in_year) IA__g_date_get_sunday_weeks_in_year __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_date_get_sunday_weeks_in_year IA__g_date_get_sunday_weeks_in_year
-
-extern __typeof (g_date_get_weekday) IA__g_date_get_weekday __attribute((visibility("hidden")));
-#define g_date_get_weekday IA__g_date_get_weekday
-
-extern __typeof (g_date_get_year) IA__g_date_get_year __attribute((visibility("hidden")));
-#define g_date_get_year IA__g_date_get_year
-
-extern __typeof (g_date_is_first_of_month) IA__g_date_is_first_of_month __attribute((visibility("hidden")));
-#define g_date_is_first_of_month IA__g_date_is_first_of_month
-
-extern __typeof (g_date_is_last_of_month) IA__g_date_is_last_of_month __attribute((visibility("hidden")));
-#define g_date_is_last_of_month IA__g_date_is_last_of_month
-
-extern __typeof (g_date_is_leap_year) IA__g_date_is_leap_year __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_date_is_leap_year IA__g_date_is_leap_year
-
-extern __typeof (g_date_new) IA__g_date_new __attribute((visibility("hidden")));
-#define g_date_new IA__g_date_new
-
-extern __typeof (g_date_new_dmy) IA__g_date_new_dmy __attribute((visibility("hidden")));
-#define g_date_new_dmy IA__g_date_new_dmy
-
-extern __typeof (g_date_new_julian) IA__g_date_new_julian __attribute((visibility("hidden")));
-#define g_date_new_julian IA__g_date_new_julian
-
-extern __typeof (g_date_order) IA__g_date_order __attribute((visibility("hidden")));
-#define g_date_order IA__g_date_order
-
-extern __typeof (g_date_set_day) IA__g_date_set_day __attribute((visibility("hidden")));
-#define g_date_set_day IA__g_date_set_day
-
-extern __typeof (g_date_set_dmy) IA__g_date_set_dmy __attribute((visibility("hidden")));
-#define g_date_set_dmy IA__g_date_set_dmy
-
-extern __typeof (g_date_set_julian) IA__g_date_set_julian __attribute((visibility("hidden")));
-#define g_date_set_julian IA__g_date_set_julian
-
-extern __typeof (g_date_set_month) IA__g_date_set_month __attribute((visibility("hidden")));
-#define g_date_set_month IA__g_date_set_month
-
-extern __typeof (g_date_set_parse) IA__g_date_set_parse __attribute((visibility("hidden")));
-#define g_date_set_parse IA__g_date_set_parse
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_date_set_time) IA__g_date_set_time __attribute((visibility("hidden")));
-#define g_date_set_time IA__g_date_set_time
-
-#endif
-extern __typeof (g_date_set_time_t) IA__g_date_set_time_t __attribute((visibility("hidden")));
-#define g_date_set_time_t IA__g_date_set_time_t
-
-extern __typeof (g_date_set_time_val) IA__g_date_set_time_val __attribute((visibility("hidden")));
-#define g_date_set_time_val IA__g_date_set_time_val
-
-extern __typeof (g_date_set_year) IA__g_date_set_year __attribute((visibility("hidden")));
-#define g_date_set_year IA__g_date_set_year
-
-extern __typeof (g_date_strftime) IA__g_date_strftime __attribute((visibility("hidden")));
-#define g_date_strftime IA__g_date_strftime
-
-extern __typeof (g_date_subtract_days) IA__g_date_subtract_days __attribute((visibility("hidden")));
-#define g_date_subtract_days IA__g_date_subtract_days
-
-extern __typeof (g_date_subtract_months) IA__g_date_subtract_months __attribute((visibility("hidden")));
-#define g_date_subtract_months IA__g_date_subtract_months
-
-extern __typeof (g_date_subtract_years) IA__g_date_subtract_years __attribute((visibility("hidden")));
-#define g_date_subtract_years IA__g_date_subtract_years
-
-extern __typeof (g_date_to_struct_tm) IA__g_date_to_struct_tm __attribute((visibility("hidden")));
-#define g_date_to_struct_tm IA__g_date_to_struct_tm
-
-extern __typeof (g_date_valid) IA__g_date_valid __attribute((visibility("hidden")));
-#define g_date_valid IA__g_date_valid
-
-extern __typeof (g_date_valid_day) IA__g_date_valid_day __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_date_valid_day IA__g_date_valid_day
-
-extern __typeof (g_date_valid_dmy) IA__g_date_valid_dmy __attribute((visibility("hidden")));
-#define g_date_valid_dmy IA__g_date_valid_dmy
-
-extern __typeof (g_date_valid_julian) IA__g_date_valid_julian __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_date_valid_julian IA__g_date_valid_julian
-
-extern __typeof (g_date_valid_month) IA__g_date_valid_month __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_date_valid_month IA__g_date_valid_month
-
-extern __typeof (g_date_valid_weekday) IA__g_date_valid_weekday __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_date_valid_weekday IA__g_date_valid_weekday
-
-extern __typeof (g_date_valid_year) IA__g_date_valid_year __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_date_valid_year IA__g_date_valid_year
-
-#endif
-#endif
-#if IN_HEADER(__G_DIR_H__)
-#if IN_FILE(__G_DIR_C__)
-extern __typeof (g_dir_close) IA__g_dir_close __attribute((visibility("hidden")));
-#define g_dir_close IA__g_dir_close
-
-#ifndef _WIN64
-extern __typeof (g_dir_open) IA__g_dir_open __attribute((visibility("hidden")));
-#define g_dir_open IA__g_dir_open
-
-extern __typeof (g_dir_read_name) IA__g_dir_read_name __attribute((visibility("hidden")));
-#define g_dir_read_name IA__g_dir_read_name
-
-#endif
-#ifdef G_OS_WIN32
-extern __typeof (g_dir_open_utf8) IA__g_dir_open_utf8 __attribute((visibility("hidden")));
-#define g_dir_open_utf8 IA__g_dir_open_utf8
-
-extern __typeof (g_dir_read_name_utf8) IA__g_dir_read_name_utf8 __attribute((visibility("hidden")));
-#define g_dir_read_name_utf8 IA__g_dir_read_name_utf8
-
-#endif
-extern __typeof (g_dir_rewind) IA__g_dir_rewind __attribute((visibility("hidden")));
-#define g_dir_rewind IA__g_dir_rewind
-
-#endif
-#endif
-#if IN_HEADER(__G_ERROR_H__)
-#if IN_FILE(__G_ERROR_C__)
-extern __typeof (g_clear_error) IA__g_clear_error __attribute((visibility("hidden")));
-#define g_clear_error IA__g_clear_error
-
-extern __typeof (g_error_copy) IA__g_error_copy __attribute((visibility("hidden")));
-#define g_error_copy IA__g_error_copy
-
-extern __typeof (g_error_free) IA__g_error_free __attribute((visibility("hidden")));
-#define g_error_free IA__g_error_free
-
-extern __typeof (g_error_matches) IA__g_error_matches __attribute((visibility("hidden")));
-#define g_error_matches IA__g_error_matches
-
-extern __typeof (g_error_new) IA__g_error_new __attribute((visibility("hidden"))) G_GNUC_PRINTF(3,4);
-#define g_error_new IA__g_error_new
-
-extern __typeof (g_error_new_literal) IA__g_error_new_literal __attribute((visibility("hidden")));
-#define g_error_new_literal IA__g_error_new_literal
-
-extern __typeof (g_error_new_valist) IA__g_error_new_valist __attribute((visibility("hidden")));
-#define g_error_new_valist IA__g_error_new_valist
-
-extern __typeof (g_propagate_error) IA__g_propagate_error __attribute((visibility("hidden")));
-#define g_propagate_error IA__g_propagate_error
-
-extern __typeof (g_set_error) IA__g_set_error __attribute((visibility("hidden"))) G_GNUC_PRINTF(4,5);
-#define g_set_error IA__g_set_error
-
-extern __typeof (g_set_error_literal) IA__g_set_error_literal __attribute((visibility("hidden")));
-#define g_set_error_literal IA__g_set_error_literal
-
-extern __typeof (g_prefix_error) IA__g_prefix_error __attribute((visibility("hidden"))) G_GNUC_PRINTF(2,3);
-#define g_prefix_error IA__g_prefix_error
-
-extern __typeof (g_propagate_prefixed_error) IA__g_propagate_prefixed_error __attribute((visibility("hidden"))) G_GNUC_PRINTF(3,4);
-#define g_propagate_prefixed_error IA__g_propagate_prefixed_error
-
-#endif
-#endif
-#if IN_HEADER(__G_FILEUTILS_H__)
-#if IN_FILE(__G_FILEUTILS_C__)
-extern __typeof (g_build_filename) IA__g_build_filename __attribute((visibility("hidden"))) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED;
-#define g_build_filename IA__g_build_filename
-
-extern __typeof (g_build_filenamev) IA__g_build_filenamev __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_build_filenamev IA__g_build_filenamev
-
-extern __typeof (g_build_path) IA__g_build_path __attribute((visibility("hidden"))) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED;
-#define g_build_path IA__g_build_path
-
-extern __typeof (g_build_pathv) IA__g_build_pathv __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_build_pathv IA__g_build_pathv
-
-extern __typeof (g_file_error_from_errno) IA__g_file_error_from_errno __attribute((visibility("hidden")));
-#define g_file_error_from_errno IA__g_file_error_from_errno
-
-extern __typeof (g_file_error_quark) IA__g_file_error_quark __attribute((visibility("hidden")));
-#define g_file_error_quark IA__g_file_error_quark
-
-#ifndef _WIN64
-extern __typeof (g_file_get_contents) IA__g_file_get_contents __attribute((visibility("hidden")));
-#define g_file_get_contents IA__g_file_get_contents
-
-#endif
-extern __typeof (g_file_set_contents) IA__g_file_set_contents __attribute((visibility("hidden")));
-#define g_file_set_contents IA__g_file_set_contents
-
-#ifndef _WIN64
-extern __typeof (g_file_open_tmp) IA__g_file_open_tmp __attribute((visibility("hidden")));
-#define g_file_open_tmp IA__g_file_open_tmp
-
-extern __typeof (g_file_test) IA__g_file_test __attribute((visibility("hidden")));
-#define g_file_test IA__g_file_test
-
-#endif
-extern __typeof (g_file_read_link) IA__g_file_read_link __attribute((visibility("hidden")));
-#define g_file_read_link IA__g_file_read_link
-
-extern __typeof (g_format_size_for_display) IA__g_format_size_for_display __attribute((visibility("hidden")));
-#define g_format_size_for_display IA__g_format_size_for_display
-
-#ifndef _WIN64
-extern __typeof (g_mkstemp) IA__g_mkstemp __attribute((visibility("hidden")));
-#define g_mkstemp IA__g_mkstemp
-
-#endif
-extern __typeof (g_mkstemp_full) IA__g_mkstemp_full __attribute((visibility("hidden")));
-#define g_mkstemp_full IA__g_mkstemp_full
-
-extern __typeof (g_mkdir_with_parents) IA__g_mkdir_with_parents __attribute((visibility("hidden")));
-#define g_mkdir_with_parents IA__g_mkdir_with_parents
-
-#ifdef G_OS_WIN32
-extern __typeof (g_file_get_contents_utf8) IA__g_file_get_contents_utf8 __attribute((visibility("hidden")));
-#define g_file_get_contents_utf8 IA__g_file_get_contents_utf8
-
-extern __typeof (g_file_open_tmp_utf8) IA__g_file_open_tmp_utf8 __attribute((visibility("hidden")));
-#define g_file_open_tmp_utf8 IA__g_file_open_tmp_utf8
-
-extern __typeof (g_file_test_utf8) IA__g_file_test_utf8 __attribute((visibility("hidden")));
-#define g_file_test_utf8 IA__g_file_test_utf8
-
-extern __typeof (g_mkstemp_utf8) IA__g_mkstemp_utf8 __attribute((visibility("hidden")));
-#define g_mkstemp_utf8 IA__g_mkstemp_utf8
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_HASH_H__)
-#if IN_FILE(__G_HASH_C__)
-extern __typeof (g_hash_table_destroy) IA__g_hash_table_destroy __attribute((visibility("hidden")));
-#define g_hash_table_destroy IA__g_hash_table_destroy
-
-extern __typeof (g_hash_table_unref) IA__g_hash_table_unref __attribute((visibility("hidden")));
-#define g_hash_table_unref IA__g_hash_table_unref
-
-extern __typeof (g_hash_table_ref) IA__g_hash_table_ref __attribute((visibility("hidden")));
-#define g_hash_table_ref IA__g_hash_table_ref
-
-extern __typeof (g_hash_table_find) IA__g_hash_table_find __attribute((visibility("hidden")));
-#define g_hash_table_find IA__g_hash_table_find
-
-extern __typeof (g_hash_table_foreach) IA__g_hash_table_foreach __attribute((visibility("hidden")));
-#define g_hash_table_foreach IA__g_hash_table_foreach
-
-extern __typeof (g_hash_table_foreach_remove) IA__g_hash_table_foreach_remove __attribute((visibility("hidden")));
-#define g_hash_table_foreach_remove IA__g_hash_table_foreach_remove
-
-extern __typeof (g_hash_table_foreach_steal) IA__g_hash_table_foreach_steal __attribute((visibility("hidden")));
-#define g_hash_table_foreach_steal IA__g_hash_table_foreach_steal
-
-extern __typeof (g_hash_table_get_keys) IA__g_hash_table_get_keys __attribute((visibility("hidden")));
-#define g_hash_table_get_keys IA__g_hash_table_get_keys
-
-extern __typeof (g_hash_table_get_values) IA__g_hash_table_get_values __attribute((visibility("hidden")));
-#define g_hash_table_get_values IA__g_hash_table_get_values
-
-extern __typeof (g_hash_table_insert) IA__g_hash_table_insert __attribute((visibility("hidden")));
-#define g_hash_table_insert IA__g_hash_table_insert
-
-extern __typeof (g_hash_table_lookup) IA__g_hash_table_lookup __attribute((visibility("hidden")));
-#define g_hash_table_lookup IA__g_hash_table_lookup
-
-extern __typeof (g_hash_table_lookup_extended) IA__g_hash_table_lookup_extended __attribute((visibility("hidden")));
-#define g_hash_table_lookup_extended IA__g_hash_table_lookup_extended
-
-extern __typeof (g_hash_table_new) IA__g_hash_table_new __attribute((visibility("hidden")));
-#define g_hash_table_new IA__g_hash_table_new
-
-extern __typeof (g_hash_table_new_full) IA__g_hash_table_new_full __attribute((visibility("hidden")));
-#define g_hash_table_new_full IA__g_hash_table_new_full
-
-extern __typeof (g_hash_table_remove) IA__g_hash_table_remove __attribute((visibility("hidden")));
-#define g_hash_table_remove IA__g_hash_table_remove
-
-extern __typeof (g_hash_table_remove_all) IA__g_hash_table_remove_all __attribute((visibility("hidden")));
-#define g_hash_table_remove_all IA__g_hash_table_remove_all
-
-extern __typeof (g_hash_table_replace) IA__g_hash_table_replace __attribute((visibility("hidden")));
-#define g_hash_table_replace IA__g_hash_table_replace
-
-extern __typeof (g_hash_table_size) IA__g_hash_table_size __attribute((visibility("hidden")));
-#define g_hash_table_size IA__g_hash_table_size
-
-extern __typeof (g_hash_table_steal) IA__g_hash_table_steal __attribute((visibility("hidden")));
-#define g_hash_table_steal IA__g_hash_table_steal
-
-extern __typeof (g_hash_table_steal_all) IA__g_hash_table_steal_all __attribute((visibility("hidden")));
-#define g_hash_table_steal_all IA__g_hash_table_steal_all
-
-extern __typeof (g_hash_table_iter_init) IA__g_hash_table_iter_init __attribute((visibility("hidden")));
-#define g_hash_table_iter_init IA__g_hash_table_iter_init
-
-extern __typeof (g_hash_table_iter_next) IA__g_hash_table_iter_next __attribute((visibility("hidden")));
-#define g_hash_table_iter_next IA__g_hash_table_iter_next
-
-extern __typeof (g_hash_table_iter_get_hash_table) IA__g_hash_table_iter_get_hash_table __attribute((visibility("hidden")));
-#define g_hash_table_iter_get_hash_table IA__g_hash_table_iter_get_hash_table
-
-extern __typeof (g_hash_table_iter_remove) IA__g_hash_table_iter_remove __attribute((visibility("hidden")));
-#define g_hash_table_iter_remove IA__g_hash_table_iter_remove
-
-extern __typeof (g_hash_table_iter_steal) IA__g_hash_table_iter_steal __attribute((visibility("hidden")));
-#define g_hash_table_iter_steal IA__g_hash_table_iter_steal
-
-#endif
-#endif
-#if IN_HEADER(__G_HOOK_H__)
-#if IN_FILE(__G_HOOK_C__)
-extern __typeof (g_hook_alloc) IA__g_hook_alloc __attribute((visibility("hidden")));
-#define g_hook_alloc IA__g_hook_alloc
-
-extern __typeof (g_hook_compare_ids) IA__g_hook_compare_ids __attribute((visibility("hidden")));
-#define g_hook_compare_ids IA__g_hook_compare_ids
-
-extern __typeof (g_hook_destroy) IA__g_hook_destroy __attribute((visibility("hidden")));
-#define g_hook_destroy IA__g_hook_destroy
-
-extern __typeof (g_hook_destroy_link) IA__g_hook_destroy_link __attribute((visibility("hidden")));
-#define g_hook_destroy_link IA__g_hook_destroy_link
-
-extern __typeof (g_hook_find) IA__g_hook_find __attribute((visibility("hidden")));
-#define g_hook_find IA__g_hook_find
-
-extern __typeof (g_hook_find_data) IA__g_hook_find_data __attribute((visibility("hidden")));
-#define g_hook_find_data IA__g_hook_find_data
-
-extern __typeof (g_hook_find_func) IA__g_hook_find_func __attribute((visibility("hidden")));
-#define g_hook_find_func IA__g_hook_find_func
-
-extern __typeof (g_hook_find_func_data) IA__g_hook_find_func_data __attribute((visibility("hidden")));
-#define g_hook_find_func_data IA__g_hook_find_func_data
-
-extern __typeof (g_hook_first_valid) IA__g_hook_first_valid __attribute((visibility("hidden")));
-#define g_hook_first_valid IA__g_hook_first_valid
-
-extern __typeof (g_hook_free) IA__g_hook_free __attribute((visibility("hidden")));
-#define g_hook_free IA__g_hook_free
-
-extern __typeof (g_hook_get) IA__g_hook_get __attribute((visibility("hidden")));
-#define g_hook_get IA__g_hook_get
-
-extern __typeof (g_hook_insert_before) IA__g_hook_insert_before __attribute((visibility("hidden")));
-#define g_hook_insert_before IA__g_hook_insert_before
-
-extern __typeof (g_hook_insert_sorted) IA__g_hook_insert_sorted __attribute((visibility("hidden")));
-#define g_hook_insert_sorted IA__g_hook_insert_sorted
-
-extern __typeof (g_hook_list_clear) IA__g_hook_list_clear __attribute((visibility("hidden")));
-#define g_hook_list_clear IA__g_hook_list_clear
-
-extern __typeof (g_hook_list_init) IA__g_hook_list_init __attribute((visibility("hidden")));
-#define g_hook_list_init IA__g_hook_list_init
-
-extern __typeof (g_hook_list_invoke) IA__g_hook_list_invoke __attribute((visibility("hidden")));
-#define g_hook_list_invoke IA__g_hook_list_invoke
-
-extern __typeof (g_hook_list_invoke_check) IA__g_hook_list_invoke_check __attribute((visibility("hidden")));
-#define g_hook_list_invoke_check IA__g_hook_list_invoke_check
-
-extern __typeof (g_hook_list_marshal) IA__g_hook_list_marshal __attribute((visibility("hidden")));
-#define g_hook_list_marshal IA__g_hook_list_marshal
-
-extern __typeof (g_hook_list_marshal_check) IA__g_hook_list_marshal_check __attribute((visibility("hidden")));
-#define g_hook_list_marshal_check IA__g_hook_list_marshal_check
-
-extern __typeof (g_hook_next_valid) IA__g_hook_next_valid __attribute((visibility("hidden")));
-#define g_hook_next_valid IA__g_hook_next_valid
-
-extern __typeof (g_hook_prepend) IA__g_hook_prepend __attribute((visibility("hidden")));
-#define g_hook_prepend IA__g_hook_prepend
-
-extern __typeof (g_hook_ref) IA__g_hook_ref __attribute((visibility("hidden")));
-#define g_hook_ref IA__g_hook_ref
-
-extern __typeof (g_hook_unref) IA__g_hook_unref __attribute((visibility("hidden")));
-#define g_hook_unref IA__g_hook_unref
-
-#endif
-#endif
-#if IN_HEADER(__G_IOCHANNEL_H__)
-#if IN_FILE(__G_IOCHANNEL_C__)
-extern __typeof (g_io_add_watch) IA__g_io_add_watch __attribute((visibility("hidden")));
-#define g_io_add_watch IA__g_io_add_watch
-
-extern __typeof (g_io_add_watch_full) IA__g_io_add_watch_full __attribute((visibility("hidden")));
-#define g_io_add_watch_full IA__g_io_add_watch_full
-
-extern __typeof (g_io_create_watch) IA__g_io_create_watch __attribute((visibility("hidden")));
-#define g_io_create_watch IA__g_io_create_watch
-
-extern __typeof (g_io_channel_error_from_errno) IA__g_io_channel_error_from_errno __attribute((visibility("hidden")));
-#define g_io_channel_error_from_errno IA__g_io_channel_error_from_errno
-
-extern __typeof (g_io_channel_error_quark) IA__g_io_channel_error_quark __attribute((visibility("hidden")));
-#define g_io_channel_error_quark IA__g_io_channel_error_quark
-
-extern __typeof (g_io_channel_flush) IA__g_io_channel_flush __attribute((visibility("hidden")));
-#define g_io_channel_flush IA__g_io_channel_flush
-
-extern __typeof (g_io_channel_get_buffer_condition) IA__g_io_channel_get_buffer_condition __attribute((visibility("hidden")));
-#define g_io_channel_get_buffer_condition IA__g_io_channel_get_buffer_condition
-
-extern __typeof (g_io_channel_get_buffered) IA__g_io_channel_get_buffered __attribute((visibility("hidden")));
-#define g_io_channel_get_buffered IA__g_io_channel_get_buffered
-
-extern __typeof (g_io_channel_get_buffer_size) IA__g_io_channel_get_buffer_size __attribute((visibility("hidden")));
-#define g_io_channel_get_buffer_size IA__g_io_channel_get_buffer_size
-
-extern __typeof (g_io_channel_get_close_on_unref) IA__g_io_channel_get_close_on_unref __attribute((visibility("hidden")));
-#define g_io_channel_get_close_on_unref IA__g_io_channel_get_close_on_unref
-
-extern __typeof (g_io_channel_get_encoding) IA__g_io_channel_get_encoding __attribute((visibility("hidden")));
-#define g_io_channel_get_encoding IA__g_io_channel_get_encoding
-
-extern __typeof (g_io_channel_get_flags) IA__g_io_channel_get_flags __attribute((visibility("hidden")));
-#define g_io_channel_get_flags IA__g_io_channel_get_flags
-
-extern __typeof (g_io_channel_get_line_term) IA__g_io_channel_get_line_term __attribute((visibility("hidden")));
-#define g_io_channel_get_line_term IA__g_io_channel_get_line_term
-
-extern __typeof (g_io_channel_init) IA__g_io_channel_init __attribute((visibility("hidden")));
-#define g_io_channel_init IA__g_io_channel_init
-
-extern __typeof (g_io_channel_read_chars) IA__g_io_channel_read_chars __attribute((visibility("hidden")));
-#define g_io_channel_read_chars IA__g_io_channel_read_chars
-
-extern __typeof (g_io_channel_read_line) IA__g_io_channel_read_line __attribute((visibility("hidden")));
-#define g_io_channel_read_line IA__g_io_channel_read_line
-
-extern __typeof (g_io_channel_read_line_string) IA__g_io_channel_read_line_string __attribute((visibility("hidden")));
-#define g_io_channel_read_line_string IA__g_io_channel_read_line_string
-
-extern __typeof (g_io_channel_read_to_end) IA__g_io_channel_read_to_end __attribute((visibility("hidden")));
-#define g_io_channel_read_to_end IA__g_io_channel_read_to_end
-
-extern __typeof (g_io_channel_read_unichar) IA__g_io_channel_read_unichar __attribute((visibility("hidden")));
-#define g_io_channel_read_unichar IA__g_io_channel_read_unichar
-
-extern __typeof (g_io_channel_ref) IA__g_io_channel_ref __attribute((visibility("hidden")));
-#define g_io_channel_ref IA__g_io_channel_ref
-
-extern __typeof (g_io_channel_seek_position) IA__g_io_channel_seek_position __attribute((visibility("hidden")));
-#define g_io_channel_seek_position IA__g_io_channel_seek_position
-
-extern __typeof (g_io_channel_set_buffered) IA__g_io_channel_set_buffered __attribute((visibility("hidden")));
-#define g_io_channel_set_buffered IA__g_io_channel_set_buffered
-
-extern __typeof (g_io_channel_set_buffer_size) IA__g_io_channel_set_buffer_size __attribute((visibility("hidden")));
-#define g_io_channel_set_buffer_size IA__g_io_channel_set_buffer_size
-
-extern __typeof (g_io_channel_set_close_on_unref) IA__g_io_channel_set_close_on_unref __attribute((visibility("hidden")));
-#define g_io_channel_set_close_on_unref IA__g_io_channel_set_close_on_unref
-
-extern __typeof (g_io_channel_set_encoding) IA__g_io_channel_set_encoding __attribute((visibility("hidden")));
-#define g_io_channel_set_encoding IA__g_io_channel_set_encoding
-
-extern __typeof (g_io_channel_set_flags) IA__g_io_channel_set_flags __attribute((visibility("hidden")));
-#define g_io_channel_set_flags IA__g_io_channel_set_flags
-
-extern __typeof (g_io_channel_set_line_term) IA__g_io_channel_set_line_term __attribute((visibility("hidden")));
-#define g_io_channel_set_line_term IA__g_io_channel_set_line_term
-
-extern __typeof (g_io_channel_shutdown) IA__g_io_channel_shutdown __attribute((visibility("hidden")));
-#define g_io_channel_shutdown IA__g_io_channel_shutdown
-
-extern __typeof (g_io_channel_unref) IA__g_io_channel_unref __attribute((visibility("hidden")));
-#define g_io_channel_unref IA__g_io_channel_unref
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_io_channel_close) IA__g_io_channel_close __attribute((visibility("hidden")));
-#define g_io_channel_close IA__g_io_channel_close
-
-extern __typeof (g_io_channel_read) IA__g_io_channel_read __attribute((visibility("hidden")));
-#define g_io_channel_read IA__g_io_channel_read
-
-extern __typeof (g_io_channel_seek) IA__g_io_channel_seek __attribute((visibility("hidden")));
-#define g_io_channel_seek IA__g_io_channel_seek
-
-extern __typeof (g_io_channel_write) IA__g_io_channel_write __attribute((visibility("hidden")));
-#define g_io_channel_write IA__g_io_channel_write
-
-#endif
-extern __typeof (g_io_channel_write_chars) IA__g_io_channel_write_chars __attribute((visibility("hidden")));
-#define g_io_channel_write_chars IA__g_io_channel_write_chars
-
-extern __typeof (g_io_channel_write_unichar) IA__g_io_channel_write_unichar __attribute((visibility("hidden")));
-#define g_io_channel_write_unichar IA__g_io_channel_write_unichar
-
-#endif
-#endif
-#if IN_HEADER(__G_IOCHANNEL_H__)
-#if IN_FILE(__G_IO_UNIX_C__)
-#ifdef G_OS_UNIX
-extern __typeof (g_io_channel_unix_get_fd) IA__g_io_channel_unix_get_fd __attribute((visibility("hidden")));
-#define g_io_channel_unix_get_fd IA__g_io_channel_unix_get_fd
-
-extern __typeof (g_io_channel_unix_new) IA__g_io_channel_unix_new __attribute((visibility("hidden")));
-#define g_io_channel_unix_new IA__g_io_channel_unix_new
-
-extern __typeof (g_io_channel_new_file) IA__g_io_channel_new_file __attribute((visibility("hidden")));
-#define g_io_channel_new_file IA__g_io_channel_new_file
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_IOCHANNEL_H__)
-#if IN_FILE(__G_IO_WIN32_C__)
-#ifdef G_OS_WIN32
-extern __typeof (g_io_channel_unix_get_fd) IA__g_io_channel_unix_get_fd __attribute((visibility("hidden")));
-#define g_io_channel_unix_get_fd IA__g_io_channel_unix_get_fd
-
-extern __typeof (g_io_channel_unix_new) IA__g_io_channel_unix_new __attribute((visibility("hidden")));
-#define g_io_channel_unix_new IA__g_io_channel_unix_new
-
-#ifndef _WIN64
-extern __typeof (g_io_channel_new_file) IA__g_io_channel_new_file __attribute((visibility("hidden")));
-#define g_io_channel_new_file IA__g_io_channel_new_file
-
-#endif
-extern __typeof (g_io_channel_new_file_utf8) IA__g_io_channel_new_file_utf8 __attribute((visibility("hidden")));
-#define g_io_channel_new_file_utf8 IA__g_io_channel_new_file_utf8
-
-extern __typeof (g_io_channel_win32_get_fd) IA__g_io_channel_win32_get_fd __attribute((visibility("hidden")));
-#define g_io_channel_win32_get_fd IA__g_io_channel_win32_get_fd
-
-extern __typeof (g_io_channel_win32_make_pollfd) IA__g_io_channel_win32_make_pollfd __attribute((visibility("hidden")));
-#define g_io_channel_win32_make_pollfd IA__g_io_channel_win32_make_pollfd
-
-extern __typeof (g_io_channel_win32_new_fd) IA__g_io_channel_win32_new_fd __attribute((visibility("hidden")));
-#define g_io_channel_win32_new_fd IA__g_io_channel_win32_new_fd
-
-extern __typeof (g_io_channel_win32_new_messages) IA__g_io_channel_win32_new_messages __attribute((visibility("hidden")));
-#define g_io_channel_win32_new_messages IA__g_io_channel_win32_new_messages
-
-extern __typeof (g_io_channel_win32_new_socket) IA__g_io_channel_win32_new_socket __attribute((visibility("hidden")));
-#define g_io_channel_win32_new_socket IA__g_io_channel_win32_new_socket
-
-#ifndef _WIN64
-extern __typeof (g_io_channel_win32_new_stream_socket) IA__g_io_channel_win32_new_stream_socket __attribute((visibility("hidden")));
-#define g_io_channel_win32_new_stream_socket IA__g_io_channel_win32_new_stream_socket
-
-#endif
-extern __typeof (g_io_channel_win32_poll) IA__g_io_channel_win32_poll __attribute((visibility("hidden")));
-#define g_io_channel_win32_poll IA__g_io_channel_win32_poll
-
-extern __typeof (g_io_channel_win32_set_debug) IA__g_io_channel_win32_set_debug __attribute((visibility("hidden")));
-#define g_io_channel_win32_set_debug IA__g_io_channel_win32_set_debug
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_KEY_FILE_H__)
-#if IN_FILE(__G_KEY_FILE_C__)
-extern __typeof (g_key_file_error_quark) IA__g_key_file_error_quark __attribute((visibility("hidden")));
-#define g_key_file_error_quark IA__g_key_file_error_quark
-
-extern __typeof (g_key_file_free) IA__g_key_file_free __attribute((visibility("hidden")));
-#define g_key_file_free IA__g_key_file_free
-
-extern __typeof (g_key_file_get_boolean) IA__g_key_file_get_boolean __attribute((visibility("hidden")));
-#define g_key_file_get_boolean IA__g_key_file_get_boolean
-
-extern __typeof (g_key_file_get_boolean_list) IA__g_key_file_get_boolean_list __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_key_file_get_boolean_list IA__g_key_file_get_boolean_list
-
-extern __typeof (g_key_file_get_comment) IA__g_key_file_get_comment __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_key_file_get_comment IA__g_key_file_get_comment
-
-extern __typeof (g_key_file_get_groups) IA__g_key_file_get_groups __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_key_file_get_groups IA__g_key_file_get_groups
-
-extern __typeof (g_key_file_get_double) IA__g_key_file_get_double __attribute((visibility("hidden")));
-#define g_key_file_get_double IA__g_key_file_get_double
-
-extern __typeof (g_key_file_get_double_list) IA__g_key_file_get_double_list __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_key_file_get_double_list IA__g_key_file_get_double_list
-
-extern __typeof (g_key_file_get_integer) IA__g_key_file_get_integer __attribute((visibility("hidden")));
-#define g_key_file_get_integer IA__g_key_file_get_integer
-
-extern __typeof (g_key_file_get_integer_list) IA__g_key_file_get_integer_list __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_key_file_get_integer_list IA__g_key_file_get_integer_list
-
-extern __typeof (g_key_file_get_keys) IA__g_key_file_get_keys __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_key_file_get_keys IA__g_key_file_get_keys
-
-extern __typeof (g_key_file_get_locale_string) IA__g_key_file_get_locale_string __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_key_file_get_locale_string IA__g_key_file_get_locale_string
-
-extern __typeof (g_key_file_get_locale_string_list) IA__g_key_file_get_locale_string_list __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_key_file_get_locale_string_list IA__g_key_file_get_locale_string_list
-
-extern __typeof (g_key_file_get_start_group) IA__g_key_file_get_start_group __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_key_file_get_start_group IA__g_key_file_get_start_group
-
-extern __typeof (g_key_file_get_string) IA__g_key_file_get_string __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_key_file_get_string IA__g_key_file_get_string
-
-extern __typeof (g_key_file_get_string_list) IA__g_key_file_get_string_list __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_key_file_get_string_list IA__g_key_file_get_string_list
-
-extern __typeof (g_key_file_get_value) IA__g_key_file_get_value __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_key_file_get_value IA__g_key_file_get_value
-
-extern __typeof (g_key_file_has_group) IA__g_key_file_has_group __attribute((visibility("hidden")));
-#define g_key_file_has_group IA__g_key_file_has_group
-
-extern __typeof (g_key_file_has_key) IA__g_key_file_has_key __attribute((visibility("hidden")));
-#define g_key_file_has_key IA__g_key_file_has_key
-
-extern __typeof (g_key_file_load_from_dirs) IA__g_key_file_load_from_dirs __attribute((visibility("hidden")));
-#define g_key_file_load_from_dirs IA__g_key_file_load_from_dirs
-
-extern __typeof (g_key_file_load_from_data) IA__g_key_file_load_from_data __attribute((visibility("hidden")));
-#define g_key_file_load_from_data IA__g_key_file_load_from_data
-
-extern __typeof (g_key_file_load_from_data_dirs) IA__g_key_file_load_from_data_dirs __attribute((visibility("hidden")));
-#define g_key_file_load_from_data_dirs IA__g_key_file_load_from_data_dirs
-
-extern __typeof (g_key_file_load_from_file) IA__g_key_file_load_from_file __attribute((visibility("hidden")));
-#define g_key_file_load_from_file IA__g_key_file_load_from_file
-
-extern __typeof (g_key_file_new) IA__g_key_file_new __attribute((visibility("hidden")));
-#define g_key_file_new IA__g_key_file_new
-
-extern __typeof (g_key_file_remove_comment) IA__g_key_file_remove_comment __attribute((visibility("hidden")));
-#define g_key_file_remove_comment IA__g_key_file_remove_comment
-
-extern __typeof (g_key_file_remove_group) IA__g_key_file_remove_group __attribute((visibility("hidden")));
-#define g_key_file_remove_group IA__g_key_file_remove_group
-
-extern __typeof (g_key_file_remove_key) IA__g_key_file_remove_key __attribute((visibility("hidden")));
-#define g_key_file_remove_key IA__g_key_file_remove_key
-
-extern __typeof (g_key_file_set_boolean) IA__g_key_file_set_boolean __attribute((visibility("hidden")));
-#define g_key_file_set_boolean IA__g_key_file_set_boolean
-
-extern __typeof (g_key_file_set_boolean_list) IA__g_key_file_set_boolean_list __attribute((visibility("hidden")));
-#define g_key_file_set_boolean_list IA__g_key_file_set_boolean_list
-
-extern __typeof (g_key_file_set_comment) IA__g_key_file_set_comment __attribute((visibility("hidden")));
-#define g_key_file_set_comment IA__g_key_file_set_comment
-
-extern __typeof (g_key_file_set_double) IA__g_key_file_set_double __attribute((visibility("hidden")));
-#define g_key_file_set_double IA__g_key_file_set_double
-
-extern __typeof (g_key_file_set_double_list) IA__g_key_file_set_double_list __attribute((visibility("hidden")));
-#define g_key_file_set_double_list IA__g_key_file_set_double_list
-
-extern __typeof (g_key_file_set_integer) IA__g_key_file_set_integer __attribute((visibility("hidden")));
-#define g_key_file_set_integer IA__g_key_file_set_integer
-
-extern __typeof (g_key_file_set_integer_list) IA__g_key_file_set_integer_list __attribute((visibility("hidden")));
-#define g_key_file_set_integer_list IA__g_key_file_set_integer_list
-
-extern __typeof (g_key_file_set_list_separator) IA__g_key_file_set_list_separator __attribute((visibility("hidden")));
-#define g_key_file_set_list_separator IA__g_key_file_set_list_separator
-
-extern __typeof (g_key_file_set_locale_string) IA__g_key_file_set_locale_string __attribute((visibility("hidden")));
-#define g_key_file_set_locale_string IA__g_key_file_set_locale_string
-
-extern __typeof (g_key_file_set_locale_string_list) IA__g_key_file_set_locale_string_list __attribute((visibility("hidden")));
-#define g_key_file_set_locale_string_list IA__g_key_file_set_locale_string_list
-
-extern __typeof (g_key_file_set_string) IA__g_key_file_set_string __attribute((visibility("hidden")));
-#define g_key_file_set_string IA__g_key_file_set_string
-
-extern __typeof (g_key_file_set_string_list) IA__g_key_file_set_string_list __attribute((visibility("hidden")));
-#define g_key_file_set_string_list IA__g_key_file_set_string_list
-
-extern __typeof (g_key_file_set_value) IA__g_key_file_set_value __attribute((visibility("hidden")));
-#define g_key_file_set_value IA__g_key_file_set_value
-
-extern __typeof (g_key_file_to_data) IA__g_key_file_to_data __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_key_file_to_data IA__g_key_file_to_data
-
-#endif
-#endif
-#if IN_HEADER(__G_LIST_H__)
-#if IN_FILE(__G_LIST_C__)
-extern __typeof (g_list_alloc) IA__g_list_alloc __attribute((visibility("hidden")));
-#define g_list_alloc IA__g_list_alloc
-
-extern __typeof (g_list_append) IA__g_list_append __attribute((visibility("hidden")));
-#define g_list_append IA__g_list_append
-
-extern __typeof (g_list_concat) IA__g_list_concat __attribute((visibility("hidden")));
-#define g_list_concat IA__g_list_concat
-
-extern __typeof (g_list_copy) IA__g_list_copy __attribute((visibility("hidden")));
-#define g_list_copy IA__g_list_copy
-
-extern __typeof (g_list_delete_link) IA__g_list_delete_link __attribute((visibility("hidden")));
-#define g_list_delete_link IA__g_list_delete_link
-
-extern __typeof (g_list_find) IA__g_list_find __attribute((visibility("hidden")));
-#define g_list_find IA__g_list_find
-
-extern __typeof (g_list_find_custom) IA__g_list_find_custom __attribute((visibility("hidden")));
-#define g_list_find_custom IA__g_list_find_custom
-
-extern __typeof (g_list_first) IA__g_list_first __attribute((visibility("hidden")));
-#define g_list_first IA__g_list_first
-
-extern __typeof (g_list_foreach) IA__g_list_foreach __attribute((visibility("hidden")));
-#define g_list_foreach IA__g_list_foreach
-
-extern __typeof (g_list_free) IA__g_list_free __attribute((visibility("hidden")));
-#define g_list_free IA__g_list_free
-
-extern __typeof (g_list_free_1) IA__g_list_free_1 __attribute((visibility("hidden")));
-#define g_list_free_1 IA__g_list_free_1
-
-extern __typeof (g_list_index) IA__g_list_index __attribute((visibility("hidden")));
-#define g_list_index IA__g_list_index
-
-extern __typeof (g_list_insert) IA__g_list_insert __attribute((visibility("hidden")));
-#define g_list_insert IA__g_list_insert
-
-extern __typeof (g_list_insert_before) IA__g_list_insert_before __attribute((visibility("hidden")));
-#define g_list_insert_before IA__g_list_insert_before
-
-extern __typeof (g_list_insert_sorted) IA__g_list_insert_sorted __attribute((visibility("hidden")));
-#define g_list_insert_sorted IA__g_list_insert_sorted
-
-extern __typeof (g_list_insert_sorted_with_data) IA__g_list_insert_sorted_with_data __attribute((visibility("hidden")));
-#define g_list_insert_sorted_with_data IA__g_list_insert_sorted_with_data
-
-extern __typeof (g_list_last) IA__g_list_last __attribute((visibility("hidden")));
-#define g_list_last IA__g_list_last
-
-extern __typeof (g_list_length) IA__g_list_length __attribute((visibility("hidden")));
-#define g_list_length IA__g_list_length
-
-extern __typeof (g_list_nth) IA__g_list_nth __attribute((visibility("hidden")));
-#define g_list_nth IA__g_list_nth
-
-extern __typeof (g_list_nth_data) IA__g_list_nth_data __attribute((visibility("hidden")));
-#define g_list_nth_data IA__g_list_nth_data
-
-extern __typeof (g_list_nth_prev) IA__g_list_nth_prev __attribute((visibility("hidden")));
-#define g_list_nth_prev IA__g_list_nth_prev
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_list_pop_allocator) IA__g_list_pop_allocator __attribute((visibility("hidden")));
-#define g_list_pop_allocator IA__g_list_pop_allocator
-
-#endif
-extern __typeof (g_list_position) IA__g_list_position __attribute((visibility("hidden")));
-#define g_list_position IA__g_list_position
-
-extern __typeof (g_list_prepend) IA__g_list_prepend __attribute((visibility("hidden")));
-#define g_list_prepend IA__g_list_prepend
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_list_push_allocator) IA__g_list_push_allocator __attribute((visibility("hidden")));
-#define g_list_push_allocator IA__g_list_push_allocator
-
-#endif
-extern __typeof (g_list_remove) IA__g_list_remove __attribute((visibility("hidden")));
-#define g_list_remove IA__g_list_remove
-
-extern __typeof (g_list_remove_all) IA__g_list_remove_all __attribute((visibility("hidden")));
-#define g_list_remove_all IA__g_list_remove_all
-
-extern __typeof (g_list_remove_link) IA__g_list_remove_link __attribute((visibility("hidden")));
-#define g_list_remove_link IA__g_list_remove_link
-
-extern __typeof (g_list_reverse) IA__g_list_reverse __attribute((visibility("hidden")));
-#define g_list_reverse IA__g_list_reverse
-
-extern __typeof (g_list_sort) IA__g_list_sort __attribute((visibility("hidden")));
-#define g_list_sort IA__g_list_sort
-
-extern __typeof (g_list_sort_with_data) IA__g_list_sort_with_data __attribute((visibility("hidden")));
-#define g_list_sort_with_data IA__g_list_sort_with_data
-
-#endif
-#endif
-#if IN_HEADER(__G_MAIN_H__)
-#if IN_FILE(__G_MAIN_C__)
-extern __typeof (g_child_watch_add) IA__g_child_watch_add __attribute((visibility("hidden")));
-#define g_child_watch_add IA__g_child_watch_add
-
-extern __typeof (g_child_watch_add_full) IA__g_child_watch_add_full __attribute((visibility("hidden")));
-#define g_child_watch_add_full IA__g_child_watch_add_full
-
-extern __typeof (g_child_watch_source_new) IA__g_child_watch_source_new __attribute((visibility("hidden")));
-#define g_child_watch_source_new IA__g_child_watch_source_new
-
-extern __typeof (g_get_current_time) IA__g_get_current_time __attribute((visibility("hidden")));
-#define g_get_current_time IA__g_get_current_time
-
-extern __typeof (g_main_context_acquire) IA__g_main_context_acquire __attribute((visibility("hidden")));
-#define g_main_context_acquire IA__g_main_context_acquire
-
-extern __typeof (g_main_context_add_poll) IA__g_main_context_add_poll __attribute((visibility("hidden")));
-#define g_main_context_add_poll IA__g_main_context_add_poll
-
-extern __typeof (g_main_context_check) IA__g_main_context_check __attribute((visibility("hidden")));
-#define g_main_context_check IA__g_main_context_check
-
-extern __typeof (g_main_context_default) IA__g_main_context_default __attribute((visibility("hidden")));
-#define g_main_context_default IA__g_main_context_default
-
-extern __typeof (g_main_context_dispatch) IA__g_main_context_dispatch __attribute((visibility("hidden")));
-#define g_main_context_dispatch IA__g_main_context_dispatch
-
-extern __typeof (g_main_context_find_source_by_funcs_user_data) IA__g_main_context_find_source_by_funcs_user_data __attribute((visibility("hidden")));
-#define g_main_context_find_source_by_funcs_user_data IA__g_main_context_find_source_by_funcs_user_data
-
-extern __typeof (g_main_context_find_source_by_id) IA__g_main_context_find_source_by_id __attribute((visibility("hidden")));
-#define g_main_context_find_source_by_id IA__g_main_context_find_source_by_id
-
-extern __typeof (g_main_context_find_source_by_user_data) IA__g_main_context_find_source_by_user_data __attribute((visibility("hidden")));
-#define g_main_context_find_source_by_user_data IA__g_main_context_find_source_by_user_data
-
-extern __typeof (g_main_context_get_poll_func) IA__g_main_context_get_poll_func __attribute((visibility("hidden")));
-#define g_main_context_get_poll_func IA__g_main_context_get_poll_func
-
-extern __typeof (g_main_context_get_thread_default) IA__g_main_context_get_thread_default __attribute((visibility("hidden")));
-#define g_main_context_get_thread_default IA__g_main_context_get_thread_default
-
-extern __typeof (g_main_context_is_owner) IA__g_main_context_is_owner __attribute((visibility("hidden")));
-#define g_main_context_is_owner IA__g_main_context_is_owner
-
-extern __typeof (g_main_context_iteration) IA__g_main_context_iteration __attribute((visibility("hidden")));
-#define g_main_context_iteration IA__g_main_context_iteration
-
-extern __typeof (g_main_context_new) IA__g_main_context_new __attribute((visibility("hidden")));
-#define g_main_context_new IA__g_main_context_new
-
-extern __typeof (g_main_context_pending) IA__g_main_context_pending __attribute((visibility("hidden")));
-#define g_main_context_pending IA__g_main_context_pending
-
-extern __typeof (g_main_context_pop_thread_default) IA__g_main_context_pop_thread_default __attribute((visibility("hidden")));
-#define g_main_context_pop_thread_default IA__g_main_context_pop_thread_default
-
-extern __typeof (g_main_context_prepare) IA__g_main_context_prepare __attribute((visibility("hidden")));
-#define g_main_context_prepare IA__g_main_context_prepare
-
-extern __typeof (g_main_context_push_thread_default) IA__g_main_context_push_thread_default __attribute((visibility("hidden")));
-#define g_main_context_push_thread_default IA__g_main_context_push_thread_default
-
-extern __typeof (g_main_context_query) IA__g_main_context_query __attribute((visibility("hidden")));
-#define g_main_context_query IA__g_main_context_query
-
-extern __typeof (g_main_context_ref) IA__g_main_context_ref __attribute((visibility("hidden")));
-#define g_main_context_ref IA__g_main_context_ref
-
-extern __typeof (g_main_context_release) IA__g_main_context_release __attribute((visibility("hidden")));
-#define g_main_context_release IA__g_main_context_release
-
-extern __typeof (g_main_context_remove_poll) IA__g_main_context_remove_poll __attribute((visibility("hidden")));
-#define g_main_context_remove_poll IA__g_main_context_remove_poll
-
-extern __typeof (g_main_context_set_poll_func) IA__g_main_context_set_poll_func __attribute((visibility("hidden")));
-#define g_main_context_set_poll_func IA__g_main_context_set_poll_func
-
-extern __typeof (g_main_context_unref) IA__g_main_context_unref __attribute((visibility("hidden")));
-#define g_main_context_unref IA__g_main_context_unref
-
-extern __typeof (g_main_context_wait) IA__g_main_context_wait __attribute((visibility("hidden")));
-#define g_main_context_wait IA__g_main_context_wait
-
-extern __typeof (g_main_context_wakeup) IA__g_main_context_wakeup __attribute((visibility("hidden")));
-#define g_main_context_wakeup IA__g_main_context_wakeup
-
-extern __typeof (g_main_depth) IA__g_main_depth __attribute((visibility("hidden")));
-#define g_main_depth IA__g_main_depth
-
-extern __typeof (g_main_current_source) IA__g_main_current_source __attribute((visibility("hidden")));
-#define g_main_current_source IA__g_main_current_source
-
-extern __typeof (g_main_loop_get_context) IA__g_main_loop_get_context __attribute((visibility("hidden")));
-#define g_main_loop_get_context IA__g_main_loop_get_context
-
-extern __typeof (g_main_loop_is_running) IA__g_main_loop_is_running __attribute((visibility("hidden")));
-#define g_main_loop_is_running IA__g_main_loop_is_running
-
-extern __typeof (g_main_loop_new) IA__g_main_loop_new __attribute((visibility("hidden")));
-#define g_main_loop_new IA__g_main_loop_new
-
-extern __typeof (g_main_loop_quit) IA__g_main_loop_quit __attribute((visibility("hidden")));
-#define g_main_loop_quit IA__g_main_loop_quit
-
-extern __typeof (g_main_loop_ref) IA__g_main_loop_ref __attribute((visibility("hidden")));
-#define g_main_loop_ref IA__g_main_loop_ref
-
-extern __typeof (g_main_loop_run) IA__g_main_loop_run __attribute((visibility("hidden")));
-#define g_main_loop_run IA__g_main_loop_run
-
-extern __typeof (g_main_loop_unref) IA__g_main_loop_unref __attribute((visibility("hidden")));
-#define g_main_loop_unref IA__g_main_loop_unref
-
-extern __typeof (g_source_add_poll) IA__g_source_add_poll __attribute((visibility("hidden")));
-#define g_source_add_poll IA__g_source_add_poll
-
-extern __typeof (g_source_attach) IA__g_source_attach __attribute((visibility("hidden")));
-#define g_source_attach IA__g_source_attach
-
-extern __typeof (g_source_destroy) IA__g_source_destroy __attribute((visibility("hidden")));
-#define g_source_destroy IA__g_source_destroy
-
-extern __typeof (g_source_get_can_recurse) IA__g_source_get_can_recurse __attribute((visibility("hidden")));
-#define g_source_get_can_recurse IA__g_source_get_can_recurse
-
-extern __typeof (g_source_get_context) IA__g_source_get_context __attribute((visibility("hidden")));
-#define g_source_get_context IA__g_source_get_context
-
-extern __typeof (g_source_get_current_time) IA__g_source_get_current_time __attribute((visibility("hidden")));
-#define g_source_get_current_time IA__g_source_get_current_time
-
-extern __typeof (g_source_get_id) IA__g_source_get_id __attribute((visibility("hidden")));
-#define g_source_get_id IA__g_source_get_id
-
-extern __typeof (g_source_get_priority) IA__g_source_get_priority __attribute((visibility("hidden")));
-#define g_source_get_priority IA__g_source_get_priority
-
-extern __typeof (g_source_new) IA__g_source_new __attribute((visibility("hidden")));
-#define g_source_new IA__g_source_new
-
-extern __typeof (g_source_ref) IA__g_source_ref __attribute((visibility("hidden")));
-#define g_source_ref IA__g_source_ref
-
-extern __typeof (g_source_remove) IA__g_source_remove __attribute((visibility("hidden")));
-#define g_source_remove IA__g_source_remove
-
-extern __typeof (g_source_remove_by_funcs_user_data) IA__g_source_remove_by_funcs_user_data __attribute((visibility("hidden")));
-#define g_source_remove_by_funcs_user_data IA__g_source_remove_by_funcs_user_data
-
-extern __typeof (g_source_remove_by_user_data) IA__g_source_remove_by_user_data __attribute((visibility("hidden")));
-#define g_source_remove_by_user_data IA__g_source_remove_by_user_data
-
-extern __typeof (g_source_remove_poll) IA__g_source_remove_poll __attribute((visibility("hidden")));
-#define g_source_remove_poll IA__g_source_remove_poll
-
-extern __typeof (g_source_set_callback) IA__g_source_set_callback __attribute((visibility("hidden")));
-#define g_source_set_callback IA__g_source_set_callback
-
-extern __typeof (g_source_set_callback_indirect) IA__g_source_set_callback_indirect __attribute((visibility("hidden")));
-#define g_source_set_callback_indirect IA__g_source_set_callback_indirect
-
-extern __typeof (g_source_set_can_recurse) IA__g_source_set_can_recurse __attribute((visibility("hidden")));
-#define g_source_set_can_recurse IA__g_source_set_can_recurse
-
-extern __typeof (g_source_set_funcs) IA__g_source_set_funcs __attribute((visibility("hidden")));
-#define g_source_set_funcs IA__g_source_set_funcs
-
-extern __typeof (g_source_is_destroyed) IA__g_source_is_destroyed __attribute((visibility("hidden")));
-#define g_source_is_destroyed IA__g_source_is_destroyed
-
-extern __typeof (g_source_set_priority) IA__g_source_set_priority __attribute((visibility("hidden")));
-#define g_source_set_priority IA__g_source_set_priority
-
-extern __typeof (g_source_unref) IA__g_source_unref __attribute((visibility("hidden")));
-#define g_source_unref IA__g_source_unref
-
-extern __typeof (g_idle_add) IA__g_idle_add __attribute((visibility("hidden")));
-#define g_idle_add IA__g_idle_add
-
-extern __typeof (g_idle_add_full) IA__g_idle_add_full __attribute((visibility("hidden")));
-#define g_idle_add_full IA__g_idle_add_full
-
-extern __typeof (g_idle_remove_by_data) IA__g_idle_remove_by_data __attribute((visibility("hidden")));
-#define g_idle_remove_by_data IA__g_idle_remove_by_data
-
-extern __typeof (g_idle_source_new) IA__g_idle_source_new __attribute((visibility("hidden")));
-#define g_idle_source_new IA__g_idle_source_new
-
-extern __typeof (g_timeout_add) IA__g_timeout_add __attribute((visibility("hidden")));
-#define g_timeout_add IA__g_timeout_add
-
-extern __typeof (g_timeout_add_seconds) IA__g_timeout_add_seconds __attribute((visibility("hidden")));
-#define g_timeout_add_seconds IA__g_timeout_add_seconds
-
-extern __typeof (g_timeout_add_full) IA__g_timeout_add_full __attribute((visibility("hidden")));
-#define g_timeout_add_full IA__g_timeout_add_full
-
-extern __typeof (g_timeout_add_seconds_full) IA__g_timeout_add_seconds_full __attribute((visibility("hidden")));
-#define g_timeout_add_seconds_full IA__g_timeout_add_seconds_full
-
-extern __typeof (g_timeout_source_new) IA__g_timeout_source_new __attribute((visibility("hidden")));
-#define g_timeout_source_new IA__g_timeout_source_new
-
-extern __typeof (g_timeout_source_new_seconds) IA__g_timeout_source_new_seconds __attribute((visibility("hidden")));
-#define g_timeout_source_new_seconds IA__g_timeout_source_new_seconds
-
-#endif
-#endif
-#if IN_HEADER(__G_MAPPED_FILE_H__)
-#if IN_FILE(__G_MAPPED_FILE_C__)
-extern __typeof (g_mapped_file_new) IA__g_mapped_file_new __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_mapped_file_new IA__g_mapped_file_new
-
-extern __typeof (g_mapped_file_get_length) IA__g_mapped_file_get_length __attribute((visibility("hidden")));
-#define g_mapped_file_get_length IA__g_mapped_file_get_length
-
-extern __typeof (g_mapped_file_get_contents) IA__g_mapped_file_get_contents __attribute((visibility("hidden")));
-#define g_mapped_file_get_contents IA__g_mapped_file_get_contents
-
-extern __typeof (g_mapped_file_ref) IA__g_mapped_file_ref __attribute((visibility("hidden")));
-#define g_mapped_file_ref IA__g_mapped_file_ref
-
-extern __typeof (g_mapped_file_unref) IA__g_mapped_file_unref __attribute((visibility("hidden")));
-#define g_mapped_file_unref IA__g_mapped_file_unref
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_mapped_file_free) IA__g_mapped_file_free __attribute((visibility("hidden")));
-#define g_mapped_file_free IA__g_mapped_file_free
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_MARKUP_H__)
-#if IN_FILE(__G_MARKUP_C__)
-extern __typeof (g_markup_error_quark) IA__g_markup_error_quark __attribute((visibility("hidden")));
-#define g_markup_error_quark IA__g_markup_error_quark
-
-extern __typeof (g_markup_escape_text) IA__g_markup_escape_text __attribute((visibility("hidden")));
-#define g_markup_escape_text IA__g_markup_escape_text
-
-extern __typeof (g_markup_parse_context_end_parse) IA__g_markup_parse_context_end_parse __attribute((visibility("hidden")));
-#define g_markup_parse_context_end_parse IA__g_markup_parse_context_end_parse
-
-extern __typeof (g_markup_parse_context_free) IA__g_markup_parse_context_free __attribute((visibility("hidden")));
-#define g_markup_parse_context_free IA__g_markup_parse_context_free
-
-extern __typeof (g_markup_parse_context_get_element) IA__g_markup_parse_context_get_element __attribute((visibility("hidden")));
-#define g_markup_parse_context_get_element IA__g_markup_parse_context_get_element
-
-extern __typeof (g_markup_parse_context_get_element_stack) IA__g_markup_parse_context_get_element_stack __attribute((visibility("hidden")));
-#define g_markup_parse_context_get_element_stack IA__g_markup_parse_context_get_element_stack
-
-extern __typeof (g_markup_parse_context_get_position) IA__g_markup_parse_context_get_position __attribute((visibility("hidden")));
-#define g_markup_parse_context_get_position IA__g_markup_parse_context_get_position
-
-extern __typeof (g_markup_parse_context_get_user_data) IA__g_markup_parse_context_get_user_data __attribute((visibility("hidden")));
-#define g_markup_parse_context_get_user_data IA__g_markup_parse_context_get_user_data
-
-extern __typeof (g_markup_parse_context_new) IA__g_markup_parse_context_new __attribute((visibility("hidden")));
-#define g_markup_parse_context_new IA__g_markup_parse_context_new
-
-extern __typeof (g_markup_parse_context_parse) IA__g_markup_parse_context_parse __attribute((visibility("hidden")));
-#define g_markup_parse_context_parse IA__g_markup_parse_context_parse
-
-extern __typeof (g_markup_parse_context_push) IA__g_markup_parse_context_push __attribute((visibility("hidden")));
-#define g_markup_parse_context_push IA__g_markup_parse_context_push
-
-extern __typeof (g_markup_parse_context_pop) IA__g_markup_parse_context_pop __attribute((visibility("hidden")));
-#define g_markup_parse_context_pop IA__g_markup_parse_context_pop
-
-extern __typeof (g_markup_printf_escaped) IA__g_markup_printf_escaped __attribute((visibility("hidden"))) G_GNUC_PRINTF(1,2);
-#define g_markup_printf_escaped IA__g_markup_printf_escaped
-
-extern __typeof (g_markup_vprintf_escaped) IA__g_markup_vprintf_escaped __attribute((visibility("hidden")));
-#define g_markup_vprintf_escaped IA__g_markup_vprintf_escaped
-
-extern __typeof (g_markup_collect_attributes) IA__g_markup_collect_attributes __attribute((visibility("hidden")));
-#define g_markup_collect_attributes IA__g_markup_collect_attributes
-
-#endif
-#endif
-#if IN_HEADER(__G_MEM_H__)
-#if IN_FILE(__G_MEM_C__)
-extern __typeof (g_free) IA__g_free __attribute((visibility("hidden")));
-#define g_free IA__g_free
-
-extern __typeof (g_malloc) IA__g_malloc __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_malloc IA__g_malloc
-
-extern __typeof (g_malloc0) IA__g_malloc0 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_malloc0 IA__g_malloc0
-
-extern __typeof (g_malloc_n) IA__g_malloc_n __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_malloc_n IA__g_malloc_n
-
-extern __typeof (g_malloc0_n) IA__g_malloc0_n __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_malloc0_n IA__g_malloc0_n
-
-extern __typeof (g_mem_is_system_malloc) IA__g_mem_is_system_malloc __attribute((visibility("hidden")));
-#define g_mem_is_system_malloc IA__g_mem_is_system_malloc
-
-extern __typeof (g_mem_profile) IA__g_mem_profile __attribute((visibility("hidden")));
-#define g_mem_profile IA__g_mem_profile
-
-extern __typeof (g_mem_set_vtable) IA__g_mem_set_vtable __attribute((visibility("hidden")));
-#define g_mem_set_vtable IA__g_mem_set_vtable
-
-extern __typeof (g_realloc) IA__g_realloc __attribute((visibility("hidden")));
-#define g_realloc IA__g_realloc
-
-extern __typeof (g_realloc_n) IA__g_realloc_n __attribute((visibility("hidden")));
-#define g_realloc_n IA__g_realloc_n
-
-extern __typeof (g_try_malloc) IA__g_try_malloc __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_try_malloc IA__g_try_malloc
-
-extern __typeof (g_try_malloc0) IA__g_try_malloc0 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_try_malloc0 IA__g_try_malloc0
-
-extern __typeof (g_try_malloc_n) IA__g_try_malloc_n __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_try_malloc_n IA__g_try_malloc_n
-
-extern __typeof (g_try_malloc0_n) IA__g_try_malloc0_n __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_try_malloc0_n IA__g_try_malloc0_n
-
-extern __typeof (g_try_realloc) IA__g_try_realloc __attribute((visibility("hidden")));
-#define g_try_realloc IA__g_try_realloc
-
-extern __typeof (g_try_realloc_n) IA__g_try_realloc_n __attribute((visibility("hidden")));
-#define g_try_realloc_n IA__g_try_realloc_n
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_allocator_free) IA__g_allocator_free __attribute((visibility("hidden")));
-#define g_allocator_free IA__g_allocator_free
-
-extern __typeof (g_allocator_new) IA__g_allocator_new __attribute((visibility("hidden")));
-#define g_allocator_new IA__g_allocator_new
-
-extern __typeof (g_mem_chunk_alloc) IA__g_mem_chunk_alloc __attribute((visibility("hidden")));
-#define g_mem_chunk_alloc IA__g_mem_chunk_alloc
-
-extern __typeof (g_mem_chunk_alloc0) IA__g_mem_chunk_alloc0 __attribute((visibility("hidden")));
-#define g_mem_chunk_alloc0 IA__g_mem_chunk_alloc0
-
-extern __typeof (g_mem_chunk_clean) IA__g_mem_chunk_clean __attribute((visibility("hidden")));
-#define g_mem_chunk_clean IA__g_mem_chunk_clean
-
-extern __typeof (g_mem_chunk_destroy) IA__g_mem_chunk_destroy __attribute((visibility("hidden")));
-#define g_mem_chunk_destroy IA__g_mem_chunk_destroy
-
-extern __typeof (g_mem_chunk_free) IA__g_mem_chunk_free __attribute((visibility("hidden")));
-#define g_mem_chunk_free IA__g_mem_chunk_free
-
-extern __typeof (g_mem_chunk_info) IA__g_mem_chunk_info __attribute((visibility("hidden")));
-#define g_mem_chunk_info IA__g_mem_chunk_info
-
-extern __typeof (g_mem_chunk_new) IA__g_mem_chunk_new __attribute((visibility("hidden")));
-#define g_mem_chunk_new IA__g_mem_chunk_new
-
-extern __typeof (g_mem_chunk_print) IA__g_mem_chunk_print __attribute((visibility("hidden")));
-#define g_mem_chunk_print IA__g_mem_chunk_print
-
-extern __typeof (g_mem_chunk_reset) IA__g_mem_chunk_reset __attribute((visibility("hidden")));
-#define g_mem_chunk_reset IA__g_mem_chunk_reset
-
-extern __typeof (g_blow_chunks) IA__g_blow_chunks __attribute((visibility("hidden")));
-#define g_blow_chunks IA__g_blow_chunks
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_SLICE_H__)
-#if IN_FILE(__G_SLICE_C__)
-extern __typeof (g_slice_alloc) IA__g_slice_alloc __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_slice_alloc IA__g_slice_alloc
-
-extern __typeof (g_slice_alloc0) IA__g_slice_alloc0 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_slice_alloc0 IA__g_slice_alloc0
-
-extern __typeof (g_slice_copy) IA__g_slice_copy __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_slice_copy IA__g_slice_copy
-
-extern __typeof (g_slice_free1) IA__g_slice_free1 __attribute((visibility("hidden")));
-#define g_slice_free1 IA__g_slice_free1
-
-extern __typeof (g_slice_free_chain_with_offset) IA__g_slice_free_chain_with_offset __attribute((visibility("hidden")));
-#define g_slice_free_chain_with_offset IA__g_slice_free_chain_with_offset
-
-extern __typeof (g_slice_set_config) IA__g_slice_set_config __attribute((visibility("hidden")));
-#define g_slice_set_config IA__g_slice_set_config
-
-extern __typeof (g_slice_get_config) IA__g_slice_get_config __attribute((visibility("hidden")));
-#define g_slice_get_config IA__g_slice_get_config
-
-extern __typeof (g_slice_get_config_state) IA__g_slice_get_config_state __attribute((visibility("hidden")));
-#define g_slice_get_config_state IA__g_slice_get_config_state
-
-#ifdef G_ENABLE_DEBUG
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_MESSAGES_H__)
-#if IN_FILE(__G_MESSAGES_C__)
-extern __typeof (g_printf_string_upper_bound) IA__g_printf_string_upper_bound __attribute((visibility("hidden")));
-#define g_printf_string_upper_bound IA__g_printf_string_upper_bound
-
-extern __typeof (g_log) IA__g_log __attribute((visibility("hidden"))) G_GNUC_PRINTF(3,4);
-#define g_log IA__g_log
-
-extern __typeof (g_log_default_handler) IA__g_log_default_handler __attribute((visibility("hidden")));
-#define g_log_default_handler IA__g_log_default_handler
-
-extern __typeof (g_log_remove_handler) IA__g_log_remove_handler __attribute((visibility("hidden")));
-#define g_log_remove_handler IA__g_log_remove_handler
-
-extern __typeof (g_log_set_always_fatal) IA__g_log_set_always_fatal __attribute((visibility("hidden")));
-#define g_log_set_always_fatal IA__g_log_set_always_fatal
-
-extern __typeof (g_log_set_default_handler) IA__g_log_set_default_handler __attribute((visibility("hidden")));
-#define g_log_set_default_handler IA__g_log_set_default_handler
-
-extern __typeof (g_log_set_fatal_mask) IA__g_log_set_fatal_mask __attribute((visibility("hidden")));
-#define g_log_set_fatal_mask IA__g_log_set_fatal_mask
-
-extern __typeof (g_log_set_handler) IA__g_log_set_handler __attribute((visibility("hidden")));
-#define g_log_set_handler IA__g_log_set_handler
-
-extern __typeof (g_logv) IA__g_logv __attribute((visibility("hidden")));
-#define g_logv IA__g_logv
-
-extern __typeof (g_return_if_fail_warning) IA__g_return_if_fail_warning __attribute((visibility("hidden")));
-#define g_return_if_fail_warning IA__g_return_if_fail_warning
-
-extern __typeof (g_warn_message) IA__g_warn_message __attribute((visibility("hidden")));
-#define g_warn_message IA__g_warn_message
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_assert_warning) IA__g_assert_warning __attribute((visibility("hidden"))) G_GNUC_NORETURN;
-#define g_assert_warning IA__g_assert_warning
-
-#endif
-extern __typeof (g_print) IA__g_print __attribute((visibility("hidden"))) G_GNUC_PRINTF(1,2);
-#define g_print IA__g_print
-
-extern __typeof (g_printerr) IA__g_printerr __attribute((visibility("hidden"))) G_GNUC_PRINTF(1,2);
-#define g_printerr IA__g_printerr
-
-extern __typeof (g_set_printerr_handler) IA__g_set_printerr_handler __attribute((visibility("hidden")));
-#define g_set_printerr_handler IA__g_set_printerr_handler
-
-extern __typeof (g_set_print_handler) IA__g_set_print_handler __attribute((visibility("hidden")));
-#define g_set_print_handler IA__g_set_print_handler
-
-#endif
-#endif
-#if IN_HEADER(__G_NODE_H__)
-#if IN_FILE(__G_NODE_C__)
-extern __typeof (g_node_child_index) IA__g_node_child_index __attribute((visibility("hidden")));
-#define g_node_child_index IA__g_node_child_index
-
-extern __typeof (g_node_child_position) IA__g_node_child_position __attribute((visibility("hidden")));
-#define g_node_child_position IA__g_node_child_position
-
-extern __typeof (g_node_children_foreach) IA__g_node_children_foreach __attribute((visibility("hidden")));
-#define g_node_children_foreach IA__g_node_children_foreach
-
-extern __typeof (g_node_copy) IA__g_node_copy __attribute((visibility("hidden")));
-#define g_node_copy IA__g_node_copy
-
-extern __typeof (g_node_copy_deep) IA__g_node_copy_deep __attribute((visibility("hidden")));
-#define g_node_copy_deep IA__g_node_copy_deep
-
-extern __typeof (g_node_depth) IA__g_node_depth __attribute((visibility("hidden")));
-#define g_node_depth IA__g_node_depth
-
-extern __typeof (g_node_destroy) IA__g_node_destroy __attribute((visibility("hidden")));
-#define g_node_destroy IA__g_node_destroy
-
-extern __typeof (g_node_find) IA__g_node_find __attribute((visibility("hidden")));
-#define g_node_find IA__g_node_find
-
-extern __typeof (g_node_find_child) IA__g_node_find_child __attribute((visibility("hidden")));
-#define g_node_find_child IA__g_node_find_child
-
-extern __typeof (g_node_first_sibling) IA__g_node_first_sibling __attribute((visibility("hidden")));
-#define g_node_first_sibling IA__g_node_first_sibling
-
-extern __typeof (g_node_get_root) IA__g_node_get_root __attribute((visibility("hidden")));
-#define g_node_get_root IA__g_node_get_root
-
-extern __typeof (g_node_insert) IA__g_node_insert __attribute((visibility("hidden")));
-#define g_node_insert IA__g_node_insert
-
-extern __typeof (g_node_insert_after) IA__g_node_insert_after __attribute((visibility("hidden")));
-#define g_node_insert_after IA__g_node_insert_after
-
-extern __typeof (g_node_insert_before) IA__g_node_insert_before __attribute((visibility("hidden")));
-#define g_node_insert_before IA__g_node_insert_before
-
-extern __typeof (g_node_is_ancestor) IA__g_node_is_ancestor __attribute((visibility("hidden")));
-#define g_node_is_ancestor IA__g_node_is_ancestor
-
-extern __typeof (g_node_last_child) IA__g_node_last_child __attribute((visibility("hidden")));
-#define g_node_last_child IA__g_node_last_child
-
-extern __typeof (g_node_last_sibling) IA__g_node_last_sibling __attribute((visibility("hidden")));
-#define g_node_last_sibling IA__g_node_last_sibling
-
-extern __typeof (g_node_max_height) IA__g_node_max_height __attribute((visibility("hidden")));
-#define g_node_max_height IA__g_node_max_height
-
-extern __typeof (g_node_n_children) IA__g_node_n_children __attribute((visibility("hidden")));
-#define g_node_n_children IA__g_node_n_children
-
-extern __typeof (g_node_new) IA__g_node_new __attribute((visibility("hidden")));
-#define g_node_new IA__g_node_new
-
-extern __typeof (g_node_n_nodes) IA__g_node_n_nodes __attribute((visibility("hidden")));
-#define g_node_n_nodes IA__g_node_n_nodes
-
-extern __typeof (g_node_nth_child) IA__g_node_nth_child __attribute((visibility("hidden")));
-#define g_node_nth_child IA__g_node_nth_child
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_node_pop_allocator) IA__g_node_pop_allocator __attribute((visibility("hidden")));
-#define g_node_pop_allocator IA__g_node_pop_allocator
-
-#endif
-extern __typeof (g_node_prepend) IA__g_node_prepend __attribute((visibility("hidden")));
-#define g_node_prepend IA__g_node_prepend
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_node_push_allocator) IA__g_node_push_allocator __attribute((visibility("hidden")));
-#define g_node_push_allocator IA__g_node_push_allocator
-
-#endif
-extern __typeof (g_node_reverse_children) IA__g_node_reverse_children __attribute((visibility("hidden")));
-#define g_node_reverse_children IA__g_node_reverse_children
-
-extern __typeof (g_node_traverse) IA__g_node_traverse __attribute((visibility("hidden")));
-#define g_node_traverse IA__g_node_traverse
-
-extern __typeof (g_node_unlink) IA__g_node_unlink __attribute((visibility("hidden")));
-#define g_node_unlink IA__g_node_unlink
-
-#endif
-#endif
-#if IN_HEADER(__G_OPTION_H__)
-#if IN_FILE(__G_OPTION_C__)
-extern __typeof (g_option_context_add_group) IA__g_option_context_add_group __attribute((visibility("hidden")));
-#define g_option_context_add_group IA__g_option_context_add_group
-
-extern __typeof (g_option_context_add_main_entries) IA__g_option_context_add_main_entries __attribute((visibility("hidden")));
-#define g_option_context_add_main_entries IA__g_option_context_add_main_entries
-
-extern __typeof (g_option_error_quark) IA__g_option_error_quark __attribute((visibility("hidden")));
-#define g_option_error_quark IA__g_option_error_quark
-
-extern __typeof (g_option_context_free) IA__g_option_context_free __attribute((visibility("hidden")));
-#define g_option_context_free IA__g_option_context_free
-
-extern __typeof (g_option_context_get_description) IA__g_option_context_get_description __attribute((visibility("hidden")));
-#define g_option_context_get_description IA__g_option_context_get_description
-
-extern __typeof (g_option_context_get_help_enabled) IA__g_option_context_get_help_enabled __attribute((visibility("hidden")));
-#define g_option_context_get_help_enabled IA__g_option_context_get_help_enabled
-
-extern __typeof (g_option_context_get_ignore_unknown_options) IA__g_option_context_get_ignore_unknown_options __attribute((visibility("hidden")));
-#define g_option_context_get_ignore_unknown_options IA__g_option_context_get_ignore_unknown_options
-
-extern __typeof (g_option_context_get_main_group) IA__g_option_context_get_main_group __attribute((visibility("hidden")));
-#define g_option_context_get_main_group IA__g_option_context_get_main_group
-
-extern __typeof (g_option_context_get_summary) IA__g_option_context_get_summary __attribute((visibility("hidden")));
-#define g_option_context_get_summary IA__g_option_context_get_summary
-
-extern __typeof (g_option_context_new) IA__g_option_context_new __attribute((visibility("hidden")));
-#define g_option_context_new IA__g_option_context_new
-
-extern __typeof (g_option_context_parse) IA__g_option_context_parse __attribute((visibility("hidden")));
-#define g_option_context_parse IA__g_option_context_parse
-
-extern __typeof (g_option_context_set_description) IA__g_option_context_set_description __attribute((visibility("hidden")));
-#define g_option_context_set_description IA__g_option_context_set_description
-
-extern __typeof (g_option_context_set_help_enabled) IA__g_option_context_set_help_enabled __attribute((visibility("hidden")));
-#define g_option_context_set_help_enabled IA__g_option_context_set_help_enabled
-
-extern __typeof (g_option_context_set_ignore_unknown_options) IA__g_option_context_set_ignore_unknown_options __attribute((visibility("hidden")));
-#define g_option_context_set_ignore_unknown_options IA__g_option_context_set_ignore_unknown_options
-
-extern __typeof (g_option_context_set_main_group) IA__g_option_context_set_main_group __attribute((visibility("hidden")));
-#define g_option_context_set_main_group IA__g_option_context_set_main_group
-
-extern __typeof (g_option_context_set_summary) IA__g_option_context_set_summary __attribute((visibility("hidden")));
-#define g_option_context_set_summary IA__g_option_context_set_summary
-
-extern __typeof (g_option_context_set_translate_func) IA__g_option_context_set_translate_func __attribute((visibility("hidden")));
-#define g_option_context_set_translate_func IA__g_option_context_set_translate_func
-
-extern __typeof (g_option_context_set_translation_domain) IA__g_option_context_set_translation_domain __attribute((visibility("hidden")));
-#define g_option_context_set_translation_domain IA__g_option_context_set_translation_domain
-
-extern __typeof (g_option_context_get_help) IA__g_option_context_get_help __attribute((visibility("hidden")));
-#define g_option_context_get_help IA__g_option_context_get_help
-
-extern __typeof (g_option_group_add_entries) IA__g_option_group_add_entries __attribute((visibility("hidden")));
-#define g_option_group_add_entries IA__g_option_group_add_entries
-
-extern __typeof (g_option_group_free) IA__g_option_group_free __attribute((visibility("hidden")));
-#define g_option_group_free IA__g_option_group_free
-
-extern __typeof (g_option_group_new) IA__g_option_group_new __attribute((visibility("hidden")));
-#define g_option_group_new IA__g_option_group_new
-
-extern __typeof (g_option_group_set_error_hook) IA__g_option_group_set_error_hook __attribute((visibility("hidden")));
-#define g_option_group_set_error_hook IA__g_option_group_set_error_hook
-
-extern __typeof (g_option_group_set_parse_hooks) IA__g_option_group_set_parse_hooks __attribute((visibility("hidden")));
-#define g_option_group_set_parse_hooks IA__g_option_group_set_parse_hooks
-
-extern __typeof (g_option_group_set_translate_func) IA__g_option_group_set_translate_func __attribute((visibility("hidden")));
-#define g_option_group_set_translate_func IA__g_option_group_set_translate_func
-
-extern __typeof (g_option_group_set_translation_domain) IA__g_option_group_set_translation_domain __attribute((visibility("hidden")));
-#define g_option_group_set_translation_domain IA__g_option_group_set_translation_domain
-
-#endif
-#endif
-#if IN_HEADER(__G_PATTERN_H__)
-#if IN_FILE(__G_PATTERN_C__)
-extern __typeof (g_pattern_match) IA__g_pattern_match __attribute((visibility("hidden")));
-#define g_pattern_match IA__g_pattern_match
-
-extern __typeof (g_pattern_match_simple) IA__g_pattern_match_simple __attribute((visibility("hidden")));
-#define g_pattern_match_simple IA__g_pattern_match_simple
-
-extern __typeof (g_pattern_match_string) IA__g_pattern_match_string __attribute((visibility("hidden")));
-#define g_pattern_match_string IA__g_pattern_match_string
-
-extern __typeof (g_pattern_spec_equal) IA__g_pattern_spec_equal __attribute((visibility("hidden")));
-#define g_pattern_spec_equal IA__g_pattern_spec_equal
-
-extern __typeof (g_pattern_spec_free) IA__g_pattern_spec_free __attribute((visibility("hidden")));
-#define g_pattern_spec_free IA__g_pattern_spec_free
-
-extern __typeof (g_pattern_spec_new) IA__g_pattern_spec_new __attribute((visibility("hidden")));
-#define g_pattern_spec_new IA__g_pattern_spec_new
-
-#endif
-#endif
-#if IN_HEADER(__G_POLL_H__)
-#if IN_FILE(__G_POLL_C__)
-extern __typeof (g_poll) IA__g_poll __attribute((visibility("hidden")));
-#define g_poll IA__g_poll
-
-#endif
-#endif
-#if IN_HEADER(__G_PRIMES_H__)
-#if IN_FILE(__G_PRIMES_C__)
-extern __typeof (g_spaced_primes_closest) IA__g_spaced_primes_closest __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_spaced_primes_closest IA__g_spaced_primes_closest
-
-#endif
-#endif
-#if IN_HEADER(__G_PRINTF_H__)
-#if IN_FILE(__G_PRINTF_C__)
-extern __typeof (g_fprintf) IA__g_fprintf __attribute((visibility("hidden"))) G_GNUC_PRINTF(2,3);
-#define g_fprintf IA__g_fprintf
-
-extern __typeof (g_printf) IA__g_printf __attribute((visibility("hidden"))) G_GNUC_PRINTF(1,2);
-#define g_printf IA__g_printf
-
-extern __typeof (g_sprintf) IA__g_sprintf __attribute((visibility("hidden"))) G_GNUC_PRINTF(2,3);
-#define g_sprintf IA__g_sprintf
-
-extern __typeof (g_vasprintf) IA__g_vasprintf __attribute((visibility("hidden")));
-#define g_vasprintf IA__g_vasprintf
-
-extern __typeof (g_vfprintf) IA__g_vfprintf __attribute((visibility("hidden")));
-#define g_vfprintf IA__g_vfprintf
-
-extern __typeof (g_vprintf) IA__g_vprintf __attribute((visibility("hidden")));
-#define g_vprintf IA__g_vprintf
-
-extern __typeof (g_vsprintf) IA__g_vsprintf __attribute((visibility("hidden")));
-#define g_vsprintf IA__g_vsprintf
-
-#endif
-#endif
-#if IN_HEADER(__G_UTILS_H__)
-#if IN_FILE(__G_PRINTF_C__)
-extern __typeof (g_snprintf) IA__g_snprintf __attribute((visibility("hidden"))) G_GNUC_PRINTF(3,4);
-#define g_snprintf IA__g_snprintf
-
-extern __typeof (g_vsnprintf) IA__g_vsnprintf __attribute((visibility("hidden")));
-#define g_vsnprintf IA__g_vsnprintf
-
-#endif
-#endif
-#if IN_HEADER(__G_QSORT_H__)
-#if IN_FILE(__G_QSORT_C__)
-extern __typeof (g_qsort_with_data) IA__g_qsort_with_data __attribute((visibility("hidden")));
-#define g_qsort_with_data IA__g_qsort_with_data
-
-#endif
-#endif
-#if IN_HEADER(__G_QUEUE_H__)
-#if IN_FILE(__G_QUEUE_C__)
-extern __typeof (g_queue_clear) IA__g_queue_clear __attribute((visibility("hidden")));
-#define g_queue_clear IA__g_queue_clear
-
-extern __typeof (g_queue_copy) IA__g_queue_copy __attribute((visibility("hidden")));
-#define g_queue_copy IA__g_queue_copy
-
-extern __typeof (g_queue_delete_link) IA__g_queue_delete_link __attribute((visibility("hidden")));
-#define g_queue_delete_link IA__g_queue_delete_link
-
-extern __typeof (g_queue_find) IA__g_queue_find __attribute((visibility("hidden")));
-#define g_queue_find IA__g_queue_find
-
-extern __typeof (g_queue_find_custom) IA__g_queue_find_custom __attribute((visibility("hidden")));
-#define g_queue_find_custom IA__g_queue_find_custom
-
-extern __typeof (g_queue_foreach) IA__g_queue_foreach __attribute((visibility("hidden")));
-#define g_queue_foreach IA__g_queue_foreach
-
-extern __typeof (g_queue_free) IA__g_queue_free __attribute((visibility("hidden")));
-#define g_queue_free IA__g_queue_free
-
-extern __typeof (g_queue_get_length) IA__g_queue_get_length __attribute((visibility("hidden")));
-#define g_queue_get_length IA__g_queue_get_length
-
-extern __typeof (g_queue_index) IA__g_queue_index __attribute((visibility("hidden")));
-#define g_queue_index IA__g_queue_index
-
-extern __typeof (g_queue_init) IA__g_queue_init __attribute((visibility("hidden")));
-#define g_queue_init IA__g_queue_init
-
-extern __typeof (g_queue_insert_after) IA__g_queue_insert_after __attribute((visibility("hidden")));
-#define g_queue_insert_after IA__g_queue_insert_after
-
-extern __typeof (g_queue_insert_before) IA__g_queue_insert_before __attribute((visibility("hidden")));
-#define g_queue_insert_before IA__g_queue_insert_before
-
-extern __typeof (g_queue_insert_sorted) IA__g_queue_insert_sorted __attribute((visibility("hidden")));
-#define g_queue_insert_sorted IA__g_queue_insert_sorted
-
-extern __typeof (g_queue_is_empty) IA__g_queue_is_empty __attribute((visibility("hidden")));
-#define g_queue_is_empty IA__g_queue_is_empty
-
-extern __typeof (g_queue_link_index) IA__g_queue_link_index __attribute((visibility("hidden")));
-#define g_queue_link_index IA__g_queue_link_index
-
-extern __typeof (g_queue_new) IA__g_queue_new __attribute((visibility("hidden")));
-#define g_queue_new IA__g_queue_new
-
-extern __typeof (g_queue_peek_head) IA__g_queue_peek_head __attribute((visibility("hidden")));
-#define g_queue_peek_head IA__g_queue_peek_head
-
-extern __typeof (g_queue_peek_head_link) IA__g_queue_peek_head_link __attribute((visibility("hidden")));
-#define g_queue_peek_head_link IA__g_queue_peek_head_link
-
-extern __typeof (g_queue_peek_nth) IA__g_queue_peek_nth __attribute((visibility("hidden")));
-#define g_queue_peek_nth IA__g_queue_peek_nth
-
-extern __typeof (g_queue_peek_nth_link) IA__g_queue_peek_nth_link __attribute((visibility("hidden")));
-#define g_queue_peek_nth_link IA__g_queue_peek_nth_link
-
-extern __typeof (g_queue_peek_tail) IA__g_queue_peek_tail __attribute((visibility("hidden")));
-#define g_queue_peek_tail IA__g_queue_peek_tail
-
-extern __typeof (g_queue_peek_tail_link) IA__g_queue_peek_tail_link __attribute((visibility("hidden")));
-#define g_queue_peek_tail_link IA__g_queue_peek_tail_link
-
-extern __typeof (g_queue_pop_head) IA__g_queue_pop_head __attribute((visibility("hidden")));
-#define g_queue_pop_head IA__g_queue_pop_head
-
-extern __typeof (g_queue_pop_head_link) IA__g_queue_pop_head_link __attribute((visibility("hidden")));
-#define g_queue_pop_head_link IA__g_queue_pop_head_link
-
-extern __typeof (g_queue_pop_nth) IA__g_queue_pop_nth __attribute((visibility("hidden")));
-#define g_queue_pop_nth IA__g_queue_pop_nth
-
-extern __typeof (g_queue_pop_nth_link) IA__g_queue_pop_nth_link __attribute((visibility("hidden")));
-#define g_queue_pop_nth_link IA__g_queue_pop_nth_link
-
-extern __typeof (g_queue_pop_tail) IA__g_queue_pop_tail __attribute((visibility("hidden")));
-#define g_queue_pop_tail IA__g_queue_pop_tail
-
-extern __typeof (g_queue_pop_tail_link) IA__g_queue_pop_tail_link __attribute((visibility("hidden")));
-#define g_queue_pop_tail_link IA__g_queue_pop_tail_link
-
-extern __typeof (g_queue_push_head) IA__g_queue_push_head __attribute((visibility("hidden")));
-#define g_queue_push_head IA__g_queue_push_head
-
-extern __typeof (g_queue_push_head_link) IA__g_queue_push_head_link __attribute((visibility("hidden")));
-#define g_queue_push_head_link IA__g_queue_push_head_link
-
-extern __typeof (g_queue_push_nth) IA__g_queue_push_nth __attribute((visibility("hidden")));
-#define g_queue_push_nth IA__g_queue_push_nth
-
-extern __typeof (g_queue_push_nth_link) IA__g_queue_push_nth_link __attribute((visibility("hidden")));
-#define g_queue_push_nth_link IA__g_queue_push_nth_link
-
-extern __typeof (g_queue_push_tail) IA__g_queue_push_tail __attribute((visibility("hidden")));
-#define g_queue_push_tail IA__g_queue_push_tail
-
-extern __typeof (g_queue_push_tail_link) IA__g_queue_push_tail_link __attribute((visibility("hidden")));
-#define g_queue_push_tail_link IA__g_queue_push_tail_link
-
-extern __typeof (g_queue_remove) IA__g_queue_remove __attribute((visibility("hidden")));
-#define g_queue_remove IA__g_queue_remove
-
-extern __typeof (g_queue_remove_all) IA__g_queue_remove_all __attribute((visibility("hidden")));
-#define g_queue_remove_all IA__g_queue_remove_all
-
-extern __typeof (g_queue_reverse) IA__g_queue_reverse __attribute((visibility("hidden")));
-#define g_queue_reverse IA__g_queue_reverse
-
-extern __typeof (g_queue_sort) IA__g_queue_sort __attribute((visibility("hidden")));
-#define g_queue_sort IA__g_queue_sort
-
-extern __typeof (g_queue_unlink) IA__g_queue_unlink __attribute((visibility("hidden")));
-#define g_queue_unlink IA__g_queue_unlink
-
-#endif
-#endif
-#if IN_HEADER(__G_RAND_H__)
-#if IN_FILE(__G_RAND_C__)
-extern __typeof (g_rand_copy) IA__g_rand_copy __attribute((visibility("hidden")));
-#define g_rand_copy IA__g_rand_copy
-
-extern __typeof (g_rand_double) IA__g_rand_double __attribute((visibility("hidden")));
-#define g_rand_double IA__g_rand_double
-
-extern __typeof (g_rand_double_range) IA__g_rand_double_range __attribute((visibility("hidden")));
-#define g_rand_double_range IA__g_rand_double_range
-
-extern __typeof (g_rand_free) IA__g_rand_free __attribute((visibility("hidden")));
-#define g_rand_free IA__g_rand_free
-
-extern __typeof (g_rand_int) IA__g_rand_int __attribute((visibility("hidden")));
-#define g_rand_int IA__g_rand_int
-
-extern __typeof (g_rand_int_range) IA__g_rand_int_range __attribute((visibility("hidden")));
-#define g_rand_int_range IA__g_rand_int_range
-
-extern __typeof (g_rand_new) IA__g_rand_new __attribute((visibility("hidden")));
-#define g_rand_new IA__g_rand_new
-
-extern __typeof (g_rand_new_with_seed) IA__g_rand_new_with_seed __attribute((visibility("hidden")));
-#define g_rand_new_with_seed IA__g_rand_new_with_seed
-
-extern __typeof (g_rand_new_with_seed_array) IA__g_rand_new_with_seed_array __attribute((visibility("hidden")));
-#define g_rand_new_with_seed_array IA__g_rand_new_with_seed_array
-
-extern __typeof (g_random_double) IA__g_random_double __attribute((visibility("hidden")));
-#define g_random_double IA__g_random_double
-
-extern __typeof (g_random_double_range) IA__g_random_double_range __attribute((visibility("hidden")));
-#define g_random_double_range IA__g_random_double_range
-
-extern __typeof (g_random_int) IA__g_random_int __attribute((visibility("hidden")));
-#define g_random_int IA__g_random_int
-
-extern __typeof (g_random_int_range) IA__g_random_int_range __attribute((visibility("hidden")));
-#define g_random_int_range IA__g_random_int_range
-
-extern __typeof (g_random_set_seed) IA__g_random_set_seed __attribute((visibility("hidden")));
-#define g_random_set_seed IA__g_random_set_seed
-
-extern __typeof (g_rand_set_seed) IA__g_rand_set_seed __attribute((visibility("hidden")));
-#define g_rand_set_seed IA__g_rand_set_seed
-
-extern __typeof (g_rand_set_seed_array) IA__g_rand_set_seed_array __attribute((visibility("hidden")));
-#define g_rand_set_seed_array IA__g_rand_set_seed_array
-
-#endif
-#endif
-#if IN_HEADER(__G_REL_H__)
-#if IN_FILE(__G_REL_C__)
-extern __typeof (g_relation_count) IA__g_relation_count __attribute((visibility("hidden")));
-#define g_relation_count IA__g_relation_count
-
-extern __typeof (g_relation_delete) IA__g_relation_delete __attribute((visibility("hidden")));
-#define g_relation_delete IA__g_relation_delete
-
-extern __typeof (g_relation_destroy) IA__g_relation_destroy __attribute((visibility("hidden")));
-#define g_relation_destroy IA__g_relation_destroy
-
-extern __typeof (g_relation_exists) IA__g_relation_exists __attribute((visibility("hidden")));
-#define g_relation_exists IA__g_relation_exists
-
-extern __typeof (g_relation_index) IA__g_relation_index __attribute((visibility("hidden")));
-#define g_relation_index IA__g_relation_index
-
-extern __typeof (g_relation_insert) IA__g_relation_insert __attribute((visibility("hidden")));
-#define g_relation_insert IA__g_relation_insert
-
-extern __typeof (g_relation_new) IA__g_relation_new __attribute((visibility("hidden")));
-#define g_relation_new IA__g_relation_new
-
-extern __typeof (g_relation_print) IA__g_relation_print __attribute((visibility("hidden")));
-#define g_relation_print IA__g_relation_print
-
-extern __typeof (g_relation_select) IA__g_relation_select __attribute((visibility("hidden")));
-#define g_relation_select IA__g_relation_select
-
-extern __typeof (g_tuples_destroy) IA__g_tuples_destroy __attribute((visibility("hidden")));
-#define g_tuples_destroy IA__g_tuples_destroy
-
-extern __typeof (g_tuples_index) IA__g_tuples_index __attribute((visibility("hidden")));
-#define g_tuples_index IA__g_tuples_index
-
-#endif
-#endif
-#if IN_HEADER(__G_SCANNER_H__)
-#if IN_FILE(__G_SCANNER_C__)
-extern __typeof (g_scanner_cur_line) IA__g_scanner_cur_line __attribute((visibility("hidden")));
-#define g_scanner_cur_line IA__g_scanner_cur_line
-
-extern __typeof (g_scanner_cur_position) IA__g_scanner_cur_position __attribute((visibility("hidden")));
-#define g_scanner_cur_position IA__g_scanner_cur_position
-
-extern __typeof (g_scanner_cur_token) IA__g_scanner_cur_token __attribute((visibility("hidden")));
-#define g_scanner_cur_token IA__g_scanner_cur_token
-
-extern __typeof (g_scanner_cur_value) IA__g_scanner_cur_value __attribute((visibility("hidden")));
-#define g_scanner_cur_value IA__g_scanner_cur_value
-
-extern __typeof (g_scanner_destroy) IA__g_scanner_destroy __attribute((visibility("hidden")));
-#define g_scanner_destroy IA__g_scanner_destroy
-
-extern __typeof (g_scanner_eof) IA__g_scanner_eof __attribute((visibility("hidden")));
-#define g_scanner_eof IA__g_scanner_eof
-
-extern __typeof (g_scanner_error) IA__g_scanner_error __attribute((visibility("hidden"))) G_GNUC_PRINTF(2,3);
-#define g_scanner_error IA__g_scanner_error
-
-extern __typeof (g_scanner_get_next_token) IA__g_scanner_get_next_token __attribute((visibility("hidden")));
-#define g_scanner_get_next_token IA__g_scanner_get_next_token
-
-extern __typeof (g_scanner_input_file) IA__g_scanner_input_file __attribute((visibility("hidden")));
-#define g_scanner_input_file IA__g_scanner_input_file
-
-extern __typeof (g_scanner_input_text) IA__g_scanner_input_text __attribute((visibility("hidden")));
-#define g_scanner_input_text IA__g_scanner_input_text
-
-extern __typeof (g_scanner_lookup_symbol) IA__g_scanner_lookup_symbol __attribute((visibility("hidden")));
-#define g_scanner_lookup_symbol IA__g_scanner_lookup_symbol
-
-extern __typeof (g_scanner_new) IA__g_scanner_new __attribute((visibility("hidden")));
-#define g_scanner_new IA__g_scanner_new
-
-extern __typeof (g_scanner_peek_next_token) IA__g_scanner_peek_next_token __attribute((visibility("hidden")));
-#define g_scanner_peek_next_token IA__g_scanner_peek_next_token
-
-extern __typeof (g_scanner_scope_add_symbol) IA__g_scanner_scope_add_symbol __attribute((visibility("hidden")));
-#define g_scanner_scope_add_symbol IA__g_scanner_scope_add_symbol
-
-extern __typeof (g_scanner_scope_foreach_symbol) IA__g_scanner_scope_foreach_symbol __attribute((visibility("hidden")));
-#define g_scanner_scope_foreach_symbol IA__g_scanner_scope_foreach_symbol
-
-extern __typeof (g_scanner_scope_lookup_symbol) IA__g_scanner_scope_lookup_symbol __attribute((visibility("hidden")));
-#define g_scanner_scope_lookup_symbol IA__g_scanner_scope_lookup_symbol
-
-extern __typeof (g_scanner_scope_remove_symbol) IA__g_scanner_scope_remove_symbol __attribute((visibility("hidden")));
-#define g_scanner_scope_remove_symbol IA__g_scanner_scope_remove_symbol
-
-extern __typeof (g_scanner_set_scope) IA__g_scanner_set_scope __attribute((visibility("hidden")));
-#define g_scanner_set_scope IA__g_scanner_set_scope
-
-extern __typeof (g_scanner_sync_file_offset) IA__g_scanner_sync_file_offset __attribute((visibility("hidden")));
-#define g_scanner_sync_file_offset IA__g_scanner_sync_file_offset
-
-extern __typeof (g_scanner_unexp_token) IA__g_scanner_unexp_token __attribute((visibility("hidden")));
-#define g_scanner_unexp_token IA__g_scanner_unexp_token
-
-extern __typeof (g_scanner_warn) IA__g_scanner_warn __attribute((visibility("hidden"))) G_GNUC_PRINTF(2,3);
-#define g_scanner_warn IA__g_scanner_warn
-
-#endif
-#endif
-#if IN_HEADER(__G_SEQUENCE_H__)
-#if IN_FILE(__G_SEQUENCE_C__)
-extern __typeof (g_sequence_new) IA__g_sequence_new __attribute((visibility("hidden")));
-#define g_sequence_new IA__g_sequence_new
-
-extern __typeof (g_sequence_free) IA__g_sequence_free __attribute((visibility("hidden")));
-#define g_sequence_free IA__g_sequence_free
-
-extern __typeof (g_sequence_get_length) IA__g_sequence_get_length __attribute((visibility("hidden")));
-#define g_sequence_get_length IA__g_sequence_get_length
-
-extern __typeof (g_sequence_foreach) IA__g_sequence_foreach __attribute((visibility("hidden")));
-#define g_sequence_foreach IA__g_sequence_foreach
-
-extern __typeof (g_sequence_foreach_range) IA__g_sequence_foreach_range __attribute((visibility("hidden")));
-#define g_sequence_foreach_range IA__g_sequence_foreach_range
-
-extern __typeof (g_sequence_sort) IA__g_sequence_sort __attribute((visibility("hidden")));
-#define g_sequence_sort IA__g_sequence_sort
-
-extern __typeof (g_sequence_sort_iter) IA__g_sequence_sort_iter __attribute((visibility("hidden")));
-#define g_sequence_sort_iter IA__g_sequence_sort_iter
-
-extern __typeof (g_sequence_get_begin_iter) IA__g_sequence_get_begin_iter __attribute((visibility("hidden")));
-#define g_sequence_get_begin_iter IA__g_sequence_get_begin_iter
-
-extern __typeof (g_sequence_get_end_iter) IA__g_sequence_get_end_iter __attribute((visibility("hidden")));
-#define g_sequence_get_end_iter IA__g_sequence_get_end_iter
-
-extern __typeof (g_sequence_get_iter_at_pos) IA__g_sequence_get_iter_at_pos __attribute((visibility("hidden")));
-#define g_sequence_get_iter_at_pos IA__g_sequence_get_iter_at_pos
-
-extern __typeof (g_sequence_append) IA__g_sequence_append __attribute((visibility("hidden")));
-#define g_sequence_append IA__g_sequence_append
-
-extern __typeof (g_sequence_prepend) IA__g_sequence_prepend __attribute((visibility("hidden")));
-#define g_sequence_prepend IA__g_sequence_prepend
-
-extern __typeof (g_sequence_insert_before) IA__g_sequence_insert_before __attribute((visibility("hidden")));
-#define g_sequence_insert_before IA__g_sequence_insert_before
-
-extern __typeof (g_sequence_move) IA__g_sequence_move __attribute((visibility("hidden")));
-#define g_sequence_move IA__g_sequence_move
-
-extern __typeof (g_sequence_swap) IA__g_sequence_swap __attribute((visibility("hidden")));
-#define g_sequence_swap IA__g_sequence_swap
-
-extern __typeof (g_sequence_insert_sorted) IA__g_sequence_insert_sorted __attribute((visibility("hidden")));
-#define g_sequence_insert_sorted IA__g_sequence_insert_sorted
-
-extern __typeof (g_sequence_insert_sorted_iter) IA__g_sequence_insert_sorted_iter __attribute((visibility("hidden")));
-#define g_sequence_insert_sorted_iter IA__g_sequence_insert_sorted_iter
-
-extern __typeof (g_sequence_sort_changed) IA__g_sequence_sort_changed __attribute((visibility("hidden")));
-#define g_sequence_sort_changed IA__g_sequence_sort_changed
-
-extern __typeof (g_sequence_sort_changed_iter) IA__g_sequence_sort_changed_iter __attribute((visibility("hidden")));
-#define g_sequence_sort_changed_iter IA__g_sequence_sort_changed_iter
-
-extern __typeof (g_sequence_remove) IA__g_sequence_remove __attribute((visibility("hidden")));
-#define g_sequence_remove IA__g_sequence_remove
-
-extern __typeof (g_sequence_remove_range) IA__g_sequence_remove_range __attribute((visibility("hidden")));
-#define g_sequence_remove_range IA__g_sequence_remove_range
-
-extern __typeof (g_sequence_move_range) IA__g_sequence_move_range __attribute((visibility("hidden")));
-#define g_sequence_move_range IA__g_sequence_move_range
-
-extern __typeof (g_sequence_search) IA__g_sequence_search __attribute((visibility("hidden")));
-#define g_sequence_search IA__g_sequence_search
-
-extern __typeof (g_sequence_search_iter) IA__g_sequence_search_iter __attribute((visibility("hidden")));
-#define g_sequence_search_iter IA__g_sequence_search_iter
-
-extern __typeof (g_sequence_get) IA__g_sequence_get __attribute((visibility("hidden")));
-#define g_sequence_get IA__g_sequence_get
-
-extern __typeof (g_sequence_set) IA__g_sequence_set __attribute((visibility("hidden")));
-#define g_sequence_set IA__g_sequence_set
-
-extern __typeof (g_sequence_iter_is_begin) IA__g_sequence_iter_is_begin __attribute((visibility("hidden")));
-#define g_sequence_iter_is_begin IA__g_sequence_iter_is_begin
-
-extern __typeof (g_sequence_iter_is_end) IA__g_sequence_iter_is_end __attribute((visibility("hidden")));
-#define g_sequence_iter_is_end IA__g_sequence_iter_is_end
-
-extern __typeof (g_sequence_iter_next) IA__g_sequence_iter_next __attribute((visibility("hidden")));
-#define g_sequence_iter_next IA__g_sequence_iter_next
-
-extern __typeof (g_sequence_iter_prev) IA__g_sequence_iter_prev __attribute((visibility("hidden")));
-#define g_sequence_iter_prev IA__g_sequence_iter_prev
-
-extern __typeof (g_sequence_iter_get_position) IA__g_sequence_iter_get_position __attribute((visibility("hidden")));
-#define g_sequence_iter_get_position IA__g_sequence_iter_get_position
-
-extern __typeof (g_sequence_iter_move) IA__g_sequence_iter_move __attribute((visibility("hidden")));
-#define g_sequence_iter_move IA__g_sequence_iter_move
-
-extern __typeof (g_sequence_iter_get_sequence) IA__g_sequence_iter_get_sequence __attribute((visibility("hidden")));
-#define g_sequence_iter_get_sequence IA__g_sequence_iter_get_sequence
-
-extern __typeof (g_sequence_iter_compare) IA__g_sequence_iter_compare __attribute((visibility("hidden")));
-#define g_sequence_iter_compare IA__g_sequence_iter_compare
-
-extern __typeof (g_sequence_range_get_midpoint) IA__g_sequence_range_get_midpoint __attribute((visibility("hidden")));
-#define g_sequence_range_get_midpoint IA__g_sequence_range_get_midpoint
-
-#endif
-#endif
-#if IN_HEADER(__G_SHELL_H__)
-#if IN_FILE(__G_SHELL_C__)
-extern __typeof (g_shell_error_quark) IA__g_shell_error_quark __attribute((visibility("hidden")));
-#define g_shell_error_quark IA__g_shell_error_quark
-
-extern __typeof (g_shell_parse_argv) IA__g_shell_parse_argv __attribute((visibility("hidden")));
-#define g_shell_parse_argv IA__g_shell_parse_argv
-
-extern __typeof (g_shell_quote) IA__g_shell_quote __attribute((visibility("hidden")));
-#define g_shell_quote IA__g_shell_quote
-
-extern __typeof (g_shell_unquote) IA__g_shell_unquote __attribute((visibility("hidden")));
-#define g_shell_unquote IA__g_shell_unquote
-
-#endif
-#endif
-#if IN_HEADER(__G_SLIST_H__)
-#if IN_FILE(__G_SLIST_C__)
-extern __typeof (g_slist_alloc) IA__g_slist_alloc __attribute((visibility("hidden")));
-#define g_slist_alloc IA__g_slist_alloc
-
-extern __typeof (g_slist_append) IA__g_slist_append __attribute((visibility("hidden")));
-#define g_slist_append IA__g_slist_append
-
-extern __typeof (g_slist_concat) IA__g_slist_concat __attribute((visibility("hidden")));
-#define g_slist_concat IA__g_slist_concat
-
-extern __typeof (g_slist_copy) IA__g_slist_copy __attribute((visibility("hidden")));
-#define g_slist_copy IA__g_slist_copy
-
-extern __typeof (g_slist_delete_link) IA__g_slist_delete_link __attribute((visibility("hidden")));
-#define g_slist_delete_link IA__g_slist_delete_link
-
-extern __typeof (g_slist_find) IA__g_slist_find __attribute((visibility("hidden")));
-#define g_slist_find IA__g_slist_find
-
-extern __typeof (g_slist_find_custom) IA__g_slist_find_custom __attribute((visibility("hidden")));
-#define g_slist_find_custom IA__g_slist_find_custom
-
-extern __typeof (g_slist_foreach) IA__g_slist_foreach __attribute((visibility("hidden")));
-#define g_slist_foreach IA__g_slist_foreach
-
-extern __typeof (g_slist_free) IA__g_slist_free __attribute((visibility("hidden")));
-#define g_slist_free IA__g_slist_free
-
-extern __typeof (g_slist_free_1) IA__g_slist_free_1 __attribute((visibility("hidden")));
-#define g_slist_free_1 IA__g_slist_free_1
-
-extern __typeof (g_slist_index) IA__g_slist_index __attribute((visibility("hidden")));
-#define g_slist_index IA__g_slist_index
-
-extern __typeof (g_slist_insert) IA__g_slist_insert __attribute((visibility("hidden")));
-#define g_slist_insert IA__g_slist_insert
-
-extern __typeof (g_slist_insert_before) IA__g_slist_insert_before __attribute((visibility("hidden")));
-#define g_slist_insert_before IA__g_slist_insert_before
-
-extern __typeof (g_slist_insert_sorted) IA__g_slist_insert_sorted __attribute((visibility("hidden")));
-#define g_slist_insert_sorted IA__g_slist_insert_sorted
-
-extern __typeof (g_slist_insert_sorted_with_data) IA__g_slist_insert_sorted_with_data __attribute((visibility("hidden")));
-#define g_slist_insert_sorted_with_data IA__g_slist_insert_sorted_with_data
-
-extern __typeof (g_slist_last) IA__g_slist_last __attribute((visibility("hidden")));
-#define g_slist_last IA__g_slist_last
-
-extern __typeof (g_slist_length) IA__g_slist_length __attribute((visibility("hidden")));
-#define g_slist_length IA__g_slist_length
-
-extern __typeof (g_slist_nth) IA__g_slist_nth __attribute((visibility("hidden")));
-#define g_slist_nth IA__g_slist_nth
-
-extern __typeof (g_slist_nth_data) IA__g_slist_nth_data __attribute((visibility("hidden")));
-#define g_slist_nth_data IA__g_slist_nth_data
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_slist_pop_allocator) IA__g_slist_pop_allocator __attribute((visibility("hidden")));
-#define g_slist_pop_allocator IA__g_slist_pop_allocator
-
-#endif
-extern __typeof (g_slist_position) IA__g_slist_position __attribute((visibility("hidden")));
-#define g_slist_position IA__g_slist_position
-
-extern __typeof (g_slist_prepend) IA__g_slist_prepend __attribute((visibility("hidden")));
-#define g_slist_prepend IA__g_slist_prepend
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_slist_push_allocator) IA__g_slist_push_allocator __attribute((visibility("hidden")));
-#define g_slist_push_allocator IA__g_slist_push_allocator
-
-#endif
-extern __typeof (g_slist_remove) IA__g_slist_remove __attribute((visibility("hidden")));
-#define g_slist_remove IA__g_slist_remove
-
-extern __typeof (g_slist_remove_all) IA__g_slist_remove_all __attribute((visibility("hidden")));
-#define g_slist_remove_all IA__g_slist_remove_all
-
-extern __typeof (g_slist_remove_link) IA__g_slist_remove_link __attribute((visibility("hidden")));
-#define g_slist_remove_link IA__g_slist_remove_link
-
-extern __typeof (g_slist_reverse) IA__g_slist_reverse __attribute((visibility("hidden")));
-#define g_slist_reverse IA__g_slist_reverse
-
-extern __typeof (g_slist_sort) IA__g_slist_sort __attribute((visibility("hidden")));
-#define g_slist_sort IA__g_slist_sort
-
-extern __typeof (g_slist_sort_with_data) IA__g_slist_sort_with_data __attribute((visibility("hidden")));
-#define g_slist_sort_with_data IA__g_slist_sort_with_data
-
-#endif
-#endif
-#if IN_HEADER(__G_SPAWN_H__)
-#if IN_FILE(__G_SPAWN_C__)
-#ifndef _WIN64
-extern __typeof (g_spawn_async) IA__g_spawn_async __attribute((visibility("hidden")));
-#define g_spawn_async IA__g_spawn_async
-
-extern __typeof (g_spawn_async_with_pipes) IA__g_spawn_async_with_pipes __attribute((visibility("hidden")));
-#define g_spawn_async_with_pipes IA__g_spawn_async_with_pipes
-
-#endif
-extern __typeof (g_spawn_close_pid) IA__g_spawn_close_pid __attribute((visibility("hidden")));
-#define g_spawn_close_pid IA__g_spawn_close_pid
-
-#ifndef _WIN64
-extern __typeof (g_spawn_command_line_async) IA__g_spawn_command_line_async __attribute((visibility("hidden")));
-#define g_spawn_command_line_async IA__g_spawn_command_line_async
-
-extern __typeof (g_spawn_command_line_sync) IA__g_spawn_command_line_sync __attribute((visibility("hidden")));
-#define g_spawn_command_line_sync IA__g_spawn_command_line_sync
-
-#endif
-extern __typeof (g_spawn_error_quark) IA__g_spawn_error_quark __attribute((visibility("hidden")));
-#define g_spawn_error_quark IA__g_spawn_error_quark
-
-#ifndef _WIN64
-extern __typeof (g_spawn_sync) IA__g_spawn_sync __attribute((visibility("hidden")));
-#define g_spawn_sync IA__g_spawn_sync
-
-#endif
-#ifdef G_OS_WIN32
-extern __typeof (g_spawn_async_utf8) IA__g_spawn_async_utf8 __attribute((visibility("hidden")));
-#define g_spawn_async_utf8 IA__g_spawn_async_utf8
-
-extern __typeof (g_spawn_async_with_pipes_utf8) IA__g_spawn_async_with_pipes_utf8 __attribute((visibility("hidden")));
-#define g_spawn_async_with_pipes_utf8 IA__g_spawn_async_with_pipes_utf8
-
-extern __typeof (g_spawn_command_line_async_utf8) IA__g_spawn_command_line_async_utf8 __attribute((visibility("hidden")));
-#define g_spawn_command_line_async_utf8 IA__g_spawn_command_line_async_utf8
-
-extern __typeof (g_spawn_command_line_sync_utf8) IA__g_spawn_command_line_sync_utf8 __attribute((visibility("hidden")));
-#define g_spawn_command_line_sync_utf8 IA__g_spawn_command_line_sync_utf8
-
-extern __typeof (g_spawn_sync_utf8) IA__g_spawn_sync_utf8 __attribute((visibility("hidden")));
-#define g_spawn_sync_utf8 IA__g_spawn_sync_utf8
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_STDIO_H__)
-#if IN_FILE(__G_STDIO_C__)
-#if !defined(G_OS_UNIX) || defined(G_STDIO_NO_WRAP_ON_UNIX)
-extern __typeof (g_chmod) IA__g_chmod __attribute((visibility("hidden")));
-#define g_chmod IA__g_chmod
-
-extern __typeof (g_open) IA__g_open __attribute((visibility("hidden")));
-#define g_open IA__g_open
-
-extern __typeof (g_creat) IA__g_creat __attribute((visibility("hidden")));
-#define g_creat IA__g_creat
-
-extern __typeof (g_rename) IA__g_rename __attribute((visibility("hidden")));
-#define g_rename IA__g_rename
-
-extern __typeof (g_mkdir) IA__g_mkdir __attribute((visibility("hidden")));
-#define g_mkdir IA__g_mkdir
-
-extern __typeof (g_stat) IA__g_stat __attribute((visibility("hidden")));
-#define g_stat IA__g_stat
-
-extern __typeof (g_lstat) IA__g_lstat __attribute((visibility("hidden")));
-#define g_lstat IA__g_lstat
-
-extern __typeof (g_remove) IA__g_remove __attribute((visibility("hidden")));
-#define g_remove IA__g_remove
-
-extern __typeof (g_fopen) IA__g_fopen __attribute((visibility("hidden")));
-#define g_fopen IA__g_fopen
-
-extern __typeof (g_freopen) IA__g_freopen __attribute((visibility("hidden")));
-#define g_freopen IA__g_freopen
-
-extern __typeof (g_utime) IA__g_utime __attribute((visibility("hidden")));
-#define g_utime IA__g_utime
-
-#endif
-extern __typeof (g_access) IA__g_access __attribute((visibility("hidden")));
-#define g_access IA__g_access
-
-extern __typeof (g_chdir) IA__g_chdir __attribute((visibility("hidden")));
-#define g_chdir IA__g_chdir
-
-extern __typeof (g_unlink) IA__g_unlink __attribute((visibility("hidden")));
-#define g_unlink IA__g_unlink
-
-extern __typeof (g_rmdir) IA__g_rmdir __attribute((visibility("hidden")));
-#define g_rmdir IA__g_rmdir
-
-#endif
-#endif
-#if IN_HEADER(__G_STRFUNCS_H__)
-#if IN_FILE(__G_STRFUNCS_C__)
-extern __typeof (g_ascii_digit_value) IA__g_ascii_digit_value __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_ascii_digit_value IA__g_ascii_digit_value
-
-extern __typeof (g_ascii_dtostr) IA__g_ascii_dtostr __attribute((visibility("hidden")));
-#define g_ascii_dtostr IA__g_ascii_dtostr
-
-extern __typeof (g_ascii_formatd) IA__g_ascii_formatd __attribute((visibility("hidden")));
-#define g_ascii_formatd IA__g_ascii_formatd
-
-extern __typeof (g_ascii_strdown) IA__g_ascii_strdown __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_ascii_strdown IA__g_ascii_strdown
-
-extern __typeof (g_ascii_strtod) IA__g_ascii_strtod __attribute((visibility("hidden")));
-#define g_ascii_strtod IA__g_ascii_strtod
-
-extern __typeof (g_ascii_strtoull) IA__g_ascii_strtoull __attribute((visibility("hidden")));
-#define g_ascii_strtoull IA__g_ascii_strtoull
-
-extern __typeof (g_ascii_strtoll) IA__g_ascii_strtoll __attribute((visibility("hidden")));
-#define g_ascii_strtoll IA__g_ascii_strtoll
-
-extern __typeof (g_ascii_strup) IA__g_ascii_strup __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_ascii_strup IA__g_ascii_strup
-
-extern __typeof (g_ascii_tolower) IA__g_ascii_tolower __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_ascii_tolower IA__g_ascii_tolower
-
-extern __typeof (g_ascii_toupper) IA__g_ascii_toupper __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_ascii_toupper IA__g_ascii_toupper
-
-extern __typeof (g_ascii_xdigit_value) IA__g_ascii_xdigit_value __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_ascii_xdigit_value IA__g_ascii_xdigit_value
-
-extern __typeof (g_ascii_strcasecmp) IA__g_ascii_strcasecmp __attribute((visibility("hidden")));
-#define g_ascii_strcasecmp IA__g_ascii_strcasecmp
-
-extern __typeof (g_ascii_strncasecmp) IA__g_ascii_strncasecmp __attribute((visibility("hidden")));
-#define g_ascii_strncasecmp IA__g_ascii_strncasecmp
-
-extern __typeof (g_memdup) IA__g_memdup __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_memdup IA__g_memdup
-
-extern __typeof (g_stpcpy) IA__g_stpcpy __attribute((visibility("hidden")));
-#define g_stpcpy IA__g_stpcpy
-
-extern __typeof (g_strcanon) IA__g_strcanon __attribute((visibility("hidden")));
-#define g_strcanon IA__g_strcanon
-
-extern __typeof (g_strchomp) IA__g_strchomp __attribute((visibility("hidden")));
-#define g_strchomp IA__g_strchomp
-
-extern __typeof (g_strchug) IA__g_strchug __attribute((visibility("hidden")));
-#define g_strchug IA__g_strchug
-
-extern __typeof (g_strcompress) IA__g_strcompress __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_strcompress IA__g_strcompress
-
-extern __typeof (g_strconcat) IA__g_strconcat __attribute((visibility("hidden"))) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED;
-#define g_strconcat IA__g_strconcat
-
-extern __typeof (g_strdelimit) IA__g_strdelimit __attribute((visibility("hidden")));
-#define g_strdelimit IA__g_strdelimit
-
-extern __typeof (g_strdup) IA__g_strdup __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_strdup IA__g_strdup
-
-extern __typeof (g_strdup_printf) IA__g_strdup_printf __attribute((visibility("hidden"))) G_GNUC_PRINTF(1,2) G_GNUC_MALLOC;
-#define g_strdup_printf IA__g_strdup_printf
-
-extern __typeof (g_strdupv) IA__g_strdupv __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_strdupv IA__g_strdupv
-
-extern __typeof (g_strdup_vprintf) IA__g_strdup_vprintf __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_strdup_vprintf IA__g_strdup_vprintf
-
-extern __typeof (g_strerror) IA__g_strerror __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_strerror IA__g_strerror
-
-extern __typeof (g_strescape) IA__g_strescape __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_strescape IA__g_strescape
-
-extern __typeof (g_strfreev) IA__g_strfreev __attribute((visibility("hidden")));
-#define g_strfreev IA__g_strfreev
-
-extern __typeof (g_str_has_prefix) IA__g_str_has_prefix __attribute((visibility("hidden")));
-#define g_str_has_prefix IA__g_str_has_prefix
-
-extern __typeof (g_str_has_suffix) IA__g_str_has_suffix __attribute((visibility("hidden")));
-#define g_str_has_suffix IA__g_str_has_suffix
-
-extern __typeof (g_strjoin) IA__g_strjoin __attribute((visibility("hidden"))) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED;
-#define g_strjoin IA__g_strjoin
-
-extern __typeof (g_strjoinv) IA__g_strjoinv __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_strjoinv IA__g_strjoinv
-
-extern __typeof (g_strlcat) IA__g_strlcat __attribute((visibility("hidden")));
-#define g_strlcat IA__g_strlcat
-
-extern __typeof (g_strlcpy) IA__g_strlcpy __attribute((visibility("hidden")));
-#define g_strlcpy IA__g_strlcpy
-
-extern __typeof (g_strndup) IA__g_strndup __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_strndup IA__g_strndup
-
-extern __typeof (g_strnfill) IA__g_strnfill __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_strnfill IA__g_strnfill
-
-extern __typeof (g_strreverse) IA__g_strreverse __attribute((visibility("hidden")));
-#define g_strreverse IA__g_strreverse
-
-extern __typeof (g_strrstr) IA__g_strrstr __attribute((visibility("hidden")));
-#define g_strrstr IA__g_strrstr
-
-extern __typeof (g_strrstr_len) IA__g_strrstr_len __attribute((visibility("hidden")));
-#define g_strrstr_len IA__g_strrstr_len
-
-extern __typeof (g_strsignal) IA__g_strsignal __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_strsignal IA__g_strsignal
-
-extern __typeof (g_strsplit) IA__g_strsplit __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_strsplit IA__g_strsplit
-
-extern __typeof (g_strsplit_set) IA__g_strsplit_set __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_strsplit_set IA__g_strsplit_set
-
-extern __typeof (g_strstr_len) IA__g_strstr_len __attribute((visibility("hidden")));
-#define g_strstr_len IA__g_strstr_len
-
-extern __typeof (g_strtod) IA__g_strtod __attribute((visibility("hidden")));
-#define g_strtod IA__g_strtod
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_strcasecmp) IA__g_strcasecmp __attribute((visibility("hidden")));
-#define g_strcasecmp IA__g_strcasecmp
-
-extern __typeof (g_strncasecmp) IA__g_strncasecmp __attribute((visibility("hidden")));
-#define g_strncasecmp IA__g_strncasecmp
-
-extern __typeof (g_strup) IA__g_strup __attribute((visibility("hidden")));
-#define g_strup IA__g_strup
-
-extern __typeof (g_strdown) IA__g_strdown __attribute((visibility("hidden")));
-#define g_strdown IA__g_strdown
-
-#endif
-extern __typeof (g_strv_length) IA__g_strv_length __attribute((visibility("hidden")));
-#define g_strv_length IA__g_strv_length
-
-extern __typeof (g_strip_context) IA__g_strip_context __attribute((visibility("hidden"))) G_GNUC_FORMAT(1);
-#define g_strip_context IA__g_strip_context
-
-extern __typeof (g_dgettext) IA__g_dgettext __attribute((visibility("hidden"))) G_GNUC_FORMAT(2);
-#define g_dgettext IA__g_dgettext
-
-extern __typeof (g_dngettext) IA__g_dngettext __attribute((visibility("hidden"))) G_GNUC_FORMAT(3);
-#define g_dngettext IA__g_dngettext
-
-extern __typeof (g_dpgettext) IA__g_dpgettext __attribute((visibility("hidden"))) G_GNUC_FORMAT(2);
-#define g_dpgettext IA__g_dpgettext
-
-extern __typeof (g_dpgettext2) IA__g_dpgettext2 __attribute((visibility("hidden"))) G_GNUC_FORMAT(3);
-#define g_dpgettext2 IA__g_dpgettext2
-
-#endif
-#endif
-#if IN_HEADER(__G_URI_FUNCS_H__)
-#if IN_FILE(__G_URI_FUNCS_C__)
-extern __typeof (g_uri_unescape_string) IA__g_uri_unescape_string __attribute((visibility("hidden")));
-#define g_uri_unescape_string IA__g_uri_unescape_string
-
-extern __typeof (g_uri_unescape_segment) IA__g_uri_unescape_segment __attribute((visibility("hidden")));
-#define g_uri_unescape_segment IA__g_uri_unescape_segment
-
-extern __typeof (g_uri_parse_scheme) IA__g_uri_parse_scheme __attribute((visibility("hidden")));
-#define g_uri_parse_scheme IA__g_uri_parse_scheme
-
-extern __typeof (g_uri_escape_string) IA__g_uri_escape_string __attribute((visibility("hidden")));
-#define g_uri_escape_string IA__g_uri_escape_string
-
-#endif
-#endif
-#if IN_HEADER(__G_STRING_H__)
-#if IN_FILE(__G_STRING_C__)
-extern __typeof (g_string_append) IA__g_string_append __attribute((visibility("hidden")));
-#define g_string_append IA__g_string_append
-
-extern __typeof (g_string_append_len) IA__g_string_append_len __attribute((visibility("hidden")));
-#define g_string_append_len IA__g_string_append_len
-
-extern __typeof (g_string_append_printf) IA__g_string_append_printf __attribute((visibility("hidden"))) G_GNUC_PRINTF(2,3);
-#define g_string_append_printf IA__g_string_append_printf
-
-extern __typeof (g_string_append_unichar) IA__g_string_append_unichar __attribute((visibility("hidden")));
-#define g_string_append_unichar IA__g_string_append_unichar
-
-extern __typeof (g_string_append_vprintf) IA__g_string_append_vprintf __attribute((visibility("hidden")));
-#define g_string_append_vprintf IA__g_string_append_vprintf
-
-extern __typeof (g_string_ascii_down) IA__g_string_ascii_down __attribute((visibility("hidden")));
-#define g_string_ascii_down IA__g_string_ascii_down
-
-extern __typeof (g_string_ascii_up) IA__g_string_ascii_up __attribute((visibility("hidden")));
-#define g_string_ascii_up IA__g_string_ascii_up
-
-extern __typeof (g_string_assign) IA__g_string_assign __attribute((visibility("hidden")));
-#define g_string_assign IA__g_string_assign
-
-extern __typeof (g_string_chunk_free) IA__g_string_chunk_free __attribute((visibility("hidden")));
-#define g_string_chunk_free IA__g_string_chunk_free
-
-extern __typeof (g_string_chunk_clear) IA__g_string_chunk_clear __attribute((visibility("hidden")));
-#define g_string_chunk_clear IA__g_string_chunk_clear
-
-extern __typeof (g_string_chunk_insert) IA__g_string_chunk_insert __attribute((visibility("hidden")));
-#define g_string_chunk_insert IA__g_string_chunk_insert
-
-extern __typeof (g_string_chunk_insert_const) IA__g_string_chunk_insert_const __attribute((visibility("hidden")));
-#define g_string_chunk_insert_const IA__g_string_chunk_insert_const
-
-extern __typeof (g_string_chunk_insert_len) IA__g_string_chunk_insert_len __attribute((visibility("hidden")));
-#define g_string_chunk_insert_len IA__g_string_chunk_insert_len
-
-extern __typeof (g_string_chunk_new) IA__g_string_chunk_new __attribute((visibility("hidden")));
-#define g_string_chunk_new IA__g_string_chunk_new
-
-extern __typeof (g_string_equal) IA__g_string_equal __attribute((visibility("hidden")));
-#define g_string_equal IA__g_string_equal
-
-extern __typeof (g_string_erase) IA__g_string_erase __attribute((visibility("hidden")));
-#define g_string_erase IA__g_string_erase
-
-extern __typeof (g_string_free) IA__g_string_free __attribute((visibility("hidden")));
-#define g_string_free IA__g_string_free
-
-extern __typeof (g_string_hash) IA__g_string_hash __attribute((visibility("hidden")));
-#define g_string_hash IA__g_string_hash
-
-extern __typeof (g_string_insert) IA__g_string_insert __attribute((visibility("hidden")));
-#define g_string_insert IA__g_string_insert
-
-extern __typeof (g_string_insert_c) IA__g_string_insert_c __attribute((visibility("hidden")));
-#define g_string_insert_c IA__g_string_insert_c
-
-extern __typeof (g_string_insert_len) IA__g_string_insert_len __attribute((visibility("hidden")));
-#define g_string_insert_len IA__g_string_insert_len
-
-extern __typeof (g_string_insert_unichar) IA__g_string_insert_unichar __attribute((visibility("hidden")));
-#define g_string_insert_unichar IA__g_string_insert_unichar
-
-extern __typeof (g_string_new) IA__g_string_new __attribute((visibility("hidden")));
-#define g_string_new IA__g_string_new
-
-extern __typeof (g_string_new_len) IA__g_string_new_len __attribute((visibility("hidden")));
-#define g_string_new_len IA__g_string_new_len
-
-extern __typeof (g_string_overwrite) IA__g_string_overwrite __attribute((visibility("hidden")));
-#define g_string_overwrite IA__g_string_overwrite
-
-extern __typeof (g_string_overwrite_len) IA__g_string_overwrite_len __attribute((visibility("hidden")));
-#define g_string_overwrite_len IA__g_string_overwrite_len
-
-extern __typeof (g_string_prepend) IA__g_string_prepend __attribute((visibility("hidden")));
-#define g_string_prepend IA__g_string_prepend
-
-extern __typeof (g_string_prepend_c) IA__g_string_prepend_c __attribute((visibility("hidden")));
-#define g_string_prepend_c IA__g_string_prepend_c
-
-extern __typeof (g_string_prepend_len) IA__g_string_prepend_len __attribute((visibility("hidden")));
-#define g_string_prepend_len IA__g_string_prepend_len
-
-extern __typeof (g_string_prepend_unichar) IA__g_string_prepend_unichar __attribute((visibility("hidden")));
-#define g_string_prepend_unichar IA__g_string_prepend_unichar
-
-extern __typeof (g_string_printf) IA__g_string_printf __attribute((visibility("hidden"))) G_GNUC_PRINTF(2,3);
-#define g_string_printf IA__g_string_printf
-
-extern __typeof (g_string_set_size) IA__g_string_set_size __attribute((visibility("hidden")));
-#define g_string_set_size IA__g_string_set_size
-
-extern __typeof (g_string_sized_new) IA__g_string_sized_new __attribute((visibility("hidden")));
-#define g_string_sized_new IA__g_string_sized_new
-
-extern __typeof (g_string_truncate) IA__g_string_truncate __attribute((visibility("hidden")));
-#define g_string_truncate IA__g_string_truncate
-
-extern __typeof (g_string_append_uri_escaped) IA__g_string_append_uri_escaped __attribute((visibility("hidden")));
-#define g_string_append_uri_escaped IA__g_string_append_uri_escaped
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_string_down) IA__g_string_down __attribute((visibility("hidden")));
-#define g_string_down IA__g_string_down
-
-extern __typeof (g_string_up) IA__g_string_up __attribute((visibility("hidden")));
-#define g_string_up IA__g_string_up
-
-#endif
-extern __typeof (g_string_vprintf) IA__g_string_vprintf __attribute((visibility("hidden")));
-#define g_string_vprintf IA__g_string_vprintf
-
-#endif
-#endif
-#if IN_HEADER(__G_BITLOCK_H__)
-#if IN_FILE(__G_BITLOCK_C__)
-extern __typeof (g_bit_lock) IA__g_bit_lock __attribute((visibility("hidden")));
-#define g_bit_lock IA__g_bit_lock
-
-extern __typeof (g_bit_trylock) IA__g_bit_trylock __attribute((visibility("hidden")));
-#define g_bit_trylock IA__g_bit_trylock
-
-extern __typeof (g_bit_unlock) IA__g_bit_unlock __attribute((visibility("hidden")));
-#define g_bit_unlock IA__g_bit_unlock
-
-#endif
-#endif
-#if IN_HEADER(__G_THREAD_H__)
-#if IN_FILE(__G_THREAD_C__)
-extern __typeof (g_once_impl) IA__g_once_impl __attribute((visibility("hidden")));
-#define g_once_impl IA__g_once_impl
-
-extern __typeof (g_once_init_enter_impl) IA__g_once_init_enter_impl __attribute((visibility("hidden")));
-#define g_once_init_enter_impl IA__g_once_init_enter_impl
-
-extern __typeof (g_once_init_leave) IA__g_once_init_leave __attribute((visibility("hidden")));
-#define g_once_init_leave IA__g_once_init_leave
-
-extern __typeof (g_thread_create_full) IA__g_thread_create_full __attribute((visibility("hidden")));
-#define g_thread_create_full IA__g_thread_create_full
-
-extern __typeof (g_thread_error_quark) IA__g_thread_error_quark __attribute((visibility("hidden")));
-#define g_thread_error_quark IA__g_thread_error_quark
-
-extern __typeof (g_thread_exit) IA__g_thread_exit __attribute((visibility("hidden")));
-#define g_thread_exit IA__g_thread_exit
-
-extern __typeof (g_thread_join) IA__g_thread_join __attribute((visibility("hidden")));
-#define g_thread_join IA__g_thread_join
-
-extern __typeof (g_thread_self) IA__g_thread_self __attribute((visibility("hidden")));
-#define g_thread_self IA__g_thread_self
-
-extern __typeof (g_thread_set_priority) IA__g_thread_set_priority __attribute((visibility("hidden")));
-#define g_thread_set_priority IA__g_thread_set_priority
-
-extern __typeof (g_static_mutex_free) IA__g_static_mutex_free __attribute((visibility("hidden")));
-#define g_static_mutex_free IA__g_static_mutex_free
-
-extern __typeof (g_static_mutex_get_mutex_impl) IA__g_static_mutex_get_mutex_impl __attribute((visibility("hidden")));
-#define g_static_mutex_get_mutex_impl IA__g_static_mutex_get_mutex_impl
-
-extern __typeof (g_static_mutex_init) IA__g_static_mutex_init __attribute((visibility("hidden")));
-#define g_static_mutex_init IA__g_static_mutex_init
-
-extern __typeof (g_static_private_free) IA__g_static_private_free __attribute((visibility("hidden")));
-#define g_static_private_free IA__g_static_private_free
-
-extern __typeof (g_static_private_get) IA__g_static_private_get __attribute((visibility("hidden")));
-#define g_static_private_get IA__g_static_private_get
-
-extern __typeof (g_static_private_init) IA__g_static_private_init __attribute((visibility("hidden")));
-#define g_static_private_init IA__g_static_private_init
-
-extern __typeof (g_static_private_set) IA__g_static_private_set __attribute((visibility("hidden")));
-#define g_static_private_set IA__g_static_private_set
-
-extern __typeof (g_static_rec_mutex_free) IA__g_static_rec_mutex_free __attribute((visibility("hidden")));
-#define g_static_rec_mutex_free IA__g_static_rec_mutex_free
-
-extern __typeof (g_static_rec_mutex_init) IA__g_static_rec_mutex_init __attribute((visibility("hidden")));
-#define g_static_rec_mutex_init IA__g_static_rec_mutex_init
-
-extern __typeof (g_static_rec_mutex_lock) IA__g_static_rec_mutex_lock __attribute((visibility("hidden")));
-#define g_static_rec_mutex_lock IA__g_static_rec_mutex_lock
-
-extern __typeof (g_static_rec_mutex_lock_full) IA__g_static_rec_mutex_lock_full __attribute((visibility("hidden")));
-#define g_static_rec_mutex_lock_full IA__g_static_rec_mutex_lock_full
-
-extern __typeof (g_static_rec_mutex_trylock) IA__g_static_rec_mutex_trylock __attribute((visibility("hidden")));
-#define g_static_rec_mutex_trylock IA__g_static_rec_mutex_trylock
-
-extern __typeof (g_static_rec_mutex_unlock) IA__g_static_rec_mutex_unlock __attribute((visibility("hidden")));
-#define g_static_rec_mutex_unlock IA__g_static_rec_mutex_unlock
-
-extern __typeof (g_static_rec_mutex_unlock_full) IA__g_static_rec_mutex_unlock_full __attribute((visibility("hidden")));
-#define g_static_rec_mutex_unlock_full IA__g_static_rec_mutex_unlock_full
-
-extern __typeof (g_static_rw_lock_free) IA__g_static_rw_lock_free __attribute((visibility("hidden")));
-#define g_static_rw_lock_free IA__g_static_rw_lock_free
-
-extern __typeof (g_static_rw_lock_init) IA__g_static_rw_lock_init __attribute((visibility("hidden")));
-#define g_static_rw_lock_init IA__g_static_rw_lock_init
-
-extern __typeof (g_static_rw_lock_reader_lock) IA__g_static_rw_lock_reader_lock __attribute((visibility("hidden")));
-#define g_static_rw_lock_reader_lock IA__g_static_rw_lock_reader_lock
-
-extern __typeof (g_static_rw_lock_reader_trylock) IA__g_static_rw_lock_reader_trylock __attribute((visibility("hidden")));
-#define g_static_rw_lock_reader_trylock IA__g_static_rw_lock_reader_trylock
-
-extern __typeof (g_static_rw_lock_reader_unlock) IA__g_static_rw_lock_reader_unlock __attribute((visibility("hidden")));
-#define g_static_rw_lock_reader_unlock IA__g_static_rw_lock_reader_unlock
-
-extern __typeof (g_static_rw_lock_writer_lock) IA__g_static_rw_lock_writer_lock __attribute((visibility("hidden")));
-#define g_static_rw_lock_writer_lock IA__g_static_rw_lock_writer_lock
-
-extern __typeof (g_static_rw_lock_writer_trylock) IA__g_static_rw_lock_writer_trylock __attribute((visibility("hidden")));
-#define g_static_rw_lock_writer_trylock IA__g_static_rw_lock_writer_trylock
-
-extern __typeof (g_static_rw_lock_writer_unlock) IA__g_static_rw_lock_writer_unlock __attribute((visibility("hidden")));
-#define g_static_rw_lock_writer_unlock IA__g_static_rw_lock_writer_unlock
-
-extern __typeof (g_thread_foreach) IA__g_thread_foreach __attribute((visibility("hidden")));
-#define g_thread_foreach IA__g_thread_foreach
-
-extern __typeof (g_thread_get_initialized) IA__g_thread_get_initialized __attribute((visibility("hidden")));
-#define g_thread_get_initialized IA__g_thread_get_initialized
-
-#endif
-#endif
-#if IN_HEADER(__G_THREADPOOL_H__)
-#if IN_FILE(__G_THREADPOOL_C__)
-extern __typeof (g_thread_pool_free) IA__g_thread_pool_free __attribute((visibility("hidden")));
-#define g_thread_pool_free IA__g_thread_pool_free
-
-extern __typeof (g_thread_pool_get_max_threads) IA__g_thread_pool_get_max_threads __attribute((visibility("hidden")));
-#define g_thread_pool_get_max_threads IA__g_thread_pool_get_max_threads
-
-extern __typeof (g_thread_pool_get_max_unused_threads) IA__g_thread_pool_get_max_unused_threads __attribute((visibility("hidden")));
-#define g_thread_pool_get_max_unused_threads IA__g_thread_pool_get_max_unused_threads
-
-extern __typeof (g_thread_pool_get_max_idle_time) IA__g_thread_pool_get_max_idle_time __attribute((visibility("hidden")));
-#define g_thread_pool_get_max_idle_time IA__g_thread_pool_get_max_idle_time
-
-extern __typeof (g_thread_pool_get_num_threads) IA__g_thread_pool_get_num_threads __attribute((visibility("hidden")));
-#define g_thread_pool_get_num_threads IA__g_thread_pool_get_num_threads
-
-extern __typeof (g_thread_pool_get_num_unused_threads) IA__g_thread_pool_get_num_unused_threads __attribute((visibility("hidden")));
-#define g_thread_pool_get_num_unused_threads IA__g_thread_pool_get_num_unused_threads
-
-extern __typeof (g_thread_pool_new) IA__g_thread_pool_new __attribute((visibility("hidden")));
-#define g_thread_pool_new IA__g_thread_pool_new
-
-extern __typeof (g_thread_pool_push) IA__g_thread_pool_push __attribute((visibility("hidden")));
-#define g_thread_pool_push IA__g_thread_pool_push
-
-extern __typeof (g_thread_pool_set_max_threads) IA__g_thread_pool_set_max_threads __attribute((visibility("hidden")));
-#define g_thread_pool_set_max_threads IA__g_thread_pool_set_max_threads
-
-extern __typeof (g_thread_pool_set_max_unused_threads) IA__g_thread_pool_set_max_unused_threads __attribute((visibility("hidden")));
-#define g_thread_pool_set_max_unused_threads IA__g_thread_pool_set_max_unused_threads
-
-extern __typeof (g_thread_pool_set_max_idle_time) IA__g_thread_pool_set_max_idle_time __attribute((visibility("hidden")));
-#define g_thread_pool_set_max_idle_time IA__g_thread_pool_set_max_idle_time
-
-extern __typeof (g_thread_pool_stop_unused_threads) IA__g_thread_pool_stop_unused_threads __attribute((visibility("hidden")));
-#define g_thread_pool_stop_unused_threads IA__g_thread_pool_stop_unused_threads
-
-extern __typeof (g_thread_pool_unprocessed) IA__g_thread_pool_unprocessed __attribute((visibility("hidden")));
-#define g_thread_pool_unprocessed IA__g_thread_pool_unprocessed
-
-extern __typeof (g_thread_pool_set_sort_function) IA__g_thread_pool_set_sort_function __attribute((visibility("hidden")));
-#define g_thread_pool_set_sort_function IA__g_thread_pool_set_sort_function
-
-#endif
-#endif
-#if IN_HEADER(__G_TEST_UTILS_H__)
-#if IN_FILE(__G_MESSAGES_C__)
-extern __typeof (g_test_log_set_fatal_handler) IA__g_test_log_set_fatal_handler __attribute((visibility("hidden")));
-#define g_test_log_set_fatal_handler IA__g_test_log_set_fatal_handler
-
-#endif
-#if IN_FILE(__G_TEST_UTILS_C__)
-extern __typeof (g_assertion_message) IA__g_assertion_message __attribute((visibility("hidden"))) G_GNUC_NORETURN;
-#define g_assertion_message IA__g_assertion_message
-
-extern __typeof (g_assertion_message_cmpnum) IA__g_assertion_message_cmpnum __attribute((visibility("hidden"))) G_GNUC_NORETURN;
-#define g_assertion_message_cmpnum IA__g_assertion_message_cmpnum
-
-extern __typeof (g_assertion_message_cmpstr) IA__g_assertion_message_cmpstr __attribute((visibility("hidden"))) G_GNUC_NORETURN;
-#define g_assertion_message_cmpstr IA__g_assertion_message_cmpstr
-
-extern __typeof (g_assertion_message_expr) IA__g_assertion_message_expr __attribute((visibility("hidden"))) G_GNUC_NORETURN;
-#define g_assertion_message_expr IA__g_assertion_message_expr
-
-extern __typeof (g_assertion_message_error) IA__g_assertion_message_error __attribute((visibility("hidden"))) G_GNUC_NORETURN;
-#define g_assertion_message_error IA__g_assertion_message_error
-
-extern __typeof (g_strcmp0) IA__g_strcmp0 __attribute((visibility("hidden")));
-#define g_strcmp0 IA__g_strcmp0
-
-extern __typeof (g_test_add_data_func) IA__g_test_add_data_func __attribute((visibility("hidden")));
-#define g_test_add_data_func IA__g_test_add_data_func
-
-extern __typeof (g_test_add_func) IA__g_test_add_func __attribute((visibility("hidden")));
-#define g_test_add_func IA__g_test_add_func
-
-extern __typeof (g_test_add_vtable) IA__g_test_add_vtable __attribute((visibility("hidden")));
-#define g_test_add_vtable IA__g_test_add_vtable
-
-extern __typeof (g_test_bug) IA__g_test_bug __attribute((visibility("hidden")));
-#define g_test_bug IA__g_test_bug
-
-extern __typeof (g_test_bug_base) IA__g_test_bug_base __attribute((visibility("hidden")));
-#define g_test_bug_base IA__g_test_bug_base
-
-extern __typeof (g_test_create_case) IA__g_test_create_case __attribute((visibility("hidden")));
-#define g_test_create_case IA__g_test_create_case
-
-extern __typeof (g_test_create_suite) IA__g_test_create_suite __attribute((visibility("hidden")));
-#define g_test_create_suite IA__g_test_create_suite
-
-extern __typeof (g_test_get_root) IA__g_test_get_root __attribute((visibility("hidden")));
-#define g_test_get_root IA__g_test_get_root
-
-extern __typeof (g_test_init) IA__g_test_init __attribute((visibility("hidden")));
-#define g_test_init IA__g_test_init
-
-extern __typeof (g_test_log_buffer_free) IA__g_test_log_buffer_free __attribute((visibility("hidden")));
-#define g_test_log_buffer_free IA__g_test_log_buffer_free
-
-extern __typeof (g_test_log_buffer_new) IA__g_test_log_buffer_new __attribute((visibility("hidden")));
-#define g_test_log_buffer_new IA__g_test_log_buffer_new
-
-extern __typeof (g_test_log_buffer_pop) IA__g_test_log_buffer_pop __attribute((visibility("hidden")));
-#define g_test_log_buffer_pop IA__g_test_log_buffer_pop
-
-extern __typeof (g_test_log_buffer_push) IA__g_test_log_buffer_push __attribute((visibility("hidden")));
-#define g_test_log_buffer_push IA__g_test_log_buffer_push
-
-extern __typeof (g_test_log_msg_free) IA__g_test_log_msg_free __attribute((visibility("hidden")));
-#define g_test_log_msg_free IA__g_test_log_msg_free
-
-extern __typeof (g_test_log_type_name) IA__g_test_log_type_name __attribute((visibility("hidden")));
-#define g_test_log_type_name IA__g_test_log_type_name
-
-extern __typeof (g_test_maximized_result) IA__g_test_maximized_result __attribute((visibility("hidden")));
-#define g_test_maximized_result IA__g_test_maximized_result
-
-extern __typeof (g_test_message) IA__g_test_message __attribute((visibility("hidden")));
-#define g_test_message IA__g_test_message
-
-extern __typeof (g_test_minimized_result) IA__g_test_minimized_result __attribute((visibility("hidden")));
-#define g_test_minimized_result IA__g_test_minimized_result
-
-extern __typeof (g_test_queue_destroy) IA__g_test_queue_destroy __attribute((visibility("hidden")));
-#define g_test_queue_destroy IA__g_test_queue_destroy
-
-extern __typeof (g_test_queue_free) IA__g_test_queue_free __attribute((visibility("hidden")));
-#define g_test_queue_free IA__g_test_queue_free
-
-extern __typeof (g_test_rand_double) IA__g_test_rand_double __attribute((visibility("hidden")));
-#define g_test_rand_double IA__g_test_rand_double
-
-extern __typeof (g_test_rand_double_range) IA__g_test_rand_double_range __attribute((visibility("hidden")));
-#define g_test_rand_double_range IA__g_test_rand_double_range
-
-extern __typeof (g_test_rand_int) IA__g_test_rand_int __attribute((visibility("hidden")));
-#define g_test_rand_int IA__g_test_rand_int
-
-extern __typeof (g_test_rand_int_range) IA__g_test_rand_int_range __attribute((visibility("hidden")));
-#define g_test_rand_int_range IA__g_test_rand_int_range
-
-extern __typeof (g_test_run) IA__g_test_run __attribute((visibility("hidden")));
-#define g_test_run IA__g_test_run
-
-extern __typeof (g_test_run_suite) IA__g_test_run_suite __attribute((visibility("hidden")));
-#define g_test_run_suite IA__g_test_run_suite
-
-extern __typeof (g_test_suite_add) IA__g_test_suite_add __attribute((visibility("hidden")));
-#define g_test_suite_add IA__g_test_suite_add
-
-extern __typeof (g_test_suite_add_suite) IA__g_test_suite_add_suite __attribute((visibility("hidden")));
-#define g_test_suite_add_suite IA__g_test_suite_add_suite
-
-extern __typeof (g_test_timer_elapsed) IA__g_test_timer_elapsed __attribute((visibility("hidden")));
-#define g_test_timer_elapsed IA__g_test_timer_elapsed
-
-extern __typeof (g_test_timer_last) IA__g_test_timer_last __attribute((visibility("hidden")));
-#define g_test_timer_last IA__g_test_timer_last
-
-extern __typeof (g_test_timer_start) IA__g_test_timer_start __attribute((visibility("hidden")));
-#define g_test_timer_start IA__g_test_timer_start
-
-extern __typeof (g_test_trap_assertions) IA__g_test_trap_assertions __attribute((visibility("hidden")));
-#define g_test_trap_assertions IA__g_test_trap_assertions
-
-extern __typeof (g_test_trap_fork) IA__g_test_trap_fork __attribute((visibility("hidden")));
-#define g_test_trap_fork IA__g_test_trap_fork
-
-extern __typeof (g_test_trap_has_passed) IA__g_test_trap_has_passed __attribute((visibility("hidden")));
-#define g_test_trap_has_passed IA__g_test_trap_has_passed
-
-extern __typeof (g_test_trap_reached_timeout) IA__g_test_trap_reached_timeout __attribute((visibility("hidden")));
-#define g_test_trap_reached_timeout IA__g_test_trap_reached_timeout
-
-#endif
-#endif
-#if IN_HEADER(__G_TIMER_H__)
-#if IN_FILE(__G_TIMER_C__)
-extern __typeof (g_timer_continue) IA__g_timer_continue __attribute((visibility("hidden")));
-#define g_timer_continue IA__g_timer_continue
-
-extern __typeof (g_timer_destroy) IA__g_timer_destroy __attribute((visibility("hidden")));
-#define g_timer_destroy IA__g_timer_destroy
-
-extern __typeof (g_timer_elapsed) IA__g_timer_elapsed __attribute((visibility("hidden")));
-#define g_timer_elapsed IA__g_timer_elapsed
-
-extern __typeof (g_timer_new) IA__g_timer_new __attribute((visibility("hidden")));
-#define g_timer_new IA__g_timer_new
-
-extern __typeof (g_timer_reset) IA__g_timer_reset __attribute((visibility("hidden")));
-#define g_timer_reset IA__g_timer_reset
-
-extern __typeof (g_timer_start) IA__g_timer_start __attribute((visibility("hidden")));
-#define g_timer_start IA__g_timer_start
-
-extern __typeof (g_timer_stop) IA__g_timer_stop __attribute((visibility("hidden")));
-#define g_timer_stop IA__g_timer_stop
-
-extern __typeof (g_time_val_add) IA__g_time_val_add __attribute((visibility("hidden")));
-#define g_time_val_add IA__g_time_val_add
-
-extern __typeof (g_time_val_from_iso8601) IA__g_time_val_from_iso8601 __attribute((visibility("hidden")));
-#define g_time_val_from_iso8601 IA__g_time_val_from_iso8601
-
-extern __typeof (g_time_val_to_iso8601) IA__g_time_val_to_iso8601 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_time_val_to_iso8601 IA__g_time_val_to_iso8601
-
-extern __typeof (g_usleep) IA__g_usleep __attribute((visibility("hidden")));
-#define g_usleep IA__g_usleep
-
-#endif
-#endif
-#if IN_HEADER(__G_TREE_H__)
-#if IN_FILE(__G_TREE_C__)
-extern __typeof (g_tree_destroy) IA__g_tree_destroy __attribute((visibility("hidden")));
-#define g_tree_destroy IA__g_tree_destroy
-
-extern __typeof (g_tree_foreach) IA__g_tree_foreach __attribute((visibility("hidden")));
-#define g_tree_foreach IA__g_tree_foreach
-
-extern __typeof (g_tree_height) IA__g_tree_height __attribute((visibility("hidden")));
-#define g_tree_height IA__g_tree_height
-
-extern __typeof (g_tree_insert) IA__g_tree_insert __attribute((visibility("hidden")));
-#define g_tree_insert IA__g_tree_insert
-
-extern __typeof (g_tree_lookup) IA__g_tree_lookup __attribute((visibility("hidden")));
-#define g_tree_lookup IA__g_tree_lookup
-
-extern __typeof (g_tree_lookup_extended) IA__g_tree_lookup_extended __attribute((visibility("hidden")));
-#define g_tree_lookup_extended IA__g_tree_lookup_extended
-
-extern __typeof (g_tree_new) IA__g_tree_new __attribute((visibility("hidden")));
-#define g_tree_new IA__g_tree_new
-
-extern __typeof (g_tree_ref) IA__g_tree_ref __attribute((visibility("hidden")));
-#define g_tree_ref IA__g_tree_ref
-
-extern __typeof (g_tree_unref) IA__g_tree_unref __attribute((visibility("hidden")));
-#define g_tree_unref IA__g_tree_unref
-
-extern __typeof (g_tree_new_full) IA__g_tree_new_full __attribute((visibility("hidden")));
-#define g_tree_new_full IA__g_tree_new_full
-
-extern __typeof (g_tree_new_with_data) IA__g_tree_new_with_data __attribute((visibility("hidden")));
-#define g_tree_new_with_data IA__g_tree_new_with_data
-
-extern __typeof (g_tree_nnodes) IA__g_tree_nnodes __attribute((visibility("hidden")));
-#define g_tree_nnodes IA__g_tree_nnodes
-
-extern __typeof (g_tree_remove) IA__g_tree_remove __attribute((visibility("hidden")));
-#define g_tree_remove IA__g_tree_remove
-
-extern __typeof (g_tree_replace) IA__g_tree_replace __attribute((visibility("hidden")));
-#define g_tree_replace IA__g_tree_replace
-
-extern __typeof (g_tree_search) IA__g_tree_search __attribute((visibility("hidden")));
-#define g_tree_search IA__g_tree_search
-
-extern __typeof (g_tree_steal) IA__g_tree_steal __attribute((visibility("hidden")));
-#define g_tree_steal IA__g_tree_steal
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_tree_traverse) IA__g_tree_traverse __attribute((visibility("hidden")));
-#define g_tree_traverse IA__g_tree_traverse
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_UNICODE_H__)
-#if IN_FILE(__G_UNIBREAK_C__)
-extern __typeof (g_unichar_break_type) IA__g_unichar_break_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_break_type IA__g_unichar_break_type
-
-#endif
-#endif
-#if IN_HEADER(__G_UNICODE_H__)
-#if IN_FILE(__G_UNICOLLATE_C__)
-extern __typeof (g_utf8_collate) IA__g_utf8_collate __attribute((visibility("hidden")));
-#define g_utf8_collate IA__g_utf8_collate
-
-extern __typeof (g_utf8_collate_key) IA__g_utf8_collate_key __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_utf8_collate_key IA__g_utf8_collate_key
-
-extern __typeof (g_utf8_collate_key_for_filename) IA__g_utf8_collate_key_for_filename __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_utf8_collate_key_for_filename IA__g_utf8_collate_key_for_filename
-
-#endif
-#endif
-#if IN_HEADER(__G_UNICODE_H__)
-#if IN_FILE(__G_UNIDECOMP_C__)
-extern __typeof (g_unicode_canonical_decomposition) IA__g_unicode_canonical_decomposition __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_unicode_canonical_decomposition IA__g_unicode_canonical_decomposition
-
-extern __typeof (g_unicode_canonical_ordering) IA__g_unicode_canonical_ordering __attribute((visibility("hidden")));
-#define g_unicode_canonical_ordering IA__g_unicode_canonical_ordering
-
-extern __typeof (g_unichar_combining_class) IA__g_unichar_combining_class __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_combining_class IA__g_unichar_combining_class
-
-extern __typeof (g_utf8_normalize) IA__g_utf8_normalize __attribute((visibility("hidden")));
-#define g_utf8_normalize IA__g_utf8_normalize
-
-#endif
-#endif
-#if IN_HEADER(__G_UNICODE_H__)
-#if IN_FILE(__G_UNIPROP_C__)
-extern __typeof (g_unichar_isalnum) IA__g_unichar_isalnum __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_isalnum IA__g_unichar_isalnum
-
-extern __typeof (g_unichar_isalpha) IA__g_unichar_isalpha __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_isalpha IA__g_unichar_isalpha
-
-extern __typeof (g_unichar_iscntrl) IA__g_unichar_iscntrl __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_iscntrl IA__g_unichar_iscntrl
-
-extern __typeof (g_unichar_isdefined) IA__g_unichar_isdefined __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_isdefined IA__g_unichar_isdefined
-
-extern __typeof (g_unichar_isdigit) IA__g_unichar_isdigit __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_isdigit IA__g_unichar_isdigit
-
-extern __typeof (g_unichar_isgraph) IA__g_unichar_isgraph __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_isgraph IA__g_unichar_isgraph
-
-extern __typeof (g_unichar_islower) IA__g_unichar_islower __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_islower IA__g_unichar_islower
-
-extern __typeof (g_unichar_isprint) IA__g_unichar_isprint __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_isprint IA__g_unichar_isprint
-
-extern __typeof (g_unichar_ispunct) IA__g_unichar_ispunct __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_ispunct IA__g_unichar_ispunct
-
-extern __typeof (g_unichar_isspace) IA__g_unichar_isspace __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_isspace IA__g_unichar_isspace
-
-extern __typeof (g_unichar_istitle) IA__g_unichar_istitle __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_istitle IA__g_unichar_istitle
-
-extern __typeof (g_unichar_isupper) IA__g_unichar_isupper __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_isupper IA__g_unichar_isupper
-
-extern __typeof (g_unichar_iswide) IA__g_unichar_iswide __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_iswide IA__g_unichar_iswide
-
-extern __typeof (g_unichar_iswide_cjk) IA__g_unichar_iswide_cjk __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_iswide_cjk IA__g_unichar_iswide_cjk
-
-extern __typeof (g_unichar_isxdigit) IA__g_unichar_isxdigit __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_isxdigit IA__g_unichar_isxdigit
-
-extern __typeof (g_unichar_iszerowidth) IA__g_unichar_iszerowidth __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_iszerowidth IA__g_unichar_iszerowidth
-
-extern __typeof (g_unichar_tolower) IA__g_unichar_tolower __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_tolower IA__g_unichar_tolower
-
-extern __typeof (g_unichar_totitle) IA__g_unichar_totitle __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_totitle IA__g_unichar_totitle
-
-extern __typeof (g_unichar_toupper) IA__g_unichar_toupper __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_toupper IA__g_unichar_toupper
-
-extern __typeof (g_unichar_ismark) IA__g_unichar_ismark __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_ismark IA__g_unichar_ismark
-
-extern __typeof (g_unichar_get_mirror_char) IA__g_unichar_get_mirror_char __attribute((visibility("hidden")));
-#define g_unichar_get_mirror_char IA__g_unichar_get_mirror_char
-
-extern __typeof (g_unichar_get_script) IA__g_unichar_get_script __attribute((visibility("hidden")));
-#define g_unichar_get_script IA__g_unichar_get_script
-
-extern __typeof (g_unichar_digit_value) IA__g_unichar_digit_value __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_digit_value IA__g_unichar_digit_value
-
-extern __typeof (g_unichar_xdigit_value) IA__g_unichar_xdigit_value __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_xdigit_value IA__g_unichar_xdigit_value
-
-extern __typeof (g_unichar_type) IA__g_unichar_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_unichar_type IA__g_unichar_type
-
-extern __typeof (g_utf8_casefold) IA__g_utf8_casefold __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_utf8_casefold IA__g_utf8_casefold
-
-extern __typeof (g_utf8_strup) IA__g_utf8_strup __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_utf8_strup IA__g_utf8_strup
-
-extern __typeof (g_utf8_strdown) IA__g_utf8_strdown __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_utf8_strdown IA__g_utf8_strdown
-
-#endif
-#endif
-#if IN_HEADER(__G_UNICODE_H__)
-#if IN_FILE(__G_UTF8_C__)
-extern __typeof (g_get_charset) IA__g_get_charset __attribute((visibility("hidden")));
-#define g_get_charset IA__g_get_charset
-
-extern __typeof (g_ucs4_to_utf16) IA__g_ucs4_to_utf16 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_ucs4_to_utf16 IA__g_ucs4_to_utf16
-
-extern __typeof (g_ucs4_to_utf8) IA__g_ucs4_to_utf8 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_ucs4_to_utf8 IA__g_ucs4_to_utf8
-
-extern __typeof (g_utf16_to_ucs4) IA__g_utf16_to_ucs4 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_utf16_to_ucs4 IA__g_utf16_to_ucs4
-
-extern __typeof (g_utf16_to_utf8) IA__g_utf16_to_utf8 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_utf16_to_utf8 IA__g_utf16_to_utf8
-
-extern __typeof (g_utf8_find_next_char) IA__g_utf8_find_next_char __attribute((visibility("hidden")));
-#define g_utf8_find_next_char IA__g_utf8_find_next_char
-
-extern __typeof (g_utf8_find_prev_char) IA__g_utf8_find_prev_char __attribute((visibility("hidden")));
-#define g_utf8_find_prev_char IA__g_utf8_find_prev_char
-
-extern __typeof (g_utf8_get_char) IA__g_utf8_get_char __attribute((visibility("hidden")));
-#define g_utf8_get_char IA__g_utf8_get_char
-
-extern __typeof (g_utf8_get_char_validated) IA__g_utf8_get_char_validated __attribute((visibility("hidden")));
-#define g_utf8_get_char_validated IA__g_utf8_get_char_validated
-
-extern __typeof (g_utf8_offset_to_pointer) IA__g_utf8_offset_to_pointer __attribute((visibility("hidden")));
-#define g_utf8_offset_to_pointer IA__g_utf8_offset_to_pointer
-
-extern __typeof (g_utf8_pointer_to_offset) IA__g_utf8_pointer_to_offset __attribute((visibility("hidden")));
-#define g_utf8_pointer_to_offset IA__g_utf8_pointer_to_offset
-
-extern __typeof (g_utf8_prev_char) IA__g_utf8_prev_char __attribute((visibility("hidden")));
-#define g_utf8_prev_char IA__g_utf8_prev_char
-
-extern __typeof (g_utf8_strchr) IA__g_utf8_strchr __attribute((visibility("hidden")));
-#define g_utf8_strchr IA__g_utf8_strchr
-
-extern __typeof (g_utf8_strlen) IA__g_utf8_strlen __attribute((visibility("hidden")));
-#define g_utf8_strlen IA__g_utf8_strlen
-
-extern __typeof (g_utf8_strncpy) IA__g_utf8_strncpy __attribute((visibility("hidden")));
-#define g_utf8_strncpy IA__g_utf8_strncpy
-
-extern __typeof (g_utf8_strrchr) IA__g_utf8_strrchr __attribute((visibility("hidden")));
-#define g_utf8_strrchr IA__g_utf8_strrchr
-
-extern __typeof (g_utf8_strreverse) IA__g_utf8_strreverse __attribute((visibility("hidden")));
-#define g_utf8_strreverse IA__g_utf8_strreverse
-
-extern __typeof (g_utf8_to_ucs4) IA__g_utf8_to_ucs4 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_utf8_to_ucs4 IA__g_utf8_to_ucs4
-
-extern __typeof (g_utf8_to_ucs4_fast) IA__g_utf8_to_ucs4_fast __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_utf8_to_ucs4_fast IA__g_utf8_to_ucs4_fast
-
-extern __typeof (g_utf8_to_utf16) IA__g_utf8_to_utf16 __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_utf8_to_utf16 IA__g_utf8_to_utf16
-
-extern __typeof (g_utf8_validate) IA__g_utf8_validate __attribute((visibility("hidden")));
-#define g_utf8_validate IA__g_utf8_validate
-
-extern __typeof (g_unichar_to_utf8) IA__g_unichar_to_utf8 __attribute((visibility("hidden")));
-#define g_unichar_to_utf8 IA__g_unichar_to_utf8
-
-extern __typeof (g_unichar_validate) IA__g_unichar_validate __attribute((visibility("hidden")));
-#define g_unichar_validate IA__g_unichar_validate
-
-#endif
-#endif
-#if IN_HEADER(__GLIBINTL_H__)
-#if IN_FILE(__G_UTILS_C__)
-extern __typeof (glib_gettext) IA__glib_gettext __attribute((visibility("hidden"))) G_GNUC_FORMAT(1);
-#define glib_gettext IA__glib_gettext
-
-#endif
-#endif
-#if IN_HEADER(__G_HASH_H__)
-#if IN_FILE(__G_UTILS_C__)
-extern __typeof (g_int_equal) IA__g_int_equal __attribute((visibility("hidden")));
-#define g_int_equal IA__g_int_equal
-
-extern __typeof (g_int_hash) IA__g_int_hash __attribute((visibility("hidden")));
-#define g_int_hash IA__g_int_hash
-
-extern __typeof (g_int64_equal) IA__g_int64_equal __attribute((visibility("hidden")));
-#define g_int64_equal IA__g_int64_equal
-
-extern __typeof (g_int64_hash) IA__g_int64_hash __attribute((visibility("hidden")));
-#define g_int64_hash IA__g_int64_hash
-
-extern __typeof (g_double_equal) IA__g_double_equal __attribute((visibility("hidden")));
-#define g_double_equal IA__g_double_equal
-
-extern __typeof (g_double_hash) IA__g_double_hash __attribute((visibility("hidden")));
-#define g_double_hash IA__g_double_hash
-
-extern __typeof (g_direct_equal) IA__g_direct_equal __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_direct_equal IA__g_direct_equal
-
-extern __typeof (g_direct_hash) IA__g_direct_hash __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_direct_hash IA__g_direct_hash
-
-#endif
-#if IN_FILE(__G_STRING_C__)
-extern __typeof (g_str_equal) IA__g_str_equal __attribute((visibility("hidden")));
-#define g_str_equal IA__g_str_equal
-
-extern __typeof (g_str_hash) IA__g_str_hash __attribute((visibility("hidden")));
-#define g_str_hash IA__g_str_hash
-
-#endif
-#endif
-#if IN_HEADER(__G_UTILS_H__)
-#if IN_FILE(__G_UTILS_C__)
-extern __typeof (g_atexit) IA__g_atexit __attribute((visibility("hidden")));
-#define g_atexit IA__g_atexit
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_basename) IA__g_basename __attribute((visibility("hidden")));
-#define g_basename IA__g_basename
-
-#endif
-extern __typeof (g_get_application_name) IA__g_get_application_name __attribute((visibility("hidden")));
-#define g_get_application_name IA__g_get_application_name
-
-#ifndef _WIN64
-extern __typeof (g_find_program_in_path) IA__g_find_program_in_path __attribute((visibility("hidden")));
-#define g_find_program_in_path IA__g_find_program_in_path
-
-extern __typeof (g_get_current_dir) IA__g_get_current_dir __attribute((visibility("hidden")));
-#define g_get_current_dir IA__g_get_current_dir
-
-extern __typeof (g_getenv) IA__g_getenv __attribute((visibility("hidden")));
-#define g_getenv IA__g_getenv
-
-extern __typeof (g_unsetenv) IA__g_unsetenv __attribute((visibility("hidden")));
-#define g_unsetenv IA__g_unsetenv
-
-extern __typeof (g_get_home_dir) IA__g_get_home_dir __attribute((visibility("hidden")));
-#define g_get_home_dir IA__g_get_home_dir
-
-#endif
-extern __typeof (g_get_host_name) IA__g_get_host_name __attribute((visibility("hidden")));
-#define g_get_host_name IA__g_get_host_name
-
-#ifndef _WIN64
-extern __typeof (g_setenv) IA__g_setenv __attribute((visibility("hidden")));
-#define g_setenv IA__g_setenv
-
-#endif
-extern __typeof (g_listenv) IA__g_listenv __attribute((visibility("hidden")));
-#define g_listenv IA__g_listenv
-
-#ifdef G_OS_WIN32
-extern __typeof (g_find_program_in_path_utf8) IA__g_find_program_in_path_utf8 __attribute((visibility("hidden")));
-#define g_find_program_in_path_utf8 IA__g_find_program_in_path_utf8
-
-extern __typeof (g_get_current_dir_utf8) IA__g_get_current_dir_utf8 __attribute((visibility("hidden")));
-#define g_get_current_dir_utf8 IA__g_get_current_dir_utf8
-
-extern __typeof (g_getenv_utf8) IA__g_getenv_utf8 __attribute((visibility("hidden")));
-#define g_getenv_utf8 IA__g_getenv_utf8
-
-extern __typeof (g_unsetenv_utf8) IA__g_unsetenv_utf8 __attribute((visibility("hidden")));
-#define g_unsetenv_utf8 IA__g_unsetenv_utf8
-
-extern __typeof (g_setenv_utf8) IA__g_setenv_utf8 __attribute((visibility("hidden")));
-#define g_setenv_utf8 IA__g_setenv_utf8
-
-extern __typeof (g_get_home_dir_utf8) IA__g_get_home_dir_utf8 __attribute((visibility("hidden")));
-#define g_get_home_dir_utf8 IA__g_get_home_dir_utf8
-
-#endif
-extern __typeof (g_get_language_names) IA__g_get_language_names __attribute((visibility("hidden")));
-#define g_get_language_names IA__g_get_language_names
-
-extern __typeof (g_get_prgname) IA__g_get_prgname __attribute((visibility("hidden")));
-#define g_get_prgname IA__g_get_prgname
-
-#ifndef _WIN64
-extern __typeof (g_get_real_name) IA__g_get_real_name __attribute((visibility("hidden")));
-#define g_get_real_name IA__g_get_real_name
-
-#endif
-#ifdef G_OS_WIN32
-extern __typeof (g_get_real_name_utf8) IA__g_get_real_name_utf8 __attribute((visibility("hidden")));
-#define g_get_real_name_utf8 IA__g_get_real_name_utf8
-
-#endif
-extern __typeof (g_get_system_config_dirs) IA__g_get_system_config_dirs __attribute((visibility("hidden")));
-#define g_get_system_config_dirs IA__g_get_system_config_dirs
-
-extern __typeof (g_get_system_data_dirs) IA__g_get_system_data_dirs __attribute((visibility("hidden")));
-#define g_get_system_data_dirs IA__g_get_system_data_dirs
-
-#ifdef G_OS_WIN32
-extern __typeof (g_win32_get_system_data_dirs_for_module) IA__g_win32_get_system_data_dirs_for_module __attribute((visibility("hidden")));
-#define g_win32_get_system_data_dirs_for_module IA__g_win32_get_system_data_dirs_for_module
-
-#endif
-#ifndef _WIN64
-extern __typeof (g_get_tmp_dir) IA__g_get_tmp_dir __attribute((visibility("hidden")));
-#define g_get_tmp_dir IA__g_get_tmp_dir
-
-#endif
-#ifdef G_OS_WIN32
-extern __typeof (g_get_tmp_dir_utf8) IA__g_get_tmp_dir_utf8 __attribute((visibility("hidden")));
-#define g_get_tmp_dir_utf8 IA__g_get_tmp_dir_utf8
-
-#endif
-extern __typeof (g_get_user_cache_dir) IA__g_get_user_cache_dir __attribute((visibility("hidden")));
-#define g_get_user_cache_dir IA__g_get_user_cache_dir
-
-extern __typeof (g_get_user_config_dir) IA__g_get_user_config_dir __attribute((visibility("hidden")));
-#define g_get_user_config_dir IA__g_get_user_config_dir
-
-extern __typeof (g_get_user_data_dir) IA__g_get_user_data_dir __attribute((visibility("hidden")));
-#define g_get_user_data_dir IA__g_get_user_data_dir
-
-extern __typeof (g_reload_user_special_dirs_cache) IA__g_reload_user_special_dirs_cache __attribute((visibility("hidden")));
-#define g_reload_user_special_dirs_cache IA__g_reload_user_special_dirs_cache
-
-extern __typeof (g_get_user_special_dir) IA__g_get_user_special_dir __attribute((visibility("hidden")));
-#define g_get_user_special_dir IA__g_get_user_special_dir
-
-#ifndef _WIN64
-extern __typeof (g_get_user_name) IA__g_get_user_name __attribute((visibility("hidden")));
-#define g_get_user_name IA__g_get_user_name
-
-#endif
-#ifdef G_OS_WIN32
-extern __typeof (g_get_user_name_utf8) IA__g_get_user_name_utf8 __attribute((visibility("hidden")));
-#define g_get_user_name_utf8 IA__g_get_user_name_utf8
-
-#endif
-extern __typeof (glib_check_version) IA__glib_check_version __attribute((visibility("hidden")));
-#define glib_check_version IA__glib_check_version
-
-extern __typeof (g_nullify_pointer) IA__g_nullify_pointer __attribute((visibility("hidden")));
-#define g_nullify_pointer IA__g_nullify_pointer
-
-extern __typeof (g_parse_debug_string) IA__g_parse_debug_string __attribute((visibility("hidden")));
-#define g_parse_debug_string IA__g_parse_debug_string
-
-extern __typeof (g_path_get_basename) IA__g_path_get_basename __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_path_get_basename IA__g_path_get_basename
-
-extern __typeof (g_path_get_dirname) IA__g_path_get_dirname __attribute((visibility("hidden"))) G_GNUC_MALLOC;
-#define g_path_get_dirname IA__g_path_get_dirname
-
-extern __typeof (g_path_is_absolute) IA__g_path_is_absolute __attribute((visibility("hidden")));
-#define g_path_is_absolute IA__g_path_is_absolute
-
-extern __typeof (g_path_skip_root) IA__g_path_skip_root __attribute((visibility("hidden")));
-#define g_path_skip_root IA__g_path_skip_root
-
-extern __typeof (g_set_application_name) IA__g_set_application_name __attribute((visibility("hidden")));
-#define g_set_application_name IA__g_set_application_name
-
-extern __typeof (g_set_prgname) IA__g_set_prgname __attribute((visibility("hidden")));
-#define g_set_prgname IA__g_set_prgname
-
-#endif
-#endif
-#if IN_HEADER(__G_REGEX_H__)
-#if IN_FILE(__G_REGEX_C__)
-extern __typeof (g_regex_error_quark) IA__g_regex_error_quark __attribute((visibility("hidden")));
-#define g_regex_error_quark IA__g_regex_error_quark
-
-extern __typeof (g_regex_new) IA__g_regex_new __attribute((visibility("hidden")));
-#define g_regex_new IA__g_regex_new
-
-extern __typeof (g_regex_ref) IA__g_regex_ref __attribute((visibility("hidden")));
-#define g_regex_ref IA__g_regex_ref
-
-extern __typeof (g_regex_unref) IA__g_regex_unref __attribute((visibility("hidden")));
-#define g_regex_unref IA__g_regex_unref
-
-extern __typeof (g_regex_get_pattern) IA__g_regex_get_pattern __attribute((visibility("hidden")));
-#define g_regex_get_pattern IA__g_regex_get_pattern
-
-extern __typeof (g_regex_get_max_backref) IA__g_regex_get_max_backref __attribute((visibility("hidden")));
-#define g_regex_get_max_backref IA__g_regex_get_max_backref
-
-extern __typeof (g_regex_get_capture_count) IA__g_regex_get_capture_count __attribute((visibility("hidden")));
-#define g_regex_get_capture_count IA__g_regex_get_capture_count
-
-extern __typeof (g_regex_get_string_number) IA__g_regex_get_string_number __attribute((visibility("hidden")));
-#define g_regex_get_string_number IA__g_regex_get_string_number
-
-extern __typeof (g_regex_escape_string) IA__g_regex_escape_string __attribute((visibility("hidden")));
-#define g_regex_escape_string IA__g_regex_escape_string
-
-extern __typeof (g_regex_match_simple) IA__g_regex_match_simple __attribute((visibility("hidden")));
-#define g_regex_match_simple IA__g_regex_match_simple
-
-extern __typeof (g_regex_match) IA__g_regex_match __attribute((visibility("hidden")));
-#define g_regex_match IA__g_regex_match
-
-extern __typeof (g_regex_match_full) IA__g_regex_match_full __attribute((visibility("hidden")));
-#define g_regex_match_full IA__g_regex_match_full
-
-extern __typeof (g_regex_match_all) IA__g_regex_match_all __attribute((visibility("hidden")));
-#define g_regex_match_all IA__g_regex_match_all
-
-extern __typeof (g_regex_match_all_full) IA__g_regex_match_all_full __attribute((visibility("hidden")));
-#define g_regex_match_all_full IA__g_regex_match_all_full
-
-extern __typeof (g_regex_split_simple) IA__g_regex_split_simple __attribute((visibility("hidden")));
-#define g_regex_split_simple IA__g_regex_split_simple
-
-extern __typeof (g_regex_split) IA__g_regex_split __attribute((visibility("hidden")));
-#define g_regex_split IA__g_regex_split
-
-extern __typeof (g_regex_split_full) IA__g_regex_split_full __attribute((visibility("hidden")));
-#define g_regex_split_full IA__g_regex_split_full
-
-extern __typeof (g_regex_replace) IA__g_regex_replace __attribute((visibility("hidden")));
-#define g_regex_replace IA__g_regex_replace
-
-extern __typeof (g_regex_replace_literal) IA__g_regex_replace_literal __attribute((visibility("hidden")));
-#define g_regex_replace_literal IA__g_regex_replace_literal
-
-extern __typeof (g_regex_replace_eval) IA__g_regex_replace_eval __attribute((visibility("hidden")));
-#define g_regex_replace_eval IA__g_regex_replace_eval
-
-extern __typeof (g_regex_check_replacement) IA__g_regex_check_replacement __attribute((visibility("hidden")));
-#define g_regex_check_replacement IA__g_regex_check_replacement
-
-extern __typeof (g_match_info_get_regex) IA__g_match_info_get_regex __attribute((visibility("hidden")));
-#define g_match_info_get_regex IA__g_match_info_get_regex
-
-extern __typeof (g_match_info_get_string) IA__g_match_info_get_string __attribute((visibility("hidden")));
-#define g_match_info_get_string IA__g_match_info_get_string
-
-extern __typeof (g_match_info_free) IA__g_match_info_free __attribute((visibility("hidden")));
-#define g_match_info_free IA__g_match_info_free
-
-extern __typeof (g_match_info_next) IA__g_match_info_next __attribute((visibility("hidden")));
-#define g_match_info_next IA__g_match_info_next
-
-extern __typeof (g_match_info_matches) IA__g_match_info_matches __attribute((visibility("hidden")));
-#define g_match_info_matches IA__g_match_info_matches
-
-extern __typeof (g_match_info_get_match_count) IA__g_match_info_get_match_count __attribute((visibility("hidden")));
-#define g_match_info_get_match_count IA__g_match_info_get_match_count
-
-extern __typeof (g_match_info_is_partial_match) IA__g_match_info_is_partial_match __attribute((visibility("hidden")));
-#define g_match_info_is_partial_match IA__g_match_info_is_partial_match
-
-extern __typeof (g_match_info_expand_references) IA__g_match_info_expand_references __attribute((visibility("hidden")));
-#define g_match_info_expand_references IA__g_match_info_expand_references
-
-extern __typeof (g_match_info_fetch) IA__g_match_info_fetch __attribute((visibility("hidden")));
-#define g_match_info_fetch IA__g_match_info_fetch
-
-extern __typeof (g_match_info_fetch_pos) IA__g_match_info_fetch_pos __attribute((visibility("hidden")));
-#define g_match_info_fetch_pos IA__g_match_info_fetch_pos
-
-extern __typeof (g_match_info_fetch_named) IA__g_match_info_fetch_named __attribute((visibility("hidden")));
-#define g_match_info_fetch_named IA__g_match_info_fetch_named
-
-extern __typeof (g_match_info_fetch_named_pos) IA__g_match_info_fetch_named_pos __attribute((visibility("hidden")));
-#define g_match_info_fetch_named_pos IA__g_match_info_fetch_named_pos
-
-extern __typeof (g_match_info_fetch_all) IA__g_match_info_fetch_all __attribute((visibility("hidden")));
-#define g_match_info_fetch_all IA__g_match_info_fetch_all
-
-#endif
-#endif
-#if IN_HEADER(__G_VARIANT_TYPE_H__)
-#if IN_FILE(__G_VARIANT_TYPE_C__)
-extern __typeof (g_variant_type_string_is_valid) IA__g_variant_type_string_is_valid __attribute((visibility("hidden")));
-#define g_variant_type_string_is_valid IA__g_variant_type_string_is_valid
-
-extern __typeof (g_variant_type_string_scan) IA__g_variant_type_string_scan __attribute((visibility("hidden")));
-#define g_variant_type_string_scan IA__g_variant_type_string_scan
-
-extern __typeof (g_variant_type_free) IA__g_variant_type_free __attribute((visibility("hidden")));
-#define g_variant_type_free IA__g_variant_type_free
-
-extern __typeof (g_variant_type_copy) IA__g_variant_type_copy __attribute((visibility("hidden")));
-#define g_variant_type_copy IA__g_variant_type_copy
-
-extern __typeof (g_variant_type_new) IA__g_variant_type_new __attribute((visibility("hidden")));
-#define g_variant_type_new IA__g_variant_type_new
-
-extern __typeof (g_variant_type_get_string_length) IA__g_variant_type_get_string_length __attribute((visibility("hidden")));
-#define g_variant_type_get_string_length IA__g_variant_type_get_string_length
-
-extern __typeof (g_variant_type_peek_string) IA__g_variant_type_peek_string __attribute((visibility("hidden")));
-#define g_variant_type_peek_string IA__g_variant_type_peek_string
-
-extern __typeof (g_variant_type_dup_string) IA__g_variant_type_dup_string __attribute((visibility("hidden")));
-#define g_variant_type_dup_string IA__g_variant_type_dup_string
-
-extern __typeof (g_variant_type_is_definite) IA__g_variant_type_is_definite __attribute((visibility("hidden")));
-#define g_variant_type_is_definite IA__g_variant_type_is_definite
-
-extern __typeof (g_variant_type_is_container) IA__g_variant_type_is_container __attribute((visibility("hidden")));
-#define g_variant_type_is_container IA__g_variant_type_is_container
-
-extern __typeof (g_variant_type_is_basic) IA__g_variant_type_is_basic __attribute((visibility("hidden")));
-#define g_variant_type_is_basic IA__g_variant_type_is_basic
-
-extern __typeof (g_variant_type_is_maybe) IA__g_variant_type_is_maybe __attribute((visibility("hidden")));
-#define g_variant_type_is_maybe IA__g_variant_type_is_maybe
-
-extern __typeof (g_variant_type_is_array) IA__g_variant_type_is_array __attribute((visibility("hidden")));
-#define g_variant_type_is_array IA__g_variant_type_is_array
-
-extern __typeof (g_variant_type_is_tuple) IA__g_variant_type_is_tuple __attribute((visibility("hidden")));
-#define g_variant_type_is_tuple IA__g_variant_type_is_tuple
-
-extern __typeof (g_variant_type_is_dict_entry) IA__g_variant_type_is_dict_entry __attribute((visibility("hidden")));
-#define g_variant_type_is_dict_entry IA__g_variant_type_is_dict_entry
-
-extern __typeof (g_variant_type_is_variant) IA__g_variant_type_is_variant __attribute((visibility("hidden")));
-#define g_variant_type_is_variant IA__g_variant_type_is_variant
-
-extern __typeof (g_variant_type_hash) IA__g_variant_type_hash __attribute((visibility("hidden")));
-#define g_variant_type_hash IA__g_variant_type_hash
-
-extern __typeof (g_variant_type_equal) IA__g_variant_type_equal __attribute((visibility("hidden")));
-#define g_variant_type_equal IA__g_variant_type_equal
-
-extern __typeof (g_variant_type_is_subtype_of) IA__g_variant_type_is_subtype_of __attribute((visibility("hidden")));
-#define g_variant_type_is_subtype_of IA__g_variant_type_is_subtype_of
-
-extern __typeof (g_variant_type_element) IA__g_variant_type_element __attribute((visibility("hidden")));
-#define g_variant_type_element IA__g_variant_type_element
-
-extern __typeof (g_variant_type_first) IA__g_variant_type_first __attribute((visibility("hidden")));
-#define g_variant_type_first IA__g_variant_type_first
-
-extern __typeof (g_variant_type_next) IA__g_variant_type_next __attribute((visibility("hidden")));
-#define g_variant_type_next IA__g_variant_type_next
-
-extern __typeof (g_variant_type_n_items) IA__g_variant_type_n_items __attribute((visibility("hidden")));
-#define g_variant_type_n_items IA__g_variant_type_n_items
-
-extern __typeof (g_variant_type_key) IA__g_variant_type_key __attribute((visibility("hidden")));
-#define g_variant_type_key IA__g_variant_type_key
-
-extern __typeof (g_variant_type_value) IA__g_variant_type_value __attribute((visibility("hidden")));
-#define g_variant_type_value IA__g_variant_type_value
-
-extern __typeof (g_variant_type_new_array) IA__g_variant_type_new_array __attribute((visibility("hidden")));
-#define g_variant_type_new_array IA__g_variant_type_new_array
-
-extern __typeof (g_variant_type_new_maybe) IA__g_variant_type_new_maybe __attribute((visibility("hidden")));
-#define g_variant_type_new_maybe IA__g_variant_type_new_maybe
-
-extern __typeof (g_variant_type_new_tuple) IA__g_variant_type_new_tuple __attribute((visibility("hidden")));
-#define g_variant_type_new_tuple IA__g_variant_type_new_tuple
-
-extern __typeof (g_variant_type_new_dict_entry) IA__g_variant_type_new_dict_entry __attribute((visibility("hidden")));
-#define g_variant_type_new_dict_entry IA__g_variant_type_new_dict_entry
-
-extern __typeof (g_variant_type_checked_) IA__g_variant_type_checked_ __attribute((visibility("hidden")));
-#define g_variant_type_checked_ IA__g_variant_type_checked_
-
-#endif
-#endif
-#if IN_HEADER(__G_VARIANT_H__)
-#if IN_FILE(__G_VARIANT_CORE_C__)
-extern __typeof (g_variant_unref) IA__g_variant_unref __attribute((visibility("hidden")));
-#define g_variant_unref IA__g_variant_unref
-
-extern __typeof (g_variant_ref) IA__g_variant_ref __attribute((visibility("hidden")));
-#define g_variant_ref IA__g_variant_ref
-
-extern __typeof (g_variant_ref_sink) IA__g_variant_ref_sink __attribute((visibility("hidden")));
-#define g_variant_ref_sink IA__g_variant_ref_sink
-
-extern __typeof (g_variant_n_children) IA__g_variant_n_children __attribute((visibility("hidden")));
-#define g_variant_n_children IA__g_variant_n_children
-
-extern __typeof (g_variant_get_child_value) IA__g_variant_get_child_value __attribute((visibility("hidden")));
-#define g_variant_get_child_value IA__g_variant_get_child_value
-
-extern __typeof (g_variant_get_size) IA__g_variant_get_size __attribute((visibility("hidden")));
-#define g_variant_get_size IA__g_variant_get_size
-
-extern __typeof (g_variant_get_data) IA__g_variant_get_data __attribute((visibility("hidden")));
-#define g_variant_get_data IA__g_variant_get_data
-
-extern __typeof (g_variant_store) IA__g_variant_store __attribute((visibility("hidden")));
-#define g_variant_store IA__g_variant_store
-
-extern __typeof (g_variant_is_normal_form) IA__g_variant_is_normal_form __attribute((visibility("hidden")));
-#define g_variant_is_normal_form IA__g_variant_is_normal_form
-
-#endif
-#if IN_FILE(__G_VARIANT_C__)
-extern __typeof (g_variant_get_type) IA__g_variant_get_type __attribute((visibility("hidden")));
-#define g_variant_get_type IA__g_variant_get_type
-
-extern __typeof (g_variant_get_type_string) IA__g_variant_get_type_string __attribute((visibility("hidden")));
-#define g_variant_get_type_string IA__g_variant_get_type_string
-
-extern __typeof (g_variant_is_of_type) IA__g_variant_is_of_type __attribute((visibility("hidden")));
-#define g_variant_is_of_type IA__g_variant_is_of_type
-
-extern __typeof (g_variant_is_container) IA__g_variant_is_container __attribute((visibility("hidden")));
-#define g_variant_is_container IA__g_variant_is_container
-
-extern __typeof (g_variant_classify) IA__g_variant_classify __attribute((visibility("hidden")));
-#define g_variant_classify IA__g_variant_classify
-
-extern __typeof (g_variant_new_boolean) IA__g_variant_new_boolean __attribute((visibility("hidden")));
-#define g_variant_new_boolean IA__g_variant_new_boolean
-
-extern __typeof (g_variant_new_byte) IA__g_variant_new_byte __attribute((visibility("hidden")));
-#define g_variant_new_byte IA__g_variant_new_byte
-
-extern __typeof (g_variant_new_int16) IA__g_variant_new_int16 __attribute((visibility("hidden")));
-#define g_variant_new_int16 IA__g_variant_new_int16
-
-extern __typeof (g_variant_new_uint16) IA__g_variant_new_uint16 __attribute((visibility("hidden")));
-#define g_variant_new_uint16 IA__g_variant_new_uint16
-
-extern __typeof (g_variant_new_int32) IA__g_variant_new_int32 __attribute((visibility("hidden")));
-#define g_variant_new_int32 IA__g_variant_new_int32
-
-extern __typeof (g_variant_new_uint32) IA__g_variant_new_uint32 __attribute((visibility("hidden")));
-#define g_variant_new_uint32 IA__g_variant_new_uint32
-
-extern __typeof (g_variant_new_int64) IA__g_variant_new_int64 __attribute((visibility("hidden")));
-#define g_variant_new_int64 IA__g_variant_new_int64
-
-extern __typeof (g_variant_new_uint64) IA__g_variant_new_uint64 __attribute((visibility("hidden")));
-#define g_variant_new_uint64 IA__g_variant_new_uint64
-
-extern __typeof (g_variant_new_handle) IA__g_variant_new_handle __attribute((visibility("hidden")));
-#define g_variant_new_handle IA__g_variant_new_handle
-
-extern __typeof (g_variant_new_double) IA__g_variant_new_double __attribute((visibility("hidden")));
-#define g_variant_new_double IA__g_variant_new_double
-
-extern __typeof (g_variant_new_string) IA__g_variant_new_string __attribute((visibility("hidden")));
-#define g_variant_new_string IA__g_variant_new_string
-
-extern __typeof (g_variant_new_object_path) IA__g_variant_new_object_path __attribute((visibility("hidden")));
-#define g_variant_new_object_path IA__g_variant_new_object_path
-
-extern __typeof (g_variant_is_object_path) IA__g_variant_is_object_path __attribute((visibility("hidden")));
-#define g_variant_is_object_path IA__g_variant_is_object_path
-
-extern __typeof (g_variant_new_signature) IA__g_variant_new_signature __attribute((visibility("hidden")));
-#define g_variant_new_signature IA__g_variant_new_signature
-
-extern __typeof (g_variant_is_signature) IA__g_variant_is_signature __attribute((visibility("hidden")));
-#define g_variant_is_signature IA__g_variant_is_signature
-
-extern __typeof (g_variant_new_variant) IA__g_variant_new_variant __attribute((visibility("hidden")));
-#define g_variant_new_variant IA__g_variant_new_variant
-
-extern __typeof (g_variant_new_strv) IA__g_variant_new_strv __attribute((visibility("hidden")));
-#define g_variant_new_strv IA__g_variant_new_strv
-
-extern __typeof (g_variant_get_boolean) IA__g_variant_get_boolean __attribute((visibility("hidden")));
-#define g_variant_get_boolean IA__g_variant_get_boolean
-
-extern __typeof (g_variant_get_byte) IA__g_variant_get_byte __attribute((visibility("hidden")));
-#define g_variant_get_byte IA__g_variant_get_byte
-
-extern __typeof (g_variant_get_int16) IA__g_variant_get_int16 __attribute((visibility("hidden")));
-#define g_variant_get_int16 IA__g_variant_get_int16
-
-extern __typeof (g_variant_get_uint16) IA__g_variant_get_uint16 __attribute((visibility("hidden")));
-#define g_variant_get_uint16 IA__g_variant_get_uint16
-
-extern __typeof (g_variant_get_int32) IA__g_variant_get_int32 __attribute((visibility("hidden")));
-#define g_variant_get_int32 IA__g_variant_get_int32
-
-extern __typeof (g_variant_get_uint32) IA__g_variant_get_uint32 __attribute((visibility("hidden")));
-#define g_variant_get_uint32 IA__g_variant_get_uint32
-
-extern __typeof (g_variant_get_int64) IA__g_variant_get_int64 __attribute((visibility("hidden")));
-#define g_variant_get_int64 IA__g_variant_get_int64
-
-extern __typeof (g_variant_get_uint64) IA__g_variant_get_uint64 __attribute((visibility("hidden")));
-#define g_variant_get_uint64 IA__g_variant_get_uint64
-
-extern __typeof (g_variant_get_handle) IA__g_variant_get_handle __attribute((visibility("hidden")));
-#define g_variant_get_handle IA__g_variant_get_handle
-
-extern __typeof (g_variant_get_double) IA__g_variant_get_double __attribute((visibility("hidden")));
-#define g_variant_get_double IA__g_variant_get_double
-
-extern __typeof (g_variant_get_string) IA__g_variant_get_string __attribute((visibility("hidden")));
-#define g_variant_get_string IA__g_variant_get_string
-
-extern __typeof (g_variant_dup_string) IA__g_variant_dup_string __attribute((visibility("hidden")));
-#define g_variant_dup_string IA__g_variant_dup_string
-
-extern __typeof (g_variant_get_variant) IA__g_variant_get_variant __attribute((visibility("hidden")));
-#define g_variant_get_variant IA__g_variant_get_variant
-
-extern __typeof (g_variant_get_strv) IA__g_variant_get_strv __attribute((visibility("hidden")));
-#define g_variant_get_strv IA__g_variant_get_strv
-
-extern __typeof (g_variant_dup_strv) IA__g_variant_dup_strv __attribute((visibility("hidden")));
-#define g_variant_dup_strv IA__g_variant_dup_strv
-
-extern __typeof (g_variant_new_maybe) IA__g_variant_new_maybe __attribute((visibility("hidden")));
-#define g_variant_new_maybe IA__g_variant_new_maybe
-
-extern __typeof (g_variant_new_array) IA__g_variant_new_array __attribute((visibility("hidden")));
-#define g_variant_new_array IA__g_variant_new_array
-
-extern __typeof (g_variant_new_tuple) IA__g_variant_new_tuple __attribute((visibility("hidden")));
-#define g_variant_new_tuple IA__g_variant_new_tuple
-
-extern __typeof (g_variant_new_dict_entry) IA__g_variant_new_dict_entry __attribute((visibility("hidden")));
-#define g_variant_new_dict_entry IA__g_variant_new_dict_entry
-
-extern __typeof (g_variant_get_maybe) IA__g_variant_get_maybe __attribute((visibility("hidden")));
-#define g_variant_get_maybe IA__g_variant_get_maybe
-
-extern __typeof (g_variant_get_fixed_array) IA__g_variant_get_fixed_array __attribute((visibility("hidden")));
-#define g_variant_get_fixed_array IA__g_variant_get_fixed_array
-
-extern __typeof (g_variant_print) IA__g_variant_print __attribute((visibility("hidden")));
-#define g_variant_print IA__g_variant_print
-
-extern __typeof (g_variant_print_string) IA__g_variant_print_string __attribute((visibility("hidden")));
-#define g_variant_print_string IA__g_variant_print_string
-
-extern __typeof (g_variant_hash) IA__g_variant_hash __attribute((visibility("hidden")));
-#define g_variant_hash IA__g_variant_hash
-
-extern __typeof (g_variant_equal) IA__g_variant_equal __attribute((visibility("hidden")));
-#define g_variant_equal IA__g_variant_equal
-
-extern __typeof (g_variant_iter_copy) IA__g_variant_iter_copy __attribute((visibility("hidden")));
-#define g_variant_iter_copy IA__g_variant_iter_copy
-
-extern __typeof (g_variant_iter_free) IA__g_variant_iter_free __attribute((visibility("hidden")));
-#define g_variant_iter_free IA__g_variant_iter_free
-
-extern __typeof (g_variant_iter_init) IA__g_variant_iter_init __attribute((visibility("hidden")));
-#define g_variant_iter_init IA__g_variant_iter_init
-
-extern __typeof (g_variant_iter_n_children) IA__g_variant_iter_n_children __attribute((visibility("hidden")));
-#define g_variant_iter_n_children IA__g_variant_iter_n_children
-
-extern __typeof (g_variant_iter_new) IA__g_variant_iter_new __attribute((visibility("hidden")));
-#define g_variant_iter_new IA__g_variant_iter_new
-
-extern __typeof (g_variant_iter_next_value) IA__g_variant_iter_next_value __attribute((visibility("hidden")));
-#define g_variant_iter_next_value IA__g_variant_iter_next_value
-
-extern __typeof (g_variant_builder_add_value) IA__g_variant_builder_add_value __attribute((visibility("hidden")));
-#define g_variant_builder_add_value IA__g_variant_builder_add_value
-
-extern __typeof (g_variant_builder_init) IA__g_variant_builder_init __attribute((visibility("hidden")));
-#define g_variant_builder_init IA__g_variant_builder_init
-
-extern __typeof (g_variant_builder_clear) IA__g_variant_builder_clear __attribute((visibility("hidden")));
-#define g_variant_builder_clear IA__g_variant_builder_clear
-
-extern __typeof (g_variant_builder_open) IA__g_variant_builder_open __attribute((visibility("hidden")));
-#define g_variant_builder_open IA__g_variant_builder_open
-
-extern __typeof (g_variant_builder_close) IA__g_variant_builder_close __attribute((visibility("hidden")));
-#define g_variant_builder_close IA__g_variant_builder_close
-
-extern __typeof (g_variant_builder_end) IA__g_variant_builder_end __attribute((visibility("hidden")));
-#define g_variant_builder_end IA__g_variant_builder_end
-
-extern __typeof (g_variant_builder_new) IA__g_variant_builder_new __attribute((visibility("hidden")));
-#define g_variant_builder_new IA__g_variant_builder_new
-
-extern __typeof (g_variant_builder_unref) IA__g_variant_builder_unref __attribute((visibility("hidden")));
-#define g_variant_builder_unref IA__g_variant_builder_unref
-
-extern __typeof (g_variant_builder_ref) IA__g_variant_builder_ref __attribute((visibility("hidden")));
-#define g_variant_builder_ref IA__g_variant_builder_ref
-
-extern __typeof (g_variant_new_va) IA__g_variant_new_va __attribute((visibility("hidden")));
-#define g_variant_new_va IA__g_variant_new_va
-
-extern __typeof (g_variant_get_va) IA__g_variant_get_va __attribute((visibility("hidden")));
-#define g_variant_get_va IA__g_variant_get_va
-
-extern __typeof (g_variant_new) IA__g_variant_new __attribute((visibility("hidden")));
-#define g_variant_new IA__g_variant_new
-
-extern __typeof (g_variant_get) IA__g_variant_get __attribute((visibility("hidden")));
-#define g_variant_get IA__g_variant_get
-
-extern __typeof (g_variant_builder_add) IA__g_variant_builder_add __attribute((visibility("hidden")));
-#define g_variant_builder_add IA__g_variant_builder_add
-
-extern __typeof (g_variant_get_child) IA__g_variant_get_child __attribute((visibility("hidden")));
-#define g_variant_get_child IA__g_variant_get_child
-
-extern __typeof (g_variant_iter_next) IA__g_variant_iter_next __attribute((visibility("hidden")));
-#define g_variant_iter_next IA__g_variant_iter_next
-
-extern __typeof (g_variant_iter_loop) IA__g_variant_iter_loop __attribute((visibility("hidden")));
-#define g_variant_iter_loop IA__g_variant_iter_loop
-
-extern __typeof (g_variant_new_from_data) IA__g_variant_new_from_data __attribute((visibility("hidden")));
-#define g_variant_new_from_data IA__g_variant_new_from_data
-
-extern __typeof (g_variant_get_normal_form) IA__g_variant_get_normal_form __attribute((visibility("hidden")));
-#define g_variant_get_normal_form IA__g_variant_get_normal_form
-
-extern __typeof (g_variant_byteswap) IA__g_variant_byteswap __attribute((visibility("hidden")));
-#define g_variant_byteswap IA__g_variant_byteswap
-
-#endif
-#if IN_FILE(__G_VARIANT_PARSER_C__)
-extern __typeof (g_variant_new_parsed) IA__g_variant_new_parsed __attribute((visibility("hidden")));
-#define g_variant_new_parsed IA__g_variant_new_parsed
-
-extern __typeof (g_variant_new_parsed_va) IA__g_variant_new_parsed_va __attribute((visibility("hidden")));
-#define g_variant_new_parsed_va IA__g_variant_new_parsed_va
-
-extern __typeof (g_variant_parse) IA__g_variant_parse __attribute((visibility("hidden")));
-#define g_variant_parse IA__g_variant_parse
-
-extern __typeof (g_variant_parser_get_error_quark) IA__g_variant_parser_get_error_quark __attribute((visibility("hidden")));
-#define g_variant_parser_get_error_quark IA__g_variant_parser_get_error_quark
-
-#endif
-#endif
-#if IN_HEADER(__G_VARIANT_TYPE_INFO_H__)
-#if IN_FILE(__G_VARIANT_TYPE_INFO_C__)
-extern __typeof (g_variant_type_info_get_type_string) IA__g_variant_type_info_get_type_string __attribute((visibility("hidden")));
-#define g_variant_type_info_get_type_string IA__g_variant_type_info_get_type_string
-
-extern __typeof (g_variant_type_info_query) IA__g_variant_type_info_query __attribute((visibility("hidden")));
-#define g_variant_type_info_query IA__g_variant_type_info_query
-
-extern __typeof (g_variant_type_info_element) IA__g_variant_type_info_element __attribute((visibility("hidden")));
-#define g_variant_type_info_element IA__g_variant_type_info_element
-
-extern __typeof (g_variant_type_info_query_element) IA__g_variant_type_info_query_element __attribute((visibility("hidden")));
-#define g_variant_type_info_query_element IA__g_variant_type_info_query_element
-
-extern __typeof (g_variant_type_info_n_members) IA__g_variant_type_info_n_members __attribute((visibility("hidden")));
-#define g_variant_type_info_n_members IA__g_variant_type_info_n_members
-
-extern __typeof (g_variant_type_info_member_info) IA__g_variant_type_info_member_info __attribute((visibility("hidden")));
-#define g_variant_type_info_member_info IA__g_variant_type_info_member_info
-
-extern __typeof (g_variant_type_info_get) IA__g_variant_type_info_get __attribute((visibility("hidden")));
-#define g_variant_type_info_get IA__g_variant_type_info_get
-
-extern __typeof (g_variant_type_info_ref) IA__g_variant_type_info_ref __attribute((visibility("hidden")));
-#define g_variant_type_info_ref IA__g_variant_type_info_ref
-
-extern __typeof (g_variant_type_info_unref) IA__g_variant_type_info_unref __attribute((visibility("hidden")));
-#define g_variant_type_info_unref IA__g_variant_type_info_unref
-
-extern __typeof (g_variant_type_info_assert_no_infos) IA__g_variant_type_info_assert_no_infos __attribute((visibility("hidden")));
-#define g_variant_type_info_assert_no_infos IA__g_variant_type_info_assert_no_infos
-
-#endif
-#endif
-#if IN_HEADER(__G_VARIANT_SERIALISER_H__)
-#if IN_FILE(__G_VARIANT_SERIALISER_C__)
-extern __typeof (g_variant_serialised_byteswap) IA__g_variant_serialised_byteswap __attribute((visibility("hidden")));
-#define g_variant_serialised_byteswap IA__g_variant_serialised_byteswap
-
-extern __typeof (g_variant_serialised_get_child) IA__g_variant_serialised_get_child __attribute((visibility("hidden")));
-#define g_variant_serialised_get_child IA__g_variant_serialised_get_child
-
-extern __typeof (g_variant_serialised_is_normal) IA__g_variant_serialised_is_normal __attribute((visibility("hidden")));
-#define g_variant_serialised_is_normal IA__g_variant_serialised_is_normal
-
-extern __typeof (g_variant_serialised_n_children) IA__g_variant_serialised_n_children __attribute((visibility("hidden")));
-#define g_variant_serialised_n_children IA__g_variant_serialised_n_children
-
-extern __typeof (g_variant_serialiser_is_object_path) IA__g_variant_serialiser_is_object_path __attribute((visibility("hidden")));
-#define g_variant_serialiser_is_object_path IA__g_variant_serialiser_is_object_path
-
-extern __typeof (g_variant_serialiser_is_signature) IA__g_variant_serialiser_is_signature __attribute((visibility("hidden")));
-#define g_variant_serialiser_is_signature IA__g_variant_serialiser_is_signature
-
-extern __typeof (g_variant_serialiser_is_string) IA__g_variant_serialiser_is_string __attribute((visibility("hidden")));
-#define g_variant_serialiser_is_string IA__g_variant_serialiser_is_string
-
-extern __typeof (g_variant_serialiser_needed_size) IA__g_variant_serialiser_needed_size __attribute((visibility("hidden")));
-#define g_variant_serialiser_needed_size IA__g_variant_serialiser_needed_size
-
-extern __typeof (g_variant_serialiser_serialise) IA__g_variant_serialiser_serialise __attribute((visibility("hidden")));
-#define g_variant_serialiser_serialise IA__g_variant_serialiser_serialise
-
-#endif
-#endif
-#if IN_HEADER(__G_VARIANT_INTERNAL_H__)
-#if IN_FILE(__G_VARIANT_C__)
-extern __typeof (g_variant_format_string_scan_type) IA__g_variant_format_string_scan_type __attribute((visibility("hidden")));
-#define g_variant_format_string_scan_type IA__g_variant_format_string_scan_type
-
-extern __typeof (g_variant_format_string_scan) IA__g_variant_format_string_scan __attribute((visibility("hidden")));
-#define g_variant_format_string_scan IA__g_variant_format_string_scan
-
-#endif
-#endif
-#if IN_HEADER(__G_WIN32_H__)
-#if IN_FILE(__G_WIN32_H__)
-#ifdef G_OS_WIN32
-extern __typeof (g_win32_error_message) IA__g_win32_error_message __attribute((visibility("hidden")));
-#define g_win32_error_message IA__g_win32_error_message
-
-extern __typeof (g_win32_ftruncate) IA__g_win32_ftruncate __attribute((visibility("hidden")));
-#define g_win32_ftruncate IA__g_win32_ftruncate
-
-extern __typeof (g_win32_get_package_installation_directory_of_module) IA__g_win32_get_package_installation_directory_of_module __attribute((visibility("hidden")));
-#define g_win32_get_package_installation_directory_of_module IA__g_win32_get_package_installation_directory_of_module
-
-#ifndef _WIN64
-extern __typeof (g_win32_get_package_installation_directory) IA__g_win32_get_package_installation_directory __attribute((visibility("hidden")));
-#define g_win32_get_package_installation_directory IA__g_win32_get_package_installation_directory
-
-#endif
-extern __typeof (g_win32_get_package_installation_directory_utf8) IA__g_win32_get_package_installation_directory_utf8 __attribute((visibility("hidden")));
-#define g_win32_get_package_installation_directory_utf8 IA__g_win32_get_package_installation_directory_utf8
-
-#ifndef _WIN64
-extern __typeof (g_win32_get_package_installation_subdirectory) IA__g_win32_get_package_installation_subdirectory __attribute((visibility("hidden")));
-#define g_win32_get_package_installation_subdirectory IA__g_win32_get_package_installation_subdirectory
-
-#endif
-extern __typeof (g_win32_get_package_installation_subdirectory_utf8) IA__g_win32_get_package_installation_subdirectory_utf8 __attribute((visibility("hidden")));
-#define g_win32_get_package_installation_subdirectory_utf8 IA__g_win32_get_package_installation_subdirectory_utf8
-
-extern __typeof (g_win32_get_windows_version) IA__g_win32_get_windows_version __attribute((visibility("hidden")));
-#define g_win32_get_windows_version IA__g_win32_get_windows_version
-
-extern __typeof (g_win32_getlocale) IA__g_win32_getlocale __attribute((visibility("hidden")));
-#define g_win32_getlocale IA__g_win32_getlocale
-
-extern __typeof (g_win32_locale_filename_from_utf8) IA__g_win32_locale_filename_from_utf8 __attribute((visibility("hidden")));
-#define g_win32_locale_filename_from_utf8 IA__g_win32_locale_filename_from_utf8
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_HOST_UTILS_H__)
-#if IN_FILE(__G_HOST_UTILS_C__)
-extern __typeof (g_hostname_is_non_ascii) IA__g_hostname_is_non_ascii __attribute((visibility("hidden")));
-#define g_hostname_is_non_ascii IA__g_hostname_is_non_ascii
-
-extern __typeof (g_hostname_is_ascii_encoded) IA__g_hostname_is_ascii_encoded __attribute((visibility("hidden")));
-#define g_hostname_is_ascii_encoded IA__g_hostname_is_ascii_encoded
-
-extern __typeof (g_hostname_is_ip_address) IA__g_hostname_is_ip_address __attribute((visibility("hidden")));
-#define g_hostname_is_ip_address IA__g_hostname_is_ip_address
-
-extern __typeof (g_hostname_to_ascii) IA__g_hostname_to_ascii __attribute((visibility("hidden")));
-#define g_hostname_to_ascii IA__g_hostname_to_ascii
-
-extern __typeof (g_hostname_to_unicode) IA__g_hostname_to_unicode __attribute((visibility("hidden")));
-#define g_hostname_to_unicode IA__g_hostname_to_unicode
-
-#endif
-#endif
-
-#endif /* G_HAVE_GNUC_VISIBILITY */
-#endif /* DISABLE_VISIBILITY */
+++ /dev/null
-/* Generated by makegalias.pl */
-
-#ifndef DISABLE_VISIBILITY
-
-#include "glibconfig.h"
-
-#ifdef G_HAVE_GNUC_VISIBILITY
-
-#undef IN_FILE
-#define IN_FILE defined
-
-#undef IN_HEADER
-#define IN_HEADER(x) 1
-
-#if IN_HEADER(__G_ARRAY_H__)
-#if IN_FILE(__G_ARRAY_C__)
-#undef g_array_append_vals
-extern __typeof (g_array_append_vals) g_array_append_vals __attribute((alias("IA__g_array_append_vals"), visibility("default")));
-
-#undef g_array_free
-extern __typeof (g_array_free) g_array_free __attribute((alias("IA__g_array_free"), visibility("default")));
-
-#undef g_array_insert_vals
-extern __typeof (g_array_insert_vals) g_array_insert_vals __attribute((alias("IA__g_array_insert_vals"), visibility("default")));
-
-#undef g_array_new
-extern __typeof (g_array_new) g_array_new __attribute((alias("IA__g_array_new"), visibility("default")));
-
-#undef g_array_ref
-extern __typeof (g_array_ref) g_array_ref __attribute((alias("IA__g_array_ref"), visibility("default")));
-
-#undef g_array_unref
-extern __typeof (g_array_unref) g_array_unref __attribute((alias("IA__g_array_unref"), visibility("default")));
-
-#undef g_array_get_element_size
-extern __typeof (g_array_get_element_size) g_array_get_element_size __attribute((alias("IA__g_array_get_element_size"), visibility("default")));
-
-#undef g_array_prepend_vals
-extern __typeof (g_array_prepend_vals) g_array_prepend_vals __attribute((alias("IA__g_array_prepend_vals"), visibility("default")));
-
-#undef g_array_remove_index
-extern __typeof (g_array_remove_index) g_array_remove_index __attribute((alias("IA__g_array_remove_index"), visibility("default")));
-
-#undef g_array_remove_index_fast
-extern __typeof (g_array_remove_index_fast) g_array_remove_index_fast __attribute((alias("IA__g_array_remove_index_fast"), visibility("default")));
-
-#undef g_array_remove_range
-extern __typeof (g_array_remove_range) g_array_remove_range __attribute((alias("IA__g_array_remove_range"), visibility("default")));
-
-#undef g_array_set_size
-extern __typeof (g_array_set_size) g_array_set_size __attribute((alias("IA__g_array_set_size"), visibility("default")));
-
-#undef g_array_sized_new
-extern __typeof (g_array_sized_new) g_array_sized_new __attribute((alias("IA__g_array_sized_new"), visibility("default")));
-
-#undef g_array_sort
-extern __typeof (g_array_sort) g_array_sort __attribute((alias("IA__g_array_sort"), visibility("default")));
-
-#undef g_array_sort_with_data
-extern __typeof (g_array_sort_with_data) g_array_sort_with_data __attribute((alias("IA__g_array_sort_with_data"), visibility("default")));
-
-#undef g_byte_array_append
-extern __typeof (g_byte_array_append) g_byte_array_append __attribute((alias("IA__g_byte_array_append"), visibility("default")));
-
-#undef g_byte_array_free
-extern __typeof (g_byte_array_free) g_byte_array_free __attribute((alias("IA__g_byte_array_free"), visibility("default")));
-
-#undef g_byte_array_unref
-extern __typeof (g_byte_array_unref) g_byte_array_unref __attribute((alias("IA__g_byte_array_unref"), visibility("default")));
-
-#undef g_byte_array_ref
-extern __typeof (g_byte_array_ref) g_byte_array_ref __attribute((alias("IA__g_byte_array_ref"), visibility("default")));
-
-#undef g_byte_array_new
-extern __typeof (g_byte_array_new) g_byte_array_new __attribute((alias("IA__g_byte_array_new"), visibility("default")));
-
-#undef g_byte_array_prepend
-extern __typeof (g_byte_array_prepend) g_byte_array_prepend __attribute((alias("IA__g_byte_array_prepend"), visibility("default")));
-
-#undef g_byte_array_remove_index
-extern __typeof (g_byte_array_remove_index) g_byte_array_remove_index __attribute((alias("IA__g_byte_array_remove_index"), visibility("default")));
-
-#undef g_byte_array_remove_index_fast
-extern __typeof (g_byte_array_remove_index_fast) g_byte_array_remove_index_fast __attribute((alias("IA__g_byte_array_remove_index_fast"), visibility("default")));
-
-#undef g_byte_array_remove_range
-extern __typeof (g_byte_array_remove_range) g_byte_array_remove_range __attribute((alias("IA__g_byte_array_remove_range"), visibility("default")));
-
-#undef g_byte_array_set_size
-extern __typeof (g_byte_array_set_size) g_byte_array_set_size __attribute((alias("IA__g_byte_array_set_size"), visibility("default")));
-
-#undef g_byte_array_sized_new
-extern __typeof (g_byte_array_sized_new) g_byte_array_sized_new __attribute((alias("IA__g_byte_array_sized_new"), visibility("default")));
-
-#undef g_byte_array_sort
-extern __typeof (g_byte_array_sort) g_byte_array_sort __attribute((alias("IA__g_byte_array_sort"), visibility("default")));
-
-#undef g_byte_array_sort_with_data
-extern __typeof (g_byte_array_sort_with_data) g_byte_array_sort_with_data __attribute((alias("IA__g_byte_array_sort_with_data"), visibility("default")));
-
-#undef g_ptr_array_add
-extern __typeof (g_ptr_array_add) g_ptr_array_add __attribute((alias("IA__g_ptr_array_add"), visibility("default")));
-
-#undef g_ptr_array_foreach
-extern __typeof (g_ptr_array_foreach) g_ptr_array_foreach __attribute((alias("IA__g_ptr_array_foreach"), visibility("default")));
-
-#undef g_ptr_array_free
-extern __typeof (g_ptr_array_free) g_ptr_array_free __attribute((alias("IA__g_ptr_array_free"), visibility("default")));
-
-#undef g_ptr_array_unref
-extern __typeof (g_ptr_array_unref) g_ptr_array_unref __attribute((alias("IA__g_ptr_array_unref"), visibility("default")));
-
-#undef g_ptr_array_ref
-extern __typeof (g_ptr_array_ref) g_ptr_array_ref __attribute((alias("IA__g_ptr_array_ref"), visibility("default")));
-
-#undef g_ptr_array_new
-extern __typeof (g_ptr_array_new) g_ptr_array_new __attribute((alias("IA__g_ptr_array_new"), visibility("default")));
-
-#undef g_ptr_array_new_with_free_func
-extern __typeof (g_ptr_array_new_with_free_func) g_ptr_array_new_with_free_func __attribute((alias("IA__g_ptr_array_new_with_free_func"), visibility("default")));
-
-#undef g_ptr_array_set_free_func
-extern __typeof (g_ptr_array_set_free_func) g_ptr_array_set_free_func __attribute((alias("IA__g_ptr_array_set_free_func"), visibility("default")));
-
-#undef g_ptr_array_remove
-extern __typeof (g_ptr_array_remove) g_ptr_array_remove __attribute((alias("IA__g_ptr_array_remove"), visibility("default")));
-
-#undef g_ptr_array_remove_fast
-extern __typeof (g_ptr_array_remove_fast) g_ptr_array_remove_fast __attribute((alias("IA__g_ptr_array_remove_fast"), visibility("default")));
-
-#undef g_ptr_array_remove_index
-extern __typeof (g_ptr_array_remove_index) g_ptr_array_remove_index __attribute((alias("IA__g_ptr_array_remove_index"), visibility("default")));
-
-#undef g_ptr_array_remove_index_fast
-extern __typeof (g_ptr_array_remove_index_fast) g_ptr_array_remove_index_fast __attribute((alias("IA__g_ptr_array_remove_index_fast"), visibility("default")));
-
-#undef g_ptr_array_remove_range
-extern __typeof (g_ptr_array_remove_range) g_ptr_array_remove_range __attribute((alias("IA__g_ptr_array_remove_range"), visibility("default")));
-
-#undef g_ptr_array_set_size
-extern __typeof (g_ptr_array_set_size) g_ptr_array_set_size __attribute((alias("IA__g_ptr_array_set_size"), visibility("default")));
-
-#undef g_ptr_array_sized_new
-extern __typeof (g_ptr_array_sized_new) g_ptr_array_sized_new __attribute((alias("IA__g_ptr_array_sized_new"), visibility("default")));
-
-#undef g_ptr_array_sort
-extern __typeof (g_ptr_array_sort) g_ptr_array_sort __attribute((alias("IA__g_ptr_array_sort"), visibility("default")));
-
-#undef g_ptr_array_sort_with_data
-extern __typeof (g_ptr_array_sort_with_data) g_ptr_array_sort_with_data __attribute((alias("IA__g_ptr_array_sort_with_data"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_ASYNCQUEUE_H__)
-#if IN_FILE(__G_ASYNCQUEUE_C__)
-#undef g_async_queue_length
-extern __typeof (g_async_queue_length) g_async_queue_length __attribute((alias("IA__g_async_queue_length"), visibility("default")));
-
-#undef g_async_queue_length_unlocked
-extern __typeof (g_async_queue_length_unlocked) g_async_queue_length_unlocked __attribute((alias("IA__g_async_queue_length_unlocked"), visibility("default")));
-
-#undef g_async_queue_lock
-extern __typeof (g_async_queue_lock) g_async_queue_lock __attribute((alias("IA__g_async_queue_lock"), visibility("default")));
-
-#undef g_async_queue_new
-extern __typeof (g_async_queue_new) g_async_queue_new __attribute((alias("IA__g_async_queue_new"), visibility("default")));
-
-#undef g_async_queue_new_full
-extern __typeof (g_async_queue_new_full) g_async_queue_new_full __attribute((alias("IA__g_async_queue_new_full"), visibility("default")));
-
-#undef g_async_queue_pop
-extern __typeof (g_async_queue_pop) g_async_queue_pop __attribute((alias("IA__g_async_queue_pop"), visibility("default")));
-
-#undef g_async_queue_pop_unlocked
-extern __typeof (g_async_queue_pop_unlocked) g_async_queue_pop_unlocked __attribute((alias("IA__g_async_queue_pop_unlocked"), visibility("default")));
-
-#undef g_async_queue_push
-extern __typeof (g_async_queue_push) g_async_queue_push __attribute((alias("IA__g_async_queue_push"), visibility("default")));
-
-#undef g_async_queue_push_unlocked
-extern __typeof (g_async_queue_push_unlocked) g_async_queue_push_unlocked __attribute((alias("IA__g_async_queue_push_unlocked"), visibility("default")));
-
-#undef g_async_queue_push_sorted
-extern __typeof (g_async_queue_push_sorted) g_async_queue_push_sorted __attribute((alias("IA__g_async_queue_push_sorted"), visibility("default")));
-
-#undef g_async_queue_push_sorted_unlocked
-extern __typeof (g_async_queue_push_sorted_unlocked) g_async_queue_push_sorted_unlocked __attribute((alias("IA__g_async_queue_push_sorted_unlocked"), visibility("default")));
-
-#undef g_async_queue_ref
-extern __typeof (g_async_queue_ref) g_async_queue_ref __attribute((alias("IA__g_async_queue_ref"), visibility("default")));
-
-#undef g_async_queue_sort
-extern __typeof (g_async_queue_sort) g_async_queue_sort __attribute((alias("IA__g_async_queue_sort"), visibility("default")));
-
-#undef g_async_queue_sort_unlocked
-extern __typeof (g_async_queue_sort_unlocked) g_async_queue_sort_unlocked __attribute((alias("IA__g_async_queue_sort_unlocked"), visibility("default")));
-
-#undef g_async_queue_timed_pop
-extern __typeof (g_async_queue_timed_pop) g_async_queue_timed_pop __attribute((alias("IA__g_async_queue_timed_pop"), visibility("default")));
-
-#undef g_async_queue_timed_pop_unlocked
-extern __typeof (g_async_queue_timed_pop_unlocked) g_async_queue_timed_pop_unlocked __attribute((alias("IA__g_async_queue_timed_pop_unlocked"), visibility("default")));
-
-#undef g_async_queue_try_pop
-extern __typeof (g_async_queue_try_pop) g_async_queue_try_pop __attribute((alias("IA__g_async_queue_try_pop"), visibility("default")));
-
-#undef g_async_queue_try_pop_unlocked
-extern __typeof (g_async_queue_try_pop_unlocked) g_async_queue_try_pop_unlocked __attribute((alias("IA__g_async_queue_try_pop_unlocked"), visibility("default")));
-
-#undef g_async_queue_unlock
-extern __typeof (g_async_queue_unlock) g_async_queue_unlock __attribute((alias("IA__g_async_queue_unlock"), visibility("default")));
-
-#undef g_async_queue_unref
-extern __typeof (g_async_queue_unref) g_async_queue_unref __attribute((alias("IA__g_async_queue_unref"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_async_queue_ref_unlocked
-extern __typeof (g_async_queue_ref_unlocked) g_async_queue_ref_unlocked __attribute((alias("IA__g_async_queue_ref_unlocked"), visibility("default")));
-
-#undef g_async_queue_unref_and_unlock
-extern __typeof (g_async_queue_unref_and_unlock) g_async_queue_unref_and_unlock __attribute((alias("IA__g_async_queue_unref_and_unlock"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_ATOMIC_H__)
-#if IN_FILE(__G_ATOMIC_C__)
-#undef g_atomic_int_add
-extern __typeof (g_atomic_int_add) g_atomic_int_add __attribute((alias("IA__g_atomic_int_add"), visibility("default")));
-
-#undef g_atomic_int_compare_and_exchange
-extern __typeof (g_atomic_int_compare_and_exchange) g_atomic_int_compare_and_exchange __attribute((alias("IA__g_atomic_int_compare_and_exchange"), visibility("default")));
-
-#undef g_atomic_int_exchange_and_add
-extern __typeof (g_atomic_int_exchange_and_add) g_atomic_int_exchange_and_add __attribute((alias("IA__g_atomic_int_exchange_and_add"), visibility("default")));
-
-#undef g_atomic_pointer_compare_and_exchange
-extern __typeof (g_atomic_pointer_compare_and_exchange) g_atomic_pointer_compare_and_exchange __attribute((alias("IA__g_atomic_pointer_compare_and_exchange"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_BACKTRACE_H__)
-#if IN_FILE(__G_BACKTRACE_C__)
-#undef g_on_error_query
-extern __typeof (g_on_error_query) g_on_error_query __attribute((alias("IA__g_on_error_query"), visibility("default")));
-
-#undef g_on_error_stack_trace
-extern __typeof (g_on_error_stack_trace) g_on_error_stack_trace __attribute((alias("IA__g_on_error_stack_trace"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_BASE64_H__)
-#if IN_FILE(__G_BASE64_C__)
-#undef g_base64_encode_step
-extern __typeof (g_base64_encode_step) g_base64_encode_step __attribute((alias("IA__g_base64_encode_step"), visibility("default")));
-
-#undef g_base64_encode_close
-extern __typeof (g_base64_encode_close) g_base64_encode_close __attribute((alias("IA__g_base64_encode_close"), visibility("default")));
-
-#undef g_base64_encode
-extern __typeof (g_base64_encode) g_base64_encode __attribute((alias("IA__g_base64_encode"), visibility("default")));
-
-#undef g_base64_decode_step
-extern __typeof (g_base64_decode_step) g_base64_decode_step __attribute((alias("IA__g_base64_decode_step"), visibility("default")));
-
-#undef g_base64_decode
-extern __typeof (g_base64_decode) g_base64_decode __attribute((alias("IA__g_base64_decode"), visibility("default")));
-
-#undef g_base64_decode_inplace
-extern __typeof (g_base64_decode_inplace) g_base64_decode_inplace __attribute((alias("IA__g_base64_decode_inplace"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_BOOKMARK_FILE_H__)
-#if IN_FILE(__G_BOOKMARK_FILE_C__)
-#undef g_bookmark_file_error_quark
-extern __typeof (g_bookmark_file_error_quark) g_bookmark_file_error_quark __attribute((alias("IA__g_bookmark_file_error_quark"), visibility("default")));
-
-#undef g_bookmark_file_new
-extern __typeof (g_bookmark_file_new) g_bookmark_file_new __attribute((alias("IA__g_bookmark_file_new"), visibility("default")));
-
-#undef g_bookmark_file_free
-extern __typeof (g_bookmark_file_free) g_bookmark_file_free __attribute((alias("IA__g_bookmark_file_free"), visibility("default")));
-
-#undef g_bookmark_file_load_from_file
-extern __typeof (g_bookmark_file_load_from_file) g_bookmark_file_load_from_file __attribute((alias("IA__g_bookmark_file_load_from_file"), visibility("default")));
-
-#undef g_bookmark_file_load_from_data
-extern __typeof (g_bookmark_file_load_from_data) g_bookmark_file_load_from_data __attribute((alias("IA__g_bookmark_file_load_from_data"), visibility("default")));
-
-#undef g_bookmark_file_load_from_data_dirs
-extern __typeof (g_bookmark_file_load_from_data_dirs) g_bookmark_file_load_from_data_dirs __attribute((alias("IA__g_bookmark_file_load_from_data_dirs"), visibility("default")));
-
-#undef g_bookmark_file_to_data
-extern __typeof (g_bookmark_file_to_data) g_bookmark_file_to_data __attribute((alias("IA__g_bookmark_file_to_data"), visibility("default")));
-
-#undef g_bookmark_file_to_file
-extern __typeof (g_bookmark_file_to_file) g_bookmark_file_to_file __attribute((alias("IA__g_bookmark_file_to_file"), visibility("default")));
-
-#undef g_bookmark_file_set_title
-extern __typeof (g_bookmark_file_set_title) g_bookmark_file_set_title __attribute((alias("IA__g_bookmark_file_set_title"), visibility("default")));
-
-#undef g_bookmark_file_get_title
-extern __typeof (g_bookmark_file_get_title) g_bookmark_file_get_title __attribute((alias("IA__g_bookmark_file_get_title"), visibility("default")));
-
-#undef g_bookmark_file_set_description
-extern __typeof (g_bookmark_file_set_description) g_bookmark_file_set_description __attribute((alias("IA__g_bookmark_file_set_description"), visibility("default")));
-
-#undef g_bookmark_file_get_description
-extern __typeof (g_bookmark_file_get_description) g_bookmark_file_get_description __attribute((alias("IA__g_bookmark_file_get_description"), visibility("default")));
-
-#undef g_bookmark_file_set_mime_type
-extern __typeof (g_bookmark_file_set_mime_type) g_bookmark_file_set_mime_type __attribute((alias("IA__g_bookmark_file_set_mime_type"), visibility("default")));
-
-#undef g_bookmark_file_get_mime_type
-extern __typeof (g_bookmark_file_get_mime_type) g_bookmark_file_get_mime_type __attribute((alias("IA__g_bookmark_file_get_mime_type"), visibility("default")));
-
-#undef g_bookmark_file_set_groups
-extern __typeof (g_bookmark_file_set_groups) g_bookmark_file_set_groups __attribute((alias("IA__g_bookmark_file_set_groups"), visibility("default")));
-
-#undef g_bookmark_file_add_group
-extern __typeof (g_bookmark_file_add_group) g_bookmark_file_add_group __attribute((alias("IA__g_bookmark_file_add_group"), visibility("default")));
-
-#undef g_bookmark_file_has_group
-extern __typeof (g_bookmark_file_has_group) g_bookmark_file_has_group __attribute((alias("IA__g_bookmark_file_has_group"), visibility("default")));
-
-#undef g_bookmark_file_get_groups
-extern __typeof (g_bookmark_file_get_groups) g_bookmark_file_get_groups __attribute((alias("IA__g_bookmark_file_get_groups"), visibility("default")));
-
-#undef g_bookmark_file_add_application
-extern __typeof (g_bookmark_file_add_application) g_bookmark_file_add_application __attribute((alias("IA__g_bookmark_file_add_application"), visibility("default")));
-
-#undef g_bookmark_file_has_application
-extern __typeof (g_bookmark_file_has_application) g_bookmark_file_has_application __attribute((alias("IA__g_bookmark_file_has_application"), visibility("default")));
-
-#undef g_bookmark_file_get_applications
-extern __typeof (g_bookmark_file_get_applications) g_bookmark_file_get_applications __attribute((alias("IA__g_bookmark_file_get_applications"), visibility("default")));
-
-#undef g_bookmark_file_set_app_info
-extern __typeof (g_bookmark_file_set_app_info) g_bookmark_file_set_app_info __attribute((alias("IA__g_bookmark_file_set_app_info"), visibility("default")));
-
-#undef g_bookmark_file_get_app_info
-extern __typeof (g_bookmark_file_get_app_info) g_bookmark_file_get_app_info __attribute((alias("IA__g_bookmark_file_get_app_info"), visibility("default")));
-
-#undef g_bookmark_file_set_is_private
-extern __typeof (g_bookmark_file_set_is_private) g_bookmark_file_set_is_private __attribute((alias("IA__g_bookmark_file_set_is_private"), visibility("default")));
-
-#undef g_bookmark_file_get_is_private
-extern __typeof (g_bookmark_file_get_is_private) g_bookmark_file_get_is_private __attribute((alias("IA__g_bookmark_file_get_is_private"), visibility("default")));
-
-#undef g_bookmark_file_set_icon
-extern __typeof (g_bookmark_file_set_icon) g_bookmark_file_set_icon __attribute((alias("IA__g_bookmark_file_set_icon"), visibility("default")));
-
-#undef g_bookmark_file_get_icon
-extern __typeof (g_bookmark_file_get_icon) g_bookmark_file_get_icon __attribute((alias("IA__g_bookmark_file_get_icon"), visibility("default")));
-
-#undef g_bookmark_file_set_added
-extern __typeof (g_bookmark_file_set_added) g_bookmark_file_set_added __attribute((alias("IA__g_bookmark_file_set_added"), visibility("default")));
-
-#undef g_bookmark_file_get_added
-extern __typeof (g_bookmark_file_get_added) g_bookmark_file_get_added __attribute((alias("IA__g_bookmark_file_get_added"), visibility("default")));
-
-#undef g_bookmark_file_set_modified
-extern __typeof (g_bookmark_file_set_modified) g_bookmark_file_set_modified __attribute((alias("IA__g_bookmark_file_set_modified"), visibility("default")));
-
-#undef g_bookmark_file_get_modified
-extern __typeof (g_bookmark_file_get_modified) g_bookmark_file_get_modified __attribute((alias("IA__g_bookmark_file_get_modified"), visibility("default")));
-
-#undef g_bookmark_file_set_visited
-extern __typeof (g_bookmark_file_set_visited) g_bookmark_file_set_visited __attribute((alias("IA__g_bookmark_file_set_visited"), visibility("default")));
-
-#undef g_bookmark_file_get_visited
-extern __typeof (g_bookmark_file_get_visited) g_bookmark_file_get_visited __attribute((alias("IA__g_bookmark_file_get_visited"), visibility("default")));
-
-#undef g_bookmark_file_has_item
-extern __typeof (g_bookmark_file_has_item) g_bookmark_file_has_item __attribute((alias("IA__g_bookmark_file_has_item"), visibility("default")));
-
-#undef g_bookmark_file_get_size
-extern __typeof (g_bookmark_file_get_size) g_bookmark_file_get_size __attribute((alias("IA__g_bookmark_file_get_size"), visibility("default")));
-
-#undef g_bookmark_file_get_uris
-extern __typeof (g_bookmark_file_get_uris) g_bookmark_file_get_uris __attribute((alias("IA__g_bookmark_file_get_uris"), visibility("default")));
-
-#undef g_bookmark_file_remove_group
-extern __typeof (g_bookmark_file_remove_group) g_bookmark_file_remove_group __attribute((alias("IA__g_bookmark_file_remove_group"), visibility("default")));
-
-#undef g_bookmark_file_remove_application
-extern __typeof (g_bookmark_file_remove_application) g_bookmark_file_remove_application __attribute((alias("IA__g_bookmark_file_remove_application"), visibility("default")));
-
-#undef g_bookmark_file_remove_item
-extern __typeof (g_bookmark_file_remove_item) g_bookmark_file_remove_item __attribute((alias("IA__g_bookmark_file_remove_item"), visibility("default")));
-
-#undef g_bookmark_file_move_item
-extern __typeof (g_bookmark_file_move_item) g_bookmark_file_move_item __attribute((alias("IA__g_bookmark_file_move_item"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_CACHE_H__)
-#if IN_FILE(__G_CACHE_C__)
-#undef g_cache_destroy
-extern __typeof (g_cache_destroy) g_cache_destroy __attribute((alias("IA__g_cache_destroy"), visibility("default")));
-
-#undef g_cache_insert
-extern __typeof (g_cache_insert) g_cache_insert __attribute((alias("IA__g_cache_insert"), visibility("default")));
-
-#undef g_cache_key_foreach
-extern __typeof (g_cache_key_foreach) g_cache_key_foreach __attribute((alias("IA__g_cache_key_foreach"), visibility("default")));
-
-#undef g_cache_new
-extern __typeof (g_cache_new) g_cache_new __attribute((alias("IA__g_cache_new"), visibility("default")));
-
-#undef g_cache_remove
-extern __typeof (g_cache_remove) g_cache_remove __attribute((alias("IA__g_cache_remove"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_cache_value_foreach
-extern __typeof (g_cache_value_foreach) g_cache_value_foreach __attribute((alias("IA__g_cache_value_foreach"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_CHECKSUM_H__)
-#if IN_FILE(__G_CHECKSUM_C__)
-#undef g_checksum_type_get_length
-extern __typeof (g_checksum_type_get_length) g_checksum_type_get_length __attribute((alias("IA__g_checksum_type_get_length"), visibility("default")));
-
-#undef g_checksum_new
-extern __typeof (g_checksum_new) g_checksum_new __attribute((alias("IA__g_checksum_new"), visibility("default")));
-
-#undef g_checksum_copy
-extern __typeof (g_checksum_copy) g_checksum_copy __attribute((alias("IA__g_checksum_copy"), visibility("default")));
-
-#undef g_checksum_free
-extern __typeof (g_checksum_free) g_checksum_free __attribute((alias("IA__g_checksum_free"), visibility("default")));
-
-#undef g_checksum_update
-extern __typeof (g_checksum_update) g_checksum_update __attribute((alias("IA__g_checksum_update"), visibility("default")));
-
-#undef g_checksum_reset
-extern __typeof (g_checksum_reset) g_checksum_reset __attribute((alias("IA__g_checksum_reset"), visibility("default")));
-
-#undef g_checksum_get_string
-extern __typeof (g_checksum_get_string) g_checksum_get_string __attribute((alias("IA__g_checksum_get_string"), visibility("default")));
-
-#undef g_checksum_get_digest
-extern __typeof (g_checksum_get_digest) g_checksum_get_digest __attribute((alias("IA__g_checksum_get_digest"), visibility("default")));
-
-#undef g_compute_checksum_for_data
-extern __typeof (g_compute_checksum_for_data) g_compute_checksum_for_data __attribute((alias("IA__g_compute_checksum_for_data"), visibility("default")));
-
-#undef g_compute_checksum_for_string
-extern __typeof (g_compute_checksum_for_string) g_compute_checksum_for_string __attribute((alias("IA__g_compute_checksum_for_string"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_COMPLETION_H__)
-#if IN_FILE(__G_COMPLETION_C__)
-#undef g_completion_add_items
-extern __typeof (g_completion_add_items) g_completion_add_items __attribute((alias("IA__g_completion_add_items"), visibility("default")));
-
-#undef g_completion_clear_items
-extern __typeof (g_completion_clear_items) g_completion_clear_items __attribute((alias("IA__g_completion_clear_items"), visibility("default")));
-
-#undef g_completion_complete
-extern __typeof (g_completion_complete) g_completion_complete __attribute((alias("IA__g_completion_complete"), visibility("default")));
-
-#undef g_completion_complete_utf8
-extern __typeof (g_completion_complete_utf8) g_completion_complete_utf8 __attribute((alias("IA__g_completion_complete_utf8"), visibility("default")));
-
-#undef g_completion_free
-extern __typeof (g_completion_free) g_completion_free __attribute((alias("IA__g_completion_free"), visibility("default")));
-
-#undef g_completion_new
-extern __typeof (g_completion_new) g_completion_new __attribute((alias("IA__g_completion_new"), visibility("default")));
-
-#undef g_completion_remove_items
-extern __typeof (g_completion_remove_items) g_completion_remove_items __attribute((alias("IA__g_completion_remove_items"), visibility("default")));
-
-#undef g_completion_set_compare
-extern __typeof (g_completion_set_compare) g_completion_set_compare __attribute((alias("IA__g_completion_set_compare"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_CONVERT_H__)
-#if IN_FILE(__G_CONVERT_C__)
-#undef g_get_filename_charsets
-extern __typeof (g_get_filename_charsets) g_get_filename_charsets __attribute((alias("IA__g_get_filename_charsets"), visibility("default")));
-
-#undef g_convert
-extern __typeof (g_convert) g_convert __attribute((alias("IA__g_convert"), visibility("default")));
-
-#undef g_convert_error_quark
-extern __typeof (g_convert_error_quark) g_convert_error_quark __attribute((alias("IA__g_convert_error_quark"), visibility("default")));
-
-#undef g_convert_with_fallback
-extern __typeof (g_convert_with_fallback) g_convert_with_fallback __attribute((alias("IA__g_convert_with_fallback"), visibility("default")));
-
-#undef g_convert_with_iconv
-extern __typeof (g_convert_with_iconv) g_convert_with_iconv __attribute((alias("IA__g_convert_with_iconv"), visibility("default")));
-
-#undef g_iconv
-extern __typeof (g_iconv) g_iconv __attribute((alias("IA__g_iconv"), visibility("default")));
-
-#undef g_iconv_close
-extern __typeof (g_iconv_close) g_iconv_close __attribute((alias("IA__g_iconv_close"), visibility("default")));
-
-#undef g_iconv_open
-extern __typeof (g_iconv_open) g_iconv_open __attribute((alias("IA__g_iconv_open"), visibility("default")));
-
-#undef g_locale_from_utf8
-extern __typeof (g_locale_from_utf8) g_locale_from_utf8 __attribute((alias("IA__g_locale_from_utf8"), visibility("default")));
-
-#undef g_locale_to_utf8
-extern __typeof (g_locale_to_utf8) g_locale_to_utf8 __attribute((alias("IA__g_locale_to_utf8"), visibility("default")));
-
-#undef g_filename_display_name
-extern __typeof (g_filename_display_name) g_filename_display_name __attribute((alias("IA__g_filename_display_name"), visibility("default")));
-
-#undef g_filename_display_basename
-extern __typeof (g_filename_display_basename) g_filename_display_basename __attribute((alias("IA__g_filename_display_basename"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_filename_from_uri
-extern __typeof (g_filename_from_uri) g_filename_from_uri __attribute((alias("IA__g_filename_from_uri"), visibility("default")));
-
-#undef g_filename_from_utf8
-extern __typeof (g_filename_from_utf8) g_filename_from_utf8 __attribute((alias("IA__g_filename_from_utf8"), visibility("default")));
-
-#undef g_filename_to_uri
-extern __typeof (g_filename_to_uri) g_filename_to_uri __attribute((alias("IA__g_filename_to_uri"), visibility("default")));
-
-#undef g_filename_to_utf8
-extern __typeof (g_filename_to_utf8) g_filename_to_utf8 __attribute((alias("IA__g_filename_to_utf8"), visibility("default")));
-
-#endif
-#ifdef G_OS_WIN32
-#undef g_filename_from_uri_utf8
-extern __typeof (g_filename_from_uri_utf8) g_filename_from_uri_utf8 __attribute((alias("IA__g_filename_from_uri_utf8"), visibility("default")));
-
-#undef g_filename_from_utf8_utf8
-extern __typeof (g_filename_from_utf8_utf8) g_filename_from_utf8_utf8 __attribute((alias("IA__g_filename_from_utf8_utf8"), visibility("default")));
-
-#undef g_filename_to_uri_utf8
-extern __typeof (g_filename_to_uri_utf8) g_filename_to_uri_utf8 __attribute((alias("IA__g_filename_to_uri_utf8"), visibility("default")));
-
-#undef g_filename_to_utf8_utf8
-extern __typeof (g_filename_to_utf8_utf8) g_filename_to_utf8_utf8 __attribute((alias("IA__g_filename_to_utf8_utf8"), visibility("default")));
-
-#endif
-#undef g_uri_list_extract_uris
-extern __typeof (g_uri_list_extract_uris) g_uri_list_extract_uris __attribute((alias("IA__g_uri_list_extract_uris"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_DATASET_H__)
-#if IN_FILE(__G_DATASET_C__)
-#undef g_datalist_clear
-extern __typeof (g_datalist_clear) g_datalist_clear __attribute((alias("IA__g_datalist_clear"), visibility("default")));
-
-#undef g_datalist_foreach
-extern __typeof (g_datalist_foreach) g_datalist_foreach __attribute((alias("IA__g_datalist_foreach"), visibility("default")));
-
-#undef g_datalist_get_flags
-extern __typeof (g_datalist_get_flags) g_datalist_get_flags __attribute((alias("IA__g_datalist_get_flags"), visibility("default")));
-
-#undef g_datalist_id_get_data
-extern __typeof (g_datalist_id_get_data) g_datalist_id_get_data __attribute((alias("IA__g_datalist_id_get_data"), visibility("default")));
-
-#undef g_datalist_id_remove_no_notify
-extern __typeof (g_datalist_id_remove_no_notify) g_datalist_id_remove_no_notify __attribute((alias("IA__g_datalist_id_remove_no_notify"), visibility("default")));
-
-#undef g_datalist_id_set_data_full
-extern __typeof (g_datalist_id_set_data_full) g_datalist_id_set_data_full __attribute((alias("IA__g_datalist_id_set_data_full"), visibility("default")));
-
-#undef g_datalist_set_flags
-extern __typeof (g_datalist_set_flags) g_datalist_set_flags __attribute((alias("IA__g_datalist_set_flags"), visibility("default")));
-
-#undef g_datalist_unset_flags
-extern __typeof (g_datalist_unset_flags) g_datalist_unset_flags __attribute((alias("IA__g_datalist_unset_flags"), visibility("default")));
-
-#undef g_datalist_init
-extern __typeof (g_datalist_init) g_datalist_init __attribute((alias("IA__g_datalist_init"), visibility("default")));
-
-#undef g_dataset_destroy
-extern __typeof (g_dataset_destroy) g_dataset_destroy __attribute((alias("IA__g_dataset_destroy"), visibility("default")));
-
-#undef g_dataset_foreach
-extern __typeof (g_dataset_foreach) g_dataset_foreach __attribute((alias("IA__g_dataset_foreach"), visibility("default")));
-
-#undef g_dataset_id_get_data
-extern __typeof (g_dataset_id_get_data) g_dataset_id_get_data __attribute((alias("IA__g_dataset_id_get_data"), visibility("default")));
-
-#undef g_dataset_id_remove_no_notify
-extern __typeof (g_dataset_id_remove_no_notify) g_dataset_id_remove_no_notify __attribute((alias("IA__g_dataset_id_remove_no_notify"), visibility("default")));
-
-#undef g_dataset_id_set_data_full
-extern __typeof (g_dataset_id_set_data_full) g_dataset_id_set_data_full __attribute((alias("IA__g_dataset_id_set_data_full"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_QUARK_H__)
-#if IN_FILE(__G_DATASET_C__)
-#undef g_quark_from_static_string
-extern __typeof (g_quark_from_static_string) g_quark_from_static_string __attribute((alias("IA__g_quark_from_static_string"), visibility("default")));
-
-#undef g_quark_from_string
-extern __typeof (g_quark_from_string) g_quark_from_string __attribute((alias("IA__g_quark_from_string"), visibility("default")));
-
-#undef g_quark_to_string
-extern __typeof (g_quark_to_string) g_quark_to_string __attribute((alias("IA__g_quark_to_string"), visibility("default")));
-
-#undef g_quark_try_string
-extern __typeof (g_quark_try_string) g_quark_try_string __attribute((alias("IA__g_quark_try_string"), visibility("default")));
-
-#undef g_intern_string
-extern __typeof (g_intern_string) g_intern_string __attribute((alias("IA__g_intern_string"), visibility("default")));
-
-#undef g_intern_static_string
-extern __typeof (g_intern_static_string) g_intern_static_string __attribute((alias("IA__g_intern_static_string"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_DATE_H__)
-#if IN_FILE(__G_DATE_C__)
-#undef g_date_add_days
-extern __typeof (g_date_add_days) g_date_add_days __attribute((alias("IA__g_date_add_days"), visibility("default")));
-
-#undef g_date_add_months
-extern __typeof (g_date_add_months) g_date_add_months __attribute((alias("IA__g_date_add_months"), visibility("default")));
-
-#undef g_date_add_years
-extern __typeof (g_date_add_years) g_date_add_years __attribute((alias("IA__g_date_add_years"), visibility("default")));
-
-#undef g_date_clamp
-extern __typeof (g_date_clamp) g_date_clamp __attribute((alias("IA__g_date_clamp"), visibility("default")));
-
-#undef g_date_clear
-extern __typeof (g_date_clear) g_date_clear __attribute((alias("IA__g_date_clear"), visibility("default")));
-
-#undef g_date_compare
-extern __typeof (g_date_compare) g_date_compare __attribute((alias("IA__g_date_compare"), visibility("default")));
-
-#undef g_date_days_between
-extern __typeof (g_date_days_between) g_date_days_between __attribute((alias("IA__g_date_days_between"), visibility("default")));
-
-#undef g_date_free
-extern __typeof (g_date_free) g_date_free __attribute((alias("IA__g_date_free"), visibility("default")));
-
-#undef g_date_get_day
-extern __typeof (g_date_get_day) g_date_get_day __attribute((alias("IA__g_date_get_day"), visibility("default")));
-
-#undef g_date_get_day_of_year
-extern __typeof (g_date_get_day_of_year) g_date_get_day_of_year __attribute((alias("IA__g_date_get_day_of_year"), visibility("default")));
-
-#undef g_date_get_days_in_month
-extern __typeof (g_date_get_days_in_month) g_date_get_days_in_month __attribute((alias("IA__g_date_get_days_in_month"), visibility("default")));
-
-#undef g_date_get_iso8601_week_of_year
-extern __typeof (g_date_get_iso8601_week_of_year) g_date_get_iso8601_week_of_year __attribute((alias("IA__g_date_get_iso8601_week_of_year"), visibility("default")));
-
-#undef g_date_get_julian
-extern __typeof (g_date_get_julian) g_date_get_julian __attribute((alias("IA__g_date_get_julian"), visibility("default")));
-
-#undef g_date_get_monday_week_of_year
-extern __typeof (g_date_get_monday_week_of_year) g_date_get_monday_week_of_year __attribute((alias("IA__g_date_get_monday_week_of_year"), visibility("default")));
-
-#undef g_date_get_monday_weeks_in_year
-extern __typeof (g_date_get_monday_weeks_in_year) g_date_get_monday_weeks_in_year __attribute((alias("IA__g_date_get_monday_weeks_in_year"), visibility("default")));
-
-#undef g_date_get_month
-extern __typeof (g_date_get_month) g_date_get_month __attribute((alias("IA__g_date_get_month"), visibility("default")));
-
-#undef g_date_get_sunday_week_of_year
-extern __typeof (g_date_get_sunday_week_of_year) g_date_get_sunday_week_of_year __attribute((alias("IA__g_date_get_sunday_week_of_year"), visibility("default")));
-
-#undef g_date_get_sunday_weeks_in_year
-extern __typeof (g_date_get_sunday_weeks_in_year) g_date_get_sunday_weeks_in_year __attribute((alias("IA__g_date_get_sunday_weeks_in_year"), visibility("default")));
-
-#undef g_date_get_weekday
-extern __typeof (g_date_get_weekday) g_date_get_weekday __attribute((alias("IA__g_date_get_weekday"), visibility("default")));
-
-#undef g_date_get_year
-extern __typeof (g_date_get_year) g_date_get_year __attribute((alias("IA__g_date_get_year"), visibility("default")));
-
-#undef g_date_is_first_of_month
-extern __typeof (g_date_is_first_of_month) g_date_is_first_of_month __attribute((alias("IA__g_date_is_first_of_month"), visibility("default")));
-
-#undef g_date_is_last_of_month
-extern __typeof (g_date_is_last_of_month) g_date_is_last_of_month __attribute((alias("IA__g_date_is_last_of_month"), visibility("default")));
-
-#undef g_date_is_leap_year
-extern __typeof (g_date_is_leap_year) g_date_is_leap_year __attribute((alias("IA__g_date_is_leap_year"), visibility("default")));
-
-#undef g_date_new
-extern __typeof (g_date_new) g_date_new __attribute((alias("IA__g_date_new"), visibility("default")));
-
-#undef g_date_new_dmy
-extern __typeof (g_date_new_dmy) g_date_new_dmy __attribute((alias("IA__g_date_new_dmy"), visibility("default")));
-
-#undef g_date_new_julian
-extern __typeof (g_date_new_julian) g_date_new_julian __attribute((alias("IA__g_date_new_julian"), visibility("default")));
-
-#undef g_date_order
-extern __typeof (g_date_order) g_date_order __attribute((alias("IA__g_date_order"), visibility("default")));
-
-#undef g_date_set_day
-extern __typeof (g_date_set_day) g_date_set_day __attribute((alias("IA__g_date_set_day"), visibility("default")));
-
-#undef g_date_set_dmy
-extern __typeof (g_date_set_dmy) g_date_set_dmy __attribute((alias("IA__g_date_set_dmy"), visibility("default")));
-
-#undef g_date_set_julian
-extern __typeof (g_date_set_julian) g_date_set_julian __attribute((alias("IA__g_date_set_julian"), visibility("default")));
-
-#undef g_date_set_month
-extern __typeof (g_date_set_month) g_date_set_month __attribute((alias("IA__g_date_set_month"), visibility("default")));
-
-#undef g_date_set_parse
-extern __typeof (g_date_set_parse) g_date_set_parse __attribute((alias("IA__g_date_set_parse"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_date_set_time
-extern __typeof (g_date_set_time) g_date_set_time __attribute((alias("IA__g_date_set_time"), visibility("default")));
-
-#endif
-#undef g_date_set_time_t
-extern __typeof (g_date_set_time_t) g_date_set_time_t __attribute((alias("IA__g_date_set_time_t"), visibility("default")));
-
-#undef g_date_set_time_val
-extern __typeof (g_date_set_time_val) g_date_set_time_val __attribute((alias("IA__g_date_set_time_val"), visibility("default")));
-
-#undef g_date_set_year
-extern __typeof (g_date_set_year) g_date_set_year __attribute((alias("IA__g_date_set_year"), visibility("default")));
-
-#undef g_date_strftime
-extern __typeof (g_date_strftime) g_date_strftime __attribute((alias("IA__g_date_strftime"), visibility("default")));
-
-#undef g_date_subtract_days
-extern __typeof (g_date_subtract_days) g_date_subtract_days __attribute((alias("IA__g_date_subtract_days"), visibility("default")));
-
-#undef g_date_subtract_months
-extern __typeof (g_date_subtract_months) g_date_subtract_months __attribute((alias("IA__g_date_subtract_months"), visibility("default")));
-
-#undef g_date_subtract_years
-extern __typeof (g_date_subtract_years) g_date_subtract_years __attribute((alias("IA__g_date_subtract_years"), visibility("default")));
-
-#undef g_date_to_struct_tm
-extern __typeof (g_date_to_struct_tm) g_date_to_struct_tm __attribute((alias("IA__g_date_to_struct_tm"), visibility("default")));
-
-#undef g_date_valid
-extern __typeof (g_date_valid) g_date_valid __attribute((alias("IA__g_date_valid"), visibility("default")));
-
-#undef g_date_valid_day
-extern __typeof (g_date_valid_day) g_date_valid_day __attribute((alias("IA__g_date_valid_day"), visibility("default")));
-
-#undef g_date_valid_dmy
-extern __typeof (g_date_valid_dmy) g_date_valid_dmy __attribute((alias("IA__g_date_valid_dmy"), visibility("default")));
-
-#undef g_date_valid_julian
-extern __typeof (g_date_valid_julian) g_date_valid_julian __attribute((alias("IA__g_date_valid_julian"), visibility("default")));
-
-#undef g_date_valid_month
-extern __typeof (g_date_valid_month) g_date_valid_month __attribute((alias("IA__g_date_valid_month"), visibility("default")));
-
-#undef g_date_valid_weekday
-extern __typeof (g_date_valid_weekday) g_date_valid_weekday __attribute((alias("IA__g_date_valid_weekday"), visibility("default")));
-
-#undef g_date_valid_year
-extern __typeof (g_date_valid_year) g_date_valid_year __attribute((alias("IA__g_date_valid_year"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_DIR_H__)
-#if IN_FILE(__G_DIR_C__)
-#undef g_dir_close
-extern __typeof (g_dir_close) g_dir_close __attribute((alias("IA__g_dir_close"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_dir_open
-extern __typeof (g_dir_open) g_dir_open __attribute((alias("IA__g_dir_open"), visibility("default")));
-
-#undef g_dir_read_name
-extern __typeof (g_dir_read_name) g_dir_read_name __attribute((alias("IA__g_dir_read_name"), visibility("default")));
-
-#endif
-#ifdef G_OS_WIN32
-#undef g_dir_open_utf8
-extern __typeof (g_dir_open_utf8) g_dir_open_utf8 __attribute((alias("IA__g_dir_open_utf8"), visibility("default")));
-
-#undef g_dir_read_name_utf8
-extern __typeof (g_dir_read_name_utf8) g_dir_read_name_utf8 __attribute((alias("IA__g_dir_read_name_utf8"), visibility("default")));
-
-#endif
-#undef g_dir_rewind
-extern __typeof (g_dir_rewind) g_dir_rewind __attribute((alias("IA__g_dir_rewind"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_ERROR_H__)
-#if IN_FILE(__G_ERROR_C__)
-#undef g_clear_error
-extern __typeof (g_clear_error) g_clear_error __attribute((alias("IA__g_clear_error"), visibility("default")));
-
-#undef g_error_copy
-extern __typeof (g_error_copy) g_error_copy __attribute((alias("IA__g_error_copy"), visibility("default")));
-
-#undef g_error_free
-extern __typeof (g_error_free) g_error_free __attribute((alias("IA__g_error_free"), visibility("default")));
-
-#undef g_error_matches
-extern __typeof (g_error_matches) g_error_matches __attribute((alias("IA__g_error_matches"), visibility("default")));
-
-#undef g_error_new
-extern __typeof (g_error_new) g_error_new __attribute((alias("IA__g_error_new"), visibility("default")));
-
-#undef g_error_new_literal
-extern __typeof (g_error_new_literal) g_error_new_literal __attribute((alias("IA__g_error_new_literal"), visibility("default")));
-
-#undef g_error_new_valist
-extern __typeof (g_error_new_valist) g_error_new_valist __attribute((alias("IA__g_error_new_valist"), visibility("default")));
-
-#undef g_propagate_error
-extern __typeof (g_propagate_error) g_propagate_error __attribute((alias("IA__g_propagate_error"), visibility("default")));
-
-#undef g_set_error
-extern __typeof (g_set_error) g_set_error __attribute((alias("IA__g_set_error"), visibility("default")));
-
-#undef g_set_error_literal
-extern __typeof (g_set_error_literal) g_set_error_literal __attribute((alias("IA__g_set_error_literal"), visibility("default")));
-
-#undef g_prefix_error
-extern __typeof (g_prefix_error) g_prefix_error __attribute((alias("IA__g_prefix_error"), visibility("default")));
-
-#undef g_propagate_prefixed_error
-extern __typeof (g_propagate_prefixed_error) g_propagate_prefixed_error __attribute((alias("IA__g_propagate_prefixed_error"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_FILEUTILS_H__)
-#if IN_FILE(__G_FILEUTILS_C__)
-#undef g_build_filename
-extern __typeof (g_build_filename) g_build_filename __attribute((alias("IA__g_build_filename"), visibility("default")));
-
-#undef g_build_filenamev
-extern __typeof (g_build_filenamev) g_build_filenamev __attribute((alias("IA__g_build_filenamev"), visibility("default")));
-
-#undef g_build_path
-extern __typeof (g_build_path) g_build_path __attribute((alias("IA__g_build_path"), visibility("default")));
-
-#undef g_build_pathv
-extern __typeof (g_build_pathv) g_build_pathv __attribute((alias("IA__g_build_pathv"), visibility("default")));
-
-#undef g_file_error_from_errno
-extern __typeof (g_file_error_from_errno) g_file_error_from_errno __attribute((alias("IA__g_file_error_from_errno"), visibility("default")));
-
-#undef g_file_error_quark
-extern __typeof (g_file_error_quark) g_file_error_quark __attribute((alias("IA__g_file_error_quark"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_file_get_contents
-extern __typeof (g_file_get_contents) g_file_get_contents __attribute((alias("IA__g_file_get_contents"), visibility("default")));
-
-#endif
-#undef g_file_set_contents
-extern __typeof (g_file_set_contents) g_file_set_contents __attribute((alias("IA__g_file_set_contents"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_file_open_tmp
-extern __typeof (g_file_open_tmp) g_file_open_tmp __attribute((alias("IA__g_file_open_tmp"), visibility("default")));
-
-#undef g_file_test
-extern __typeof (g_file_test) g_file_test __attribute((alias("IA__g_file_test"), visibility("default")));
-
-#endif
-#undef g_file_read_link
-extern __typeof (g_file_read_link) g_file_read_link __attribute((alias("IA__g_file_read_link"), visibility("default")));
-
-#undef g_format_size_for_display
-extern __typeof (g_format_size_for_display) g_format_size_for_display __attribute((alias("IA__g_format_size_for_display"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_mkstemp
-extern __typeof (g_mkstemp) g_mkstemp __attribute((alias("IA__g_mkstemp"), visibility("default")));
-
-#endif
-#undef g_mkstemp_full
-extern __typeof (g_mkstemp_full) g_mkstemp_full __attribute((alias("IA__g_mkstemp_full"), visibility("default")));
-
-#undef g_mkdir_with_parents
-extern __typeof (g_mkdir_with_parents) g_mkdir_with_parents __attribute((alias("IA__g_mkdir_with_parents"), visibility("default")));
-
-#ifdef G_OS_WIN32
-#undef g_file_get_contents_utf8
-extern __typeof (g_file_get_contents_utf8) g_file_get_contents_utf8 __attribute((alias("IA__g_file_get_contents_utf8"), visibility("default")));
-
-#undef g_file_open_tmp_utf8
-extern __typeof (g_file_open_tmp_utf8) g_file_open_tmp_utf8 __attribute((alias("IA__g_file_open_tmp_utf8"), visibility("default")));
-
-#undef g_file_test_utf8
-extern __typeof (g_file_test_utf8) g_file_test_utf8 __attribute((alias("IA__g_file_test_utf8"), visibility("default")));
-
-#undef g_mkstemp_utf8
-extern __typeof (g_mkstemp_utf8) g_mkstemp_utf8 __attribute((alias("IA__g_mkstemp_utf8"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_HASH_H__)
-#if IN_FILE(__G_HASH_C__)
-#undef g_hash_table_destroy
-extern __typeof (g_hash_table_destroy) g_hash_table_destroy __attribute((alias("IA__g_hash_table_destroy"), visibility("default")));
-
-#undef g_hash_table_unref
-extern __typeof (g_hash_table_unref) g_hash_table_unref __attribute((alias("IA__g_hash_table_unref"), visibility("default")));
-
-#undef g_hash_table_ref
-extern __typeof (g_hash_table_ref) g_hash_table_ref __attribute((alias("IA__g_hash_table_ref"), visibility("default")));
-
-#undef g_hash_table_find
-extern __typeof (g_hash_table_find) g_hash_table_find __attribute((alias("IA__g_hash_table_find"), visibility("default")));
-
-#undef g_hash_table_foreach
-extern __typeof (g_hash_table_foreach) g_hash_table_foreach __attribute((alias("IA__g_hash_table_foreach"), visibility("default")));
-
-#undef g_hash_table_foreach_remove
-extern __typeof (g_hash_table_foreach_remove) g_hash_table_foreach_remove __attribute((alias("IA__g_hash_table_foreach_remove"), visibility("default")));
-
-#undef g_hash_table_foreach_steal
-extern __typeof (g_hash_table_foreach_steal) g_hash_table_foreach_steal __attribute((alias("IA__g_hash_table_foreach_steal"), visibility("default")));
-
-#undef g_hash_table_get_keys
-extern __typeof (g_hash_table_get_keys) g_hash_table_get_keys __attribute((alias("IA__g_hash_table_get_keys"), visibility("default")));
-
-#undef g_hash_table_get_values
-extern __typeof (g_hash_table_get_values) g_hash_table_get_values __attribute((alias("IA__g_hash_table_get_values"), visibility("default")));
-
-#undef g_hash_table_insert
-extern __typeof (g_hash_table_insert) g_hash_table_insert __attribute((alias("IA__g_hash_table_insert"), visibility("default")));
-
-#undef g_hash_table_lookup
-extern __typeof (g_hash_table_lookup) g_hash_table_lookup __attribute((alias("IA__g_hash_table_lookup"), visibility("default")));
-
-#undef g_hash_table_lookup_extended
-extern __typeof (g_hash_table_lookup_extended) g_hash_table_lookup_extended __attribute((alias("IA__g_hash_table_lookup_extended"), visibility("default")));
-
-#undef g_hash_table_new
-extern __typeof (g_hash_table_new) g_hash_table_new __attribute((alias("IA__g_hash_table_new"), visibility("default")));
-
-#undef g_hash_table_new_full
-extern __typeof (g_hash_table_new_full) g_hash_table_new_full __attribute((alias("IA__g_hash_table_new_full"), visibility("default")));
-
-#undef g_hash_table_remove
-extern __typeof (g_hash_table_remove) g_hash_table_remove __attribute((alias("IA__g_hash_table_remove"), visibility("default")));
-
-#undef g_hash_table_remove_all
-extern __typeof (g_hash_table_remove_all) g_hash_table_remove_all __attribute((alias("IA__g_hash_table_remove_all"), visibility("default")));
-
-#undef g_hash_table_replace
-extern __typeof (g_hash_table_replace) g_hash_table_replace __attribute((alias("IA__g_hash_table_replace"), visibility("default")));
-
-#undef g_hash_table_size
-extern __typeof (g_hash_table_size) g_hash_table_size __attribute((alias("IA__g_hash_table_size"), visibility("default")));
-
-#undef g_hash_table_steal
-extern __typeof (g_hash_table_steal) g_hash_table_steal __attribute((alias("IA__g_hash_table_steal"), visibility("default")));
-
-#undef g_hash_table_steal_all
-extern __typeof (g_hash_table_steal_all) g_hash_table_steal_all __attribute((alias("IA__g_hash_table_steal_all"), visibility("default")));
-
-#undef g_hash_table_iter_init
-extern __typeof (g_hash_table_iter_init) g_hash_table_iter_init __attribute((alias("IA__g_hash_table_iter_init"), visibility("default")));
-
-#undef g_hash_table_iter_next
-extern __typeof (g_hash_table_iter_next) g_hash_table_iter_next __attribute((alias("IA__g_hash_table_iter_next"), visibility("default")));
-
-#undef g_hash_table_iter_get_hash_table
-extern __typeof (g_hash_table_iter_get_hash_table) g_hash_table_iter_get_hash_table __attribute((alias("IA__g_hash_table_iter_get_hash_table"), visibility("default")));
-
-#undef g_hash_table_iter_remove
-extern __typeof (g_hash_table_iter_remove) g_hash_table_iter_remove __attribute((alias("IA__g_hash_table_iter_remove"), visibility("default")));
-
-#undef g_hash_table_iter_steal
-extern __typeof (g_hash_table_iter_steal) g_hash_table_iter_steal __attribute((alias("IA__g_hash_table_iter_steal"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_HOOK_H__)
-#if IN_FILE(__G_HOOK_C__)
-#undef g_hook_alloc
-extern __typeof (g_hook_alloc) g_hook_alloc __attribute((alias("IA__g_hook_alloc"), visibility("default")));
-
-#undef g_hook_compare_ids
-extern __typeof (g_hook_compare_ids) g_hook_compare_ids __attribute((alias("IA__g_hook_compare_ids"), visibility("default")));
-
-#undef g_hook_destroy
-extern __typeof (g_hook_destroy) g_hook_destroy __attribute((alias("IA__g_hook_destroy"), visibility("default")));
-
-#undef g_hook_destroy_link
-extern __typeof (g_hook_destroy_link) g_hook_destroy_link __attribute((alias("IA__g_hook_destroy_link"), visibility("default")));
-
-#undef g_hook_find
-extern __typeof (g_hook_find) g_hook_find __attribute((alias("IA__g_hook_find"), visibility("default")));
-
-#undef g_hook_find_data
-extern __typeof (g_hook_find_data) g_hook_find_data __attribute((alias("IA__g_hook_find_data"), visibility("default")));
-
-#undef g_hook_find_func
-extern __typeof (g_hook_find_func) g_hook_find_func __attribute((alias("IA__g_hook_find_func"), visibility("default")));
-
-#undef g_hook_find_func_data
-extern __typeof (g_hook_find_func_data) g_hook_find_func_data __attribute((alias("IA__g_hook_find_func_data"), visibility("default")));
-
-#undef g_hook_first_valid
-extern __typeof (g_hook_first_valid) g_hook_first_valid __attribute((alias("IA__g_hook_first_valid"), visibility("default")));
-
-#undef g_hook_free
-extern __typeof (g_hook_free) g_hook_free __attribute((alias("IA__g_hook_free"), visibility("default")));
-
-#undef g_hook_get
-extern __typeof (g_hook_get) g_hook_get __attribute((alias("IA__g_hook_get"), visibility("default")));
-
-#undef g_hook_insert_before
-extern __typeof (g_hook_insert_before) g_hook_insert_before __attribute((alias("IA__g_hook_insert_before"), visibility("default")));
-
-#undef g_hook_insert_sorted
-extern __typeof (g_hook_insert_sorted) g_hook_insert_sorted __attribute((alias("IA__g_hook_insert_sorted"), visibility("default")));
-
-#undef g_hook_list_clear
-extern __typeof (g_hook_list_clear) g_hook_list_clear __attribute((alias("IA__g_hook_list_clear"), visibility("default")));
-
-#undef g_hook_list_init
-extern __typeof (g_hook_list_init) g_hook_list_init __attribute((alias("IA__g_hook_list_init"), visibility("default")));
-
-#undef g_hook_list_invoke
-extern __typeof (g_hook_list_invoke) g_hook_list_invoke __attribute((alias("IA__g_hook_list_invoke"), visibility("default")));
-
-#undef g_hook_list_invoke_check
-extern __typeof (g_hook_list_invoke_check) g_hook_list_invoke_check __attribute((alias("IA__g_hook_list_invoke_check"), visibility("default")));
-
-#undef g_hook_list_marshal
-extern __typeof (g_hook_list_marshal) g_hook_list_marshal __attribute((alias("IA__g_hook_list_marshal"), visibility("default")));
-
-#undef g_hook_list_marshal_check
-extern __typeof (g_hook_list_marshal_check) g_hook_list_marshal_check __attribute((alias("IA__g_hook_list_marshal_check"), visibility("default")));
-
-#undef g_hook_next_valid
-extern __typeof (g_hook_next_valid) g_hook_next_valid __attribute((alias("IA__g_hook_next_valid"), visibility("default")));
-
-#undef g_hook_prepend
-extern __typeof (g_hook_prepend) g_hook_prepend __attribute((alias("IA__g_hook_prepend"), visibility("default")));
-
-#undef g_hook_ref
-extern __typeof (g_hook_ref) g_hook_ref __attribute((alias("IA__g_hook_ref"), visibility("default")));
-
-#undef g_hook_unref
-extern __typeof (g_hook_unref) g_hook_unref __attribute((alias("IA__g_hook_unref"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_IOCHANNEL_H__)
-#if IN_FILE(__G_IOCHANNEL_C__)
-#undef g_io_add_watch
-extern __typeof (g_io_add_watch) g_io_add_watch __attribute((alias("IA__g_io_add_watch"), visibility("default")));
-
-#undef g_io_add_watch_full
-extern __typeof (g_io_add_watch_full) g_io_add_watch_full __attribute((alias("IA__g_io_add_watch_full"), visibility("default")));
-
-#undef g_io_create_watch
-extern __typeof (g_io_create_watch) g_io_create_watch __attribute((alias("IA__g_io_create_watch"), visibility("default")));
-
-#undef g_io_channel_error_from_errno
-extern __typeof (g_io_channel_error_from_errno) g_io_channel_error_from_errno __attribute((alias("IA__g_io_channel_error_from_errno"), visibility("default")));
-
-#undef g_io_channel_error_quark
-extern __typeof (g_io_channel_error_quark) g_io_channel_error_quark __attribute((alias("IA__g_io_channel_error_quark"), visibility("default")));
-
-#undef g_io_channel_flush
-extern __typeof (g_io_channel_flush) g_io_channel_flush __attribute((alias("IA__g_io_channel_flush"), visibility("default")));
-
-#undef g_io_channel_get_buffer_condition
-extern __typeof (g_io_channel_get_buffer_condition) g_io_channel_get_buffer_condition __attribute((alias("IA__g_io_channel_get_buffer_condition"), visibility("default")));
-
-#undef g_io_channel_get_buffered
-extern __typeof (g_io_channel_get_buffered) g_io_channel_get_buffered __attribute((alias("IA__g_io_channel_get_buffered"), visibility("default")));
-
-#undef g_io_channel_get_buffer_size
-extern __typeof (g_io_channel_get_buffer_size) g_io_channel_get_buffer_size __attribute((alias("IA__g_io_channel_get_buffer_size"), visibility("default")));
-
-#undef g_io_channel_get_close_on_unref
-extern __typeof (g_io_channel_get_close_on_unref) g_io_channel_get_close_on_unref __attribute((alias("IA__g_io_channel_get_close_on_unref"), visibility("default")));
-
-#undef g_io_channel_get_encoding
-extern __typeof (g_io_channel_get_encoding) g_io_channel_get_encoding __attribute((alias("IA__g_io_channel_get_encoding"), visibility("default")));
-
-#undef g_io_channel_get_flags
-extern __typeof (g_io_channel_get_flags) g_io_channel_get_flags __attribute((alias("IA__g_io_channel_get_flags"), visibility("default")));
-
-#undef g_io_channel_get_line_term
-extern __typeof (g_io_channel_get_line_term) g_io_channel_get_line_term __attribute((alias("IA__g_io_channel_get_line_term"), visibility("default")));
-
-#undef g_io_channel_init
-extern __typeof (g_io_channel_init) g_io_channel_init __attribute((alias("IA__g_io_channel_init"), visibility("default")));
-
-#undef g_io_channel_read_chars
-extern __typeof (g_io_channel_read_chars) g_io_channel_read_chars __attribute((alias("IA__g_io_channel_read_chars"), visibility("default")));
-
-#undef g_io_channel_read_line
-extern __typeof (g_io_channel_read_line) g_io_channel_read_line __attribute((alias("IA__g_io_channel_read_line"), visibility("default")));
-
-#undef g_io_channel_read_line_string
-extern __typeof (g_io_channel_read_line_string) g_io_channel_read_line_string __attribute((alias("IA__g_io_channel_read_line_string"), visibility("default")));
-
-#undef g_io_channel_read_to_end
-extern __typeof (g_io_channel_read_to_end) g_io_channel_read_to_end __attribute((alias("IA__g_io_channel_read_to_end"), visibility("default")));
-
-#undef g_io_channel_read_unichar
-extern __typeof (g_io_channel_read_unichar) g_io_channel_read_unichar __attribute((alias("IA__g_io_channel_read_unichar"), visibility("default")));
-
-#undef g_io_channel_ref
-extern __typeof (g_io_channel_ref) g_io_channel_ref __attribute((alias("IA__g_io_channel_ref"), visibility("default")));
-
-#undef g_io_channel_seek_position
-extern __typeof (g_io_channel_seek_position) g_io_channel_seek_position __attribute((alias("IA__g_io_channel_seek_position"), visibility("default")));
-
-#undef g_io_channel_set_buffered
-extern __typeof (g_io_channel_set_buffered) g_io_channel_set_buffered __attribute((alias("IA__g_io_channel_set_buffered"), visibility("default")));
-
-#undef g_io_channel_set_buffer_size
-extern __typeof (g_io_channel_set_buffer_size) g_io_channel_set_buffer_size __attribute((alias("IA__g_io_channel_set_buffer_size"), visibility("default")));
-
-#undef g_io_channel_set_close_on_unref
-extern __typeof (g_io_channel_set_close_on_unref) g_io_channel_set_close_on_unref __attribute((alias("IA__g_io_channel_set_close_on_unref"), visibility("default")));
-
-#undef g_io_channel_set_encoding
-extern __typeof (g_io_channel_set_encoding) g_io_channel_set_encoding __attribute((alias("IA__g_io_channel_set_encoding"), visibility("default")));
-
-#undef g_io_channel_set_flags
-extern __typeof (g_io_channel_set_flags) g_io_channel_set_flags __attribute((alias("IA__g_io_channel_set_flags"), visibility("default")));
-
-#undef g_io_channel_set_line_term
-extern __typeof (g_io_channel_set_line_term) g_io_channel_set_line_term __attribute((alias("IA__g_io_channel_set_line_term"), visibility("default")));
-
-#undef g_io_channel_shutdown
-extern __typeof (g_io_channel_shutdown) g_io_channel_shutdown __attribute((alias("IA__g_io_channel_shutdown"), visibility("default")));
-
-#undef g_io_channel_unref
-extern __typeof (g_io_channel_unref) g_io_channel_unref __attribute((alias("IA__g_io_channel_unref"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_io_channel_close
-extern __typeof (g_io_channel_close) g_io_channel_close __attribute((alias("IA__g_io_channel_close"), visibility("default")));
-
-#undef g_io_channel_read
-extern __typeof (g_io_channel_read) g_io_channel_read __attribute((alias("IA__g_io_channel_read"), visibility("default")));
-
-#undef g_io_channel_seek
-extern __typeof (g_io_channel_seek) g_io_channel_seek __attribute((alias("IA__g_io_channel_seek"), visibility("default")));
-
-#undef g_io_channel_write
-extern __typeof (g_io_channel_write) g_io_channel_write __attribute((alias("IA__g_io_channel_write"), visibility("default")));
-
-#endif
-#undef g_io_channel_write_chars
-extern __typeof (g_io_channel_write_chars) g_io_channel_write_chars __attribute((alias("IA__g_io_channel_write_chars"), visibility("default")));
-
-#undef g_io_channel_write_unichar
-extern __typeof (g_io_channel_write_unichar) g_io_channel_write_unichar __attribute((alias("IA__g_io_channel_write_unichar"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_IOCHANNEL_H__)
-#if IN_FILE(__G_IO_UNIX_C__)
-#ifdef G_OS_UNIX
-#undef g_io_channel_unix_get_fd
-extern __typeof (g_io_channel_unix_get_fd) g_io_channel_unix_get_fd __attribute((alias("IA__g_io_channel_unix_get_fd"), visibility("default")));
-
-#undef g_io_channel_unix_new
-extern __typeof (g_io_channel_unix_new) g_io_channel_unix_new __attribute((alias("IA__g_io_channel_unix_new"), visibility("default")));
-
-#undef g_io_channel_new_file
-extern __typeof (g_io_channel_new_file) g_io_channel_new_file __attribute((alias("IA__g_io_channel_new_file"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_IOCHANNEL_H__)
-#if IN_FILE(__G_IO_WIN32_C__)
-#ifdef G_OS_WIN32
-#undef g_io_channel_unix_get_fd
-extern __typeof (g_io_channel_unix_get_fd) g_io_channel_unix_get_fd __attribute((alias("IA__g_io_channel_unix_get_fd"), visibility("default")));
-
-#undef g_io_channel_unix_new
-extern __typeof (g_io_channel_unix_new) g_io_channel_unix_new __attribute((alias("IA__g_io_channel_unix_new"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_io_channel_new_file
-extern __typeof (g_io_channel_new_file) g_io_channel_new_file __attribute((alias("IA__g_io_channel_new_file"), visibility("default")));
-
-#endif
-#undef g_io_channel_new_file_utf8
-extern __typeof (g_io_channel_new_file_utf8) g_io_channel_new_file_utf8 __attribute((alias("IA__g_io_channel_new_file_utf8"), visibility("default")));
-
-#undef g_io_channel_win32_get_fd
-extern __typeof (g_io_channel_win32_get_fd) g_io_channel_win32_get_fd __attribute((alias("IA__g_io_channel_win32_get_fd"), visibility("default")));
-
-#undef g_io_channel_win32_make_pollfd
-extern __typeof (g_io_channel_win32_make_pollfd) g_io_channel_win32_make_pollfd __attribute((alias("IA__g_io_channel_win32_make_pollfd"), visibility("default")));
-
-#undef g_io_channel_win32_new_fd
-extern __typeof (g_io_channel_win32_new_fd) g_io_channel_win32_new_fd __attribute((alias("IA__g_io_channel_win32_new_fd"), visibility("default")));
-
-#undef g_io_channel_win32_new_messages
-extern __typeof (g_io_channel_win32_new_messages) g_io_channel_win32_new_messages __attribute((alias("IA__g_io_channel_win32_new_messages"), visibility("default")));
-
-#undef g_io_channel_win32_new_socket
-extern __typeof (g_io_channel_win32_new_socket) g_io_channel_win32_new_socket __attribute((alias("IA__g_io_channel_win32_new_socket"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_io_channel_win32_new_stream_socket
-extern __typeof (g_io_channel_win32_new_stream_socket) g_io_channel_win32_new_stream_socket __attribute((alias("IA__g_io_channel_win32_new_stream_socket"), visibility("default")));
-
-#endif
-#undef g_io_channel_win32_poll
-extern __typeof (g_io_channel_win32_poll) g_io_channel_win32_poll __attribute((alias("IA__g_io_channel_win32_poll"), visibility("default")));
-
-#undef g_io_channel_win32_set_debug
-extern __typeof (g_io_channel_win32_set_debug) g_io_channel_win32_set_debug __attribute((alias("IA__g_io_channel_win32_set_debug"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_KEY_FILE_H__)
-#if IN_FILE(__G_KEY_FILE_C__)
-#undef g_key_file_error_quark
-extern __typeof (g_key_file_error_quark) g_key_file_error_quark __attribute((alias("IA__g_key_file_error_quark"), visibility("default")));
-
-#undef g_key_file_free
-extern __typeof (g_key_file_free) g_key_file_free __attribute((alias("IA__g_key_file_free"), visibility("default")));
-
-#undef g_key_file_get_boolean
-extern __typeof (g_key_file_get_boolean) g_key_file_get_boolean __attribute((alias("IA__g_key_file_get_boolean"), visibility("default")));
-
-#undef g_key_file_get_boolean_list
-extern __typeof (g_key_file_get_boolean_list) g_key_file_get_boolean_list __attribute((alias("IA__g_key_file_get_boolean_list"), visibility("default")));
-
-#undef g_key_file_get_comment
-extern __typeof (g_key_file_get_comment) g_key_file_get_comment __attribute((alias("IA__g_key_file_get_comment"), visibility("default")));
-
-#undef g_key_file_get_groups
-extern __typeof (g_key_file_get_groups) g_key_file_get_groups __attribute((alias("IA__g_key_file_get_groups"), visibility("default")));
-
-#undef g_key_file_get_double
-extern __typeof (g_key_file_get_double) g_key_file_get_double __attribute((alias("IA__g_key_file_get_double"), visibility("default")));
-
-#undef g_key_file_get_double_list
-extern __typeof (g_key_file_get_double_list) g_key_file_get_double_list __attribute((alias("IA__g_key_file_get_double_list"), visibility("default")));
-
-#undef g_key_file_get_integer
-extern __typeof (g_key_file_get_integer) g_key_file_get_integer __attribute((alias("IA__g_key_file_get_integer"), visibility("default")));
-
-#undef g_key_file_get_integer_list
-extern __typeof (g_key_file_get_integer_list) g_key_file_get_integer_list __attribute((alias("IA__g_key_file_get_integer_list"), visibility("default")));
-
-#undef g_key_file_get_keys
-extern __typeof (g_key_file_get_keys) g_key_file_get_keys __attribute((alias("IA__g_key_file_get_keys"), visibility("default")));
-
-#undef g_key_file_get_locale_string
-extern __typeof (g_key_file_get_locale_string) g_key_file_get_locale_string __attribute((alias("IA__g_key_file_get_locale_string"), visibility("default")));
-
-#undef g_key_file_get_locale_string_list
-extern __typeof (g_key_file_get_locale_string_list) g_key_file_get_locale_string_list __attribute((alias("IA__g_key_file_get_locale_string_list"), visibility("default")));
-
-#undef g_key_file_get_start_group
-extern __typeof (g_key_file_get_start_group) g_key_file_get_start_group __attribute((alias("IA__g_key_file_get_start_group"), visibility("default")));
-
-#undef g_key_file_get_string
-extern __typeof (g_key_file_get_string) g_key_file_get_string __attribute((alias("IA__g_key_file_get_string"), visibility("default")));
-
-#undef g_key_file_get_string_list
-extern __typeof (g_key_file_get_string_list) g_key_file_get_string_list __attribute((alias("IA__g_key_file_get_string_list"), visibility("default")));
-
-#undef g_key_file_get_value
-extern __typeof (g_key_file_get_value) g_key_file_get_value __attribute((alias("IA__g_key_file_get_value"), visibility("default")));
-
-#undef g_key_file_has_group
-extern __typeof (g_key_file_has_group) g_key_file_has_group __attribute((alias("IA__g_key_file_has_group"), visibility("default")));
-
-#undef g_key_file_has_key
-extern __typeof (g_key_file_has_key) g_key_file_has_key __attribute((alias("IA__g_key_file_has_key"), visibility("default")));
-
-#undef g_key_file_load_from_dirs
-extern __typeof (g_key_file_load_from_dirs) g_key_file_load_from_dirs __attribute((alias("IA__g_key_file_load_from_dirs"), visibility("default")));
-
-#undef g_key_file_load_from_data
-extern __typeof (g_key_file_load_from_data) g_key_file_load_from_data __attribute((alias("IA__g_key_file_load_from_data"), visibility("default")));
-
-#undef g_key_file_load_from_data_dirs
-extern __typeof (g_key_file_load_from_data_dirs) g_key_file_load_from_data_dirs __attribute((alias("IA__g_key_file_load_from_data_dirs"), visibility("default")));
-
-#undef g_key_file_load_from_file
-extern __typeof (g_key_file_load_from_file) g_key_file_load_from_file __attribute((alias("IA__g_key_file_load_from_file"), visibility("default")));
-
-#undef g_key_file_new
-extern __typeof (g_key_file_new) g_key_file_new __attribute((alias("IA__g_key_file_new"), visibility("default")));
-
-#undef g_key_file_remove_comment
-extern __typeof (g_key_file_remove_comment) g_key_file_remove_comment __attribute((alias("IA__g_key_file_remove_comment"), visibility("default")));
-
-#undef g_key_file_remove_group
-extern __typeof (g_key_file_remove_group) g_key_file_remove_group __attribute((alias("IA__g_key_file_remove_group"), visibility("default")));
-
-#undef g_key_file_remove_key
-extern __typeof (g_key_file_remove_key) g_key_file_remove_key __attribute((alias("IA__g_key_file_remove_key"), visibility("default")));
-
-#undef g_key_file_set_boolean
-extern __typeof (g_key_file_set_boolean) g_key_file_set_boolean __attribute((alias("IA__g_key_file_set_boolean"), visibility("default")));
-
-#undef g_key_file_set_boolean_list
-extern __typeof (g_key_file_set_boolean_list) g_key_file_set_boolean_list __attribute((alias("IA__g_key_file_set_boolean_list"), visibility("default")));
-
-#undef g_key_file_set_comment
-extern __typeof (g_key_file_set_comment) g_key_file_set_comment __attribute((alias("IA__g_key_file_set_comment"), visibility("default")));
-
-#undef g_key_file_set_double
-extern __typeof (g_key_file_set_double) g_key_file_set_double __attribute((alias("IA__g_key_file_set_double"), visibility("default")));
-
-#undef g_key_file_set_double_list
-extern __typeof (g_key_file_set_double_list) g_key_file_set_double_list __attribute((alias("IA__g_key_file_set_double_list"), visibility("default")));
-
-#undef g_key_file_set_integer
-extern __typeof (g_key_file_set_integer) g_key_file_set_integer __attribute((alias("IA__g_key_file_set_integer"), visibility("default")));
-
-#undef g_key_file_set_integer_list
-extern __typeof (g_key_file_set_integer_list) g_key_file_set_integer_list __attribute((alias("IA__g_key_file_set_integer_list"), visibility("default")));
-
-#undef g_key_file_set_list_separator
-extern __typeof (g_key_file_set_list_separator) g_key_file_set_list_separator __attribute((alias("IA__g_key_file_set_list_separator"), visibility("default")));
-
-#undef g_key_file_set_locale_string
-extern __typeof (g_key_file_set_locale_string) g_key_file_set_locale_string __attribute((alias("IA__g_key_file_set_locale_string"), visibility("default")));
-
-#undef g_key_file_set_locale_string_list
-extern __typeof (g_key_file_set_locale_string_list) g_key_file_set_locale_string_list __attribute((alias("IA__g_key_file_set_locale_string_list"), visibility("default")));
-
-#undef g_key_file_set_string
-extern __typeof (g_key_file_set_string) g_key_file_set_string __attribute((alias("IA__g_key_file_set_string"), visibility("default")));
-
-#undef g_key_file_set_string_list
-extern __typeof (g_key_file_set_string_list) g_key_file_set_string_list __attribute((alias("IA__g_key_file_set_string_list"), visibility("default")));
-
-#undef g_key_file_set_value
-extern __typeof (g_key_file_set_value) g_key_file_set_value __attribute((alias("IA__g_key_file_set_value"), visibility("default")));
-
-#undef g_key_file_to_data
-extern __typeof (g_key_file_to_data) g_key_file_to_data __attribute((alias("IA__g_key_file_to_data"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_LIST_H__)
-#if IN_FILE(__G_LIST_C__)
-#undef g_list_alloc
-extern __typeof (g_list_alloc) g_list_alloc __attribute((alias("IA__g_list_alloc"), visibility("default")));
-
-#undef g_list_append
-extern __typeof (g_list_append) g_list_append __attribute((alias("IA__g_list_append"), visibility("default")));
-
-#undef g_list_concat
-extern __typeof (g_list_concat) g_list_concat __attribute((alias("IA__g_list_concat"), visibility("default")));
-
-#undef g_list_copy
-extern __typeof (g_list_copy) g_list_copy __attribute((alias("IA__g_list_copy"), visibility("default")));
-
-#undef g_list_delete_link
-extern __typeof (g_list_delete_link) g_list_delete_link __attribute((alias("IA__g_list_delete_link"), visibility("default")));
-
-#undef g_list_find
-extern __typeof (g_list_find) g_list_find __attribute((alias("IA__g_list_find"), visibility("default")));
-
-#undef g_list_find_custom
-extern __typeof (g_list_find_custom) g_list_find_custom __attribute((alias("IA__g_list_find_custom"), visibility("default")));
-
-#undef g_list_first
-extern __typeof (g_list_first) g_list_first __attribute((alias("IA__g_list_first"), visibility("default")));
-
-#undef g_list_foreach
-extern __typeof (g_list_foreach) g_list_foreach __attribute((alias("IA__g_list_foreach"), visibility("default")));
-
-#undef g_list_free
-extern __typeof (g_list_free) g_list_free __attribute((alias("IA__g_list_free"), visibility("default")));
-
-#undef g_list_free_1
-extern __typeof (g_list_free_1) g_list_free_1 __attribute((alias("IA__g_list_free_1"), visibility("default")));
-
-#undef g_list_index
-extern __typeof (g_list_index) g_list_index __attribute((alias("IA__g_list_index"), visibility("default")));
-
-#undef g_list_insert
-extern __typeof (g_list_insert) g_list_insert __attribute((alias("IA__g_list_insert"), visibility("default")));
-
-#undef g_list_insert_before
-extern __typeof (g_list_insert_before) g_list_insert_before __attribute((alias("IA__g_list_insert_before"), visibility("default")));
-
-#undef g_list_insert_sorted
-extern __typeof (g_list_insert_sorted) g_list_insert_sorted __attribute((alias("IA__g_list_insert_sorted"), visibility("default")));
-
-#undef g_list_insert_sorted_with_data
-extern __typeof (g_list_insert_sorted_with_data) g_list_insert_sorted_with_data __attribute((alias("IA__g_list_insert_sorted_with_data"), visibility("default")));
-
-#undef g_list_last
-extern __typeof (g_list_last) g_list_last __attribute((alias("IA__g_list_last"), visibility("default")));
-
-#undef g_list_length
-extern __typeof (g_list_length) g_list_length __attribute((alias("IA__g_list_length"), visibility("default")));
-
-#undef g_list_nth
-extern __typeof (g_list_nth) g_list_nth __attribute((alias("IA__g_list_nth"), visibility("default")));
-
-#undef g_list_nth_data
-extern __typeof (g_list_nth_data) g_list_nth_data __attribute((alias("IA__g_list_nth_data"), visibility("default")));
-
-#undef g_list_nth_prev
-extern __typeof (g_list_nth_prev) g_list_nth_prev __attribute((alias("IA__g_list_nth_prev"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_list_pop_allocator
-extern __typeof (g_list_pop_allocator) g_list_pop_allocator __attribute((alias("IA__g_list_pop_allocator"), visibility("default")));
-
-#endif
-#undef g_list_position
-extern __typeof (g_list_position) g_list_position __attribute((alias("IA__g_list_position"), visibility("default")));
-
-#undef g_list_prepend
-extern __typeof (g_list_prepend) g_list_prepend __attribute((alias("IA__g_list_prepend"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_list_push_allocator
-extern __typeof (g_list_push_allocator) g_list_push_allocator __attribute((alias("IA__g_list_push_allocator"), visibility("default")));
-
-#endif
-#undef g_list_remove
-extern __typeof (g_list_remove) g_list_remove __attribute((alias("IA__g_list_remove"), visibility("default")));
-
-#undef g_list_remove_all
-extern __typeof (g_list_remove_all) g_list_remove_all __attribute((alias("IA__g_list_remove_all"), visibility("default")));
-
-#undef g_list_remove_link
-extern __typeof (g_list_remove_link) g_list_remove_link __attribute((alias("IA__g_list_remove_link"), visibility("default")));
-
-#undef g_list_reverse
-extern __typeof (g_list_reverse) g_list_reverse __attribute((alias("IA__g_list_reverse"), visibility("default")));
-
-#undef g_list_sort
-extern __typeof (g_list_sort) g_list_sort __attribute((alias("IA__g_list_sort"), visibility("default")));
-
-#undef g_list_sort_with_data
-extern __typeof (g_list_sort_with_data) g_list_sort_with_data __attribute((alias("IA__g_list_sort_with_data"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_MAIN_H__)
-#if IN_FILE(__G_MAIN_C__)
-#undef g_child_watch_add
-extern __typeof (g_child_watch_add) g_child_watch_add __attribute((alias("IA__g_child_watch_add"), visibility("default")));
-
-#undef g_child_watch_add_full
-extern __typeof (g_child_watch_add_full) g_child_watch_add_full __attribute((alias("IA__g_child_watch_add_full"), visibility("default")));
-
-#undef g_child_watch_source_new
-extern __typeof (g_child_watch_source_new) g_child_watch_source_new __attribute((alias("IA__g_child_watch_source_new"), visibility("default")));
-
-#undef g_get_current_time
-extern __typeof (g_get_current_time) g_get_current_time __attribute((alias("IA__g_get_current_time"), visibility("default")));
-
-#undef g_main_context_acquire
-extern __typeof (g_main_context_acquire) g_main_context_acquire __attribute((alias("IA__g_main_context_acquire"), visibility("default")));
-
-#undef g_main_context_add_poll
-extern __typeof (g_main_context_add_poll) g_main_context_add_poll __attribute((alias("IA__g_main_context_add_poll"), visibility("default")));
-
-#undef g_main_context_check
-extern __typeof (g_main_context_check) g_main_context_check __attribute((alias("IA__g_main_context_check"), visibility("default")));
-
-#undef g_main_context_default
-extern __typeof (g_main_context_default) g_main_context_default __attribute((alias("IA__g_main_context_default"), visibility("default")));
-
-#undef g_main_context_dispatch
-extern __typeof (g_main_context_dispatch) g_main_context_dispatch __attribute((alias("IA__g_main_context_dispatch"), visibility("default")));
-
-#undef g_main_context_find_source_by_funcs_user_data
-extern __typeof (g_main_context_find_source_by_funcs_user_data) g_main_context_find_source_by_funcs_user_data __attribute((alias("IA__g_main_context_find_source_by_funcs_user_data"), visibility("default")));
-
-#undef g_main_context_find_source_by_id
-extern __typeof (g_main_context_find_source_by_id) g_main_context_find_source_by_id __attribute((alias("IA__g_main_context_find_source_by_id"), visibility("default")));
-
-#undef g_main_context_find_source_by_user_data
-extern __typeof (g_main_context_find_source_by_user_data) g_main_context_find_source_by_user_data __attribute((alias("IA__g_main_context_find_source_by_user_data"), visibility("default")));
-
-#undef g_main_context_get_poll_func
-extern __typeof (g_main_context_get_poll_func) g_main_context_get_poll_func __attribute((alias("IA__g_main_context_get_poll_func"), visibility("default")));
-
-#undef g_main_context_get_thread_default
-extern __typeof (g_main_context_get_thread_default) g_main_context_get_thread_default __attribute((alias("IA__g_main_context_get_thread_default"), visibility("default")));
-
-#undef g_main_context_is_owner
-extern __typeof (g_main_context_is_owner) g_main_context_is_owner __attribute((alias("IA__g_main_context_is_owner"), visibility("default")));
-
-#undef g_main_context_iteration
-extern __typeof (g_main_context_iteration) g_main_context_iteration __attribute((alias("IA__g_main_context_iteration"), visibility("default")));
-
-#undef g_main_context_new
-extern __typeof (g_main_context_new) g_main_context_new __attribute((alias("IA__g_main_context_new"), visibility("default")));
-
-#undef g_main_context_pending
-extern __typeof (g_main_context_pending) g_main_context_pending __attribute((alias("IA__g_main_context_pending"), visibility("default")));
-
-#undef g_main_context_pop_thread_default
-extern __typeof (g_main_context_pop_thread_default) g_main_context_pop_thread_default __attribute((alias("IA__g_main_context_pop_thread_default"), visibility("default")));
-
-#undef g_main_context_prepare
-extern __typeof (g_main_context_prepare) g_main_context_prepare __attribute((alias("IA__g_main_context_prepare"), visibility("default")));
-
-#undef g_main_context_push_thread_default
-extern __typeof (g_main_context_push_thread_default) g_main_context_push_thread_default __attribute((alias("IA__g_main_context_push_thread_default"), visibility("default")));
-
-#undef g_main_context_query
-extern __typeof (g_main_context_query) g_main_context_query __attribute((alias("IA__g_main_context_query"), visibility("default")));
-
-#undef g_main_context_ref
-extern __typeof (g_main_context_ref) g_main_context_ref __attribute((alias("IA__g_main_context_ref"), visibility("default")));
-
-#undef g_main_context_release
-extern __typeof (g_main_context_release) g_main_context_release __attribute((alias("IA__g_main_context_release"), visibility("default")));
-
-#undef g_main_context_remove_poll
-extern __typeof (g_main_context_remove_poll) g_main_context_remove_poll __attribute((alias("IA__g_main_context_remove_poll"), visibility("default")));
-
-#undef g_main_context_set_poll_func
-extern __typeof (g_main_context_set_poll_func) g_main_context_set_poll_func __attribute((alias("IA__g_main_context_set_poll_func"), visibility("default")));
-
-#undef g_main_context_unref
-extern __typeof (g_main_context_unref) g_main_context_unref __attribute((alias("IA__g_main_context_unref"), visibility("default")));
-
-#undef g_main_context_wait
-extern __typeof (g_main_context_wait) g_main_context_wait __attribute((alias("IA__g_main_context_wait"), visibility("default")));
-
-#undef g_main_context_wakeup
-extern __typeof (g_main_context_wakeup) g_main_context_wakeup __attribute((alias("IA__g_main_context_wakeup"), visibility("default")));
-
-#undef g_main_depth
-extern __typeof (g_main_depth) g_main_depth __attribute((alias("IA__g_main_depth"), visibility("default")));
-
-#undef g_main_current_source
-extern __typeof (g_main_current_source) g_main_current_source __attribute((alias("IA__g_main_current_source"), visibility("default")));
-
-#undef g_main_loop_get_context
-extern __typeof (g_main_loop_get_context) g_main_loop_get_context __attribute((alias("IA__g_main_loop_get_context"), visibility("default")));
-
-#undef g_main_loop_is_running
-extern __typeof (g_main_loop_is_running) g_main_loop_is_running __attribute((alias("IA__g_main_loop_is_running"), visibility("default")));
-
-#undef g_main_loop_new
-extern __typeof (g_main_loop_new) g_main_loop_new __attribute((alias("IA__g_main_loop_new"), visibility("default")));
-
-#undef g_main_loop_quit
-extern __typeof (g_main_loop_quit) g_main_loop_quit __attribute((alias("IA__g_main_loop_quit"), visibility("default")));
-
-#undef g_main_loop_ref
-extern __typeof (g_main_loop_ref) g_main_loop_ref __attribute((alias("IA__g_main_loop_ref"), visibility("default")));
-
-#undef g_main_loop_run
-extern __typeof (g_main_loop_run) g_main_loop_run __attribute((alias("IA__g_main_loop_run"), visibility("default")));
-
-#undef g_main_loop_unref
-extern __typeof (g_main_loop_unref) g_main_loop_unref __attribute((alias("IA__g_main_loop_unref"), visibility("default")));
-
-#undef g_source_add_poll
-extern __typeof (g_source_add_poll) g_source_add_poll __attribute((alias("IA__g_source_add_poll"), visibility("default")));
-
-#undef g_source_attach
-extern __typeof (g_source_attach) g_source_attach __attribute((alias("IA__g_source_attach"), visibility("default")));
-
-#undef g_source_destroy
-extern __typeof (g_source_destroy) g_source_destroy __attribute((alias("IA__g_source_destroy"), visibility("default")));
-
-#undef g_source_get_can_recurse
-extern __typeof (g_source_get_can_recurse) g_source_get_can_recurse __attribute((alias("IA__g_source_get_can_recurse"), visibility("default")));
-
-#undef g_source_get_context
-extern __typeof (g_source_get_context) g_source_get_context __attribute((alias("IA__g_source_get_context"), visibility("default")));
-
-#undef g_source_get_current_time
-extern __typeof (g_source_get_current_time) g_source_get_current_time __attribute((alias("IA__g_source_get_current_time"), visibility("default")));
-
-#undef g_source_get_id
-extern __typeof (g_source_get_id) g_source_get_id __attribute((alias("IA__g_source_get_id"), visibility("default")));
-
-#undef g_source_get_priority
-extern __typeof (g_source_get_priority) g_source_get_priority __attribute((alias("IA__g_source_get_priority"), visibility("default")));
-
-#undef g_source_new
-extern __typeof (g_source_new) g_source_new __attribute((alias("IA__g_source_new"), visibility("default")));
-
-#undef g_source_ref
-extern __typeof (g_source_ref) g_source_ref __attribute((alias("IA__g_source_ref"), visibility("default")));
-
-#undef g_source_remove
-extern __typeof (g_source_remove) g_source_remove __attribute((alias("IA__g_source_remove"), visibility("default")));
-
-#undef g_source_remove_by_funcs_user_data
-extern __typeof (g_source_remove_by_funcs_user_data) g_source_remove_by_funcs_user_data __attribute((alias("IA__g_source_remove_by_funcs_user_data"), visibility("default")));
-
-#undef g_source_remove_by_user_data
-extern __typeof (g_source_remove_by_user_data) g_source_remove_by_user_data __attribute((alias("IA__g_source_remove_by_user_data"), visibility("default")));
-
-#undef g_source_remove_poll
-extern __typeof (g_source_remove_poll) g_source_remove_poll __attribute((alias("IA__g_source_remove_poll"), visibility("default")));
-
-#undef g_source_set_callback
-extern __typeof (g_source_set_callback) g_source_set_callback __attribute((alias("IA__g_source_set_callback"), visibility("default")));
-
-#undef g_source_set_callback_indirect
-extern __typeof (g_source_set_callback_indirect) g_source_set_callback_indirect __attribute((alias("IA__g_source_set_callback_indirect"), visibility("default")));
-
-#undef g_source_set_can_recurse
-extern __typeof (g_source_set_can_recurse) g_source_set_can_recurse __attribute((alias("IA__g_source_set_can_recurse"), visibility("default")));
-
-#undef g_source_set_funcs
-extern __typeof (g_source_set_funcs) g_source_set_funcs __attribute((alias("IA__g_source_set_funcs"), visibility("default")));
-
-#undef g_source_is_destroyed
-extern __typeof (g_source_is_destroyed) g_source_is_destroyed __attribute((alias("IA__g_source_is_destroyed"), visibility("default")));
-
-#undef g_source_set_priority
-extern __typeof (g_source_set_priority) g_source_set_priority __attribute((alias("IA__g_source_set_priority"), visibility("default")));
-
-#undef g_source_unref
-extern __typeof (g_source_unref) g_source_unref __attribute((alias("IA__g_source_unref"), visibility("default")));
-
-#undef g_idle_add
-extern __typeof (g_idle_add) g_idle_add __attribute((alias("IA__g_idle_add"), visibility("default")));
-
-#undef g_idle_add_full
-extern __typeof (g_idle_add_full) g_idle_add_full __attribute((alias("IA__g_idle_add_full"), visibility("default")));
-
-#undef g_idle_remove_by_data
-extern __typeof (g_idle_remove_by_data) g_idle_remove_by_data __attribute((alias("IA__g_idle_remove_by_data"), visibility("default")));
-
-#undef g_idle_source_new
-extern __typeof (g_idle_source_new) g_idle_source_new __attribute((alias("IA__g_idle_source_new"), visibility("default")));
-
-#undef g_timeout_add
-extern __typeof (g_timeout_add) g_timeout_add __attribute((alias("IA__g_timeout_add"), visibility("default")));
-
-#undef g_timeout_add_seconds
-extern __typeof (g_timeout_add_seconds) g_timeout_add_seconds __attribute((alias("IA__g_timeout_add_seconds"), visibility("default")));
-
-#undef g_timeout_add_full
-extern __typeof (g_timeout_add_full) g_timeout_add_full __attribute((alias("IA__g_timeout_add_full"), visibility("default")));
-
-#undef g_timeout_add_seconds_full
-extern __typeof (g_timeout_add_seconds_full) g_timeout_add_seconds_full __attribute((alias("IA__g_timeout_add_seconds_full"), visibility("default")));
-
-#undef g_timeout_source_new
-extern __typeof (g_timeout_source_new) g_timeout_source_new __attribute((alias("IA__g_timeout_source_new"), visibility("default")));
-
-#undef g_timeout_source_new_seconds
-extern __typeof (g_timeout_source_new_seconds) g_timeout_source_new_seconds __attribute((alias("IA__g_timeout_source_new_seconds"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_MAPPED_FILE_H__)
-#if IN_FILE(__G_MAPPED_FILE_C__)
-#undef g_mapped_file_new
-extern __typeof (g_mapped_file_new) g_mapped_file_new __attribute((alias("IA__g_mapped_file_new"), visibility("default")));
-
-#undef g_mapped_file_get_length
-extern __typeof (g_mapped_file_get_length) g_mapped_file_get_length __attribute((alias("IA__g_mapped_file_get_length"), visibility("default")));
-
-#undef g_mapped_file_get_contents
-extern __typeof (g_mapped_file_get_contents) g_mapped_file_get_contents __attribute((alias("IA__g_mapped_file_get_contents"), visibility("default")));
-
-#undef g_mapped_file_ref
-extern __typeof (g_mapped_file_ref) g_mapped_file_ref __attribute((alias("IA__g_mapped_file_ref"), visibility("default")));
-
-#undef g_mapped_file_unref
-extern __typeof (g_mapped_file_unref) g_mapped_file_unref __attribute((alias("IA__g_mapped_file_unref"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_mapped_file_free
-extern __typeof (g_mapped_file_free) g_mapped_file_free __attribute((alias("IA__g_mapped_file_free"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_MARKUP_H__)
-#if IN_FILE(__G_MARKUP_C__)
-#undef g_markup_error_quark
-extern __typeof (g_markup_error_quark) g_markup_error_quark __attribute((alias("IA__g_markup_error_quark"), visibility("default")));
-
-#undef g_markup_escape_text
-extern __typeof (g_markup_escape_text) g_markup_escape_text __attribute((alias("IA__g_markup_escape_text"), visibility("default")));
-
-#undef g_markup_parse_context_end_parse
-extern __typeof (g_markup_parse_context_end_parse) g_markup_parse_context_end_parse __attribute((alias("IA__g_markup_parse_context_end_parse"), visibility("default")));
-
-#undef g_markup_parse_context_free
-extern __typeof (g_markup_parse_context_free) g_markup_parse_context_free __attribute((alias("IA__g_markup_parse_context_free"), visibility("default")));
-
-#undef g_markup_parse_context_get_element
-extern __typeof (g_markup_parse_context_get_element) g_markup_parse_context_get_element __attribute((alias("IA__g_markup_parse_context_get_element"), visibility("default")));
-
-#undef g_markup_parse_context_get_element_stack
-extern __typeof (g_markup_parse_context_get_element_stack) g_markup_parse_context_get_element_stack __attribute((alias("IA__g_markup_parse_context_get_element_stack"), visibility("default")));
-
-#undef g_markup_parse_context_get_position
-extern __typeof (g_markup_parse_context_get_position) g_markup_parse_context_get_position __attribute((alias("IA__g_markup_parse_context_get_position"), visibility("default")));
-
-#undef g_markup_parse_context_get_user_data
-extern __typeof (g_markup_parse_context_get_user_data) g_markup_parse_context_get_user_data __attribute((alias("IA__g_markup_parse_context_get_user_data"), visibility("default")));
-
-#undef g_markup_parse_context_new
-extern __typeof (g_markup_parse_context_new) g_markup_parse_context_new __attribute((alias("IA__g_markup_parse_context_new"), visibility("default")));
-
-#undef g_markup_parse_context_parse
-extern __typeof (g_markup_parse_context_parse) g_markup_parse_context_parse __attribute((alias("IA__g_markup_parse_context_parse"), visibility("default")));
-
-#undef g_markup_parse_context_push
-extern __typeof (g_markup_parse_context_push) g_markup_parse_context_push __attribute((alias("IA__g_markup_parse_context_push"), visibility("default")));
-
-#undef g_markup_parse_context_pop
-extern __typeof (g_markup_parse_context_pop) g_markup_parse_context_pop __attribute((alias("IA__g_markup_parse_context_pop"), visibility("default")));
-
-#undef g_markup_printf_escaped
-extern __typeof (g_markup_printf_escaped) g_markup_printf_escaped __attribute((alias("IA__g_markup_printf_escaped"), visibility("default")));
-
-#undef g_markup_vprintf_escaped
-extern __typeof (g_markup_vprintf_escaped) g_markup_vprintf_escaped __attribute((alias("IA__g_markup_vprintf_escaped"), visibility("default")));
-
-#undef g_markup_collect_attributes
-extern __typeof (g_markup_collect_attributes) g_markup_collect_attributes __attribute((alias("IA__g_markup_collect_attributes"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_MEM_H__)
-#if IN_FILE(__G_MEM_C__)
-#undef g_free
-extern __typeof (g_free) g_free __attribute((alias("IA__g_free"), visibility("default")));
-
-#undef g_malloc
-extern __typeof (g_malloc) g_malloc __attribute((alias("IA__g_malloc"), visibility("default")));
-
-#undef g_malloc0
-extern __typeof (g_malloc0) g_malloc0 __attribute((alias("IA__g_malloc0"), visibility("default")));
-
-#undef g_malloc_n
-extern __typeof (g_malloc_n) g_malloc_n __attribute((alias("IA__g_malloc_n"), visibility("default")));
-
-#undef g_malloc0_n
-extern __typeof (g_malloc0_n) g_malloc0_n __attribute((alias("IA__g_malloc0_n"), visibility("default")));
-
-#undef g_mem_is_system_malloc
-extern __typeof (g_mem_is_system_malloc) g_mem_is_system_malloc __attribute((alias("IA__g_mem_is_system_malloc"), visibility("default")));
-
-#undef g_mem_profile
-extern __typeof (g_mem_profile) g_mem_profile __attribute((alias("IA__g_mem_profile"), visibility("default")));
-
-#undef g_mem_set_vtable
-extern __typeof (g_mem_set_vtable) g_mem_set_vtable __attribute((alias("IA__g_mem_set_vtable"), visibility("default")));
-
-#undef g_realloc
-extern __typeof (g_realloc) g_realloc __attribute((alias("IA__g_realloc"), visibility("default")));
-
-#undef g_realloc_n
-extern __typeof (g_realloc_n) g_realloc_n __attribute((alias("IA__g_realloc_n"), visibility("default")));
-
-#undef g_try_malloc
-extern __typeof (g_try_malloc) g_try_malloc __attribute((alias("IA__g_try_malloc"), visibility("default")));
-
-#undef g_try_malloc0
-extern __typeof (g_try_malloc0) g_try_malloc0 __attribute((alias("IA__g_try_malloc0"), visibility("default")));
-
-#undef g_try_malloc_n
-extern __typeof (g_try_malloc_n) g_try_malloc_n __attribute((alias("IA__g_try_malloc_n"), visibility("default")));
-
-#undef g_try_malloc0_n
-extern __typeof (g_try_malloc0_n) g_try_malloc0_n __attribute((alias("IA__g_try_malloc0_n"), visibility("default")));
-
-#undef g_try_realloc
-extern __typeof (g_try_realloc) g_try_realloc __attribute((alias("IA__g_try_realloc"), visibility("default")));
-
-#undef g_try_realloc_n
-extern __typeof (g_try_realloc_n) g_try_realloc_n __attribute((alias("IA__g_try_realloc_n"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_allocator_free
-extern __typeof (g_allocator_free) g_allocator_free __attribute((alias("IA__g_allocator_free"), visibility("default")));
-
-#undef g_allocator_new
-extern __typeof (g_allocator_new) g_allocator_new __attribute((alias("IA__g_allocator_new"), visibility("default")));
-
-#undef g_mem_chunk_alloc
-extern __typeof (g_mem_chunk_alloc) g_mem_chunk_alloc __attribute((alias("IA__g_mem_chunk_alloc"), visibility("default")));
-
-#undef g_mem_chunk_alloc0
-extern __typeof (g_mem_chunk_alloc0) g_mem_chunk_alloc0 __attribute((alias("IA__g_mem_chunk_alloc0"), visibility("default")));
-
-#undef g_mem_chunk_clean
-extern __typeof (g_mem_chunk_clean) g_mem_chunk_clean __attribute((alias("IA__g_mem_chunk_clean"), visibility("default")));
-
-#undef g_mem_chunk_destroy
-extern __typeof (g_mem_chunk_destroy) g_mem_chunk_destroy __attribute((alias("IA__g_mem_chunk_destroy"), visibility("default")));
-
-#undef g_mem_chunk_free
-extern __typeof (g_mem_chunk_free) g_mem_chunk_free __attribute((alias("IA__g_mem_chunk_free"), visibility("default")));
-
-#undef g_mem_chunk_info
-extern __typeof (g_mem_chunk_info) g_mem_chunk_info __attribute((alias("IA__g_mem_chunk_info"), visibility("default")));
-
-#undef g_mem_chunk_new
-extern __typeof (g_mem_chunk_new) g_mem_chunk_new __attribute((alias("IA__g_mem_chunk_new"), visibility("default")));
-
-#undef g_mem_chunk_print
-extern __typeof (g_mem_chunk_print) g_mem_chunk_print __attribute((alias("IA__g_mem_chunk_print"), visibility("default")));
-
-#undef g_mem_chunk_reset
-extern __typeof (g_mem_chunk_reset) g_mem_chunk_reset __attribute((alias("IA__g_mem_chunk_reset"), visibility("default")));
-
-#undef g_blow_chunks
-extern __typeof (g_blow_chunks) g_blow_chunks __attribute((alias("IA__g_blow_chunks"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_SLICE_H__)
-#if IN_FILE(__G_SLICE_C__)
-#undef g_slice_alloc
-extern __typeof (g_slice_alloc) g_slice_alloc __attribute((alias("IA__g_slice_alloc"), visibility("default")));
-
-#undef g_slice_alloc0
-extern __typeof (g_slice_alloc0) g_slice_alloc0 __attribute((alias("IA__g_slice_alloc0"), visibility("default")));
-
-#undef g_slice_copy
-extern __typeof (g_slice_copy) g_slice_copy __attribute((alias("IA__g_slice_copy"), visibility("default")));
-
-#undef g_slice_free1
-extern __typeof (g_slice_free1) g_slice_free1 __attribute((alias("IA__g_slice_free1"), visibility("default")));
-
-#undef g_slice_free_chain_with_offset
-extern __typeof (g_slice_free_chain_with_offset) g_slice_free_chain_with_offset __attribute((alias("IA__g_slice_free_chain_with_offset"), visibility("default")));
-
-#undef g_slice_set_config
-extern __typeof (g_slice_set_config) g_slice_set_config __attribute((alias("IA__g_slice_set_config"), visibility("default")));
-
-#undef g_slice_get_config
-extern __typeof (g_slice_get_config) g_slice_get_config __attribute((alias("IA__g_slice_get_config"), visibility("default")));
-
-#undef g_slice_get_config_state
-extern __typeof (g_slice_get_config_state) g_slice_get_config_state __attribute((alias("IA__g_slice_get_config_state"), visibility("default")));
-
-#ifdef G_ENABLE_DEBUG
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_MESSAGES_H__)
-#if IN_FILE(__G_MESSAGES_C__)
-#undef g_printf_string_upper_bound
-extern __typeof (g_printf_string_upper_bound) g_printf_string_upper_bound __attribute((alias("IA__g_printf_string_upper_bound"), visibility("default")));
-
-#undef g_log
-extern __typeof (g_log) g_log __attribute((alias("IA__g_log"), visibility("default")));
-
-#undef g_log_default_handler
-extern __typeof (g_log_default_handler) g_log_default_handler __attribute((alias("IA__g_log_default_handler"), visibility("default")));
-
-#undef g_log_remove_handler
-extern __typeof (g_log_remove_handler) g_log_remove_handler __attribute((alias("IA__g_log_remove_handler"), visibility("default")));
-
-#undef g_log_set_always_fatal
-extern __typeof (g_log_set_always_fatal) g_log_set_always_fatal __attribute((alias("IA__g_log_set_always_fatal"), visibility("default")));
-
-#undef g_log_set_default_handler
-extern __typeof (g_log_set_default_handler) g_log_set_default_handler __attribute((alias("IA__g_log_set_default_handler"), visibility("default")));
-
-#undef g_log_set_fatal_mask
-extern __typeof (g_log_set_fatal_mask) g_log_set_fatal_mask __attribute((alias("IA__g_log_set_fatal_mask"), visibility("default")));
-
-#undef g_log_set_handler
-extern __typeof (g_log_set_handler) g_log_set_handler __attribute((alias("IA__g_log_set_handler"), visibility("default")));
-
-#undef g_logv
-extern __typeof (g_logv) g_logv __attribute((alias("IA__g_logv"), visibility("default")));
-
-#undef g_return_if_fail_warning
-extern __typeof (g_return_if_fail_warning) g_return_if_fail_warning __attribute((alias("IA__g_return_if_fail_warning"), visibility("default")));
-
-#undef g_warn_message
-extern __typeof (g_warn_message) g_warn_message __attribute((alias("IA__g_warn_message"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_assert_warning
-extern __typeof (g_assert_warning) g_assert_warning __attribute((alias("IA__g_assert_warning"), visibility("default")));
-
-#endif
-#undef g_print
-extern __typeof (g_print) g_print __attribute((alias("IA__g_print"), visibility("default")));
-
-#undef g_printerr
-extern __typeof (g_printerr) g_printerr __attribute((alias("IA__g_printerr"), visibility("default")));
-
-#undef g_set_printerr_handler
-extern __typeof (g_set_printerr_handler) g_set_printerr_handler __attribute((alias("IA__g_set_printerr_handler"), visibility("default")));
-
-#undef g_set_print_handler
-extern __typeof (g_set_print_handler) g_set_print_handler __attribute((alias("IA__g_set_print_handler"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_NODE_H__)
-#if IN_FILE(__G_NODE_C__)
-#undef g_node_child_index
-extern __typeof (g_node_child_index) g_node_child_index __attribute((alias("IA__g_node_child_index"), visibility("default")));
-
-#undef g_node_child_position
-extern __typeof (g_node_child_position) g_node_child_position __attribute((alias("IA__g_node_child_position"), visibility("default")));
-
-#undef g_node_children_foreach
-extern __typeof (g_node_children_foreach) g_node_children_foreach __attribute((alias("IA__g_node_children_foreach"), visibility("default")));
-
-#undef g_node_copy
-extern __typeof (g_node_copy) g_node_copy __attribute((alias("IA__g_node_copy"), visibility("default")));
-
-#undef g_node_copy_deep
-extern __typeof (g_node_copy_deep) g_node_copy_deep __attribute((alias("IA__g_node_copy_deep"), visibility("default")));
-
-#undef g_node_depth
-extern __typeof (g_node_depth) g_node_depth __attribute((alias("IA__g_node_depth"), visibility("default")));
-
-#undef g_node_destroy
-extern __typeof (g_node_destroy) g_node_destroy __attribute((alias("IA__g_node_destroy"), visibility("default")));
-
-#undef g_node_find
-extern __typeof (g_node_find) g_node_find __attribute((alias("IA__g_node_find"), visibility("default")));
-
-#undef g_node_find_child
-extern __typeof (g_node_find_child) g_node_find_child __attribute((alias("IA__g_node_find_child"), visibility("default")));
-
-#undef g_node_first_sibling
-extern __typeof (g_node_first_sibling) g_node_first_sibling __attribute((alias("IA__g_node_first_sibling"), visibility("default")));
-
-#undef g_node_get_root
-extern __typeof (g_node_get_root) g_node_get_root __attribute((alias("IA__g_node_get_root"), visibility("default")));
-
-#undef g_node_insert
-extern __typeof (g_node_insert) g_node_insert __attribute((alias("IA__g_node_insert"), visibility("default")));
-
-#undef g_node_insert_after
-extern __typeof (g_node_insert_after) g_node_insert_after __attribute((alias("IA__g_node_insert_after"), visibility("default")));
-
-#undef g_node_insert_before
-extern __typeof (g_node_insert_before) g_node_insert_before __attribute((alias("IA__g_node_insert_before"), visibility("default")));
-
-#undef g_node_is_ancestor
-extern __typeof (g_node_is_ancestor) g_node_is_ancestor __attribute((alias("IA__g_node_is_ancestor"), visibility("default")));
-
-#undef g_node_last_child
-extern __typeof (g_node_last_child) g_node_last_child __attribute((alias("IA__g_node_last_child"), visibility("default")));
-
-#undef g_node_last_sibling
-extern __typeof (g_node_last_sibling) g_node_last_sibling __attribute((alias("IA__g_node_last_sibling"), visibility("default")));
-
-#undef g_node_max_height
-extern __typeof (g_node_max_height) g_node_max_height __attribute((alias("IA__g_node_max_height"), visibility("default")));
-
-#undef g_node_n_children
-extern __typeof (g_node_n_children) g_node_n_children __attribute((alias("IA__g_node_n_children"), visibility("default")));
-
-#undef g_node_new
-extern __typeof (g_node_new) g_node_new __attribute((alias("IA__g_node_new"), visibility("default")));
-
-#undef g_node_n_nodes
-extern __typeof (g_node_n_nodes) g_node_n_nodes __attribute((alias("IA__g_node_n_nodes"), visibility("default")));
-
-#undef g_node_nth_child
-extern __typeof (g_node_nth_child) g_node_nth_child __attribute((alias("IA__g_node_nth_child"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_node_pop_allocator
-extern __typeof (g_node_pop_allocator) g_node_pop_allocator __attribute((alias("IA__g_node_pop_allocator"), visibility("default")));
-
-#endif
-#undef g_node_prepend
-extern __typeof (g_node_prepend) g_node_prepend __attribute((alias("IA__g_node_prepend"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_node_push_allocator
-extern __typeof (g_node_push_allocator) g_node_push_allocator __attribute((alias("IA__g_node_push_allocator"), visibility("default")));
-
-#endif
-#undef g_node_reverse_children
-extern __typeof (g_node_reverse_children) g_node_reverse_children __attribute((alias("IA__g_node_reverse_children"), visibility("default")));
-
-#undef g_node_traverse
-extern __typeof (g_node_traverse) g_node_traverse __attribute((alias("IA__g_node_traverse"), visibility("default")));
-
-#undef g_node_unlink
-extern __typeof (g_node_unlink) g_node_unlink __attribute((alias("IA__g_node_unlink"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_OPTION_H__)
-#if IN_FILE(__G_OPTION_C__)
-#undef g_option_context_add_group
-extern __typeof (g_option_context_add_group) g_option_context_add_group __attribute((alias("IA__g_option_context_add_group"), visibility("default")));
-
-#undef g_option_context_add_main_entries
-extern __typeof (g_option_context_add_main_entries) g_option_context_add_main_entries __attribute((alias("IA__g_option_context_add_main_entries"), visibility("default")));
-
-#undef g_option_error_quark
-extern __typeof (g_option_error_quark) g_option_error_quark __attribute((alias("IA__g_option_error_quark"), visibility("default")));
-
-#undef g_option_context_free
-extern __typeof (g_option_context_free) g_option_context_free __attribute((alias("IA__g_option_context_free"), visibility("default")));
-
-#undef g_option_context_get_description
-extern __typeof (g_option_context_get_description) g_option_context_get_description __attribute((alias("IA__g_option_context_get_description"), visibility("default")));
-
-#undef g_option_context_get_help_enabled
-extern __typeof (g_option_context_get_help_enabled) g_option_context_get_help_enabled __attribute((alias("IA__g_option_context_get_help_enabled"), visibility("default")));
-
-#undef g_option_context_get_ignore_unknown_options
-extern __typeof (g_option_context_get_ignore_unknown_options) g_option_context_get_ignore_unknown_options __attribute((alias("IA__g_option_context_get_ignore_unknown_options"), visibility("default")));
-
-#undef g_option_context_get_main_group
-extern __typeof (g_option_context_get_main_group) g_option_context_get_main_group __attribute((alias("IA__g_option_context_get_main_group"), visibility("default")));
-
-#undef g_option_context_get_summary
-extern __typeof (g_option_context_get_summary) g_option_context_get_summary __attribute((alias("IA__g_option_context_get_summary"), visibility("default")));
-
-#undef g_option_context_new
-extern __typeof (g_option_context_new) g_option_context_new __attribute((alias("IA__g_option_context_new"), visibility("default")));
-
-#undef g_option_context_parse
-extern __typeof (g_option_context_parse) g_option_context_parse __attribute((alias("IA__g_option_context_parse"), visibility("default")));
-
-#undef g_option_context_set_description
-extern __typeof (g_option_context_set_description) g_option_context_set_description __attribute((alias("IA__g_option_context_set_description"), visibility("default")));
-
-#undef g_option_context_set_help_enabled
-extern __typeof (g_option_context_set_help_enabled) g_option_context_set_help_enabled __attribute((alias("IA__g_option_context_set_help_enabled"), visibility("default")));
-
-#undef g_option_context_set_ignore_unknown_options
-extern __typeof (g_option_context_set_ignore_unknown_options) g_option_context_set_ignore_unknown_options __attribute((alias("IA__g_option_context_set_ignore_unknown_options"), visibility("default")));
-
-#undef g_option_context_set_main_group
-extern __typeof (g_option_context_set_main_group) g_option_context_set_main_group __attribute((alias("IA__g_option_context_set_main_group"), visibility("default")));
-
-#undef g_option_context_set_summary
-extern __typeof (g_option_context_set_summary) g_option_context_set_summary __attribute((alias("IA__g_option_context_set_summary"), visibility("default")));
-
-#undef g_option_context_set_translate_func
-extern __typeof (g_option_context_set_translate_func) g_option_context_set_translate_func __attribute((alias("IA__g_option_context_set_translate_func"), visibility("default")));
-
-#undef g_option_context_set_translation_domain
-extern __typeof (g_option_context_set_translation_domain) g_option_context_set_translation_domain __attribute((alias("IA__g_option_context_set_translation_domain"), visibility("default")));
-
-#undef g_option_context_get_help
-extern __typeof (g_option_context_get_help) g_option_context_get_help __attribute((alias("IA__g_option_context_get_help"), visibility("default")));
-
-#undef g_option_group_add_entries
-extern __typeof (g_option_group_add_entries) g_option_group_add_entries __attribute((alias("IA__g_option_group_add_entries"), visibility("default")));
-
-#undef g_option_group_free
-extern __typeof (g_option_group_free) g_option_group_free __attribute((alias("IA__g_option_group_free"), visibility("default")));
-
-#undef g_option_group_new
-extern __typeof (g_option_group_new) g_option_group_new __attribute((alias("IA__g_option_group_new"), visibility("default")));
-
-#undef g_option_group_set_error_hook
-extern __typeof (g_option_group_set_error_hook) g_option_group_set_error_hook __attribute((alias("IA__g_option_group_set_error_hook"), visibility("default")));
-
-#undef g_option_group_set_parse_hooks
-extern __typeof (g_option_group_set_parse_hooks) g_option_group_set_parse_hooks __attribute((alias("IA__g_option_group_set_parse_hooks"), visibility("default")));
-
-#undef g_option_group_set_translate_func
-extern __typeof (g_option_group_set_translate_func) g_option_group_set_translate_func __attribute((alias("IA__g_option_group_set_translate_func"), visibility("default")));
-
-#undef g_option_group_set_translation_domain
-extern __typeof (g_option_group_set_translation_domain) g_option_group_set_translation_domain __attribute((alias("IA__g_option_group_set_translation_domain"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_PATTERN_H__)
-#if IN_FILE(__G_PATTERN_C__)
-#undef g_pattern_match
-extern __typeof (g_pattern_match) g_pattern_match __attribute((alias("IA__g_pattern_match"), visibility("default")));
-
-#undef g_pattern_match_simple
-extern __typeof (g_pattern_match_simple) g_pattern_match_simple __attribute((alias("IA__g_pattern_match_simple"), visibility("default")));
-
-#undef g_pattern_match_string
-extern __typeof (g_pattern_match_string) g_pattern_match_string __attribute((alias("IA__g_pattern_match_string"), visibility("default")));
-
-#undef g_pattern_spec_equal
-extern __typeof (g_pattern_spec_equal) g_pattern_spec_equal __attribute((alias("IA__g_pattern_spec_equal"), visibility("default")));
-
-#undef g_pattern_spec_free
-extern __typeof (g_pattern_spec_free) g_pattern_spec_free __attribute((alias("IA__g_pattern_spec_free"), visibility("default")));
-
-#undef g_pattern_spec_new
-extern __typeof (g_pattern_spec_new) g_pattern_spec_new __attribute((alias("IA__g_pattern_spec_new"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_POLL_H__)
-#if IN_FILE(__G_POLL_C__)
-#undef g_poll
-extern __typeof (g_poll) g_poll __attribute((alias("IA__g_poll"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_PRIMES_H__)
-#if IN_FILE(__G_PRIMES_C__)
-#undef g_spaced_primes_closest
-extern __typeof (g_spaced_primes_closest) g_spaced_primes_closest __attribute((alias("IA__g_spaced_primes_closest"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_PRINTF_H__)
-#if IN_FILE(__G_PRINTF_C__)
-#undef g_fprintf
-extern __typeof (g_fprintf) g_fprintf __attribute((alias("IA__g_fprintf"), visibility("default")));
-
-#undef g_printf
-extern __typeof (g_printf) g_printf __attribute((alias("IA__g_printf"), visibility("default")));
-
-#undef g_sprintf
-extern __typeof (g_sprintf) g_sprintf __attribute((alias("IA__g_sprintf"), visibility("default")));
-
-#undef g_vasprintf
-extern __typeof (g_vasprintf) g_vasprintf __attribute((alias("IA__g_vasprintf"), visibility("default")));
-
-#undef g_vfprintf
-extern __typeof (g_vfprintf) g_vfprintf __attribute((alias("IA__g_vfprintf"), visibility("default")));
-
-#undef g_vprintf
-extern __typeof (g_vprintf) g_vprintf __attribute((alias("IA__g_vprintf"), visibility("default")));
-
-#undef g_vsprintf
-extern __typeof (g_vsprintf) g_vsprintf __attribute((alias("IA__g_vsprintf"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_UTILS_H__)
-#if IN_FILE(__G_PRINTF_C__)
-#undef g_snprintf
-extern __typeof (g_snprintf) g_snprintf __attribute((alias("IA__g_snprintf"), visibility("default")));
-
-#undef g_vsnprintf
-extern __typeof (g_vsnprintf) g_vsnprintf __attribute((alias("IA__g_vsnprintf"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_QSORT_H__)
-#if IN_FILE(__G_QSORT_C__)
-#undef g_qsort_with_data
-extern __typeof (g_qsort_with_data) g_qsort_with_data __attribute((alias("IA__g_qsort_with_data"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_QUEUE_H__)
-#if IN_FILE(__G_QUEUE_C__)
-#undef g_queue_clear
-extern __typeof (g_queue_clear) g_queue_clear __attribute((alias("IA__g_queue_clear"), visibility("default")));
-
-#undef g_queue_copy
-extern __typeof (g_queue_copy) g_queue_copy __attribute((alias("IA__g_queue_copy"), visibility("default")));
-
-#undef g_queue_delete_link
-extern __typeof (g_queue_delete_link) g_queue_delete_link __attribute((alias("IA__g_queue_delete_link"), visibility("default")));
-
-#undef g_queue_find
-extern __typeof (g_queue_find) g_queue_find __attribute((alias("IA__g_queue_find"), visibility("default")));
-
-#undef g_queue_find_custom
-extern __typeof (g_queue_find_custom) g_queue_find_custom __attribute((alias("IA__g_queue_find_custom"), visibility("default")));
-
-#undef g_queue_foreach
-extern __typeof (g_queue_foreach) g_queue_foreach __attribute((alias("IA__g_queue_foreach"), visibility("default")));
-
-#undef g_queue_free
-extern __typeof (g_queue_free) g_queue_free __attribute((alias("IA__g_queue_free"), visibility("default")));
-
-#undef g_queue_get_length
-extern __typeof (g_queue_get_length) g_queue_get_length __attribute((alias("IA__g_queue_get_length"), visibility("default")));
-
-#undef g_queue_index
-extern __typeof (g_queue_index) g_queue_index __attribute((alias("IA__g_queue_index"), visibility("default")));
-
-#undef g_queue_init
-extern __typeof (g_queue_init) g_queue_init __attribute((alias("IA__g_queue_init"), visibility("default")));
-
-#undef g_queue_insert_after
-extern __typeof (g_queue_insert_after) g_queue_insert_after __attribute((alias("IA__g_queue_insert_after"), visibility("default")));
-
-#undef g_queue_insert_before
-extern __typeof (g_queue_insert_before) g_queue_insert_before __attribute((alias("IA__g_queue_insert_before"), visibility("default")));
-
-#undef g_queue_insert_sorted
-extern __typeof (g_queue_insert_sorted) g_queue_insert_sorted __attribute((alias("IA__g_queue_insert_sorted"), visibility("default")));
-
-#undef g_queue_is_empty
-extern __typeof (g_queue_is_empty) g_queue_is_empty __attribute((alias("IA__g_queue_is_empty"), visibility("default")));
-
-#undef g_queue_link_index
-extern __typeof (g_queue_link_index) g_queue_link_index __attribute((alias("IA__g_queue_link_index"), visibility("default")));
-
-#undef g_queue_new
-extern __typeof (g_queue_new) g_queue_new __attribute((alias("IA__g_queue_new"), visibility("default")));
-
-#undef g_queue_peek_head
-extern __typeof (g_queue_peek_head) g_queue_peek_head __attribute((alias("IA__g_queue_peek_head"), visibility("default")));
-
-#undef g_queue_peek_head_link
-extern __typeof (g_queue_peek_head_link) g_queue_peek_head_link __attribute((alias("IA__g_queue_peek_head_link"), visibility("default")));
-
-#undef g_queue_peek_nth
-extern __typeof (g_queue_peek_nth) g_queue_peek_nth __attribute((alias("IA__g_queue_peek_nth"), visibility("default")));
-
-#undef g_queue_peek_nth_link
-extern __typeof (g_queue_peek_nth_link) g_queue_peek_nth_link __attribute((alias("IA__g_queue_peek_nth_link"), visibility("default")));
-
-#undef g_queue_peek_tail
-extern __typeof (g_queue_peek_tail) g_queue_peek_tail __attribute((alias("IA__g_queue_peek_tail"), visibility("default")));
-
-#undef g_queue_peek_tail_link
-extern __typeof (g_queue_peek_tail_link) g_queue_peek_tail_link __attribute((alias("IA__g_queue_peek_tail_link"), visibility("default")));
-
-#undef g_queue_pop_head
-extern __typeof (g_queue_pop_head) g_queue_pop_head __attribute((alias("IA__g_queue_pop_head"), visibility("default")));
-
-#undef g_queue_pop_head_link
-extern __typeof (g_queue_pop_head_link) g_queue_pop_head_link __attribute((alias("IA__g_queue_pop_head_link"), visibility("default")));
-
-#undef g_queue_pop_nth
-extern __typeof (g_queue_pop_nth) g_queue_pop_nth __attribute((alias("IA__g_queue_pop_nth"), visibility("default")));
-
-#undef g_queue_pop_nth_link
-extern __typeof (g_queue_pop_nth_link) g_queue_pop_nth_link __attribute((alias("IA__g_queue_pop_nth_link"), visibility("default")));
-
-#undef g_queue_pop_tail
-extern __typeof (g_queue_pop_tail) g_queue_pop_tail __attribute((alias("IA__g_queue_pop_tail"), visibility("default")));
-
-#undef g_queue_pop_tail_link
-extern __typeof (g_queue_pop_tail_link) g_queue_pop_tail_link __attribute((alias("IA__g_queue_pop_tail_link"), visibility("default")));
-
-#undef g_queue_push_head
-extern __typeof (g_queue_push_head) g_queue_push_head __attribute((alias("IA__g_queue_push_head"), visibility("default")));
-
-#undef g_queue_push_head_link
-extern __typeof (g_queue_push_head_link) g_queue_push_head_link __attribute((alias("IA__g_queue_push_head_link"), visibility("default")));
-
-#undef g_queue_push_nth
-extern __typeof (g_queue_push_nth) g_queue_push_nth __attribute((alias("IA__g_queue_push_nth"), visibility("default")));
-
-#undef g_queue_push_nth_link
-extern __typeof (g_queue_push_nth_link) g_queue_push_nth_link __attribute((alias("IA__g_queue_push_nth_link"), visibility("default")));
-
-#undef g_queue_push_tail
-extern __typeof (g_queue_push_tail) g_queue_push_tail __attribute((alias("IA__g_queue_push_tail"), visibility("default")));
-
-#undef g_queue_push_tail_link
-extern __typeof (g_queue_push_tail_link) g_queue_push_tail_link __attribute((alias("IA__g_queue_push_tail_link"), visibility("default")));
-
-#undef g_queue_remove
-extern __typeof (g_queue_remove) g_queue_remove __attribute((alias("IA__g_queue_remove"), visibility("default")));
-
-#undef g_queue_remove_all
-extern __typeof (g_queue_remove_all) g_queue_remove_all __attribute((alias("IA__g_queue_remove_all"), visibility("default")));
-
-#undef g_queue_reverse
-extern __typeof (g_queue_reverse) g_queue_reverse __attribute((alias("IA__g_queue_reverse"), visibility("default")));
-
-#undef g_queue_sort
-extern __typeof (g_queue_sort) g_queue_sort __attribute((alias("IA__g_queue_sort"), visibility("default")));
-
-#undef g_queue_unlink
-extern __typeof (g_queue_unlink) g_queue_unlink __attribute((alias("IA__g_queue_unlink"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_RAND_H__)
-#if IN_FILE(__G_RAND_C__)
-#undef g_rand_copy
-extern __typeof (g_rand_copy) g_rand_copy __attribute((alias("IA__g_rand_copy"), visibility("default")));
-
-#undef g_rand_double
-extern __typeof (g_rand_double) g_rand_double __attribute((alias("IA__g_rand_double"), visibility("default")));
-
-#undef g_rand_double_range
-extern __typeof (g_rand_double_range) g_rand_double_range __attribute((alias("IA__g_rand_double_range"), visibility("default")));
-
-#undef g_rand_free
-extern __typeof (g_rand_free) g_rand_free __attribute((alias("IA__g_rand_free"), visibility("default")));
-
-#undef g_rand_int
-extern __typeof (g_rand_int) g_rand_int __attribute((alias("IA__g_rand_int"), visibility("default")));
-
-#undef g_rand_int_range
-extern __typeof (g_rand_int_range) g_rand_int_range __attribute((alias("IA__g_rand_int_range"), visibility("default")));
-
-#undef g_rand_new
-extern __typeof (g_rand_new) g_rand_new __attribute((alias("IA__g_rand_new"), visibility("default")));
-
-#undef g_rand_new_with_seed
-extern __typeof (g_rand_new_with_seed) g_rand_new_with_seed __attribute((alias("IA__g_rand_new_with_seed"), visibility("default")));
-
-#undef g_rand_new_with_seed_array
-extern __typeof (g_rand_new_with_seed_array) g_rand_new_with_seed_array __attribute((alias("IA__g_rand_new_with_seed_array"), visibility("default")));
-
-#undef g_random_double
-extern __typeof (g_random_double) g_random_double __attribute((alias("IA__g_random_double"), visibility("default")));
-
-#undef g_random_double_range
-extern __typeof (g_random_double_range) g_random_double_range __attribute((alias("IA__g_random_double_range"), visibility("default")));
-
-#undef g_random_int
-extern __typeof (g_random_int) g_random_int __attribute((alias("IA__g_random_int"), visibility("default")));
-
-#undef g_random_int_range
-extern __typeof (g_random_int_range) g_random_int_range __attribute((alias("IA__g_random_int_range"), visibility("default")));
-
-#undef g_random_set_seed
-extern __typeof (g_random_set_seed) g_random_set_seed __attribute((alias("IA__g_random_set_seed"), visibility("default")));
-
-#undef g_rand_set_seed
-extern __typeof (g_rand_set_seed) g_rand_set_seed __attribute((alias("IA__g_rand_set_seed"), visibility("default")));
-
-#undef g_rand_set_seed_array
-extern __typeof (g_rand_set_seed_array) g_rand_set_seed_array __attribute((alias("IA__g_rand_set_seed_array"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_REL_H__)
-#if IN_FILE(__G_REL_C__)
-#undef g_relation_count
-extern __typeof (g_relation_count) g_relation_count __attribute((alias("IA__g_relation_count"), visibility("default")));
-
-#undef g_relation_delete
-extern __typeof (g_relation_delete) g_relation_delete __attribute((alias("IA__g_relation_delete"), visibility("default")));
-
-#undef g_relation_destroy
-extern __typeof (g_relation_destroy) g_relation_destroy __attribute((alias("IA__g_relation_destroy"), visibility("default")));
-
-#undef g_relation_exists
-extern __typeof (g_relation_exists) g_relation_exists __attribute((alias("IA__g_relation_exists"), visibility("default")));
-
-#undef g_relation_index
-extern __typeof (g_relation_index) g_relation_index __attribute((alias("IA__g_relation_index"), visibility("default")));
-
-#undef g_relation_insert
-extern __typeof (g_relation_insert) g_relation_insert __attribute((alias("IA__g_relation_insert"), visibility("default")));
-
-#undef g_relation_new
-extern __typeof (g_relation_new) g_relation_new __attribute((alias("IA__g_relation_new"), visibility("default")));
-
-#undef g_relation_print
-extern __typeof (g_relation_print) g_relation_print __attribute((alias("IA__g_relation_print"), visibility("default")));
-
-#undef g_relation_select
-extern __typeof (g_relation_select) g_relation_select __attribute((alias("IA__g_relation_select"), visibility("default")));
-
-#undef g_tuples_destroy
-extern __typeof (g_tuples_destroy) g_tuples_destroy __attribute((alias("IA__g_tuples_destroy"), visibility("default")));
-
-#undef g_tuples_index
-extern __typeof (g_tuples_index) g_tuples_index __attribute((alias("IA__g_tuples_index"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SCANNER_H__)
-#if IN_FILE(__G_SCANNER_C__)
-#undef g_scanner_cur_line
-extern __typeof (g_scanner_cur_line) g_scanner_cur_line __attribute((alias("IA__g_scanner_cur_line"), visibility("default")));
-
-#undef g_scanner_cur_position
-extern __typeof (g_scanner_cur_position) g_scanner_cur_position __attribute((alias("IA__g_scanner_cur_position"), visibility("default")));
-
-#undef g_scanner_cur_token
-extern __typeof (g_scanner_cur_token) g_scanner_cur_token __attribute((alias("IA__g_scanner_cur_token"), visibility("default")));
-
-#undef g_scanner_cur_value
-extern __typeof (g_scanner_cur_value) g_scanner_cur_value __attribute((alias("IA__g_scanner_cur_value"), visibility("default")));
-
-#undef g_scanner_destroy
-extern __typeof (g_scanner_destroy) g_scanner_destroy __attribute((alias("IA__g_scanner_destroy"), visibility("default")));
-
-#undef g_scanner_eof
-extern __typeof (g_scanner_eof) g_scanner_eof __attribute((alias("IA__g_scanner_eof"), visibility("default")));
-
-#undef g_scanner_error
-extern __typeof (g_scanner_error) g_scanner_error __attribute((alias("IA__g_scanner_error"), visibility("default")));
-
-#undef g_scanner_get_next_token
-extern __typeof (g_scanner_get_next_token) g_scanner_get_next_token __attribute((alias("IA__g_scanner_get_next_token"), visibility("default")));
-
-#undef g_scanner_input_file
-extern __typeof (g_scanner_input_file) g_scanner_input_file __attribute((alias("IA__g_scanner_input_file"), visibility("default")));
-
-#undef g_scanner_input_text
-extern __typeof (g_scanner_input_text) g_scanner_input_text __attribute((alias("IA__g_scanner_input_text"), visibility("default")));
-
-#undef g_scanner_lookup_symbol
-extern __typeof (g_scanner_lookup_symbol) g_scanner_lookup_symbol __attribute((alias("IA__g_scanner_lookup_symbol"), visibility("default")));
-
-#undef g_scanner_new
-extern __typeof (g_scanner_new) g_scanner_new __attribute((alias("IA__g_scanner_new"), visibility("default")));
-
-#undef g_scanner_peek_next_token
-extern __typeof (g_scanner_peek_next_token) g_scanner_peek_next_token __attribute((alias("IA__g_scanner_peek_next_token"), visibility("default")));
-
-#undef g_scanner_scope_add_symbol
-extern __typeof (g_scanner_scope_add_symbol) g_scanner_scope_add_symbol __attribute((alias("IA__g_scanner_scope_add_symbol"), visibility("default")));
-
-#undef g_scanner_scope_foreach_symbol
-extern __typeof (g_scanner_scope_foreach_symbol) g_scanner_scope_foreach_symbol __attribute((alias("IA__g_scanner_scope_foreach_symbol"), visibility("default")));
-
-#undef g_scanner_scope_lookup_symbol
-extern __typeof (g_scanner_scope_lookup_symbol) g_scanner_scope_lookup_symbol __attribute((alias("IA__g_scanner_scope_lookup_symbol"), visibility("default")));
-
-#undef g_scanner_scope_remove_symbol
-extern __typeof (g_scanner_scope_remove_symbol) g_scanner_scope_remove_symbol __attribute((alias("IA__g_scanner_scope_remove_symbol"), visibility("default")));
-
-#undef g_scanner_set_scope
-extern __typeof (g_scanner_set_scope) g_scanner_set_scope __attribute((alias("IA__g_scanner_set_scope"), visibility("default")));
-
-#undef g_scanner_sync_file_offset
-extern __typeof (g_scanner_sync_file_offset) g_scanner_sync_file_offset __attribute((alias("IA__g_scanner_sync_file_offset"), visibility("default")));
-
-#undef g_scanner_unexp_token
-extern __typeof (g_scanner_unexp_token) g_scanner_unexp_token __attribute((alias("IA__g_scanner_unexp_token"), visibility("default")));
-
-#undef g_scanner_warn
-extern __typeof (g_scanner_warn) g_scanner_warn __attribute((alias("IA__g_scanner_warn"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SEQUENCE_H__)
-#if IN_FILE(__G_SEQUENCE_C__)
-#undef g_sequence_new
-extern __typeof (g_sequence_new) g_sequence_new __attribute((alias("IA__g_sequence_new"), visibility("default")));
-
-#undef g_sequence_free
-extern __typeof (g_sequence_free) g_sequence_free __attribute((alias("IA__g_sequence_free"), visibility("default")));
-
-#undef g_sequence_get_length
-extern __typeof (g_sequence_get_length) g_sequence_get_length __attribute((alias("IA__g_sequence_get_length"), visibility("default")));
-
-#undef g_sequence_foreach
-extern __typeof (g_sequence_foreach) g_sequence_foreach __attribute((alias("IA__g_sequence_foreach"), visibility("default")));
-
-#undef g_sequence_foreach_range
-extern __typeof (g_sequence_foreach_range) g_sequence_foreach_range __attribute((alias("IA__g_sequence_foreach_range"), visibility("default")));
-
-#undef g_sequence_sort
-extern __typeof (g_sequence_sort) g_sequence_sort __attribute((alias("IA__g_sequence_sort"), visibility("default")));
-
-#undef g_sequence_sort_iter
-extern __typeof (g_sequence_sort_iter) g_sequence_sort_iter __attribute((alias("IA__g_sequence_sort_iter"), visibility("default")));
-
-#undef g_sequence_get_begin_iter
-extern __typeof (g_sequence_get_begin_iter) g_sequence_get_begin_iter __attribute((alias("IA__g_sequence_get_begin_iter"), visibility("default")));
-
-#undef g_sequence_get_end_iter
-extern __typeof (g_sequence_get_end_iter) g_sequence_get_end_iter __attribute((alias("IA__g_sequence_get_end_iter"), visibility("default")));
-
-#undef g_sequence_get_iter_at_pos
-extern __typeof (g_sequence_get_iter_at_pos) g_sequence_get_iter_at_pos __attribute((alias("IA__g_sequence_get_iter_at_pos"), visibility("default")));
-
-#undef g_sequence_append
-extern __typeof (g_sequence_append) g_sequence_append __attribute((alias("IA__g_sequence_append"), visibility("default")));
-
-#undef g_sequence_prepend
-extern __typeof (g_sequence_prepend) g_sequence_prepend __attribute((alias("IA__g_sequence_prepend"), visibility("default")));
-
-#undef g_sequence_insert_before
-extern __typeof (g_sequence_insert_before) g_sequence_insert_before __attribute((alias("IA__g_sequence_insert_before"), visibility("default")));
-
-#undef g_sequence_move
-extern __typeof (g_sequence_move) g_sequence_move __attribute((alias("IA__g_sequence_move"), visibility("default")));
-
-#undef g_sequence_swap
-extern __typeof (g_sequence_swap) g_sequence_swap __attribute((alias("IA__g_sequence_swap"), visibility("default")));
-
-#undef g_sequence_insert_sorted
-extern __typeof (g_sequence_insert_sorted) g_sequence_insert_sorted __attribute((alias("IA__g_sequence_insert_sorted"), visibility("default")));
-
-#undef g_sequence_insert_sorted_iter
-extern __typeof (g_sequence_insert_sorted_iter) g_sequence_insert_sorted_iter __attribute((alias("IA__g_sequence_insert_sorted_iter"), visibility("default")));
-
-#undef g_sequence_sort_changed
-extern __typeof (g_sequence_sort_changed) g_sequence_sort_changed __attribute((alias("IA__g_sequence_sort_changed"), visibility("default")));
-
-#undef g_sequence_sort_changed_iter
-extern __typeof (g_sequence_sort_changed_iter) g_sequence_sort_changed_iter __attribute((alias("IA__g_sequence_sort_changed_iter"), visibility("default")));
-
-#undef g_sequence_remove
-extern __typeof (g_sequence_remove) g_sequence_remove __attribute((alias("IA__g_sequence_remove"), visibility("default")));
-
-#undef g_sequence_remove_range
-extern __typeof (g_sequence_remove_range) g_sequence_remove_range __attribute((alias("IA__g_sequence_remove_range"), visibility("default")));
-
-#undef g_sequence_move_range
-extern __typeof (g_sequence_move_range) g_sequence_move_range __attribute((alias("IA__g_sequence_move_range"), visibility("default")));
-
-#undef g_sequence_search
-extern __typeof (g_sequence_search) g_sequence_search __attribute((alias("IA__g_sequence_search"), visibility("default")));
-
-#undef g_sequence_search_iter
-extern __typeof (g_sequence_search_iter) g_sequence_search_iter __attribute((alias("IA__g_sequence_search_iter"), visibility("default")));
-
-#undef g_sequence_get
-extern __typeof (g_sequence_get) g_sequence_get __attribute((alias("IA__g_sequence_get"), visibility("default")));
-
-#undef g_sequence_set
-extern __typeof (g_sequence_set) g_sequence_set __attribute((alias("IA__g_sequence_set"), visibility("default")));
-
-#undef g_sequence_iter_is_begin
-extern __typeof (g_sequence_iter_is_begin) g_sequence_iter_is_begin __attribute((alias("IA__g_sequence_iter_is_begin"), visibility("default")));
-
-#undef g_sequence_iter_is_end
-extern __typeof (g_sequence_iter_is_end) g_sequence_iter_is_end __attribute((alias("IA__g_sequence_iter_is_end"), visibility("default")));
-
-#undef g_sequence_iter_next
-extern __typeof (g_sequence_iter_next) g_sequence_iter_next __attribute((alias("IA__g_sequence_iter_next"), visibility("default")));
-
-#undef g_sequence_iter_prev
-extern __typeof (g_sequence_iter_prev) g_sequence_iter_prev __attribute((alias("IA__g_sequence_iter_prev"), visibility("default")));
-
-#undef g_sequence_iter_get_position
-extern __typeof (g_sequence_iter_get_position) g_sequence_iter_get_position __attribute((alias("IA__g_sequence_iter_get_position"), visibility("default")));
-
-#undef g_sequence_iter_move
-extern __typeof (g_sequence_iter_move) g_sequence_iter_move __attribute((alias("IA__g_sequence_iter_move"), visibility("default")));
-
-#undef g_sequence_iter_get_sequence
-extern __typeof (g_sequence_iter_get_sequence) g_sequence_iter_get_sequence __attribute((alias("IA__g_sequence_iter_get_sequence"), visibility("default")));
-
-#undef g_sequence_iter_compare
-extern __typeof (g_sequence_iter_compare) g_sequence_iter_compare __attribute((alias("IA__g_sequence_iter_compare"), visibility("default")));
-
-#undef g_sequence_range_get_midpoint
-extern __typeof (g_sequence_range_get_midpoint) g_sequence_range_get_midpoint __attribute((alias("IA__g_sequence_range_get_midpoint"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SHELL_H__)
-#if IN_FILE(__G_SHELL_C__)
-#undef g_shell_error_quark
-extern __typeof (g_shell_error_quark) g_shell_error_quark __attribute((alias("IA__g_shell_error_quark"), visibility("default")));
-
-#undef g_shell_parse_argv
-extern __typeof (g_shell_parse_argv) g_shell_parse_argv __attribute((alias("IA__g_shell_parse_argv"), visibility("default")));
-
-#undef g_shell_quote
-extern __typeof (g_shell_quote) g_shell_quote __attribute((alias("IA__g_shell_quote"), visibility("default")));
-
-#undef g_shell_unquote
-extern __typeof (g_shell_unquote) g_shell_unquote __attribute((alias("IA__g_shell_unquote"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SLIST_H__)
-#if IN_FILE(__G_SLIST_C__)
-#undef g_slist_alloc
-extern __typeof (g_slist_alloc) g_slist_alloc __attribute((alias("IA__g_slist_alloc"), visibility("default")));
-
-#undef g_slist_append
-extern __typeof (g_slist_append) g_slist_append __attribute((alias("IA__g_slist_append"), visibility("default")));
-
-#undef g_slist_concat
-extern __typeof (g_slist_concat) g_slist_concat __attribute((alias("IA__g_slist_concat"), visibility("default")));
-
-#undef g_slist_copy
-extern __typeof (g_slist_copy) g_slist_copy __attribute((alias("IA__g_slist_copy"), visibility("default")));
-
-#undef g_slist_delete_link
-extern __typeof (g_slist_delete_link) g_slist_delete_link __attribute((alias("IA__g_slist_delete_link"), visibility("default")));
-
-#undef g_slist_find
-extern __typeof (g_slist_find) g_slist_find __attribute((alias("IA__g_slist_find"), visibility("default")));
-
-#undef g_slist_find_custom
-extern __typeof (g_slist_find_custom) g_slist_find_custom __attribute((alias("IA__g_slist_find_custom"), visibility("default")));
-
-#undef g_slist_foreach
-extern __typeof (g_slist_foreach) g_slist_foreach __attribute((alias("IA__g_slist_foreach"), visibility("default")));
-
-#undef g_slist_free
-extern __typeof (g_slist_free) g_slist_free __attribute((alias("IA__g_slist_free"), visibility("default")));
-
-#undef g_slist_free_1
-extern __typeof (g_slist_free_1) g_slist_free_1 __attribute((alias("IA__g_slist_free_1"), visibility("default")));
-
-#undef g_slist_index
-extern __typeof (g_slist_index) g_slist_index __attribute((alias("IA__g_slist_index"), visibility("default")));
-
-#undef g_slist_insert
-extern __typeof (g_slist_insert) g_slist_insert __attribute((alias("IA__g_slist_insert"), visibility("default")));
-
-#undef g_slist_insert_before
-extern __typeof (g_slist_insert_before) g_slist_insert_before __attribute((alias("IA__g_slist_insert_before"), visibility("default")));
-
-#undef g_slist_insert_sorted
-extern __typeof (g_slist_insert_sorted) g_slist_insert_sorted __attribute((alias("IA__g_slist_insert_sorted"), visibility("default")));
-
-#undef g_slist_insert_sorted_with_data
-extern __typeof (g_slist_insert_sorted_with_data) g_slist_insert_sorted_with_data __attribute((alias("IA__g_slist_insert_sorted_with_data"), visibility("default")));
-
-#undef g_slist_last
-extern __typeof (g_slist_last) g_slist_last __attribute((alias("IA__g_slist_last"), visibility("default")));
-
-#undef g_slist_length
-extern __typeof (g_slist_length) g_slist_length __attribute((alias("IA__g_slist_length"), visibility("default")));
-
-#undef g_slist_nth
-extern __typeof (g_slist_nth) g_slist_nth __attribute((alias("IA__g_slist_nth"), visibility("default")));
-
-#undef g_slist_nth_data
-extern __typeof (g_slist_nth_data) g_slist_nth_data __attribute((alias("IA__g_slist_nth_data"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_slist_pop_allocator
-extern __typeof (g_slist_pop_allocator) g_slist_pop_allocator __attribute((alias("IA__g_slist_pop_allocator"), visibility("default")));
-
-#endif
-#undef g_slist_position
-extern __typeof (g_slist_position) g_slist_position __attribute((alias("IA__g_slist_position"), visibility("default")));
-
-#undef g_slist_prepend
-extern __typeof (g_slist_prepend) g_slist_prepend __attribute((alias("IA__g_slist_prepend"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_slist_push_allocator
-extern __typeof (g_slist_push_allocator) g_slist_push_allocator __attribute((alias("IA__g_slist_push_allocator"), visibility("default")));
-
-#endif
-#undef g_slist_remove
-extern __typeof (g_slist_remove) g_slist_remove __attribute((alias("IA__g_slist_remove"), visibility("default")));
-
-#undef g_slist_remove_all
-extern __typeof (g_slist_remove_all) g_slist_remove_all __attribute((alias("IA__g_slist_remove_all"), visibility("default")));
-
-#undef g_slist_remove_link
-extern __typeof (g_slist_remove_link) g_slist_remove_link __attribute((alias("IA__g_slist_remove_link"), visibility("default")));
-
-#undef g_slist_reverse
-extern __typeof (g_slist_reverse) g_slist_reverse __attribute((alias("IA__g_slist_reverse"), visibility("default")));
-
-#undef g_slist_sort
-extern __typeof (g_slist_sort) g_slist_sort __attribute((alias("IA__g_slist_sort"), visibility("default")));
-
-#undef g_slist_sort_with_data
-extern __typeof (g_slist_sort_with_data) g_slist_sort_with_data __attribute((alias("IA__g_slist_sort_with_data"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SPAWN_H__)
-#if IN_FILE(__G_SPAWN_C__)
-#ifndef _WIN64
-#undef g_spawn_async
-extern __typeof (g_spawn_async) g_spawn_async __attribute((alias("IA__g_spawn_async"), visibility("default")));
-
-#undef g_spawn_async_with_pipes
-extern __typeof (g_spawn_async_with_pipes) g_spawn_async_with_pipes __attribute((alias("IA__g_spawn_async_with_pipes"), visibility("default")));
-
-#endif
-#undef g_spawn_close_pid
-extern __typeof (g_spawn_close_pid) g_spawn_close_pid __attribute((alias("IA__g_spawn_close_pid"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_spawn_command_line_async
-extern __typeof (g_spawn_command_line_async) g_spawn_command_line_async __attribute((alias("IA__g_spawn_command_line_async"), visibility("default")));
-
-#undef g_spawn_command_line_sync
-extern __typeof (g_spawn_command_line_sync) g_spawn_command_line_sync __attribute((alias("IA__g_spawn_command_line_sync"), visibility("default")));
-
-#endif
-#undef g_spawn_error_quark
-extern __typeof (g_spawn_error_quark) g_spawn_error_quark __attribute((alias("IA__g_spawn_error_quark"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_spawn_sync
-extern __typeof (g_spawn_sync) g_spawn_sync __attribute((alias("IA__g_spawn_sync"), visibility("default")));
-
-#endif
-#ifdef G_OS_WIN32
-#undef g_spawn_async_utf8
-extern __typeof (g_spawn_async_utf8) g_spawn_async_utf8 __attribute((alias("IA__g_spawn_async_utf8"), visibility("default")));
-
-#undef g_spawn_async_with_pipes_utf8
-extern __typeof (g_spawn_async_with_pipes_utf8) g_spawn_async_with_pipes_utf8 __attribute((alias("IA__g_spawn_async_with_pipes_utf8"), visibility("default")));
-
-#undef g_spawn_command_line_async_utf8
-extern __typeof (g_spawn_command_line_async_utf8) g_spawn_command_line_async_utf8 __attribute((alias("IA__g_spawn_command_line_async_utf8"), visibility("default")));
-
-#undef g_spawn_command_line_sync_utf8
-extern __typeof (g_spawn_command_line_sync_utf8) g_spawn_command_line_sync_utf8 __attribute((alias("IA__g_spawn_command_line_sync_utf8"), visibility("default")));
-
-#undef g_spawn_sync_utf8
-extern __typeof (g_spawn_sync_utf8) g_spawn_sync_utf8 __attribute((alias("IA__g_spawn_sync_utf8"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_STDIO_H__)
-#if IN_FILE(__G_STDIO_C__)
-#if !defined(G_OS_UNIX) || defined(G_STDIO_NO_WRAP_ON_UNIX)
-#undef g_chmod
-extern __typeof (g_chmod) g_chmod __attribute((alias("IA__g_chmod"), visibility("default")));
-
-#undef g_open
-extern __typeof (g_open) g_open __attribute((alias("IA__g_open"), visibility("default")));
-
-#undef g_creat
-extern __typeof (g_creat) g_creat __attribute((alias("IA__g_creat"), visibility("default")));
-
-#undef g_rename
-extern __typeof (g_rename) g_rename __attribute((alias("IA__g_rename"), visibility("default")));
-
-#undef g_mkdir
-extern __typeof (g_mkdir) g_mkdir __attribute((alias("IA__g_mkdir"), visibility("default")));
-
-#undef g_stat
-extern __typeof (g_stat) g_stat __attribute((alias("IA__g_stat"), visibility("default")));
-
-#undef g_lstat
-extern __typeof (g_lstat) g_lstat __attribute((alias("IA__g_lstat"), visibility("default")));
-
-#undef g_remove
-extern __typeof (g_remove) g_remove __attribute((alias("IA__g_remove"), visibility("default")));
-
-#undef g_fopen
-extern __typeof (g_fopen) g_fopen __attribute((alias("IA__g_fopen"), visibility("default")));
-
-#undef g_freopen
-extern __typeof (g_freopen) g_freopen __attribute((alias("IA__g_freopen"), visibility("default")));
-
-#undef g_utime
-extern __typeof (g_utime) g_utime __attribute((alias("IA__g_utime"), visibility("default")));
-
-#endif
-#undef g_access
-extern __typeof (g_access) g_access __attribute((alias("IA__g_access"), visibility("default")));
-
-#undef g_chdir
-extern __typeof (g_chdir) g_chdir __attribute((alias("IA__g_chdir"), visibility("default")));
-
-#undef g_unlink
-extern __typeof (g_unlink) g_unlink __attribute((alias("IA__g_unlink"), visibility("default")));
-
-#undef g_rmdir
-extern __typeof (g_rmdir) g_rmdir __attribute((alias("IA__g_rmdir"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_STRFUNCS_H__)
-#if IN_FILE(__G_STRFUNCS_C__)
-#undef g_ascii_digit_value
-extern __typeof (g_ascii_digit_value) g_ascii_digit_value __attribute((alias("IA__g_ascii_digit_value"), visibility("default")));
-
-#undef g_ascii_dtostr
-extern __typeof (g_ascii_dtostr) g_ascii_dtostr __attribute((alias("IA__g_ascii_dtostr"), visibility("default")));
-
-#undef g_ascii_formatd
-extern __typeof (g_ascii_formatd) g_ascii_formatd __attribute((alias("IA__g_ascii_formatd"), visibility("default")));
-
-#undef g_ascii_strdown
-extern __typeof (g_ascii_strdown) g_ascii_strdown __attribute((alias("IA__g_ascii_strdown"), visibility("default")));
-
-#undef g_ascii_strtod
-extern __typeof (g_ascii_strtod) g_ascii_strtod __attribute((alias("IA__g_ascii_strtod"), visibility("default")));
-
-#undef g_ascii_strtoull
-extern __typeof (g_ascii_strtoull) g_ascii_strtoull __attribute((alias("IA__g_ascii_strtoull"), visibility("default")));
-
-#undef g_ascii_strtoll
-extern __typeof (g_ascii_strtoll) g_ascii_strtoll __attribute((alias("IA__g_ascii_strtoll"), visibility("default")));
-
-#undef g_ascii_strup
-extern __typeof (g_ascii_strup) g_ascii_strup __attribute((alias("IA__g_ascii_strup"), visibility("default")));
-
-#undef g_ascii_tolower
-extern __typeof (g_ascii_tolower) g_ascii_tolower __attribute((alias("IA__g_ascii_tolower"), visibility("default")));
-
-#undef g_ascii_toupper
-extern __typeof (g_ascii_toupper) g_ascii_toupper __attribute((alias("IA__g_ascii_toupper"), visibility("default")));
-
-#undef g_ascii_xdigit_value
-extern __typeof (g_ascii_xdigit_value) g_ascii_xdigit_value __attribute((alias("IA__g_ascii_xdigit_value"), visibility("default")));
-
-#undef g_ascii_strcasecmp
-extern __typeof (g_ascii_strcasecmp) g_ascii_strcasecmp __attribute((alias("IA__g_ascii_strcasecmp"), visibility("default")));
-
-#undef g_ascii_strncasecmp
-extern __typeof (g_ascii_strncasecmp) g_ascii_strncasecmp __attribute((alias("IA__g_ascii_strncasecmp"), visibility("default")));
-
-#undef g_memdup
-extern __typeof (g_memdup) g_memdup __attribute((alias("IA__g_memdup"), visibility("default")));
-
-#undef g_stpcpy
-extern __typeof (g_stpcpy) g_stpcpy __attribute((alias("IA__g_stpcpy"), visibility("default")));
-
-#undef g_strcanon
-extern __typeof (g_strcanon) g_strcanon __attribute((alias("IA__g_strcanon"), visibility("default")));
-
-#undef g_strchomp
-extern __typeof (g_strchomp) g_strchomp __attribute((alias("IA__g_strchomp"), visibility("default")));
-
-#undef g_strchug
-extern __typeof (g_strchug) g_strchug __attribute((alias("IA__g_strchug"), visibility("default")));
-
-#undef g_strcompress
-extern __typeof (g_strcompress) g_strcompress __attribute((alias("IA__g_strcompress"), visibility("default")));
-
-#undef g_strconcat
-extern __typeof (g_strconcat) g_strconcat __attribute((alias("IA__g_strconcat"), visibility("default")));
-
-#undef g_strdelimit
-extern __typeof (g_strdelimit) g_strdelimit __attribute((alias("IA__g_strdelimit"), visibility("default")));
-
-#undef g_strdup
-extern __typeof (g_strdup) g_strdup __attribute((alias("IA__g_strdup"), visibility("default")));
-
-#undef g_strdup_printf
-extern __typeof (g_strdup_printf) g_strdup_printf __attribute((alias("IA__g_strdup_printf"), visibility("default")));
-
-#undef g_strdupv
-extern __typeof (g_strdupv) g_strdupv __attribute((alias("IA__g_strdupv"), visibility("default")));
-
-#undef g_strdup_vprintf
-extern __typeof (g_strdup_vprintf) g_strdup_vprintf __attribute((alias("IA__g_strdup_vprintf"), visibility("default")));
-
-#undef g_strerror
-extern __typeof (g_strerror) g_strerror __attribute((alias("IA__g_strerror"), visibility("default")));
-
-#undef g_strescape
-extern __typeof (g_strescape) g_strescape __attribute((alias("IA__g_strescape"), visibility("default")));
-
-#undef g_strfreev
-extern __typeof (g_strfreev) g_strfreev __attribute((alias("IA__g_strfreev"), visibility("default")));
-
-#undef g_str_has_prefix
-extern __typeof (g_str_has_prefix) g_str_has_prefix __attribute((alias("IA__g_str_has_prefix"), visibility("default")));
-
-#undef g_str_has_suffix
-extern __typeof (g_str_has_suffix) g_str_has_suffix __attribute((alias("IA__g_str_has_suffix"), visibility("default")));
-
-#undef g_strjoin
-extern __typeof (g_strjoin) g_strjoin __attribute((alias("IA__g_strjoin"), visibility("default")));
-
-#undef g_strjoinv
-extern __typeof (g_strjoinv) g_strjoinv __attribute((alias("IA__g_strjoinv"), visibility("default")));
-
-#undef g_strlcat
-extern __typeof (g_strlcat) g_strlcat __attribute((alias("IA__g_strlcat"), visibility("default")));
-
-#undef g_strlcpy
-extern __typeof (g_strlcpy) g_strlcpy __attribute((alias("IA__g_strlcpy"), visibility("default")));
-
-#undef g_strndup
-extern __typeof (g_strndup) g_strndup __attribute((alias("IA__g_strndup"), visibility("default")));
-
-#undef g_strnfill
-extern __typeof (g_strnfill) g_strnfill __attribute((alias("IA__g_strnfill"), visibility("default")));
-
-#undef g_strreverse
-extern __typeof (g_strreverse) g_strreverse __attribute((alias("IA__g_strreverse"), visibility("default")));
-
-#undef g_strrstr
-extern __typeof (g_strrstr) g_strrstr __attribute((alias("IA__g_strrstr"), visibility("default")));
-
-#undef g_strrstr_len
-extern __typeof (g_strrstr_len) g_strrstr_len __attribute((alias("IA__g_strrstr_len"), visibility("default")));
-
-#undef g_strsignal
-extern __typeof (g_strsignal) g_strsignal __attribute((alias("IA__g_strsignal"), visibility("default")));
-
-#undef g_strsplit
-extern __typeof (g_strsplit) g_strsplit __attribute((alias("IA__g_strsplit"), visibility("default")));
-
-#undef g_strsplit_set
-extern __typeof (g_strsplit_set) g_strsplit_set __attribute((alias("IA__g_strsplit_set"), visibility("default")));
-
-#undef g_strstr_len
-extern __typeof (g_strstr_len) g_strstr_len __attribute((alias("IA__g_strstr_len"), visibility("default")));
-
-#undef g_strtod
-extern __typeof (g_strtod) g_strtod __attribute((alias("IA__g_strtod"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_strcasecmp
-extern __typeof (g_strcasecmp) g_strcasecmp __attribute((alias("IA__g_strcasecmp"), visibility("default")));
-
-#undef g_strncasecmp
-extern __typeof (g_strncasecmp) g_strncasecmp __attribute((alias("IA__g_strncasecmp"), visibility("default")));
-
-#undef g_strup
-extern __typeof (g_strup) g_strup __attribute((alias("IA__g_strup"), visibility("default")));
-
-#undef g_strdown
-extern __typeof (g_strdown) g_strdown __attribute((alias("IA__g_strdown"), visibility("default")));
-
-#endif
-#undef g_strv_length
-extern __typeof (g_strv_length) g_strv_length __attribute((alias("IA__g_strv_length"), visibility("default")));
-
-#undef g_strip_context
-extern __typeof (g_strip_context) g_strip_context __attribute((alias("IA__g_strip_context"), visibility("default")));
-
-#undef g_dgettext
-extern __typeof (g_dgettext) g_dgettext __attribute((alias("IA__g_dgettext"), visibility("default")));
-
-#undef g_dngettext
-extern __typeof (g_dngettext) g_dngettext __attribute((alias("IA__g_dngettext"), visibility("default")));
-
-#undef g_dpgettext
-extern __typeof (g_dpgettext) g_dpgettext __attribute((alias("IA__g_dpgettext"), visibility("default")));
-
-#undef g_dpgettext2
-extern __typeof (g_dpgettext2) g_dpgettext2 __attribute((alias("IA__g_dpgettext2"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_URI_FUNCS_H__)
-#if IN_FILE(__G_URI_FUNCS_C__)
-#undef g_uri_unescape_string
-extern __typeof (g_uri_unescape_string) g_uri_unescape_string __attribute((alias("IA__g_uri_unescape_string"), visibility("default")));
-
-#undef g_uri_unescape_segment
-extern __typeof (g_uri_unescape_segment) g_uri_unescape_segment __attribute((alias("IA__g_uri_unescape_segment"), visibility("default")));
-
-#undef g_uri_parse_scheme
-extern __typeof (g_uri_parse_scheme) g_uri_parse_scheme __attribute((alias("IA__g_uri_parse_scheme"), visibility("default")));
-
-#undef g_uri_escape_string
-extern __typeof (g_uri_escape_string) g_uri_escape_string __attribute((alias("IA__g_uri_escape_string"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_STRING_H__)
-#if IN_FILE(__G_STRING_C__)
-#undef g_string_append
-extern __typeof (g_string_append) g_string_append __attribute((alias("IA__g_string_append"), visibility("default")));
-
-#undef g_string_append_len
-extern __typeof (g_string_append_len) g_string_append_len __attribute((alias("IA__g_string_append_len"), visibility("default")));
-
-#undef g_string_append_printf
-extern __typeof (g_string_append_printf) g_string_append_printf __attribute((alias("IA__g_string_append_printf"), visibility("default")));
-
-#undef g_string_append_unichar
-extern __typeof (g_string_append_unichar) g_string_append_unichar __attribute((alias("IA__g_string_append_unichar"), visibility("default")));
-
-#undef g_string_append_vprintf
-extern __typeof (g_string_append_vprintf) g_string_append_vprintf __attribute((alias("IA__g_string_append_vprintf"), visibility("default")));
-
-#undef g_string_ascii_down
-extern __typeof (g_string_ascii_down) g_string_ascii_down __attribute((alias("IA__g_string_ascii_down"), visibility("default")));
-
-#undef g_string_ascii_up
-extern __typeof (g_string_ascii_up) g_string_ascii_up __attribute((alias("IA__g_string_ascii_up"), visibility("default")));
-
-#undef g_string_assign
-extern __typeof (g_string_assign) g_string_assign __attribute((alias("IA__g_string_assign"), visibility("default")));
-
-#undef g_string_chunk_free
-extern __typeof (g_string_chunk_free) g_string_chunk_free __attribute((alias("IA__g_string_chunk_free"), visibility("default")));
-
-#undef g_string_chunk_clear
-extern __typeof (g_string_chunk_clear) g_string_chunk_clear __attribute((alias("IA__g_string_chunk_clear"), visibility("default")));
-
-#undef g_string_chunk_insert
-extern __typeof (g_string_chunk_insert) g_string_chunk_insert __attribute((alias("IA__g_string_chunk_insert"), visibility("default")));
-
-#undef g_string_chunk_insert_const
-extern __typeof (g_string_chunk_insert_const) g_string_chunk_insert_const __attribute((alias("IA__g_string_chunk_insert_const"), visibility("default")));
-
-#undef g_string_chunk_insert_len
-extern __typeof (g_string_chunk_insert_len) g_string_chunk_insert_len __attribute((alias("IA__g_string_chunk_insert_len"), visibility("default")));
-
-#undef g_string_chunk_new
-extern __typeof (g_string_chunk_new) g_string_chunk_new __attribute((alias("IA__g_string_chunk_new"), visibility("default")));
-
-#undef g_string_equal
-extern __typeof (g_string_equal) g_string_equal __attribute((alias("IA__g_string_equal"), visibility("default")));
-
-#undef g_string_erase
-extern __typeof (g_string_erase) g_string_erase __attribute((alias("IA__g_string_erase"), visibility("default")));
-
-#undef g_string_free
-extern __typeof (g_string_free) g_string_free __attribute((alias("IA__g_string_free"), visibility("default")));
-
-#undef g_string_hash
-extern __typeof (g_string_hash) g_string_hash __attribute((alias("IA__g_string_hash"), visibility("default")));
-
-#undef g_string_insert
-extern __typeof (g_string_insert) g_string_insert __attribute((alias("IA__g_string_insert"), visibility("default")));
-
-#undef g_string_insert_c
-extern __typeof (g_string_insert_c) g_string_insert_c __attribute((alias("IA__g_string_insert_c"), visibility("default")));
-
-#undef g_string_insert_len
-extern __typeof (g_string_insert_len) g_string_insert_len __attribute((alias("IA__g_string_insert_len"), visibility("default")));
-
-#undef g_string_insert_unichar
-extern __typeof (g_string_insert_unichar) g_string_insert_unichar __attribute((alias("IA__g_string_insert_unichar"), visibility("default")));
-
-#undef g_string_new
-extern __typeof (g_string_new) g_string_new __attribute((alias("IA__g_string_new"), visibility("default")));
-
-#undef g_string_new_len
-extern __typeof (g_string_new_len) g_string_new_len __attribute((alias("IA__g_string_new_len"), visibility("default")));
-
-#undef g_string_overwrite
-extern __typeof (g_string_overwrite) g_string_overwrite __attribute((alias("IA__g_string_overwrite"), visibility("default")));
-
-#undef g_string_overwrite_len
-extern __typeof (g_string_overwrite_len) g_string_overwrite_len __attribute((alias("IA__g_string_overwrite_len"), visibility("default")));
-
-#undef g_string_prepend
-extern __typeof (g_string_prepend) g_string_prepend __attribute((alias("IA__g_string_prepend"), visibility("default")));
-
-#undef g_string_prepend_c
-extern __typeof (g_string_prepend_c) g_string_prepend_c __attribute((alias("IA__g_string_prepend_c"), visibility("default")));
-
-#undef g_string_prepend_len
-extern __typeof (g_string_prepend_len) g_string_prepend_len __attribute((alias("IA__g_string_prepend_len"), visibility("default")));
-
-#undef g_string_prepend_unichar
-extern __typeof (g_string_prepend_unichar) g_string_prepend_unichar __attribute((alias("IA__g_string_prepend_unichar"), visibility("default")));
-
-#undef g_string_printf
-extern __typeof (g_string_printf) g_string_printf __attribute((alias("IA__g_string_printf"), visibility("default")));
-
-#undef g_string_set_size
-extern __typeof (g_string_set_size) g_string_set_size __attribute((alias("IA__g_string_set_size"), visibility("default")));
-
-#undef g_string_sized_new
-extern __typeof (g_string_sized_new) g_string_sized_new __attribute((alias("IA__g_string_sized_new"), visibility("default")));
-
-#undef g_string_truncate
-extern __typeof (g_string_truncate) g_string_truncate __attribute((alias("IA__g_string_truncate"), visibility("default")));
-
-#undef g_string_append_uri_escaped
-extern __typeof (g_string_append_uri_escaped) g_string_append_uri_escaped __attribute((alias("IA__g_string_append_uri_escaped"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_string_down
-extern __typeof (g_string_down) g_string_down __attribute((alias("IA__g_string_down"), visibility("default")));
-
-#undef g_string_up
-extern __typeof (g_string_up) g_string_up __attribute((alias("IA__g_string_up"), visibility("default")));
-
-#endif
-#undef g_string_vprintf
-extern __typeof (g_string_vprintf) g_string_vprintf __attribute((alias("IA__g_string_vprintf"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_BITLOCK_H__)
-#if IN_FILE(__G_BITLOCK_C__)
-#undef g_bit_lock
-extern __typeof (g_bit_lock) g_bit_lock __attribute((alias("IA__g_bit_lock"), visibility("default")));
-
-#undef g_bit_trylock
-extern __typeof (g_bit_trylock) g_bit_trylock __attribute((alias("IA__g_bit_trylock"), visibility("default")));
-
-#undef g_bit_unlock
-extern __typeof (g_bit_unlock) g_bit_unlock __attribute((alias("IA__g_bit_unlock"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_THREAD_H__)
-#if IN_FILE(__G_THREAD_C__)
-#undef g_once_impl
-extern __typeof (g_once_impl) g_once_impl __attribute((alias("IA__g_once_impl"), visibility("default")));
-
-#undef g_once_init_enter_impl
-extern __typeof (g_once_init_enter_impl) g_once_init_enter_impl __attribute((alias("IA__g_once_init_enter_impl"), visibility("default")));
-
-#undef g_once_init_leave
-extern __typeof (g_once_init_leave) g_once_init_leave __attribute((alias("IA__g_once_init_leave"), visibility("default")));
-
-#undef g_thread_create_full
-extern __typeof (g_thread_create_full) g_thread_create_full __attribute((alias("IA__g_thread_create_full"), visibility("default")));
-
-#undef g_thread_error_quark
-extern __typeof (g_thread_error_quark) g_thread_error_quark __attribute((alias("IA__g_thread_error_quark"), visibility("default")));
-
-#undef g_thread_exit
-extern __typeof (g_thread_exit) g_thread_exit __attribute((alias("IA__g_thread_exit"), visibility("default")));
-
-#undef g_thread_join
-extern __typeof (g_thread_join) g_thread_join __attribute((alias("IA__g_thread_join"), visibility("default")));
-
-#undef g_thread_self
-extern __typeof (g_thread_self) g_thread_self __attribute((alias("IA__g_thread_self"), visibility("default")));
-
-#undef g_thread_set_priority
-extern __typeof (g_thread_set_priority) g_thread_set_priority __attribute((alias("IA__g_thread_set_priority"), visibility("default")));
-
-#undef g_static_mutex_free
-extern __typeof (g_static_mutex_free) g_static_mutex_free __attribute((alias("IA__g_static_mutex_free"), visibility("default")));
-
-#undef g_static_mutex_get_mutex_impl
-extern __typeof (g_static_mutex_get_mutex_impl) g_static_mutex_get_mutex_impl __attribute((alias("IA__g_static_mutex_get_mutex_impl"), visibility("default")));
-
-#undef g_static_mutex_init
-extern __typeof (g_static_mutex_init) g_static_mutex_init __attribute((alias("IA__g_static_mutex_init"), visibility("default")));
-
-#undef g_static_private_free
-extern __typeof (g_static_private_free) g_static_private_free __attribute((alias("IA__g_static_private_free"), visibility("default")));
-
-#undef g_static_private_get
-extern __typeof (g_static_private_get) g_static_private_get __attribute((alias("IA__g_static_private_get"), visibility("default")));
-
-#undef g_static_private_init
-extern __typeof (g_static_private_init) g_static_private_init __attribute((alias("IA__g_static_private_init"), visibility("default")));
-
-#undef g_static_private_set
-extern __typeof (g_static_private_set) g_static_private_set __attribute((alias("IA__g_static_private_set"), visibility("default")));
-
-#undef g_static_rec_mutex_free
-extern __typeof (g_static_rec_mutex_free) g_static_rec_mutex_free __attribute((alias("IA__g_static_rec_mutex_free"), visibility("default")));
-
-#undef g_static_rec_mutex_init
-extern __typeof (g_static_rec_mutex_init) g_static_rec_mutex_init __attribute((alias("IA__g_static_rec_mutex_init"), visibility("default")));
-
-#undef g_static_rec_mutex_lock
-extern __typeof (g_static_rec_mutex_lock) g_static_rec_mutex_lock __attribute((alias("IA__g_static_rec_mutex_lock"), visibility("default")));
-
-#undef g_static_rec_mutex_lock_full
-extern __typeof (g_static_rec_mutex_lock_full) g_static_rec_mutex_lock_full __attribute((alias("IA__g_static_rec_mutex_lock_full"), visibility("default")));
-
-#undef g_static_rec_mutex_trylock
-extern __typeof (g_static_rec_mutex_trylock) g_static_rec_mutex_trylock __attribute((alias("IA__g_static_rec_mutex_trylock"), visibility("default")));
-
-#undef g_static_rec_mutex_unlock
-extern __typeof (g_static_rec_mutex_unlock) g_static_rec_mutex_unlock __attribute((alias("IA__g_static_rec_mutex_unlock"), visibility("default")));
-
-#undef g_static_rec_mutex_unlock_full
-extern __typeof (g_static_rec_mutex_unlock_full) g_static_rec_mutex_unlock_full __attribute((alias("IA__g_static_rec_mutex_unlock_full"), visibility("default")));
-
-#undef g_static_rw_lock_free
-extern __typeof (g_static_rw_lock_free) g_static_rw_lock_free __attribute((alias("IA__g_static_rw_lock_free"), visibility("default")));
-
-#undef g_static_rw_lock_init
-extern __typeof (g_static_rw_lock_init) g_static_rw_lock_init __attribute((alias("IA__g_static_rw_lock_init"), visibility("default")));
-
-#undef g_static_rw_lock_reader_lock
-extern __typeof (g_static_rw_lock_reader_lock) g_static_rw_lock_reader_lock __attribute((alias("IA__g_static_rw_lock_reader_lock"), visibility("default")));
-
-#undef g_static_rw_lock_reader_trylock
-extern __typeof (g_static_rw_lock_reader_trylock) g_static_rw_lock_reader_trylock __attribute((alias("IA__g_static_rw_lock_reader_trylock"), visibility("default")));
-
-#undef g_static_rw_lock_reader_unlock
-extern __typeof (g_static_rw_lock_reader_unlock) g_static_rw_lock_reader_unlock __attribute((alias("IA__g_static_rw_lock_reader_unlock"), visibility("default")));
-
-#undef g_static_rw_lock_writer_lock
-extern __typeof (g_static_rw_lock_writer_lock) g_static_rw_lock_writer_lock __attribute((alias("IA__g_static_rw_lock_writer_lock"), visibility("default")));
-
-#undef g_static_rw_lock_writer_trylock
-extern __typeof (g_static_rw_lock_writer_trylock) g_static_rw_lock_writer_trylock __attribute((alias("IA__g_static_rw_lock_writer_trylock"), visibility("default")));
-
-#undef g_static_rw_lock_writer_unlock
-extern __typeof (g_static_rw_lock_writer_unlock) g_static_rw_lock_writer_unlock __attribute((alias("IA__g_static_rw_lock_writer_unlock"), visibility("default")));
-
-#undef g_thread_foreach
-extern __typeof (g_thread_foreach) g_thread_foreach __attribute((alias("IA__g_thread_foreach"), visibility("default")));
-
-#undef g_thread_get_initialized
-extern __typeof (g_thread_get_initialized) g_thread_get_initialized __attribute((alias("IA__g_thread_get_initialized"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_THREADPOOL_H__)
-#if IN_FILE(__G_THREADPOOL_C__)
-#undef g_thread_pool_free
-extern __typeof (g_thread_pool_free) g_thread_pool_free __attribute((alias("IA__g_thread_pool_free"), visibility("default")));
-
-#undef g_thread_pool_get_max_threads
-extern __typeof (g_thread_pool_get_max_threads) g_thread_pool_get_max_threads __attribute((alias("IA__g_thread_pool_get_max_threads"), visibility("default")));
-
-#undef g_thread_pool_get_max_unused_threads
-extern __typeof (g_thread_pool_get_max_unused_threads) g_thread_pool_get_max_unused_threads __attribute((alias("IA__g_thread_pool_get_max_unused_threads"), visibility("default")));
-
-#undef g_thread_pool_get_max_idle_time
-extern __typeof (g_thread_pool_get_max_idle_time) g_thread_pool_get_max_idle_time __attribute((alias("IA__g_thread_pool_get_max_idle_time"), visibility("default")));
-
-#undef g_thread_pool_get_num_threads
-extern __typeof (g_thread_pool_get_num_threads) g_thread_pool_get_num_threads __attribute((alias("IA__g_thread_pool_get_num_threads"), visibility("default")));
-
-#undef g_thread_pool_get_num_unused_threads
-extern __typeof (g_thread_pool_get_num_unused_threads) g_thread_pool_get_num_unused_threads __attribute((alias("IA__g_thread_pool_get_num_unused_threads"), visibility("default")));
-
-#undef g_thread_pool_new
-extern __typeof (g_thread_pool_new) g_thread_pool_new __attribute((alias("IA__g_thread_pool_new"), visibility("default")));
-
-#undef g_thread_pool_push
-extern __typeof (g_thread_pool_push) g_thread_pool_push __attribute((alias("IA__g_thread_pool_push"), visibility("default")));
-
-#undef g_thread_pool_set_max_threads
-extern __typeof (g_thread_pool_set_max_threads) g_thread_pool_set_max_threads __attribute((alias("IA__g_thread_pool_set_max_threads"), visibility("default")));
-
-#undef g_thread_pool_set_max_unused_threads
-extern __typeof (g_thread_pool_set_max_unused_threads) g_thread_pool_set_max_unused_threads __attribute((alias("IA__g_thread_pool_set_max_unused_threads"), visibility("default")));
-
-#undef g_thread_pool_set_max_idle_time
-extern __typeof (g_thread_pool_set_max_idle_time) g_thread_pool_set_max_idle_time __attribute((alias("IA__g_thread_pool_set_max_idle_time"), visibility("default")));
-
-#undef g_thread_pool_stop_unused_threads
-extern __typeof (g_thread_pool_stop_unused_threads) g_thread_pool_stop_unused_threads __attribute((alias("IA__g_thread_pool_stop_unused_threads"), visibility("default")));
-
-#undef g_thread_pool_unprocessed
-extern __typeof (g_thread_pool_unprocessed) g_thread_pool_unprocessed __attribute((alias("IA__g_thread_pool_unprocessed"), visibility("default")));
-
-#undef g_thread_pool_set_sort_function
-extern __typeof (g_thread_pool_set_sort_function) g_thread_pool_set_sort_function __attribute((alias("IA__g_thread_pool_set_sort_function"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_TEST_UTILS_H__)
-#if IN_FILE(__G_MESSAGES_C__)
-#undef g_test_log_set_fatal_handler
-extern __typeof (g_test_log_set_fatal_handler) g_test_log_set_fatal_handler __attribute((alias("IA__g_test_log_set_fatal_handler"), visibility("default")));
-
-#endif
-#if IN_FILE(__G_TEST_UTILS_C__)
-#undef g_assertion_message
-extern __typeof (g_assertion_message) g_assertion_message __attribute((alias("IA__g_assertion_message"), visibility("default")));
-
-#undef g_assertion_message_cmpnum
-extern __typeof (g_assertion_message_cmpnum) g_assertion_message_cmpnum __attribute((alias("IA__g_assertion_message_cmpnum"), visibility("default")));
-
-#undef g_assertion_message_cmpstr
-extern __typeof (g_assertion_message_cmpstr) g_assertion_message_cmpstr __attribute((alias("IA__g_assertion_message_cmpstr"), visibility("default")));
-
-#undef g_assertion_message_expr
-extern __typeof (g_assertion_message_expr) g_assertion_message_expr __attribute((alias("IA__g_assertion_message_expr"), visibility("default")));
-
-#undef g_assertion_message_error
-extern __typeof (g_assertion_message_error) g_assertion_message_error __attribute((alias("IA__g_assertion_message_error"), visibility("default")));
-
-#undef g_strcmp0
-extern __typeof (g_strcmp0) g_strcmp0 __attribute((alias("IA__g_strcmp0"), visibility("default")));
-
-#undef g_test_add_data_func
-extern __typeof (g_test_add_data_func) g_test_add_data_func __attribute((alias("IA__g_test_add_data_func"), visibility("default")));
-
-#undef g_test_add_func
-extern __typeof (g_test_add_func) g_test_add_func __attribute((alias("IA__g_test_add_func"), visibility("default")));
-
-#undef g_test_add_vtable
-extern __typeof (g_test_add_vtable) g_test_add_vtable __attribute((alias("IA__g_test_add_vtable"), visibility("default")));
-
-#undef g_test_bug
-extern __typeof (g_test_bug) g_test_bug __attribute((alias("IA__g_test_bug"), visibility("default")));
-
-#undef g_test_bug_base
-extern __typeof (g_test_bug_base) g_test_bug_base __attribute((alias("IA__g_test_bug_base"), visibility("default")));
-
-#undef g_test_create_case
-extern __typeof (g_test_create_case) g_test_create_case __attribute((alias("IA__g_test_create_case"), visibility("default")));
-
-#undef g_test_create_suite
-extern __typeof (g_test_create_suite) g_test_create_suite __attribute((alias("IA__g_test_create_suite"), visibility("default")));
-
-#undef g_test_get_root
-extern __typeof (g_test_get_root) g_test_get_root __attribute((alias("IA__g_test_get_root"), visibility("default")));
-
-#undef g_test_init
-extern __typeof (g_test_init) g_test_init __attribute((alias("IA__g_test_init"), visibility("default")));
-
-#undef g_test_log_buffer_free
-extern __typeof (g_test_log_buffer_free) g_test_log_buffer_free __attribute((alias("IA__g_test_log_buffer_free"), visibility("default")));
-
-#undef g_test_log_buffer_new
-extern __typeof (g_test_log_buffer_new) g_test_log_buffer_new __attribute((alias("IA__g_test_log_buffer_new"), visibility("default")));
-
-#undef g_test_log_buffer_pop
-extern __typeof (g_test_log_buffer_pop) g_test_log_buffer_pop __attribute((alias("IA__g_test_log_buffer_pop"), visibility("default")));
-
-#undef g_test_log_buffer_push
-extern __typeof (g_test_log_buffer_push) g_test_log_buffer_push __attribute((alias("IA__g_test_log_buffer_push"), visibility("default")));
-
-#undef g_test_log_msg_free
-extern __typeof (g_test_log_msg_free) g_test_log_msg_free __attribute((alias("IA__g_test_log_msg_free"), visibility("default")));
-
-#undef g_test_log_type_name
-extern __typeof (g_test_log_type_name) g_test_log_type_name __attribute((alias("IA__g_test_log_type_name"), visibility("default")));
-
-#undef g_test_maximized_result
-extern __typeof (g_test_maximized_result) g_test_maximized_result __attribute((alias("IA__g_test_maximized_result"), visibility("default")));
-
-#undef g_test_message
-extern __typeof (g_test_message) g_test_message __attribute((alias("IA__g_test_message"), visibility("default")));
-
-#undef g_test_minimized_result
-extern __typeof (g_test_minimized_result) g_test_minimized_result __attribute((alias("IA__g_test_minimized_result"), visibility("default")));
-
-#undef g_test_queue_destroy
-extern __typeof (g_test_queue_destroy) g_test_queue_destroy __attribute((alias("IA__g_test_queue_destroy"), visibility("default")));
-
-#undef g_test_queue_free
-extern __typeof (g_test_queue_free) g_test_queue_free __attribute((alias("IA__g_test_queue_free"), visibility("default")));
-
-#undef g_test_rand_double
-extern __typeof (g_test_rand_double) g_test_rand_double __attribute((alias("IA__g_test_rand_double"), visibility("default")));
-
-#undef g_test_rand_double_range
-extern __typeof (g_test_rand_double_range) g_test_rand_double_range __attribute((alias("IA__g_test_rand_double_range"), visibility("default")));
-
-#undef g_test_rand_int
-extern __typeof (g_test_rand_int) g_test_rand_int __attribute((alias("IA__g_test_rand_int"), visibility("default")));
-
-#undef g_test_rand_int_range
-extern __typeof (g_test_rand_int_range) g_test_rand_int_range __attribute((alias("IA__g_test_rand_int_range"), visibility("default")));
-
-#undef g_test_run
-extern __typeof (g_test_run) g_test_run __attribute((alias("IA__g_test_run"), visibility("default")));
-
-#undef g_test_run_suite
-extern __typeof (g_test_run_suite) g_test_run_suite __attribute((alias("IA__g_test_run_suite"), visibility("default")));
-
-#undef g_test_suite_add
-extern __typeof (g_test_suite_add) g_test_suite_add __attribute((alias("IA__g_test_suite_add"), visibility("default")));
-
-#undef g_test_suite_add_suite
-extern __typeof (g_test_suite_add_suite) g_test_suite_add_suite __attribute((alias("IA__g_test_suite_add_suite"), visibility("default")));
-
-#undef g_test_timer_elapsed
-extern __typeof (g_test_timer_elapsed) g_test_timer_elapsed __attribute((alias("IA__g_test_timer_elapsed"), visibility("default")));
-
-#undef g_test_timer_last
-extern __typeof (g_test_timer_last) g_test_timer_last __attribute((alias("IA__g_test_timer_last"), visibility("default")));
-
-#undef g_test_timer_start
-extern __typeof (g_test_timer_start) g_test_timer_start __attribute((alias("IA__g_test_timer_start"), visibility("default")));
-
-#undef g_test_trap_assertions
-extern __typeof (g_test_trap_assertions) g_test_trap_assertions __attribute((alias("IA__g_test_trap_assertions"), visibility("default")));
-
-#undef g_test_trap_fork
-extern __typeof (g_test_trap_fork) g_test_trap_fork __attribute((alias("IA__g_test_trap_fork"), visibility("default")));
-
-#undef g_test_trap_has_passed
-extern __typeof (g_test_trap_has_passed) g_test_trap_has_passed __attribute((alias("IA__g_test_trap_has_passed"), visibility("default")));
-
-#undef g_test_trap_reached_timeout
-extern __typeof (g_test_trap_reached_timeout) g_test_trap_reached_timeout __attribute((alias("IA__g_test_trap_reached_timeout"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_TIMER_H__)
-#if IN_FILE(__G_TIMER_C__)
-#undef g_timer_continue
-extern __typeof (g_timer_continue) g_timer_continue __attribute((alias("IA__g_timer_continue"), visibility("default")));
-
-#undef g_timer_destroy
-extern __typeof (g_timer_destroy) g_timer_destroy __attribute((alias("IA__g_timer_destroy"), visibility("default")));
-
-#undef g_timer_elapsed
-extern __typeof (g_timer_elapsed) g_timer_elapsed __attribute((alias("IA__g_timer_elapsed"), visibility("default")));
-
-#undef g_timer_new
-extern __typeof (g_timer_new) g_timer_new __attribute((alias("IA__g_timer_new"), visibility("default")));
-
-#undef g_timer_reset
-extern __typeof (g_timer_reset) g_timer_reset __attribute((alias("IA__g_timer_reset"), visibility("default")));
-
-#undef g_timer_start
-extern __typeof (g_timer_start) g_timer_start __attribute((alias("IA__g_timer_start"), visibility("default")));
-
-#undef g_timer_stop
-extern __typeof (g_timer_stop) g_timer_stop __attribute((alias("IA__g_timer_stop"), visibility("default")));
-
-#undef g_time_val_add
-extern __typeof (g_time_val_add) g_time_val_add __attribute((alias("IA__g_time_val_add"), visibility("default")));
-
-#undef g_time_val_from_iso8601
-extern __typeof (g_time_val_from_iso8601) g_time_val_from_iso8601 __attribute((alias("IA__g_time_val_from_iso8601"), visibility("default")));
-
-#undef g_time_val_to_iso8601
-extern __typeof (g_time_val_to_iso8601) g_time_val_to_iso8601 __attribute((alias("IA__g_time_val_to_iso8601"), visibility("default")));
-
-#undef g_usleep
-extern __typeof (g_usleep) g_usleep __attribute((alias("IA__g_usleep"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_TREE_H__)
-#if IN_FILE(__G_TREE_C__)
-#undef g_tree_destroy
-extern __typeof (g_tree_destroy) g_tree_destroy __attribute((alias("IA__g_tree_destroy"), visibility("default")));
-
-#undef g_tree_foreach
-extern __typeof (g_tree_foreach) g_tree_foreach __attribute((alias("IA__g_tree_foreach"), visibility("default")));
-
-#undef g_tree_height
-extern __typeof (g_tree_height) g_tree_height __attribute((alias("IA__g_tree_height"), visibility("default")));
-
-#undef g_tree_insert
-extern __typeof (g_tree_insert) g_tree_insert __attribute((alias("IA__g_tree_insert"), visibility("default")));
-
-#undef g_tree_lookup
-extern __typeof (g_tree_lookup) g_tree_lookup __attribute((alias("IA__g_tree_lookup"), visibility("default")));
-
-#undef g_tree_lookup_extended
-extern __typeof (g_tree_lookup_extended) g_tree_lookup_extended __attribute((alias("IA__g_tree_lookup_extended"), visibility("default")));
-
-#undef g_tree_new
-extern __typeof (g_tree_new) g_tree_new __attribute((alias("IA__g_tree_new"), visibility("default")));
-
-#undef g_tree_ref
-extern __typeof (g_tree_ref) g_tree_ref __attribute((alias("IA__g_tree_ref"), visibility("default")));
-
-#undef g_tree_unref
-extern __typeof (g_tree_unref) g_tree_unref __attribute((alias("IA__g_tree_unref"), visibility("default")));
-
-#undef g_tree_new_full
-extern __typeof (g_tree_new_full) g_tree_new_full __attribute((alias("IA__g_tree_new_full"), visibility("default")));
-
-#undef g_tree_new_with_data
-extern __typeof (g_tree_new_with_data) g_tree_new_with_data __attribute((alias("IA__g_tree_new_with_data"), visibility("default")));
-
-#undef g_tree_nnodes
-extern __typeof (g_tree_nnodes) g_tree_nnodes __attribute((alias("IA__g_tree_nnodes"), visibility("default")));
-
-#undef g_tree_remove
-extern __typeof (g_tree_remove) g_tree_remove __attribute((alias("IA__g_tree_remove"), visibility("default")));
-
-#undef g_tree_replace
-extern __typeof (g_tree_replace) g_tree_replace __attribute((alias("IA__g_tree_replace"), visibility("default")));
-
-#undef g_tree_search
-extern __typeof (g_tree_search) g_tree_search __attribute((alias("IA__g_tree_search"), visibility("default")));
-
-#undef g_tree_steal
-extern __typeof (g_tree_steal) g_tree_steal __attribute((alias("IA__g_tree_steal"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_tree_traverse
-extern __typeof (g_tree_traverse) g_tree_traverse __attribute((alias("IA__g_tree_traverse"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_UNICODE_H__)
-#if IN_FILE(__G_UNIBREAK_C__)
-#undef g_unichar_break_type
-extern __typeof (g_unichar_break_type) g_unichar_break_type __attribute((alias("IA__g_unichar_break_type"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_UNICODE_H__)
-#if IN_FILE(__G_UNICOLLATE_C__)
-#undef g_utf8_collate
-extern __typeof (g_utf8_collate) g_utf8_collate __attribute((alias("IA__g_utf8_collate"), visibility("default")));
-
-#undef g_utf8_collate_key
-extern __typeof (g_utf8_collate_key) g_utf8_collate_key __attribute((alias("IA__g_utf8_collate_key"), visibility("default")));
-
-#undef g_utf8_collate_key_for_filename
-extern __typeof (g_utf8_collate_key_for_filename) g_utf8_collate_key_for_filename __attribute((alias("IA__g_utf8_collate_key_for_filename"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_UNICODE_H__)
-#if IN_FILE(__G_UNIDECOMP_C__)
-#undef g_unicode_canonical_decomposition
-extern __typeof (g_unicode_canonical_decomposition) g_unicode_canonical_decomposition __attribute((alias("IA__g_unicode_canonical_decomposition"), visibility("default")));
-
-#undef g_unicode_canonical_ordering
-extern __typeof (g_unicode_canonical_ordering) g_unicode_canonical_ordering __attribute((alias("IA__g_unicode_canonical_ordering"), visibility("default")));
-
-#undef g_unichar_combining_class
-extern __typeof (g_unichar_combining_class) g_unichar_combining_class __attribute((alias("IA__g_unichar_combining_class"), visibility("default")));
-
-#undef g_utf8_normalize
-extern __typeof (g_utf8_normalize) g_utf8_normalize __attribute((alias("IA__g_utf8_normalize"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_UNICODE_H__)
-#if IN_FILE(__G_UNIPROP_C__)
-#undef g_unichar_isalnum
-extern __typeof (g_unichar_isalnum) g_unichar_isalnum __attribute((alias("IA__g_unichar_isalnum"), visibility("default")));
-
-#undef g_unichar_isalpha
-extern __typeof (g_unichar_isalpha) g_unichar_isalpha __attribute((alias("IA__g_unichar_isalpha"), visibility("default")));
-
-#undef g_unichar_iscntrl
-extern __typeof (g_unichar_iscntrl) g_unichar_iscntrl __attribute((alias("IA__g_unichar_iscntrl"), visibility("default")));
-
-#undef g_unichar_isdefined
-extern __typeof (g_unichar_isdefined) g_unichar_isdefined __attribute((alias("IA__g_unichar_isdefined"), visibility("default")));
-
-#undef g_unichar_isdigit
-extern __typeof (g_unichar_isdigit) g_unichar_isdigit __attribute((alias("IA__g_unichar_isdigit"), visibility("default")));
-
-#undef g_unichar_isgraph
-extern __typeof (g_unichar_isgraph) g_unichar_isgraph __attribute((alias("IA__g_unichar_isgraph"), visibility("default")));
-
-#undef g_unichar_islower
-extern __typeof (g_unichar_islower) g_unichar_islower __attribute((alias("IA__g_unichar_islower"), visibility("default")));
-
-#undef g_unichar_isprint
-extern __typeof (g_unichar_isprint) g_unichar_isprint __attribute((alias("IA__g_unichar_isprint"), visibility("default")));
-
-#undef g_unichar_ispunct
-extern __typeof (g_unichar_ispunct) g_unichar_ispunct __attribute((alias("IA__g_unichar_ispunct"), visibility("default")));
-
-#undef g_unichar_isspace
-extern __typeof (g_unichar_isspace) g_unichar_isspace __attribute((alias("IA__g_unichar_isspace"), visibility("default")));
-
-#undef g_unichar_istitle
-extern __typeof (g_unichar_istitle) g_unichar_istitle __attribute((alias("IA__g_unichar_istitle"), visibility("default")));
-
-#undef g_unichar_isupper
-extern __typeof (g_unichar_isupper) g_unichar_isupper __attribute((alias("IA__g_unichar_isupper"), visibility("default")));
-
-#undef g_unichar_iswide
-extern __typeof (g_unichar_iswide) g_unichar_iswide __attribute((alias("IA__g_unichar_iswide"), visibility("default")));
-
-#undef g_unichar_iswide_cjk
-extern __typeof (g_unichar_iswide_cjk) g_unichar_iswide_cjk __attribute((alias("IA__g_unichar_iswide_cjk"), visibility("default")));
-
-#undef g_unichar_isxdigit
-extern __typeof (g_unichar_isxdigit) g_unichar_isxdigit __attribute((alias("IA__g_unichar_isxdigit"), visibility("default")));
-
-#undef g_unichar_iszerowidth
-extern __typeof (g_unichar_iszerowidth) g_unichar_iszerowidth __attribute((alias("IA__g_unichar_iszerowidth"), visibility("default")));
-
-#undef g_unichar_tolower
-extern __typeof (g_unichar_tolower) g_unichar_tolower __attribute((alias("IA__g_unichar_tolower"), visibility("default")));
-
-#undef g_unichar_totitle
-extern __typeof (g_unichar_totitle) g_unichar_totitle __attribute((alias("IA__g_unichar_totitle"), visibility("default")));
-
-#undef g_unichar_toupper
-extern __typeof (g_unichar_toupper) g_unichar_toupper __attribute((alias("IA__g_unichar_toupper"), visibility("default")));
-
-#undef g_unichar_ismark
-extern __typeof (g_unichar_ismark) g_unichar_ismark __attribute((alias("IA__g_unichar_ismark"), visibility("default")));
-
-#undef g_unichar_get_mirror_char
-extern __typeof (g_unichar_get_mirror_char) g_unichar_get_mirror_char __attribute((alias("IA__g_unichar_get_mirror_char"), visibility("default")));
-
-#undef g_unichar_get_script
-extern __typeof (g_unichar_get_script) g_unichar_get_script __attribute((alias("IA__g_unichar_get_script"), visibility("default")));
-
-#undef g_unichar_digit_value
-extern __typeof (g_unichar_digit_value) g_unichar_digit_value __attribute((alias("IA__g_unichar_digit_value"), visibility("default")));
-
-#undef g_unichar_xdigit_value
-extern __typeof (g_unichar_xdigit_value) g_unichar_xdigit_value __attribute((alias("IA__g_unichar_xdigit_value"), visibility("default")));
-
-#undef g_unichar_type
-extern __typeof (g_unichar_type) g_unichar_type __attribute((alias("IA__g_unichar_type"), visibility("default")));
-
-#undef g_utf8_casefold
-extern __typeof (g_utf8_casefold) g_utf8_casefold __attribute((alias("IA__g_utf8_casefold"), visibility("default")));
-
-#undef g_utf8_strup
-extern __typeof (g_utf8_strup) g_utf8_strup __attribute((alias("IA__g_utf8_strup"), visibility("default")));
-
-#undef g_utf8_strdown
-extern __typeof (g_utf8_strdown) g_utf8_strdown __attribute((alias("IA__g_utf8_strdown"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_UNICODE_H__)
-#if IN_FILE(__G_UTF8_C__)
-#undef g_get_charset
-extern __typeof (g_get_charset) g_get_charset __attribute((alias("IA__g_get_charset"), visibility("default")));
-
-#undef g_ucs4_to_utf16
-extern __typeof (g_ucs4_to_utf16) g_ucs4_to_utf16 __attribute((alias("IA__g_ucs4_to_utf16"), visibility("default")));
-
-#undef g_ucs4_to_utf8
-extern __typeof (g_ucs4_to_utf8) g_ucs4_to_utf8 __attribute((alias("IA__g_ucs4_to_utf8"), visibility("default")));
-
-#undef g_utf16_to_ucs4
-extern __typeof (g_utf16_to_ucs4) g_utf16_to_ucs4 __attribute((alias("IA__g_utf16_to_ucs4"), visibility("default")));
-
-#undef g_utf16_to_utf8
-extern __typeof (g_utf16_to_utf8) g_utf16_to_utf8 __attribute((alias("IA__g_utf16_to_utf8"), visibility("default")));
-
-#undef g_utf8_find_next_char
-extern __typeof (g_utf8_find_next_char) g_utf8_find_next_char __attribute((alias("IA__g_utf8_find_next_char"), visibility("default")));
-
-#undef g_utf8_find_prev_char
-extern __typeof (g_utf8_find_prev_char) g_utf8_find_prev_char __attribute((alias("IA__g_utf8_find_prev_char"), visibility("default")));
-
-#undef g_utf8_get_char
-extern __typeof (g_utf8_get_char) g_utf8_get_char __attribute((alias("IA__g_utf8_get_char"), visibility("default")));
-
-#undef g_utf8_get_char_validated
-extern __typeof (g_utf8_get_char_validated) g_utf8_get_char_validated __attribute((alias("IA__g_utf8_get_char_validated"), visibility("default")));
-
-#undef g_utf8_offset_to_pointer
-extern __typeof (g_utf8_offset_to_pointer) g_utf8_offset_to_pointer __attribute((alias("IA__g_utf8_offset_to_pointer"), visibility("default")));
-
-#undef g_utf8_pointer_to_offset
-extern __typeof (g_utf8_pointer_to_offset) g_utf8_pointer_to_offset __attribute((alias("IA__g_utf8_pointer_to_offset"), visibility("default")));
-
-#undef g_utf8_prev_char
-extern __typeof (g_utf8_prev_char) g_utf8_prev_char __attribute((alias("IA__g_utf8_prev_char"), visibility("default")));
-
-#undef g_utf8_strchr
-extern __typeof (g_utf8_strchr) g_utf8_strchr __attribute((alias("IA__g_utf8_strchr"), visibility("default")));
-
-#undef g_utf8_strlen
-extern __typeof (g_utf8_strlen) g_utf8_strlen __attribute((alias("IA__g_utf8_strlen"), visibility("default")));
-
-#undef g_utf8_strncpy
-extern __typeof (g_utf8_strncpy) g_utf8_strncpy __attribute((alias("IA__g_utf8_strncpy"), visibility("default")));
-
-#undef g_utf8_strrchr
-extern __typeof (g_utf8_strrchr) g_utf8_strrchr __attribute((alias("IA__g_utf8_strrchr"), visibility("default")));
-
-#undef g_utf8_strreverse
-extern __typeof (g_utf8_strreverse) g_utf8_strreverse __attribute((alias("IA__g_utf8_strreverse"), visibility("default")));
-
-#undef g_utf8_to_ucs4
-extern __typeof (g_utf8_to_ucs4) g_utf8_to_ucs4 __attribute((alias("IA__g_utf8_to_ucs4"), visibility("default")));
-
-#undef g_utf8_to_ucs4_fast
-extern __typeof (g_utf8_to_ucs4_fast) g_utf8_to_ucs4_fast __attribute((alias("IA__g_utf8_to_ucs4_fast"), visibility("default")));
-
-#undef g_utf8_to_utf16
-extern __typeof (g_utf8_to_utf16) g_utf8_to_utf16 __attribute((alias("IA__g_utf8_to_utf16"), visibility("default")));
-
-#undef g_utf8_validate
-extern __typeof (g_utf8_validate) g_utf8_validate __attribute((alias("IA__g_utf8_validate"), visibility("default")));
-
-#undef g_unichar_to_utf8
-extern __typeof (g_unichar_to_utf8) g_unichar_to_utf8 __attribute((alias("IA__g_unichar_to_utf8"), visibility("default")));
-
-#undef g_unichar_validate
-extern __typeof (g_unichar_validate) g_unichar_validate __attribute((alias("IA__g_unichar_validate"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__GLIBINTL_H__)
-#if IN_FILE(__G_UTILS_C__)
-#undef glib_gettext
-extern __typeof (glib_gettext) glib_gettext __attribute((alias("IA__glib_gettext"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_HASH_H__)
-#if IN_FILE(__G_UTILS_C__)
-#undef g_int_equal
-extern __typeof (g_int_equal) g_int_equal __attribute((alias("IA__g_int_equal"), visibility("default")));
-
-#undef g_int_hash
-extern __typeof (g_int_hash) g_int_hash __attribute((alias("IA__g_int_hash"), visibility("default")));
-
-#undef g_int64_equal
-extern __typeof (g_int64_equal) g_int64_equal __attribute((alias("IA__g_int64_equal"), visibility("default")));
-
-#undef g_int64_hash
-extern __typeof (g_int64_hash) g_int64_hash __attribute((alias("IA__g_int64_hash"), visibility("default")));
-
-#undef g_double_equal
-extern __typeof (g_double_equal) g_double_equal __attribute((alias("IA__g_double_equal"), visibility("default")));
-
-#undef g_double_hash
-extern __typeof (g_double_hash) g_double_hash __attribute((alias("IA__g_double_hash"), visibility("default")));
-
-#undef g_direct_equal
-extern __typeof (g_direct_equal) g_direct_equal __attribute((alias("IA__g_direct_equal"), visibility("default")));
-
-#undef g_direct_hash
-extern __typeof (g_direct_hash) g_direct_hash __attribute((alias("IA__g_direct_hash"), visibility("default")));
-
-#endif
-#if IN_FILE(__G_STRING_C__)
-#undef g_str_equal
-extern __typeof (g_str_equal) g_str_equal __attribute((alias("IA__g_str_equal"), visibility("default")));
-
-#undef g_str_hash
-extern __typeof (g_str_hash) g_str_hash __attribute((alias("IA__g_str_hash"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_UTILS_H__)
-#if IN_FILE(__G_UTILS_C__)
-#undef g_atexit
-extern __typeof (g_atexit) g_atexit __attribute((alias("IA__g_atexit"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_basename
-extern __typeof (g_basename) g_basename __attribute((alias("IA__g_basename"), visibility("default")));
-
-#endif
-#undef g_get_application_name
-extern __typeof (g_get_application_name) g_get_application_name __attribute((alias("IA__g_get_application_name"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_find_program_in_path
-extern __typeof (g_find_program_in_path) g_find_program_in_path __attribute((alias("IA__g_find_program_in_path"), visibility("default")));
-
-#undef g_get_current_dir
-extern __typeof (g_get_current_dir) g_get_current_dir __attribute((alias("IA__g_get_current_dir"), visibility("default")));
-
-#undef g_getenv
-extern __typeof (g_getenv) g_getenv __attribute((alias("IA__g_getenv"), visibility("default")));
-
-#undef g_unsetenv
-extern __typeof (g_unsetenv) g_unsetenv __attribute((alias("IA__g_unsetenv"), visibility("default")));
-
-#undef g_get_home_dir
-extern __typeof (g_get_home_dir) g_get_home_dir __attribute((alias("IA__g_get_home_dir"), visibility("default")));
-
-#endif
-#undef g_get_host_name
-extern __typeof (g_get_host_name) g_get_host_name __attribute((alias("IA__g_get_host_name"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_setenv
-extern __typeof (g_setenv) g_setenv __attribute((alias("IA__g_setenv"), visibility("default")));
-
-#endif
-#undef g_listenv
-extern __typeof (g_listenv) g_listenv __attribute((alias("IA__g_listenv"), visibility("default")));
-
-#ifdef G_OS_WIN32
-#undef g_find_program_in_path_utf8
-extern __typeof (g_find_program_in_path_utf8) g_find_program_in_path_utf8 __attribute((alias("IA__g_find_program_in_path_utf8"), visibility("default")));
-
-#undef g_get_current_dir_utf8
-extern __typeof (g_get_current_dir_utf8) g_get_current_dir_utf8 __attribute((alias("IA__g_get_current_dir_utf8"), visibility("default")));
-
-#undef g_getenv_utf8
-extern __typeof (g_getenv_utf8) g_getenv_utf8 __attribute((alias("IA__g_getenv_utf8"), visibility("default")));
-
-#undef g_unsetenv_utf8
-extern __typeof (g_unsetenv_utf8) g_unsetenv_utf8 __attribute((alias("IA__g_unsetenv_utf8"), visibility("default")));
-
-#undef g_setenv_utf8
-extern __typeof (g_setenv_utf8) g_setenv_utf8 __attribute((alias("IA__g_setenv_utf8"), visibility("default")));
-
-#undef g_get_home_dir_utf8
-extern __typeof (g_get_home_dir_utf8) g_get_home_dir_utf8 __attribute((alias("IA__g_get_home_dir_utf8"), visibility("default")));
-
-#endif
-#undef g_get_language_names
-extern __typeof (g_get_language_names) g_get_language_names __attribute((alias("IA__g_get_language_names"), visibility("default")));
-
-#undef g_get_prgname
-extern __typeof (g_get_prgname) g_get_prgname __attribute((alias("IA__g_get_prgname"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_get_real_name
-extern __typeof (g_get_real_name) g_get_real_name __attribute((alias("IA__g_get_real_name"), visibility("default")));
-
-#endif
-#ifdef G_OS_WIN32
-#undef g_get_real_name_utf8
-extern __typeof (g_get_real_name_utf8) g_get_real_name_utf8 __attribute((alias("IA__g_get_real_name_utf8"), visibility("default")));
-
-#endif
-#undef g_get_system_config_dirs
-extern __typeof (g_get_system_config_dirs) g_get_system_config_dirs __attribute((alias("IA__g_get_system_config_dirs"), visibility("default")));
-
-#undef g_get_system_data_dirs
-extern __typeof (g_get_system_data_dirs) g_get_system_data_dirs __attribute((alias("IA__g_get_system_data_dirs"), visibility("default")));
-
-#ifdef G_OS_WIN32
-#undef g_win32_get_system_data_dirs_for_module
-extern __typeof (g_win32_get_system_data_dirs_for_module) g_win32_get_system_data_dirs_for_module __attribute((alias("IA__g_win32_get_system_data_dirs_for_module"), visibility("default")));
-
-#endif
-#ifndef _WIN64
-#undef g_get_tmp_dir
-extern __typeof (g_get_tmp_dir) g_get_tmp_dir __attribute((alias("IA__g_get_tmp_dir"), visibility("default")));
-
-#endif
-#ifdef G_OS_WIN32
-#undef g_get_tmp_dir_utf8
-extern __typeof (g_get_tmp_dir_utf8) g_get_tmp_dir_utf8 __attribute((alias("IA__g_get_tmp_dir_utf8"), visibility("default")));
-
-#endif
-#undef g_get_user_cache_dir
-extern __typeof (g_get_user_cache_dir) g_get_user_cache_dir __attribute((alias("IA__g_get_user_cache_dir"), visibility("default")));
-
-#undef g_get_user_config_dir
-extern __typeof (g_get_user_config_dir) g_get_user_config_dir __attribute((alias("IA__g_get_user_config_dir"), visibility("default")));
-
-#undef g_get_user_data_dir
-extern __typeof (g_get_user_data_dir) g_get_user_data_dir __attribute((alias("IA__g_get_user_data_dir"), visibility("default")));
-
-#undef g_reload_user_special_dirs_cache
-extern __typeof (g_reload_user_special_dirs_cache) g_reload_user_special_dirs_cache __attribute((alias("IA__g_reload_user_special_dirs_cache"), visibility("default")));
-
-#undef g_get_user_special_dir
-extern __typeof (g_get_user_special_dir) g_get_user_special_dir __attribute((alias("IA__g_get_user_special_dir"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_get_user_name
-extern __typeof (g_get_user_name) g_get_user_name __attribute((alias("IA__g_get_user_name"), visibility("default")));
-
-#endif
-#ifdef G_OS_WIN32
-#undef g_get_user_name_utf8
-extern __typeof (g_get_user_name_utf8) g_get_user_name_utf8 __attribute((alias("IA__g_get_user_name_utf8"), visibility("default")));
-
-#endif
-#undef glib_check_version
-extern __typeof (glib_check_version) glib_check_version __attribute((alias("IA__glib_check_version"), visibility("default")));
-
-#undef g_nullify_pointer
-extern __typeof (g_nullify_pointer) g_nullify_pointer __attribute((alias("IA__g_nullify_pointer"), visibility("default")));
-
-#undef g_parse_debug_string
-extern __typeof (g_parse_debug_string) g_parse_debug_string __attribute((alias("IA__g_parse_debug_string"), visibility("default")));
-
-#undef g_path_get_basename
-extern __typeof (g_path_get_basename) g_path_get_basename __attribute((alias("IA__g_path_get_basename"), visibility("default")));
-
-#undef g_path_get_dirname
-extern __typeof (g_path_get_dirname) g_path_get_dirname __attribute((alias("IA__g_path_get_dirname"), visibility("default")));
-
-#undef g_path_is_absolute
-extern __typeof (g_path_is_absolute) g_path_is_absolute __attribute((alias("IA__g_path_is_absolute"), visibility("default")));
-
-#undef g_path_skip_root
-extern __typeof (g_path_skip_root) g_path_skip_root __attribute((alias("IA__g_path_skip_root"), visibility("default")));
-
-#undef g_set_application_name
-extern __typeof (g_set_application_name) g_set_application_name __attribute((alias("IA__g_set_application_name"), visibility("default")));
-
-#undef g_set_prgname
-extern __typeof (g_set_prgname) g_set_prgname __attribute((alias("IA__g_set_prgname"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_REGEX_H__)
-#if IN_FILE(__G_REGEX_C__)
-#undef g_regex_error_quark
-extern __typeof (g_regex_error_quark) g_regex_error_quark __attribute((alias("IA__g_regex_error_quark"), visibility("default")));
-
-#undef g_regex_new
-extern __typeof (g_regex_new) g_regex_new __attribute((alias("IA__g_regex_new"), visibility("default")));
-
-#undef g_regex_ref
-extern __typeof (g_regex_ref) g_regex_ref __attribute((alias("IA__g_regex_ref"), visibility("default")));
-
-#undef g_regex_unref
-extern __typeof (g_regex_unref) g_regex_unref __attribute((alias("IA__g_regex_unref"), visibility("default")));
-
-#undef g_regex_get_pattern
-extern __typeof (g_regex_get_pattern) g_regex_get_pattern __attribute((alias("IA__g_regex_get_pattern"), visibility("default")));
-
-#undef g_regex_get_max_backref
-extern __typeof (g_regex_get_max_backref) g_regex_get_max_backref __attribute((alias("IA__g_regex_get_max_backref"), visibility("default")));
-
-#undef g_regex_get_capture_count
-extern __typeof (g_regex_get_capture_count) g_regex_get_capture_count __attribute((alias("IA__g_regex_get_capture_count"), visibility("default")));
-
-#undef g_regex_get_string_number
-extern __typeof (g_regex_get_string_number) g_regex_get_string_number __attribute((alias("IA__g_regex_get_string_number"), visibility("default")));
-
-#undef g_regex_escape_string
-extern __typeof (g_regex_escape_string) g_regex_escape_string __attribute((alias("IA__g_regex_escape_string"), visibility("default")));
-
-#undef g_regex_match_simple
-extern __typeof (g_regex_match_simple) g_regex_match_simple __attribute((alias("IA__g_regex_match_simple"), visibility("default")));
-
-#undef g_regex_match
-extern __typeof (g_regex_match) g_regex_match __attribute((alias("IA__g_regex_match"), visibility("default")));
-
-#undef g_regex_match_full
-extern __typeof (g_regex_match_full) g_regex_match_full __attribute((alias("IA__g_regex_match_full"), visibility("default")));
-
-#undef g_regex_match_all
-extern __typeof (g_regex_match_all) g_regex_match_all __attribute((alias("IA__g_regex_match_all"), visibility("default")));
-
-#undef g_regex_match_all_full
-extern __typeof (g_regex_match_all_full) g_regex_match_all_full __attribute((alias("IA__g_regex_match_all_full"), visibility("default")));
-
-#undef g_regex_split_simple
-extern __typeof (g_regex_split_simple) g_regex_split_simple __attribute((alias("IA__g_regex_split_simple"), visibility("default")));
-
-#undef g_regex_split
-extern __typeof (g_regex_split) g_regex_split __attribute((alias("IA__g_regex_split"), visibility("default")));
-
-#undef g_regex_split_full
-extern __typeof (g_regex_split_full) g_regex_split_full __attribute((alias("IA__g_regex_split_full"), visibility("default")));
-
-#undef g_regex_replace
-extern __typeof (g_regex_replace) g_regex_replace __attribute((alias("IA__g_regex_replace"), visibility("default")));
-
-#undef g_regex_replace_literal
-extern __typeof (g_regex_replace_literal) g_regex_replace_literal __attribute((alias("IA__g_regex_replace_literal"), visibility("default")));
-
-#undef g_regex_replace_eval
-extern __typeof (g_regex_replace_eval) g_regex_replace_eval __attribute((alias("IA__g_regex_replace_eval"), visibility("default")));
-
-#undef g_regex_check_replacement
-extern __typeof (g_regex_check_replacement) g_regex_check_replacement __attribute((alias("IA__g_regex_check_replacement"), visibility("default")));
-
-#undef g_match_info_get_regex
-extern __typeof (g_match_info_get_regex) g_match_info_get_regex __attribute((alias("IA__g_match_info_get_regex"), visibility("default")));
-
-#undef g_match_info_get_string
-extern __typeof (g_match_info_get_string) g_match_info_get_string __attribute((alias("IA__g_match_info_get_string"), visibility("default")));
-
-#undef g_match_info_free
-extern __typeof (g_match_info_free) g_match_info_free __attribute((alias("IA__g_match_info_free"), visibility("default")));
-
-#undef g_match_info_next
-extern __typeof (g_match_info_next) g_match_info_next __attribute((alias("IA__g_match_info_next"), visibility("default")));
-
-#undef g_match_info_matches
-extern __typeof (g_match_info_matches) g_match_info_matches __attribute((alias("IA__g_match_info_matches"), visibility("default")));
-
-#undef g_match_info_get_match_count
-extern __typeof (g_match_info_get_match_count) g_match_info_get_match_count __attribute((alias("IA__g_match_info_get_match_count"), visibility("default")));
-
-#undef g_match_info_is_partial_match
-extern __typeof (g_match_info_is_partial_match) g_match_info_is_partial_match __attribute((alias("IA__g_match_info_is_partial_match"), visibility("default")));
-
-#undef g_match_info_expand_references
-extern __typeof (g_match_info_expand_references) g_match_info_expand_references __attribute((alias("IA__g_match_info_expand_references"), visibility("default")));
-
-#undef g_match_info_fetch
-extern __typeof (g_match_info_fetch) g_match_info_fetch __attribute((alias("IA__g_match_info_fetch"), visibility("default")));
-
-#undef g_match_info_fetch_pos
-extern __typeof (g_match_info_fetch_pos) g_match_info_fetch_pos __attribute((alias("IA__g_match_info_fetch_pos"), visibility("default")));
-
-#undef g_match_info_fetch_named
-extern __typeof (g_match_info_fetch_named) g_match_info_fetch_named __attribute((alias("IA__g_match_info_fetch_named"), visibility("default")));
-
-#undef g_match_info_fetch_named_pos
-extern __typeof (g_match_info_fetch_named_pos) g_match_info_fetch_named_pos __attribute((alias("IA__g_match_info_fetch_named_pos"), visibility("default")));
-
-#undef g_match_info_fetch_all
-extern __typeof (g_match_info_fetch_all) g_match_info_fetch_all __attribute((alias("IA__g_match_info_fetch_all"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_VARIANT_TYPE_H__)
-#if IN_FILE(__G_VARIANT_TYPE_C__)
-#undef g_variant_type_string_is_valid
-extern __typeof (g_variant_type_string_is_valid) g_variant_type_string_is_valid __attribute((alias("IA__g_variant_type_string_is_valid"), visibility("default")));
-
-#undef g_variant_type_string_scan
-extern __typeof (g_variant_type_string_scan) g_variant_type_string_scan __attribute((alias("IA__g_variant_type_string_scan"), visibility("default")));
-
-#undef g_variant_type_free
-extern __typeof (g_variant_type_free) g_variant_type_free __attribute((alias("IA__g_variant_type_free"), visibility("default")));
-
-#undef g_variant_type_copy
-extern __typeof (g_variant_type_copy) g_variant_type_copy __attribute((alias("IA__g_variant_type_copy"), visibility("default")));
-
-#undef g_variant_type_new
-extern __typeof (g_variant_type_new) g_variant_type_new __attribute((alias("IA__g_variant_type_new"), visibility("default")));
-
-#undef g_variant_type_get_string_length
-extern __typeof (g_variant_type_get_string_length) g_variant_type_get_string_length __attribute((alias("IA__g_variant_type_get_string_length"), visibility("default")));
-
-#undef g_variant_type_peek_string
-extern __typeof (g_variant_type_peek_string) g_variant_type_peek_string __attribute((alias("IA__g_variant_type_peek_string"), visibility("default")));
-
-#undef g_variant_type_dup_string
-extern __typeof (g_variant_type_dup_string) g_variant_type_dup_string __attribute((alias("IA__g_variant_type_dup_string"), visibility("default")));
-
-#undef g_variant_type_is_definite
-extern __typeof (g_variant_type_is_definite) g_variant_type_is_definite __attribute((alias("IA__g_variant_type_is_definite"), visibility("default")));
-
-#undef g_variant_type_is_container
-extern __typeof (g_variant_type_is_container) g_variant_type_is_container __attribute((alias("IA__g_variant_type_is_container"), visibility("default")));
-
-#undef g_variant_type_is_basic
-extern __typeof (g_variant_type_is_basic) g_variant_type_is_basic __attribute((alias("IA__g_variant_type_is_basic"), visibility("default")));
-
-#undef g_variant_type_is_maybe
-extern __typeof (g_variant_type_is_maybe) g_variant_type_is_maybe __attribute((alias("IA__g_variant_type_is_maybe"), visibility("default")));
-
-#undef g_variant_type_is_array
-extern __typeof (g_variant_type_is_array) g_variant_type_is_array __attribute((alias("IA__g_variant_type_is_array"), visibility("default")));
-
-#undef g_variant_type_is_tuple
-extern __typeof (g_variant_type_is_tuple) g_variant_type_is_tuple __attribute((alias("IA__g_variant_type_is_tuple"), visibility("default")));
-
-#undef g_variant_type_is_dict_entry
-extern __typeof (g_variant_type_is_dict_entry) g_variant_type_is_dict_entry __attribute((alias("IA__g_variant_type_is_dict_entry"), visibility("default")));
-
-#undef g_variant_type_is_variant
-extern __typeof (g_variant_type_is_variant) g_variant_type_is_variant __attribute((alias("IA__g_variant_type_is_variant"), visibility("default")));
-
-#undef g_variant_type_hash
-extern __typeof (g_variant_type_hash) g_variant_type_hash __attribute((alias("IA__g_variant_type_hash"), visibility("default")));
-
-#undef g_variant_type_equal
-extern __typeof (g_variant_type_equal) g_variant_type_equal __attribute((alias("IA__g_variant_type_equal"), visibility("default")));
-
-#undef g_variant_type_is_subtype_of
-extern __typeof (g_variant_type_is_subtype_of) g_variant_type_is_subtype_of __attribute((alias("IA__g_variant_type_is_subtype_of"), visibility("default")));
-
-#undef g_variant_type_element
-extern __typeof (g_variant_type_element) g_variant_type_element __attribute((alias("IA__g_variant_type_element"), visibility("default")));
-
-#undef g_variant_type_first
-extern __typeof (g_variant_type_first) g_variant_type_first __attribute((alias("IA__g_variant_type_first"), visibility("default")));
-
-#undef g_variant_type_next
-extern __typeof (g_variant_type_next) g_variant_type_next __attribute((alias("IA__g_variant_type_next"), visibility("default")));
-
-#undef g_variant_type_n_items
-extern __typeof (g_variant_type_n_items) g_variant_type_n_items __attribute((alias("IA__g_variant_type_n_items"), visibility("default")));
-
-#undef g_variant_type_key
-extern __typeof (g_variant_type_key) g_variant_type_key __attribute((alias("IA__g_variant_type_key"), visibility("default")));
-
-#undef g_variant_type_value
-extern __typeof (g_variant_type_value) g_variant_type_value __attribute((alias("IA__g_variant_type_value"), visibility("default")));
-
-#undef g_variant_type_new_array
-extern __typeof (g_variant_type_new_array) g_variant_type_new_array __attribute((alias("IA__g_variant_type_new_array"), visibility("default")));
-
-#undef g_variant_type_new_maybe
-extern __typeof (g_variant_type_new_maybe) g_variant_type_new_maybe __attribute((alias("IA__g_variant_type_new_maybe"), visibility("default")));
-
-#undef g_variant_type_new_tuple
-extern __typeof (g_variant_type_new_tuple) g_variant_type_new_tuple __attribute((alias("IA__g_variant_type_new_tuple"), visibility("default")));
-
-#undef g_variant_type_new_dict_entry
-extern __typeof (g_variant_type_new_dict_entry) g_variant_type_new_dict_entry __attribute((alias("IA__g_variant_type_new_dict_entry"), visibility("default")));
-
-#undef g_variant_type_checked_
-extern __typeof (g_variant_type_checked_) g_variant_type_checked_ __attribute((alias("IA__g_variant_type_checked_"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_VARIANT_H__)
-#if IN_FILE(__G_VARIANT_CORE_C__)
-#undef g_variant_unref
-extern __typeof (g_variant_unref) g_variant_unref __attribute((alias("IA__g_variant_unref"), visibility("default")));
-
-#undef g_variant_ref
-extern __typeof (g_variant_ref) g_variant_ref __attribute((alias("IA__g_variant_ref"), visibility("default")));
-
-#undef g_variant_ref_sink
-extern __typeof (g_variant_ref_sink) g_variant_ref_sink __attribute((alias("IA__g_variant_ref_sink"), visibility("default")));
-
-#undef g_variant_n_children
-extern __typeof (g_variant_n_children) g_variant_n_children __attribute((alias("IA__g_variant_n_children"), visibility("default")));
-
-#undef g_variant_get_child_value
-extern __typeof (g_variant_get_child_value) g_variant_get_child_value __attribute((alias("IA__g_variant_get_child_value"), visibility("default")));
-
-#undef g_variant_get_size
-extern __typeof (g_variant_get_size) g_variant_get_size __attribute((alias("IA__g_variant_get_size"), visibility("default")));
-
-#undef g_variant_get_data
-extern __typeof (g_variant_get_data) g_variant_get_data __attribute((alias("IA__g_variant_get_data"), visibility("default")));
-
-#undef g_variant_store
-extern __typeof (g_variant_store) g_variant_store __attribute((alias("IA__g_variant_store"), visibility("default")));
-
-#undef g_variant_is_normal_form
-extern __typeof (g_variant_is_normal_form) g_variant_is_normal_form __attribute((alias("IA__g_variant_is_normal_form"), visibility("default")));
-
-#endif
-#if IN_FILE(__G_VARIANT_C__)
-#undef g_variant_get_type
-extern __typeof (g_variant_get_type) g_variant_get_type __attribute((alias("IA__g_variant_get_type"), visibility("default")));
-
-#undef g_variant_get_type_string
-extern __typeof (g_variant_get_type_string) g_variant_get_type_string __attribute((alias("IA__g_variant_get_type_string"), visibility("default")));
-
-#undef g_variant_is_of_type
-extern __typeof (g_variant_is_of_type) g_variant_is_of_type __attribute((alias("IA__g_variant_is_of_type"), visibility("default")));
-
-#undef g_variant_is_container
-extern __typeof (g_variant_is_container) g_variant_is_container __attribute((alias("IA__g_variant_is_container"), visibility("default")));
-
-#undef g_variant_classify
-extern __typeof (g_variant_classify) g_variant_classify __attribute((alias("IA__g_variant_classify"), visibility("default")));
-
-#undef g_variant_new_boolean
-extern __typeof (g_variant_new_boolean) g_variant_new_boolean __attribute((alias("IA__g_variant_new_boolean"), visibility("default")));
-
-#undef g_variant_new_byte
-extern __typeof (g_variant_new_byte) g_variant_new_byte __attribute((alias("IA__g_variant_new_byte"), visibility("default")));
-
-#undef g_variant_new_int16
-extern __typeof (g_variant_new_int16) g_variant_new_int16 __attribute((alias("IA__g_variant_new_int16"), visibility("default")));
-
-#undef g_variant_new_uint16
-extern __typeof (g_variant_new_uint16) g_variant_new_uint16 __attribute((alias("IA__g_variant_new_uint16"), visibility("default")));
-
-#undef g_variant_new_int32
-extern __typeof (g_variant_new_int32) g_variant_new_int32 __attribute((alias("IA__g_variant_new_int32"), visibility("default")));
-
-#undef g_variant_new_uint32
-extern __typeof (g_variant_new_uint32) g_variant_new_uint32 __attribute((alias("IA__g_variant_new_uint32"), visibility("default")));
-
-#undef g_variant_new_int64
-extern __typeof (g_variant_new_int64) g_variant_new_int64 __attribute((alias("IA__g_variant_new_int64"), visibility("default")));
-
-#undef g_variant_new_uint64
-extern __typeof (g_variant_new_uint64) g_variant_new_uint64 __attribute((alias("IA__g_variant_new_uint64"), visibility("default")));
-
-#undef g_variant_new_handle
-extern __typeof (g_variant_new_handle) g_variant_new_handle __attribute((alias("IA__g_variant_new_handle"), visibility("default")));
-
-#undef g_variant_new_double
-extern __typeof (g_variant_new_double) g_variant_new_double __attribute((alias("IA__g_variant_new_double"), visibility("default")));
-
-#undef g_variant_new_string
-extern __typeof (g_variant_new_string) g_variant_new_string __attribute((alias("IA__g_variant_new_string"), visibility("default")));
-
-#undef g_variant_new_object_path
-extern __typeof (g_variant_new_object_path) g_variant_new_object_path __attribute((alias("IA__g_variant_new_object_path"), visibility("default")));
-
-#undef g_variant_is_object_path
-extern __typeof (g_variant_is_object_path) g_variant_is_object_path __attribute((alias("IA__g_variant_is_object_path"), visibility("default")));
-
-#undef g_variant_new_signature
-extern __typeof (g_variant_new_signature) g_variant_new_signature __attribute((alias("IA__g_variant_new_signature"), visibility("default")));
-
-#undef g_variant_is_signature
-extern __typeof (g_variant_is_signature) g_variant_is_signature __attribute((alias("IA__g_variant_is_signature"), visibility("default")));
-
-#undef g_variant_new_variant
-extern __typeof (g_variant_new_variant) g_variant_new_variant __attribute((alias("IA__g_variant_new_variant"), visibility("default")));
-
-#undef g_variant_new_strv
-extern __typeof (g_variant_new_strv) g_variant_new_strv __attribute((alias("IA__g_variant_new_strv"), visibility("default")));
-
-#undef g_variant_get_boolean
-extern __typeof (g_variant_get_boolean) g_variant_get_boolean __attribute((alias("IA__g_variant_get_boolean"), visibility("default")));
-
-#undef g_variant_get_byte
-extern __typeof (g_variant_get_byte) g_variant_get_byte __attribute((alias("IA__g_variant_get_byte"), visibility("default")));
-
-#undef g_variant_get_int16
-extern __typeof (g_variant_get_int16) g_variant_get_int16 __attribute((alias("IA__g_variant_get_int16"), visibility("default")));
-
-#undef g_variant_get_uint16
-extern __typeof (g_variant_get_uint16) g_variant_get_uint16 __attribute((alias("IA__g_variant_get_uint16"), visibility("default")));
-
-#undef g_variant_get_int32
-extern __typeof (g_variant_get_int32) g_variant_get_int32 __attribute((alias("IA__g_variant_get_int32"), visibility("default")));
-
-#undef g_variant_get_uint32
-extern __typeof (g_variant_get_uint32) g_variant_get_uint32 __attribute((alias("IA__g_variant_get_uint32"), visibility("default")));
-
-#undef g_variant_get_int64
-extern __typeof (g_variant_get_int64) g_variant_get_int64 __attribute((alias("IA__g_variant_get_int64"), visibility("default")));
-
-#undef g_variant_get_uint64
-extern __typeof (g_variant_get_uint64) g_variant_get_uint64 __attribute((alias("IA__g_variant_get_uint64"), visibility("default")));
-
-#undef g_variant_get_handle
-extern __typeof (g_variant_get_handle) g_variant_get_handle __attribute((alias("IA__g_variant_get_handle"), visibility("default")));
-
-#undef g_variant_get_double
-extern __typeof (g_variant_get_double) g_variant_get_double __attribute((alias("IA__g_variant_get_double"), visibility("default")));
-
-#undef g_variant_get_string
-extern __typeof (g_variant_get_string) g_variant_get_string __attribute((alias("IA__g_variant_get_string"), visibility("default")));
-
-#undef g_variant_dup_string
-extern __typeof (g_variant_dup_string) g_variant_dup_string __attribute((alias("IA__g_variant_dup_string"), visibility("default")));
-
-#undef g_variant_get_variant
-extern __typeof (g_variant_get_variant) g_variant_get_variant __attribute((alias("IA__g_variant_get_variant"), visibility("default")));
-
-#undef g_variant_get_strv
-extern __typeof (g_variant_get_strv) g_variant_get_strv __attribute((alias("IA__g_variant_get_strv"), visibility("default")));
-
-#undef g_variant_dup_strv
-extern __typeof (g_variant_dup_strv) g_variant_dup_strv __attribute((alias("IA__g_variant_dup_strv"), visibility("default")));
-
-#undef g_variant_new_maybe
-extern __typeof (g_variant_new_maybe) g_variant_new_maybe __attribute((alias("IA__g_variant_new_maybe"), visibility("default")));
-
-#undef g_variant_new_array
-extern __typeof (g_variant_new_array) g_variant_new_array __attribute((alias("IA__g_variant_new_array"), visibility("default")));
-
-#undef g_variant_new_tuple
-extern __typeof (g_variant_new_tuple) g_variant_new_tuple __attribute((alias("IA__g_variant_new_tuple"), visibility("default")));
-
-#undef g_variant_new_dict_entry
-extern __typeof (g_variant_new_dict_entry) g_variant_new_dict_entry __attribute((alias("IA__g_variant_new_dict_entry"), visibility("default")));
-
-#undef g_variant_get_maybe
-extern __typeof (g_variant_get_maybe) g_variant_get_maybe __attribute((alias("IA__g_variant_get_maybe"), visibility("default")));
-
-#undef g_variant_get_fixed_array
-extern __typeof (g_variant_get_fixed_array) g_variant_get_fixed_array __attribute((alias("IA__g_variant_get_fixed_array"), visibility("default")));
-
-#undef g_variant_print
-extern __typeof (g_variant_print) g_variant_print __attribute((alias("IA__g_variant_print"), visibility("default")));
-
-#undef g_variant_print_string
-extern __typeof (g_variant_print_string) g_variant_print_string __attribute((alias("IA__g_variant_print_string"), visibility("default")));
-
-#undef g_variant_hash
-extern __typeof (g_variant_hash) g_variant_hash __attribute((alias("IA__g_variant_hash"), visibility("default")));
-
-#undef g_variant_equal
-extern __typeof (g_variant_equal) g_variant_equal __attribute((alias("IA__g_variant_equal"), visibility("default")));
-
-#undef g_variant_iter_copy
-extern __typeof (g_variant_iter_copy) g_variant_iter_copy __attribute((alias("IA__g_variant_iter_copy"), visibility("default")));
-
-#undef g_variant_iter_free
-extern __typeof (g_variant_iter_free) g_variant_iter_free __attribute((alias("IA__g_variant_iter_free"), visibility("default")));
-
-#undef g_variant_iter_init
-extern __typeof (g_variant_iter_init) g_variant_iter_init __attribute((alias("IA__g_variant_iter_init"), visibility("default")));
-
-#undef g_variant_iter_n_children
-extern __typeof (g_variant_iter_n_children) g_variant_iter_n_children __attribute((alias("IA__g_variant_iter_n_children"), visibility("default")));
-
-#undef g_variant_iter_new
-extern __typeof (g_variant_iter_new) g_variant_iter_new __attribute((alias("IA__g_variant_iter_new"), visibility("default")));
-
-#undef g_variant_iter_next_value
-extern __typeof (g_variant_iter_next_value) g_variant_iter_next_value __attribute((alias("IA__g_variant_iter_next_value"), visibility("default")));
-
-#undef g_variant_builder_add_value
-extern __typeof (g_variant_builder_add_value) g_variant_builder_add_value __attribute((alias("IA__g_variant_builder_add_value"), visibility("default")));
-
-#undef g_variant_builder_init
-extern __typeof (g_variant_builder_init) g_variant_builder_init __attribute((alias("IA__g_variant_builder_init"), visibility("default")));
-
-#undef g_variant_builder_clear
-extern __typeof (g_variant_builder_clear) g_variant_builder_clear __attribute((alias("IA__g_variant_builder_clear"), visibility("default")));
-
-#undef g_variant_builder_open
-extern __typeof (g_variant_builder_open) g_variant_builder_open __attribute((alias("IA__g_variant_builder_open"), visibility("default")));
-
-#undef g_variant_builder_close
-extern __typeof (g_variant_builder_close) g_variant_builder_close __attribute((alias("IA__g_variant_builder_close"), visibility("default")));
-
-#undef g_variant_builder_end
-extern __typeof (g_variant_builder_end) g_variant_builder_end __attribute((alias("IA__g_variant_builder_end"), visibility("default")));
-
-#undef g_variant_builder_new
-extern __typeof (g_variant_builder_new) g_variant_builder_new __attribute((alias("IA__g_variant_builder_new"), visibility("default")));
-
-#undef g_variant_builder_unref
-extern __typeof (g_variant_builder_unref) g_variant_builder_unref __attribute((alias("IA__g_variant_builder_unref"), visibility("default")));
-
-#undef g_variant_builder_ref
-extern __typeof (g_variant_builder_ref) g_variant_builder_ref __attribute((alias("IA__g_variant_builder_ref"), visibility("default")));
-
-#undef g_variant_new_va
-extern __typeof (g_variant_new_va) g_variant_new_va __attribute((alias("IA__g_variant_new_va"), visibility("default")));
-
-#undef g_variant_get_va
-extern __typeof (g_variant_get_va) g_variant_get_va __attribute((alias("IA__g_variant_get_va"), visibility("default")));
-
-#undef g_variant_new
-extern __typeof (g_variant_new) g_variant_new __attribute((alias("IA__g_variant_new"), visibility("default")));
-
-#undef g_variant_get
-extern __typeof (g_variant_get) g_variant_get __attribute((alias("IA__g_variant_get"), visibility("default")));
-
-#undef g_variant_builder_add
-extern __typeof (g_variant_builder_add) g_variant_builder_add __attribute((alias("IA__g_variant_builder_add"), visibility("default")));
-
-#undef g_variant_get_child
-extern __typeof (g_variant_get_child) g_variant_get_child __attribute((alias("IA__g_variant_get_child"), visibility("default")));
-
-#undef g_variant_iter_next
-extern __typeof (g_variant_iter_next) g_variant_iter_next __attribute((alias("IA__g_variant_iter_next"), visibility("default")));
-
-#undef g_variant_iter_loop
-extern __typeof (g_variant_iter_loop) g_variant_iter_loop __attribute((alias("IA__g_variant_iter_loop"), visibility("default")));
-
-#undef g_variant_new_from_data
-extern __typeof (g_variant_new_from_data) g_variant_new_from_data __attribute((alias("IA__g_variant_new_from_data"), visibility("default")));
-
-#undef g_variant_get_normal_form
-extern __typeof (g_variant_get_normal_form) g_variant_get_normal_form __attribute((alias("IA__g_variant_get_normal_form"), visibility("default")));
-
-#undef g_variant_byteswap
-extern __typeof (g_variant_byteswap) g_variant_byteswap __attribute((alias("IA__g_variant_byteswap"), visibility("default")));
-
-#endif
-#if IN_FILE(__G_VARIANT_PARSER_C__)
-#undef g_variant_new_parsed
-extern __typeof (g_variant_new_parsed) g_variant_new_parsed __attribute((alias("IA__g_variant_new_parsed"), visibility("default")));
-
-#undef g_variant_new_parsed_va
-extern __typeof (g_variant_new_parsed_va) g_variant_new_parsed_va __attribute((alias("IA__g_variant_new_parsed_va"), visibility("default")));
-
-#undef g_variant_parse
-extern __typeof (g_variant_parse) g_variant_parse __attribute((alias("IA__g_variant_parse"), visibility("default")));
-
-#undef g_variant_parser_get_error_quark
-extern __typeof (g_variant_parser_get_error_quark) g_variant_parser_get_error_quark __attribute((alias("IA__g_variant_parser_get_error_quark"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_VARIANT_TYPE_INFO_H__)
-#if IN_FILE(__G_VARIANT_TYPE_INFO_C__)
-#undef g_variant_type_info_get_type_string
-extern __typeof (g_variant_type_info_get_type_string) g_variant_type_info_get_type_string __attribute((alias("IA__g_variant_type_info_get_type_string"), visibility("default")));
-
-#undef g_variant_type_info_query
-extern __typeof (g_variant_type_info_query) g_variant_type_info_query __attribute((alias("IA__g_variant_type_info_query"), visibility("default")));
-
-#undef g_variant_type_info_element
-extern __typeof (g_variant_type_info_element) g_variant_type_info_element __attribute((alias("IA__g_variant_type_info_element"), visibility("default")));
-
-#undef g_variant_type_info_query_element
-extern __typeof (g_variant_type_info_query_element) g_variant_type_info_query_element __attribute((alias("IA__g_variant_type_info_query_element"), visibility("default")));
-
-#undef g_variant_type_info_n_members
-extern __typeof (g_variant_type_info_n_members) g_variant_type_info_n_members __attribute((alias("IA__g_variant_type_info_n_members"), visibility("default")));
-
-#undef g_variant_type_info_member_info
-extern __typeof (g_variant_type_info_member_info) g_variant_type_info_member_info __attribute((alias("IA__g_variant_type_info_member_info"), visibility("default")));
-
-#undef g_variant_type_info_get
-extern __typeof (g_variant_type_info_get) g_variant_type_info_get __attribute((alias("IA__g_variant_type_info_get"), visibility("default")));
-
-#undef g_variant_type_info_ref
-extern __typeof (g_variant_type_info_ref) g_variant_type_info_ref __attribute((alias("IA__g_variant_type_info_ref"), visibility("default")));
-
-#undef g_variant_type_info_unref
-extern __typeof (g_variant_type_info_unref) g_variant_type_info_unref __attribute((alias("IA__g_variant_type_info_unref"), visibility("default")));
-
-#undef g_variant_type_info_assert_no_infos
-extern __typeof (g_variant_type_info_assert_no_infos) g_variant_type_info_assert_no_infos __attribute((alias("IA__g_variant_type_info_assert_no_infos"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_VARIANT_SERIALISER_H__)
-#if IN_FILE(__G_VARIANT_SERIALISER_C__)
-#undef g_variant_serialised_byteswap
-extern __typeof (g_variant_serialised_byteswap) g_variant_serialised_byteswap __attribute((alias("IA__g_variant_serialised_byteswap"), visibility("default")));
-
-#undef g_variant_serialised_get_child
-extern __typeof (g_variant_serialised_get_child) g_variant_serialised_get_child __attribute((alias("IA__g_variant_serialised_get_child"), visibility("default")));
-
-#undef g_variant_serialised_is_normal
-extern __typeof (g_variant_serialised_is_normal) g_variant_serialised_is_normal __attribute((alias("IA__g_variant_serialised_is_normal"), visibility("default")));
-
-#undef g_variant_serialised_n_children
-extern __typeof (g_variant_serialised_n_children) g_variant_serialised_n_children __attribute((alias("IA__g_variant_serialised_n_children"), visibility("default")));
-
-#undef g_variant_serialiser_is_object_path
-extern __typeof (g_variant_serialiser_is_object_path) g_variant_serialiser_is_object_path __attribute((alias("IA__g_variant_serialiser_is_object_path"), visibility("default")));
-
-#undef g_variant_serialiser_is_signature
-extern __typeof (g_variant_serialiser_is_signature) g_variant_serialiser_is_signature __attribute((alias("IA__g_variant_serialiser_is_signature"), visibility("default")));
-
-#undef g_variant_serialiser_is_string
-extern __typeof (g_variant_serialiser_is_string) g_variant_serialiser_is_string __attribute((alias("IA__g_variant_serialiser_is_string"), visibility("default")));
-
-#undef g_variant_serialiser_needed_size
-extern __typeof (g_variant_serialiser_needed_size) g_variant_serialiser_needed_size __attribute((alias("IA__g_variant_serialiser_needed_size"), visibility("default")));
-
-#undef g_variant_serialiser_serialise
-extern __typeof (g_variant_serialiser_serialise) g_variant_serialiser_serialise __attribute((alias("IA__g_variant_serialiser_serialise"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_VARIANT_INTERNAL_H__)
-#if IN_FILE(__G_VARIANT_C__)
-#undef g_variant_format_string_scan_type
-extern __typeof (g_variant_format_string_scan_type) g_variant_format_string_scan_type __attribute((alias("IA__g_variant_format_string_scan_type"), visibility("default")));
-
-#undef g_variant_format_string_scan
-extern __typeof (g_variant_format_string_scan) g_variant_format_string_scan __attribute((alias("IA__g_variant_format_string_scan"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_WIN32_H__)
-#if IN_FILE(__G_WIN32_H__)
-#ifdef G_OS_WIN32
-#undef g_win32_error_message
-extern __typeof (g_win32_error_message) g_win32_error_message __attribute((alias("IA__g_win32_error_message"), visibility("default")));
-
-#undef g_win32_ftruncate
-extern __typeof (g_win32_ftruncate) g_win32_ftruncate __attribute((alias("IA__g_win32_ftruncate"), visibility("default")));
-
-#undef g_win32_get_package_installation_directory_of_module
-extern __typeof (g_win32_get_package_installation_directory_of_module) g_win32_get_package_installation_directory_of_module __attribute((alias("IA__g_win32_get_package_installation_directory_of_module"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_win32_get_package_installation_directory
-extern __typeof (g_win32_get_package_installation_directory) g_win32_get_package_installation_directory __attribute((alias("IA__g_win32_get_package_installation_directory"), visibility("default")));
-
-#endif
-#undef g_win32_get_package_installation_directory_utf8
-extern __typeof (g_win32_get_package_installation_directory_utf8) g_win32_get_package_installation_directory_utf8 __attribute((alias("IA__g_win32_get_package_installation_directory_utf8"), visibility("default")));
-
-#ifndef _WIN64
-#undef g_win32_get_package_installation_subdirectory
-extern __typeof (g_win32_get_package_installation_subdirectory) g_win32_get_package_installation_subdirectory __attribute((alias("IA__g_win32_get_package_installation_subdirectory"), visibility("default")));
-
-#endif
-#undef g_win32_get_package_installation_subdirectory_utf8
-extern __typeof (g_win32_get_package_installation_subdirectory_utf8) g_win32_get_package_installation_subdirectory_utf8 __attribute((alias("IA__g_win32_get_package_installation_subdirectory_utf8"), visibility("default")));
-
-#undef g_win32_get_windows_version
-extern __typeof (g_win32_get_windows_version) g_win32_get_windows_version __attribute((alias("IA__g_win32_get_windows_version"), visibility("default")));
-
-#undef g_win32_getlocale
-extern __typeof (g_win32_getlocale) g_win32_getlocale __attribute((alias("IA__g_win32_getlocale"), visibility("default")));
-
-#undef g_win32_locale_filename_from_utf8
-extern __typeof (g_win32_locale_filename_from_utf8) g_win32_locale_filename_from_utf8 __attribute((alias("IA__g_win32_locale_filename_from_utf8"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_HOST_UTILS_H__)
-#if IN_FILE(__G_HOST_UTILS_C__)
-#undef g_hostname_is_non_ascii
-extern __typeof (g_hostname_is_non_ascii) g_hostname_is_non_ascii __attribute((alias("IA__g_hostname_is_non_ascii"), visibility("default")));
-
-#undef g_hostname_is_ascii_encoded
-extern __typeof (g_hostname_is_ascii_encoded) g_hostname_is_ascii_encoded __attribute((alias("IA__g_hostname_is_ascii_encoded"), visibility("default")));
-
-#undef g_hostname_is_ip_address
-extern __typeof (g_hostname_is_ip_address) g_hostname_is_ip_address __attribute((alias("IA__g_hostname_is_ip_address"), visibility("default")));
-
-#undef g_hostname_to_ascii
-extern __typeof (g_hostname_to_ascii) g_hostname_to_ascii __attribute((alias("IA__g_hostname_to_ascii"), visibility("default")));
-
-#undef g_hostname_to_unicode
-extern __typeof (g_hostname_to_unicode) g_hostname_to_unicode __attribute((alias("IA__g_hostname_to_unicode"), visibility("default")));
-
-#endif
-#endif
-
-#endif /* G_HAVE_GNUC_VISIBILITY */
-#endif /* DISABLE_VISIBILITY */
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * gatomic-gcc.c: atomic operations using GCC builtins.
- * Copyright (C) 2009 Hiroyuki Ikezoe
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include "glib.h"
-#include "galias.h"
-
-gint
-g_atomic_int_exchange_and_add (volatile gint G_GNUC_MAY_ALIAS *atomic,
- gint val)
-{
- return __sync_fetch_and_add (atomic, val);
-}
-
-void
-g_atomic_int_add (volatile gint G_GNUC_MAY_ALIAS *atomic,
- gint val)
-{
- __sync_fetch_and_add (atomic, val);
-}
-
-gboolean
-g_atomic_int_compare_and_exchange (volatile gint G_GNUC_MAY_ALIAS *atomic,
- gint oldval,
- gint newval)
-{
- return __sync_bool_compare_and_swap (atomic, oldval, newval);
-}
-
-gboolean
-g_atomic_pointer_compare_and_exchange (volatile gpointer G_GNUC_MAY_ALIAS *atomic,
- gpointer oldval,
- gpointer newval)
-{
- return __sync_bool_compare_and_swap (atomic, oldval, newval);
-}
-
-void
-_g_atomic_thread_init (void)
-{
-}
-
-gint
-(g_atomic_int_get) (volatile gint G_GNUC_MAY_ALIAS *atomic)
-{
- __sync_synchronize ();
- return *atomic;
-}
-
-void
-(g_atomic_int_set) (volatile gint G_GNUC_MAY_ALIAS *atomic,
- gint newval)
-{
- *atomic = newval;
- __sync_synchronize ();
-}
-
-gpointer
-(g_atomic_pointer_get) (volatile gpointer G_GNUC_MAY_ALIAS *atomic)
-{
- __sync_synchronize ();
- return *atomic;
-}
-
-void
-(g_atomic_pointer_set) (volatile gpointer G_GNUC_MAY_ALIAS *atomic,
- gpointer newval)
-{
- *atomic = newval;
- __sync_synchronize ();
-}
-
-#define __G_ATOMIC_C__
-#include "galiasdef.c"
+++ /dev/null
-/*
- * Copyright © 2009, 2010 Codethink Limited
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the licence, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Ryan Lortie <desrt@desrt.ca>
- */
-
-#include "config.h"
-
-#include "gbuffer.h"
-
-#include <glib/gstrfuncs.h>
-#include <glib/gatomic.h>
-#include <glib/gmem.h>
-
-#include "galias.h"
-
-typedef struct
-{
- GBuffer buffer;
-
- GDestroyNotify user_destroy;
- gpointer user_data;
-} GUserNotifyBuffer;
-
-static void
-g_buffer_free_gfree (GBuffer *buffer)
-{
- g_free ((gpointer) buffer->data);
- g_slice_free (GBuffer, buffer);
-}
-
-/* < private >
- * g_buffer_new_from_data:
- * @data: the data to be used for the buffer
- * @size: the size of @data
- * @returns: a reference to a new #GBuffer
- *
- * Creates a new #GBuffer from @data.
- *
- * @data is copied.
- */
-
-GBuffer *
-g_buffer_new_from_data (gconstpointer data,
- gsize size)
-{
- GBuffer *buffer;
-
- buffer = g_slice_new (GBuffer);
- buffer->data = g_memdup (data, size);
- buffer->size = size;
- buffer->free_func = g_buffer_free_gfree;
- buffer->ref_count = 1;
-
- return buffer;
-}
-
-/* < private >
- * g_buffer_new_take_data:
- * @data: the data to be used for the buffer
- * @size: the size of @data
- * returns: a reference to a new #GBuffer
- *
- * Creates a new #GBuffer from @data.
- *
- * @data must have been created by a call to g_malloc(), g_malloc0() or
- * g_realloc() or by one of the many functions that wrap these calls
- * (such as g_new(), g_strdup(), etc).
- *
- * After this call, @data belongs to the buffer and may no longer be
- * modified by the caller. g_free() will be called on @data when the
- * buffer is no longer in use.
- */
-GBuffer *
-g_buffer_new_take_data (gpointer data,
- gsize size)
-{
- GBuffer *buffer;
-
- buffer = g_slice_new (GBuffer);
- buffer->data = data;
- buffer->size = size;
- buffer->free_func = g_buffer_free_gfree;
- buffer->ref_count = 1;
-
- return buffer;
-}
-
-static void
-g_buffer_free (GBuffer *buffer)
-{
- g_slice_free (GBuffer, buffer);
-}
-
-/* < private >
- * g_buffer_new_from_static_data:
- * @data: the data to be used for the buffer
- * @size: the size of @data
- * @returns: a reference to a new #GBuffer
- *
- * Creates a new #GBuffer from static data.
- *
- * @data must be static (ie: never modified or freed).
- */
-GBuffer *
-g_buffer_new_from_static_data (gconstpointer data,
- gsize size)
-{
- GBuffer *buffer;
-
- buffer = g_slice_new (GBuffer);
- buffer->data = data;
- buffer->size = size;
- buffer->free_func = g_buffer_free;
- buffer->ref_count = 1;
-
- return buffer;
-}
-
-static void
-g_buffer_free_usernotify (GBuffer *buffer)
-{
- GUserNotifyBuffer *ubuffer = (GUserNotifyBuffer *) buffer;
-
- ubuffer->user_destroy (ubuffer->user_data);
- g_slice_free (GBuffer, buffer);
-}
-
-/* < private >
- * g_buffer_new_from_pointer:
- * @data: the data to be used for the buffer
- * @size: the size of @data
- * @notify: the function to call to release the data
- * @user_data: the data to pass to @notify
- * @returns: a reference to a new #GBuffer
- *
- * Creates a #GBuffer from @data.
- *
- * When the last reference is dropped, @notify will be called on
- * @user_data.
- *
- * @data must not be modified after this call is made, until @notify has
- * been called to indicate that the buffer is no longer in use.
- */
-GBuffer *
-g_buffer_new_from_pointer (gconstpointer data,
- gsize size,
- GDestroyNotify notify,
- gpointer user_data)
-{
- GUserNotifyBuffer *ubuffer;
-
- ubuffer = g_slice_new (GUserNotifyBuffer);
- ubuffer->buffer.data = data;
- ubuffer->buffer.size = size;
- ubuffer->buffer.free_func = g_buffer_free_usernotify;
- ubuffer->buffer.ref_count = 1;
- ubuffer->user_destroy = notify;
- ubuffer->user_data = user_data;
-
- return (GBuffer *) ubuffer;
-}
-
-/* < private >
- * g_buffer_ref:
- * @buffer: a #GBuffer
- * @returns: @buffer
- *
- * Increase the reference count on @buffer.
- */
-GBuffer *
-g_buffer_ref (GBuffer *buffer)
-{
- g_atomic_int_inc (&buffer->ref_count);
-
- return buffer;
-}
-
-/* < private >
- * g_buffer_unref:
- * @buffer: a #GBuffer
- *
- * Releases a reference on @buffer. This may result in the buffer being
- * freed.
- */
-void
-g_buffer_unref (GBuffer *buffer)
-{
- if (g_atomic_int_dec_and_test (&buffer->ref_count))
- if (buffer->free_func != NULL)
- buffer->free_func (buffer);
-}
+++ /dev/null
-/*
- * Copyright © 2009, 2010 Codethink Limited
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the licence, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: Ryan Lortie <desrt@desrt.ca>
- */
-
-#ifndef __G_BUFFER_H__
-#define __G_BUFFER_H__
-
-#include <glib/gtypes.h>
-
-/* < private >
- * GBuffer:
- * @data: a pointer to the data held in the buffer
- * @size: the size of @data
- *
- * A simple refcounted data type representing a byte sequence from an
- * unspecified origin.
- *
- * The purpose of a #GBuffer is to keep the memory region that it holds
- * alive for as long as anyone holds a reference to the buffer. When
- * the last reference count is dropped, the memory is released.
- *
- * A #GBuffer can come from many different origins that may have
- * different procedures for freeing the memory region. Examples are
- * memory from g_malloc(), from memory slices, from a #GMappedFile or
- * memory from other allocators.
- */
-typedef struct _GBuffer GBuffer;
-
-/* < private >
- * GBufferFreeFunc:
- * @buffer: the #GBuffer to be freed
- *
- * This function is provided by creators of a #GBuffer. It is the
- * function to be called when the reference count of @buffer drops to
- * zero. It should free any memory associated with the buffer and free
- * @buffer itself.
- */
-typedef void (* GBufferFreeFunc) (GBuffer *buffer);
-
-struct _GBuffer
-{
- gconstpointer data;
- gsize size;
-
- /*< protected >*/
- GBufferFreeFunc free_func;
-
- /*< private >*/
- gint ref_count;
-};
-
-G_GNUC_INTERNAL
-GBuffer * g_buffer_new_from_data (gconstpointer data,
- gsize size);
-G_GNUC_INTERNAL
-GBuffer * g_buffer_new_take_data (gpointer data,
- gsize size);
-G_GNUC_INTERNAL
-GBuffer * g_buffer_new_from_static_data (gconstpointer data,
- gsize size);
-G_GNUC_INTERNAL
-GBuffer * g_buffer_new_from_pointer (gconstpointer data,
- gsize size,
- GDestroyNotify notify,
- gpointer user_data);
-G_GNUC_INTERNAL
-GBuffer * g_buffer_ref (GBuffer *buffer);
-G_GNUC_INTERNAL
-void g_buffer_unref (GBuffer *buffer);
-
-#endif /* __G_BUFFER_H__ */
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/*
- * MT safe
- */
-
-#include "config.h"
-
-#include "glib.h"
-#include "galias.h"
-
-/**
- * SECTION: caches
- * @title: Caches
- * @short_description: caches allow sharing of complex data structures
- * to save resources
- *
- * A #GCache allows sharing of complex data structures, in order to
- * save system resources.
- *
- * GTK+ uses caches for #GtkStyles and #GdkGCs. These consume a lot of
- * resources, so a #GCache is used to see if a #GtkStyle or #GdkGC with
- * the required properties already exists. If it does, then the
- * existing object is used instead of creating a new one.
- *
- * #GCache uses keys and values. A #GCache key describes the properties
- * of a particular resource. A #GCache value is the actual resource.
- **/
-
-typedef struct _GCacheNode GCacheNode;
-
-struct _GCacheNode
-{
- /* A reference counted node */
- gpointer value;
- gint ref_count;
-};
-
-/**
- * GCache:
- *
- * The #GCache struct is an opaque data structure containing
- * information about a #GCache. It should only be accessed via the
- * following functions.
- **/
-struct _GCache
-{
- /* Called to create a value from a key */
- GCacheNewFunc value_new_func;
-
- /* Called to destroy a value */
- GCacheDestroyFunc value_destroy_func;
-
- /* Called to duplicate a key */
- GCacheDupFunc key_dup_func;
-
- /* Called to destroy a key */
- GCacheDestroyFunc key_destroy_func;
-
- /* Associates keys with nodes */
- GHashTable *key_table;
-
- /* Associates nodes with keys */
- GHashTable *value_table;
-};
-
-static inline GCacheNode*
-g_cache_node_new (gpointer value)
-{
- GCacheNode *node = g_slice_new (GCacheNode);
- node->value = value;
- node->ref_count = 1;
- return node;
-}
-
-static inline void
-g_cache_node_destroy (GCacheNode *node)
-{
- g_slice_free (GCacheNode, node);
-}
-
-/**
- * g_cache_new:
- * @value_new_func: a function to create a new object given a key.
- * This is called by g_cache_insert() if an object
- * with the given key does not already exist.
- * @value_destroy_func: a function to destroy an object. It is called
- * by g_cache_remove() when the object is no
- * longer needed (i.e. its reference count drops
- * to 0).
- * @key_dup_func: a function to copy a key. It is called by
- * g_cache_insert() if the key does not already exist in
- * the #GCache.
- * @key_destroy_func: a function to destroy a key. It is called by
- * g_cache_remove() when the object is no longer
- * needed (i.e. its reference count drops to 0).
- * @hash_key_func: a function to create a hash value from a key.
- * @hash_value_func: a function to create a hash value from a value.
- * @key_equal_func: a function to compare two keys. It should return
- * %TRUE if the two keys are equivalent.
- * @Returns: a new #GCache.
- *
- * Creates a new #GCache.
- **/
-/**
- * GCacheNewFunc:
- * @key: a #GCache key.
- * @Returns: a new #GCache value corresponding to the key.
- *
- * Specifies the type of the @value_new_func function passed to
- * g_cache_new(). It is passed a #GCache key and should create the
- * value corresponding to the key.
- **/
-/**
- * GCacheDestroyFunc:
- * @value: the #GCache value to destroy.
- *
- * Specifies the type of the @value_destroy_func and @key_destroy_func
- * functions passed to g_cache_new(). The functions are passed a
- * pointer to the #GCache key or #GCache value and should free any
- * memory and other resources associated with it.
- **/
-/**
- * GCacheDupFunc:
- * @value: the #GCache key to destroy (<emphasis>not</emphasis> a
- * #GCache value as it seems).
- * @Returns: a copy of the #GCache key.
- *
- * Specifies the type of the @key_dup_func function passed to
- * g_cache_new(). The function is passed a key
- * (<emphasis>not</emphasis> a value as the prototype implies) and
- * should return a duplicate of the key.
- **/
-GCache*
-g_cache_new (GCacheNewFunc value_new_func,
- GCacheDestroyFunc value_destroy_func,
- GCacheDupFunc key_dup_func,
- GCacheDestroyFunc key_destroy_func,
- GHashFunc hash_key_func,
- GHashFunc hash_value_func,
- GEqualFunc key_equal_func)
-{
- GCache *cache;
-
- g_return_val_if_fail (value_new_func != NULL, NULL);
- g_return_val_if_fail (value_destroy_func != NULL, NULL);
- g_return_val_if_fail (key_dup_func != NULL, NULL);
- g_return_val_if_fail (key_destroy_func != NULL, NULL);
- g_return_val_if_fail (hash_key_func != NULL, NULL);
- g_return_val_if_fail (hash_value_func != NULL, NULL);
- g_return_val_if_fail (key_equal_func != NULL, NULL);
-
- cache = g_slice_new (GCache);
- cache->value_new_func = value_new_func;
- cache->value_destroy_func = value_destroy_func;
- cache->key_dup_func = key_dup_func;
- cache->key_destroy_func = key_destroy_func;
- cache->key_table = g_hash_table_new (hash_key_func, key_equal_func);
- cache->value_table = g_hash_table_new (hash_value_func, NULL);
-
- return cache;
-}
-
-/**
- * g_cache_destroy:
- * @cache: a #GCache.
- *
- * Frees the memory allocated for the #GCache.
- *
- * Note that it does not destroy the keys and values which were
- * contained in the #GCache.
- **/
-void
-g_cache_destroy (GCache *cache)
-{
- g_return_if_fail (cache != NULL);
-
- g_hash_table_destroy (cache->key_table);
- g_hash_table_destroy (cache->value_table);
- g_slice_free (GCache, cache);
-}
-
-/**
- * g_cache_insert:
- * @cache: a #GCache.
- * @key: a key describing a #GCache object.
- * @Returns: a pointer to a #GCache value.
- *
- * Gets the value corresponding to the given key, creating it if
- * necessary. It first checks if the value already exists in the
- * #GCache, by using the @key_equal_func function passed to
- * g_cache_new(). If it does already exist it is returned, and its
- * reference count is increased by one. If the value does not currently
- * exist, if is created by calling the @value_new_func. The key is
- * duplicated by calling @key_dup_func and the duplicated key and value
- * are inserted into the #GCache.
- **/
-gpointer
-g_cache_insert (GCache *cache,
- gpointer key)
-{
- GCacheNode *node;
- gpointer value;
-
- g_return_val_if_fail (cache != NULL, NULL);
-
- node = g_hash_table_lookup (cache->key_table, key);
- if (node)
- {
- node->ref_count += 1;
- return node->value;
- }
-
- key = (* cache->key_dup_func) (key);
- value = (* cache->value_new_func) (key);
- node = g_cache_node_new (value);
-
- g_hash_table_insert (cache->key_table, key, node);
- g_hash_table_insert (cache->value_table, value, key);
-
- return node->value;
-}
-
-/**
- * g_cache_remove:
- * @cache: a #GCache.
- * @value: the value to remove.
- *
- * Decreases the reference count of the given value. If it drops to 0
- * then the value and its corresponding key are destroyed, using the
- * @value_destroy_func and @key_destroy_func passed to g_cache_new().
- **/
-void
-g_cache_remove (GCache *cache,
- gconstpointer value)
-{
- GCacheNode *node;
- gpointer key;
-
- g_return_if_fail (cache != NULL);
-
- key = g_hash_table_lookup (cache->value_table, value);
- node = g_hash_table_lookup (cache->key_table, key);
-
- g_return_if_fail (node != NULL);
-
- node->ref_count -= 1;
- if (node->ref_count == 0)
- {
- g_hash_table_remove (cache->value_table, value);
- g_hash_table_remove (cache->key_table, key);
-
- (* cache->key_destroy_func) (key);
- (* cache->value_destroy_func) (node->value);
- g_cache_node_destroy (node);
- }
-}
-
-/**
- * g_cache_key_foreach:
- * @cache: a #GCache.
- * @func: the function to call with each #GCache key.
- * @user_data: user data to pass to the function.
- *
- * Calls the given function for each of the keys in the #GCache.
- *
- * NOTE @func is passed three parameters, the value and key of a cache
- * entry and the @user_data. The order of value and key is different
- * from the order in which g_hash_table_foreach() passes key-value
- * pairs to its callback function !
- **/
-void
-g_cache_key_foreach (GCache *cache,
- GHFunc func,
- gpointer user_data)
-{
- g_return_if_fail (cache != NULL);
- g_return_if_fail (func != NULL);
-
- g_hash_table_foreach (cache->value_table, func, user_data);
-}
-
-/**
- * g_cache_value_foreach:
- * @cache: a #GCache.
- * @func: the function to call with each #GCache value.
- * @user_data: user data to pass to the function.
- *
- * Calls the given function for each of the values in the #GCache.
- *
- * Deprecated:2.10: The reason is that it passes pointers to internal
- * data structures to @func; use g_cache_key_foreach()
- * instead
- **/
-void
-g_cache_value_foreach (GCache *cache,
- GHFunc func,
- gpointer user_data)
-{
- g_return_if_fail (cache != NULL);
- g_return_if_fail (func != NULL);
-
- g_hash_table_foreach (cache->key_table, func, user_data);
-}
-
-#define __G_CACHE_C__
-#include "galiasdef.c"
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
-#error "Only <glib.h> can be included directly."
-#endif
-
-#ifndef __G_CACHE_H__
-#define __G_CACHE_H__
-
-#include <glib/glist.h>
-
-G_BEGIN_DECLS
-
-typedef struct _GCache GCache;
-
-typedef gpointer (*GCacheNewFunc) (gpointer key);
-typedef gpointer (*GCacheDupFunc) (gpointer value);
-typedef void (*GCacheDestroyFunc) (gpointer value);
-
-/* Caches
- */
-GCache* g_cache_new (GCacheNewFunc value_new_func,
- GCacheDestroyFunc value_destroy_func,
- GCacheDupFunc key_dup_func,
- GCacheDestroyFunc key_destroy_func,
- GHashFunc hash_key_func,
- GHashFunc hash_value_func,
- GEqualFunc key_equal_func);
-void g_cache_destroy (GCache *cache);
-gpointer g_cache_insert (GCache *cache,
- gpointer key);
-void g_cache_remove (GCache *cache,
- gconstpointer value);
-void g_cache_key_foreach (GCache *cache,
- GHFunc func,
- gpointer user_data);
-#ifndef G_DISABLE_DEPRECATED
-void g_cache_value_foreach (GCache *cache,
- GHFunc func,
- gpointer user_data);
-#endif
-
-G_END_DECLS
-
-#endif /* __G_CACHE_H__ */
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/*
- * MT safe
- */
-
-#include "config.h"
-
-#include <string.h>
-
-#include "glib.h"
-#include "galias.h"
-
-/**
- * SECTION: completion
- * @title: Automatic String Completion
- * @short_description: support for automatic completion using a group
- * of target strings
- *
- * #GCompletion provides support for automatic completion of a string
- * using any group of target strings. It is typically used for file
- * name completion as is common in many UNIX shells.
- *
- * A #GCompletion is created using g_completion_new(). Target items are
- * added and removed with g_completion_add_items(),
- * g_completion_remove_items() and g_completion_clear_items(). A
- * completion attempt is requested with g_completion_complete() or
- * g_completion_complete_utf8(). When no longer needed, the
- * #GCompletion is freed with g_completion_free().
- *
- * Items in the completion can be simple strings (e.g. filenames), or
- * pointers to arbitrary data structures. If data structures are used
- * you must provide a #GCompletionFunc in g_completion_new(), which
- * retrieves the item's string from the data structure. You can change
- * the way in which strings are compared by setting a different
- * #GCompletionStrncmpFunc in g_completion_set_compare().
- **/
-
-/**
- * GCompletion:
- * @items: list of target items (strings or data structures).
- * @func: function which is called to get the string associated with a
- * target item. It is %NULL if the target items are strings.
- * @prefix: the last prefix passed to g_completion_complete() or
- * g_completion_complete_utf8().
- * @cache: the list of items which begin with @prefix.
- * @strncmp_func: The function to use when comparing strings. Use
- * g_completion_set_compare() to modify this function.
- *
- * The data structure used for automatic completion.
- **/
-
-/**
- * GCompletionFunc:
- * @Param1: the completion item.
- * @Returns: the string corresponding to the item.
- *
- * Specifies the type of the function passed to g_completion_new(). It
- * should return the string corresponding to the given target item.
- * This is used when you use data structures as #GCompletion items.
- **/
-
-/**
- * GCompletionStrncmpFunc:
- * @s1: string to compare with @s2.
- * @s2: string to compare with @s1.
- * @n: maximal number of bytes to compare.
- * @Returns: an integer less than, equal to, or greater than zero if
- * the first @n bytes of @s1 is found, respectively, to be
- * less than, to match, or to be greater than the first @n
- * bytes of @s2.
- *
- * Specifies the type of the function passed to
- * g_completion_set_compare(). This is used when you use strings as
- * #GCompletion items.
- **/
-
-static void completion_check_cache (GCompletion* cmp,
- gchar** new_prefix);
-
-/**
- * g_completion_new:
- * @func: the function to be called to return the string representing
- * an item in the #GCompletion, or %NULL if strings are going to
- * be used as the #GCompletion items.
- * @Returns: the new #GCompletion.
- *
- * Creates a new #GCompletion.
- **/
-GCompletion*
-g_completion_new (GCompletionFunc func)
-{
- GCompletion* gcomp;
-
- gcomp = g_new (GCompletion, 1);
- gcomp->items = NULL;
- gcomp->cache = NULL;
- gcomp->prefix = NULL;
- gcomp->func = func;
- gcomp->strncmp_func = strncmp;
-
- return gcomp;
-}
-
-/**
- * g_completion_add_items:
- * @cmp: the #GCompletion.
- * @items: the list of items to add.
- *
- * Adds items to the #GCompletion.
- **/
-void
-g_completion_add_items (GCompletion* cmp,
- GList* items)
-{
- GList* it;
-
- g_return_if_fail (cmp != NULL);
-
- /* optimize adding to cache? */
- if (cmp->cache)
- {
- g_list_free (cmp->cache);
- cmp->cache = NULL;
- }
-
- if (cmp->prefix)
- {
- g_free (cmp->prefix);
- cmp->prefix = NULL;
- }
-
- it = items;
- while (it)
- {
- cmp->items = g_list_prepend (cmp->items, it->data);
- it = it->next;
- }
-}
-
-/**
- * g_completion_remove_items:
- * @cmp: the #GCompletion.
- * @items: the items to remove.
- *
- * Removes items from a #GCompletion.
- **/
-void
-g_completion_remove_items (GCompletion* cmp,
- GList* items)
-{
- GList* it;
-
- g_return_if_fail (cmp != NULL);
-
- it = items;
- while (cmp->items && it)
- {
- cmp->items = g_list_remove (cmp->items, it->data);
- it = it->next;
- }
-
- it = items;
- while (cmp->cache && it)
- {
- cmp->cache = g_list_remove(cmp->cache, it->data);
- it = it->next;
- }
-}
-
-/**
- * g_completion_clear_items:
- * @cmp: the #GCompletion.
- *
- * Removes all items from the #GCompletion.
- **/
-void
-g_completion_clear_items (GCompletion* cmp)
-{
- g_return_if_fail (cmp != NULL);
-
- g_list_free (cmp->items);
- cmp->items = NULL;
- g_list_free (cmp->cache);
- cmp->cache = NULL;
- g_free (cmp->prefix);
- cmp->prefix = NULL;
-}
-
-static void
-completion_check_cache (GCompletion* cmp,
- gchar** new_prefix)
-{
- register GList* list;
- register gsize len;
- register gsize i;
- register gsize plen;
- gchar* postfix;
- gchar* s;
-
- if (!new_prefix)
- return;
- if (!cmp->cache)
- {
- *new_prefix = NULL;
- return;
- }
-
- len = strlen(cmp->prefix);
- list = cmp->cache;
- s = cmp->func ? cmp->func (list->data) : (gchar*) list->data;
- postfix = s + len;
- plen = strlen (postfix);
- list = list->next;
-
- while (list && plen)
- {
- s = cmp->func ? cmp->func (list->data) : (gchar*) list->data;
- s += len;
- for (i = 0; i < plen; ++i)
- {
- if (postfix[i] != s[i])
- break;
- }
- plen = i;
- list = list->next;
- }
-
- *new_prefix = g_new0 (gchar, len + plen + 1);
- strncpy (*new_prefix, cmp->prefix, len);
- strncpy (*new_prefix + len, postfix, plen);
-}
-
-/**
- * g_completion_complete_utf8:
- * @cmp: the #GCompletion
- * @prefix: the prefix string, typically used by the user, which is compared
- * with each of the items
- * @new_prefix: if non-%NULL, returns the longest prefix which is common to all
- * items that matched @prefix, or %NULL if no items matched @prefix.
- * This string should be freed when no longer needed.
- *
- * Attempts to complete the string @prefix using the #GCompletion target items.
- * In contrast to g_completion_complete(), this function returns the largest common
- * prefix that is a valid UTF-8 string, omitting a possible common partial
- * character.
- *
- * You should use this function instead of g_completion_complete() if your
- * items are UTF-8 strings.
- *
- * Return value: the list of items whose strings begin with @prefix. This should
- * not be changed.
- *
- * Since: 2.4
- **/
-GList*
-g_completion_complete_utf8 (GCompletion *cmp,
- const gchar *prefix,
- gchar **new_prefix)
-{
- GList *list;
- gchar *p, *q;
-
- list = g_completion_complete (cmp, prefix, new_prefix);
-
- if (new_prefix && *new_prefix)
- {
- p = *new_prefix + strlen (*new_prefix);
- q = g_utf8_find_prev_char (*new_prefix, p);
-
- switch (g_utf8_get_char_validated (q, p - q))
- {
- case (gunichar)-2:
- case (gunichar)-1:
- *q = 0;
- break;
- default: ;
- }
-
- }
-
- return list;
-}
-
-/**
- * g_completion_complete:
- * @cmp: the #GCompletion.
- * @prefix: the prefix string, typically typed by the user, which is
- * compared with each of the items.
- * @new_prefix: if non-%NULL, returns the longest prefix which is
- * common to all items that matched @prefix, or %NULL if
- * no items matched @prefix. This string should be freed
- * when no longer needed.
- * @Returns: the list of items whose strings begin with @prefix. This
- * should not be changed.
- *
- * Attempts to complete the string @prefix using the #GCompletion
- * target items.
- **/
-GList*
-g_completion_complete (GCompletion* cmp,
- const gchar* prefix,
- gchar** new_prefix)
-{
- gsize plen, len;
- gboolean done = FALSE;
- GList* list;
-
- g_return_val_if_fail (cmp != NULL, NULL);
- g_return_val_if_fail (prefix != NULL, NULL);
-
- len = strlen (prefix);
- if (cmp->prefix && cmp->cache)
- {
- plen = strlen (cmp->prefix);
- if (plen <= len && ! cmp->strncmp_func (prefix, cmp->prefix, plen))
- {
- /* use the cache */
- list = cmp->cache;
- while (list)
- {
- GList *next = list->next;
-
- if (cmp->strncmp_func (prefix,
- cmp->func ? cmp->func (list->data) : (gchar*) list->data,
- len))
- cmp->cache = g_list_delete_link (cmp->cache, list);
-
- list = next;
- }
- done = TRUE;
- }
- }
-
- if (!done)
- {
- /* normal code */
- g_list_free (cmp->cache);
- cmp->cache = NULL;
- list = cmp->items;
- while (*prefix && list)
- {
- if (!cmp->strncmp_func (prefix,
- cmp->func ? cmp->func (list->data) : (gchar*) list->data,
- len))
- cmp->cache = g_list_prepend (cmp->cache, list->data);
- list = list->next;
- }
- }
- if (cmp->prefix)
- {
- g_free (cmp->prefix);
- cmp->prefix = NULL;
- }
- if (cmp->cache)
- cmp->prefix = g_strdup (prefix);
- completion_check_cache (cmp, new_prefix);
-
- return *prefix ? cmp->cache : cmp->items;
-}
-
-/**
- * g_completion_free:
- * @cmp: the #GCompletion.
- *
- * Frees all memory used by the #GCompletion.
- **/
-void
-g_completion_free (GCompletion* cmp)
-{
- g_return_if_fail (cmp != NULL);
-
- g_completion_clear_items (cmp);
- g_free (cmp);
-}
-
-/**
- * g_completion_set_compare:
- * @cmp: a #GCompletion.
- * @strncmp_func: the string comparison function.
- *
- * Sets the function to use for string comparisons. The default string
- * comparison function is strncmp().
- **/
-void
-g_completion_set_compare(GCompletion *cmp,
- GCompletionStrncmpFunc strncmp_func)
-{
- cmp->strncmp_func = strncmp_func;
-}
-
-#ifdef TEST_COMPLETION
-#include <stdio.h>
-int
-main (int argc,
- char* argv[])
-{
- FILE *file;
- gchar buf[1024];
- GList *list;
- GList *result;
- GList *tmp;
- GCompletion *cmp;
- gint i;
- gchar *longp = NULL;
-
- if (argc < 3)
- {
- g_warning ("Usage: %s filename prefix1 [prefix2 ...]\n", argv[0]);
- return 1;
- }
-
- file = fopen (argv[1], "r");
- if (!file)
- {
- g_warning ("Cannot open %s\n", argv[1]);
- return 1;
- }
-
- cmp = g_completion_new (NULL);
- list = g_list_alloc ();
- while (fgets (buf, 1024, file))
- {
- list->data = g_strdup (buf);
- g_completion_add_items (cmp, list);
- }
- fclose (file);
-
- for (i = 2; i < argc; ++i)
- {
- printf ("COMPLETING: %s\n", argv[i]);
- result = g_completion_complete (cmp, argv[i], &longp);
- g_list_foreach (result, (GFunc) printf, NULL);
- printf ("LONG MATCH: %s\n", longp);
- g_free (longp);
- longp = NULL;
- }
-
- g_list_foreach (cmp->items, (GFunc) g_free, NULL);
- g_completion_free (cmp);
- g_list_free (list);
-
- return 0;
-}
-#endif
-
-#define __G_COMPLETION_C__
-#include "galiasdef.c"
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
-#error "Only <glib.h> can be included directly."
-#endif
-
-#ifndef __G_COMPLETION_H__
-#define __G_COMPLETION_H__
-
-#include <glib/glist.h>
-
-G_BEGIN_DECLS
-
-typedef struct _GCompletion GCompletion;
-
-typedef gchar* (*GCompletionFunc) (gpointer);
-
-/* GCompletion
- */
-
-typedef gint (*GCompletionStrncmpFunc) (const gchar *s1,
- const gchar *s2,
- gsize n);
-
-struct _GCompletion
-{
- GList* items;
- GCompletionFunc func;
-
- gchar* prefix;
- GList* cache;
- GCompletionStrncmpFunc strncmp_func;
-};
-
-GCompletion* g_completion_new (GCompletionFunc func);
-void g_completion_add_items (GCompletion* cmp,
- GList* items);
-void g_completion_remove_items (GCompletion* cmp,
- GList* items);
-void g_completion_clear_items (GCompletion* cmp);
-GList* g_completion_complete (GCompletion* cmp,
- const gchar* prefix,
- gchar** new_prefix);
-GList* g_completion_complete_utf8 (GCompletion *cmp,
- const gchar* prefix,
- gchar** new_prefix);
-void g_completion_set_compare (GCompletion *cmp,
- GCompletionStrncmpFunc strncmp_func);
-void g_completion_free (GCompletion* cmp);
-
-G_END_DECLS
-
-#endif /* __G_COMPLETION_H__ */
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#ifndef __G_DEBUG_H__
-#define __G_DEBUG_H__
-
-G_BEGIN_DECLS
-
-typedef enum {
- G_DEBUG_FATAL_WARNINGS = 1 << 0,
- G_DEBUG_FATAL_CRITICALS = 1 << 1
-} GDebugFlag;
-
-
-#ifdef G_ENABLE_DEBUG
-
-#define G_NOTE(type, action) G_STMT_START { \
- if (!_g_debug_initialized) \
- { _g_debug_init (); } \
- if (_g_debug_flags & G_DEBUG_##type) \
- { action; }; } G_STMT_END
-
-#else /* !G_ENABLE_DEBUG */
-
-#define G_NOTE(type, action)
-
-#endif /* G_ENABLE_DEBUG */
-
-GLIB_VAR gboolean _g_debug_initialized;
-GLIB_VAR guint _g_debug_flags;
-
-G_GNUC_INTERNAL void _g_debug_init (void);
-
-G_END_DECLS
-
-#endif /* __G_DEBUG_H__ */
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/*
- * MT safe
- */
-
-#include "config.h"
-
-#include <stdarg.h>
-#include <string.h>
-
-#include "glib.h"
-#include "galias.h"
-
-/**
- * SECTION: relations
- * @title: Relations and Tuples
- * @short_description: tables of data which can be indexed on any
- * number of fields
- *
- * A #GRelation is a table of data which can be indexed on any number
- * of fields, rather like simple database tables. A #GRelation contains
- * a number of records, called tuples. Each record contains a number of
- * fields. Records are not ordered, so it is not possible to find the
- * record at a particular index.
- *
- * Note that #GRelation tables are currently limited to 2 fields.
- *
- * To create a GRelation, use g_relation_new().
- *
- * To specify which fields should be indexed, use g_relation_index().
- * Note that this must be called before any tuples are added to the
- * #GRelation.
- *
- * To add records to a #GRelation use g_relation_insert().
- *
- * To determine if a given record appears in a #GRelation, use
- * g_relation_exists(). Note that fields are compared directly, so
- * pointers must point to the exact same position (i.e. different
- * copies of the same string will not match.)
- *
- * To count the number of records which have a particular value in a
- * given field, use g_relation_count().
- *
- * To get all the records which have a particular value in a given
- * field, use g_relation_select(). To access fields of the resulting
- * records, use g_tuples_index(). To free the resulting records use
- * g_tuples_destroy().
- *
- * To delete all records which have a particular value in a given
- * field, use g_relation_delete().
- *
- * To destroy the #GRelation, use g_relation_destroy().
- *
- * To help debug #GRelation objects, use g_relation_print().
- **/
-
-typedef struct _GRealTuples GRealTuples;
-
-/**
- * GRelation:
- *
- * The #GRelation struct is an opaque data structure to represent a
- * <link linkend="glib-Relations-and-Tuples">Relation</link>. It should
- * only be accessed via the following functions.
- **/
-struct _GRelation
-{
- gint fields;
- gint current_field;
-
- GHashTable *all_tuples;
- GHashTable **hashed_tuple_tables;
-
- gint count;
-};
-
-/**
- * GTuples:
- * @len: the number of records that matched.
- *
- * The #GTuples struct is used to return records (or tuples) from the
- * #GRelation by g_relation_select(). It only contains one public
- * member - the number of records that matched. To access the matched
- * records, you must use g_tuples_index().
- **/
-struct _GRealTuples
-{
- gint len;
- gint width;
- gpointer *data;
-};
-
-static gboolean
-tuple_equal_2 (gconstpointer v_a,
- gconstpointer v_b)
-{
- gpointer* a = (gpointer*) v_a;
- gpointer* b = (gpointer*) v_b;
-
- return a[0] == b[0] && a[1] == b[1];
-}
-
-static guint
-tuple_hash_2 (gconstpointer v_a)
-{
-#if GLIB_SIZEOF_VOID_P > GLIB_SIZEOF_LONG
- /* In practise this snippet has been written for 64-bit Windows
- * where ints are 32 bits, pointers 64 bits. More exotic platforms
- * need more tweaks.
- */
- guint* a = (guint*) v_a;
-
- return (a[0] ^ a[1] ^ a[2] ^ a[3]);
-#else
- gpointer* a = (gpointer*) v_a;
-
- return (gulong)a[0] ^ (gulong)a[1];
-#endif
-}
-
-static GHashFunc
-tuple_hash (gint fields)
-{
- switch (fields)
- {
- case 2:
- return tuple_hash_2;
- default:
- g_error ("no tuple hash for %d", fields);
- }
-
- return NULL;
-}
-
-static GEqualFunc
-tuple_equal (gint fields)
-{
- switch (fields)
- {
- case 2:
- return tuple_equal_2;
- default:
- g_error ("no tuple equal for %d", fields);
- }
-
- return NULL;
-}
-
-/**
- * g_relation_new:
- * @fields: the number of fields.
- * @Returns: a new #GRelation.
- *
- * Creates a new #GRelation with the given number of fields. Note that
- * currently the number of fields must be 2.
- **/
-GRelation*
-g_relation_new (gint fields)
-{
- GRelation* rel = g_new0 (GRelation, 1);
-
- rel->fields = fields;
- rel->all_tuples = g_hash_table_new (tuple_hash (fields), tuple_equal (fields));
- rel->hashed_tuple_tables = g_new0 (GHashTable*, fields);
-
- return rel;
-}
-
-static void
-relation_delete_value_tuple (gpointer tuple_key,
- gpointer tuple_value,
- gpointer user_data)
-{
- GRelation *relation = user_data;
- gpointer *tuple = tuple_value;
- g_slice_free1 (relation->fields * sizeof (gpointer), tuple);
-}
-
-static void
-g_relation_free_array (gpointer key, gpointer value, gpointer user_data)
-{
- g_hash_table_destroy ((GHashTable*) value);
-}
-
-/**
- * g_relation_destroy:
- * @relation: a #GRelation.
- *
- * Destroys the #GRelation, freeing all memory allocated. However, it
- * does not free memory allocated for the tuple data, so you should
- * free that first if appropriate.
- **/
-void
-g_relation_destroy (GRelation *relation)
-{
- gint i;
-
- if (relation)
- {
- for (i = 0; i < relation->fields; i += 1)
- {
- if (relation->hashed_tuple_tables[i])
- {
- g_hash_table_foreach (relation->hashed_tuple_tables[i], g_relation_free_array, NULL);
- g_hash_table_destroy (relation->hashed_tuple_tables[i]);
- }
- }
-
- g_hash_table_foreach (relation->all_tuples, relation_delete_value_tuple, relation);
- g_hash_table_destroy (relation->all_tuples);
-
- g_free (relation->hashed_tuple_tables);
- g_free (relation);
- }
-}
-
-/**
- * g_relation_index:
- * @relation: a #GRelation.
- * @field: the field to index, counting from 0.
- * @hash_func: a function to produce a hash value from the field data.
- * @key_equal_func: a function to compare two values of the given field.
- *
- * Creates an index on the given field. Note that this must be called
- * before any records are added to the #GRelation.
- **/
-void
-g_relation_index (GRelation *relation,
- gint field,
- GHashFunc hash_func,
- GEqualFunc key_equal_func)
-{
- g_return_if_fail (relation != NULL);
-
- g_return_if_fail (relation->count == 0 && relation->hashed_tuple_tables[field] == NULL);
-
- relation->hashed_tuple_tables[field] = g_hash_table_new (hash_func, key_equal_func);
-}
-
-/**
- * g_relation_insert:
- * @relation: a #GRelation.
- * @Varargs: the fields of the record to add. These must match the
- * number of fields in the #GRelation, and of type #gpointer
- * or #gconstpointer.
- *
- * Inserts a record into a #GRelation.
- **/
-void
-g_relation_insert (GRelation *relation,
- ...)
-{
- gpointer* tuple = g_slice_alloc (relation->fields * sizeof (gpointer));
- va_list args;
- gint i;
-
- va_start (args, relation);
-
- for (i = 0; i < relation->fields; i += 1)
- tuple[i] = va_arg (args, gpointer);
-
- va_end (args);
-
- g_hash_table_insert (relation->all_tuples, tuple, tuple);
-
- relation->count += 1;
-
- for (i = 0; i < relation->fields; i += 1)
- {
- GHashTable *table;
- gpointer key;
- GHashTable *per_key_table;
-
- table = relation->hashed_tuple_tables[i];
-
- if (table == NULL)
- continue;
-
- key = tuple[i];
- per_key_table = g_hash_table_lookup (table, key);
-
- if (per_key_table == NULL)
- {
- per_key_table = g_hash_table_new (tuple_hash (relation->fields), tuple_equal (relation->fields));
- g_hash_table_insert (table, key, per_key_table);
- }
-
- g_hash_table_insert (per_key_table, tuple, tuple);
- }
-}
-
-static void
-g_relation_delete_tuple (gpointer tuple_key,
- gpointer tuple_value,
- gpointer user_data)
-{
- gpointer *tuple = (gpointer*) tuple_value;
- GRelation *relation = (GRelation *) user_data;
- gint j;
-
- g_assert (tuple_key == tuple_value);
-
- for (j = 0; j < relation->fields; j += 1)
- {
- GHashTable *one_table = relation->hashed_tuple_tables[j];
- gpointer one_key;
- GHashTable *per_key_table;
-
- if (one_table == NULL)
- continue;
-
- if (j == relation->current_field)
- /* can't delete from the table we're foreaching in */
- continue;
-
- one_key = tuple[j];
-
- per_key_table = g_hash_table_lookup (one_table, one_key);
-
- g_hash_table_remove (per_key_table, tuple);
- }
-
- if (g_hash_table_remove (relation->all_tuples, tuple))
- g_slice_free1 (relation->fields * sizeof (gpointer), tuple);
-
- relation->count -= 1;
-}
-
-/**
- * g_relation_delete:
- * @relation: a #GRelation.
- * @key: the value to compare with.
- * @field: the field of each record to match.
- * @Returns: the number of records deleted.
- *
- * Deletes any records from a #GRelation that have the given key value
- * in the given field.
- **/
-gint
-g_relation_delete (GRelation *relation,
- gconstpointer key,
- gint field)
-{
- GHashTable *table;
- GHashTable *key_table;
- gint count;
-
- g_return_val_if_fail (relation != NULL, 0);
-
- table = relation->hashed_tuple_tables[field];
- count = relation->count;
-
- g_return_val_if_fail (table != NULL, 0);
-
- key_table = g_hash_table_lookup (table, key);
-
- if (!key_table)
- return 0;
-
- relation->current_field = field;
-
- g_hash_table_foreach (key_table, g_relation_delete_tuple, relation);
-
- g_hash_table_remove (table, key);
-
- g_hash_table_destroy (key_table);
-
- /* @@@ FIXME: Remove empty hash tables. */
-
- return count - relation->count;
-}
-
-static void
-g_relation_select_tuple (gpointer tuple_key,
- gpointer tuple_value,
- gpointer user_data)
-{
- gpointer *tuple = (gpointer*) tuple_value;
- GRealTuples *tuples = (GRealTuples*) user_data;
- gint stride = sizeof (gpointer) * tuples->width;
-
- g_assert (tuple_key == tuple_value);
-
- memcpy (tuples->data + (tuples->len * tuples->width),
- tuple,
- stride);
-
- tuples->len += 1;
-}
-
-/**
- * g_relation_select:
- * @relation: a #GRelation.
- * @key: the value to compare with.
- * @field: the field of each record to match.
- * @Returns: the records (tuples) that matched.
- *
- * Returns all of the tuples which have the given key in the given
- * field. Use g_tuples_index() to access the returned records. The
- * returned records should be freed with g_tuples_destroy().
- **/
-GTuples*
-g_relation_select (GRelation *relation,
- gconstpointer key,
- gint field)
-{
- GHashTable *table;
- GHashTable *key_table;
- GRealTuples *tuples;
- gint count;
-
- g_return_val_if_fail (relation != NULL, NULL);
-
- table = relation->hashed_tuple_tables[field];
-
- g_return_val_if_fail (table != NULL, NULL);
-
- tuples = g_new0 (GRealTuples, 1);
- key_table = g_hash_table_lookup (table, key);
-
- if (!key_table)
- return (GTuples*)tuples;
-
- count = g_relation_count (relation, key, field);
-
- tuples->data = g_malloc (sizeof (gpointer) * relation->fields * count);
- tuples->width = relation->fields;
-
- g_hash_table_foreach (key_table, g_relation_select_tuple, tuples);
-
- g_assert (count == tuples->len);
-
- return (GTuples*)tuples;
-}
-
-/**
- * g_relation_count:
- * @relation: a #GRelation.
- * @key: the value to compare with.
- * @field: the field of each record to match.
- * @Returns: the number of matches.
- *
- * Returns the number of tuples in a #GRelation that have the given
- * value in the given field.
- **/
-gint
-g_relation_count (GRelation *relation,
- gconstpointer key,
- gint field)
-{
- GHashTable *table;
- GHashTable *key_table;
-
- g_return_val_if_fail (relation != NULL, 0);
-
- table = relation->hashed_tuple_tables[field];
-
- g_return_val_if_fail (table != NULL, 0);
-
- key_table = g_hash_table_lookup (table, key);
-
- if (!key_table)
- return 0;
-
- return g_hash_table_size (key_table);
-}
-
-/**
- * g_relation_exists:
- * @relation: a #GRelation.
- * @Varargs: the fields of the record to compare. The number must match
- * the number of fields in the #GRelation.
- * @Returns: %TRUE if a record matches.
- *
- * Returns %TRUE if a record with the given values exists in a
- * #GRelation. Note that the values are compared directly, so that, for
- * example, two copies of the same string will not match.
- **/
-gboolean
-g_relation_exists (GRelation *relation, ...)
-{
- gpointer *tuple = g_slice_alloc (relation->fields * sizeof (gpointer));
- va_list args;
- gint i;
- gboolean result;
-
- va_start(args, relation);
-
- for (i = 0; i < relation->fields; i += 1)
- tuple[i] = va_arg(args, gpointer);
-
- va_end(args);
-
- result = g_hash_table_lookup (relation->all_tuples, tuple) != NULL;
-
- g_slice_free1 (relation->fields * sizeof (gpointer), tuple);
-
- return result;
-}
-
-/**
- * g_tuples_destroy:
- * @tuples: the tuple data to free.
- *
- * Frees the records which were returned by g_relation_select(). This
- * should always be called after g_relation_select() when you are
- * finished with the records. The records are not removed from the
- * #GRelation.
- **/
-void
-g_tuples_destroy (GTuples *tuples0)
-{
- GRealTuples *tuples = (GRealTuples*) tuples0;
-
- if (tuples)
- {
- g_free (tuples->data);
- g_free (tuples);
- }
-}
-
-/**
- * g_tuples_index:
- * @tuples: the tuple data, returned by g_relation_select().
- * @index_: the index of the record.
- * @field: the field to return.
- * @Returns: the field of the record.
- *
- * Gets a field from the records returned by g_relation_select(). It
- * returns the given field of the record at the given index. The
- * returned value should not be changed.
- **/
-gpointer
-g_tuples_index (GTuples *tuples0,
- gint index,
- gint field)
-{
- GRealTuples *tuples = (GRealTuples*) tuples0;
-
- g_return_val_if_fail (tuples0 != NULL, NULL);
- g_return_val_if_fail (field < tuples->width, NULL);
-
- return tuples->data[index * tuples->width + field];
-}
-
-/* Print
- */
-
-static void
-g_relation_print_one (gpointer tuple_key,
- gpointer tuple_value,
- gpointer user_data)
-{
- gint i;
- GString *gstring;
- GRelation* rel = (GRelation*) user_data;
- gpointer* tuples = (gpointer*) tuple_value;
-
- gstring = g_string_new ("[");
-
- for (i = 0; i < rel->fields; i += 1)
- {
- g_string_append_printf (gstring, "%p", tuples[i]);
-
- if (i < (rel->fields - 1))
- g_string_append (gstring, ",");
- }
-
- g_string_append (gstring, "]");
- g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "%s", gstring->str);
- g_string_free (gstring, TRUE);
-}
-
-static void
-g_relation_print_index (gpointer tuple_key,
- gpointer tuple_value,
- gpointer user_data)
-{
- GRelation* rel = (GRelation*) user_data;
- GHashTable* table = (GHashTable*) tuple_value;
-
- g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "*** key %p", tuple_key);
-
- g_hash_table_foreach (table,
- g_relation_print_one,
- rel);
-}
-
-/**
- * g_relation_print:
- * @relation: a #GRelation.
- *
- * Outputs information about all records in a #GRelation, as well as
- * the indexes. It is for debugging.
- **/
-void
-g_relation_print (GRelation *relation)
-{
- gint i;
-
- g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "*** all tuples (%d)", relation->count);
-
- g_hash_table_foreach (relation->all_tuples,
- g_relation_print_one,
- relation);
-
- for (i = 0; i < relation->fields; i += 1)
- {
- if (relation->hashed_tuple_tables[i] == NULL)
- continue;
-
- g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "*** index %d", i);
-
- g_hash_table_foreach (relation->hashed_tuple_tables[i],
- g_relation_print_index,
- relation);
- }
-
-}
-
-#define __G_REL_C__
-#include "galiasdef.c"
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
-#error "Only <glib.h> can be included directly."
-#endif
-
-#ifndef __G_REL_H__
-#define __G_REL_H__
-
-#include <glib/gtypes.h>
-
-G_BEGIN_DECLS
-
-typedef struct _GRelation GRelation;
-typedef struct _GTuples GTuples;
-
-struct _GTuples
-{
- guint len;
-};
-
-/* GRelation
- *
- * Indexed Relations. Imagine a really simple table in a
- * database. Relations are not ordered. This data type is meant for
- * maintaining a N-way mapping.
- *
- * g_relation_new() creates a relation with FIELDS fields
- *
- * g_relation_destroy() frees all resources
- * g_tuples_destroy() frees the result of g_relation_select()
- *
- * g_relation_index() indexes relation FIELD with the provided
- * equality and hash functions. this must be done before any
- * calls to insert are made.
- *
- * g_relation_insert() inserts a new tuple. you are expected to
- * provide the right number of fields.
- *
- * g_relation_delete() deletes all relations with KEY in FIELD
- * g_relation_select() returns ...
- * g_relation_count() counts ...
- */
-
-GRelation* g_relation_new (gint fields);
-void g_relation_destroy (GRelation *relation);
-void g_relation_index (GRelation *relation,
- gint field,
- GHashFunc hash_func,
- GEqualFunc key_equal_func);
-void g_relation_insert (GRelation *relation,
- ...);
-gint g_relation_delete (GRelation *relation,
- gconstpointer key,
- gint field);
-GTuples* g_relation_select (GRelation *relation,
- gconstpointer key,
- gint field);
-gint g_relation_count (GRelation *relation,
- gconstpointer key,
- gint field);
-gboolean g_relation_exists (GRelation *relation,
- ...);
-void g_relation_print (GRelation *relation);
-
-void g_tuples_destroy (GTuples *tuples);
-gpointer g_tuples_index (GTuples *tuples,
- gint index_,
- gint field);
-
-G_END_DECLS
-
-#endif /* __G_REL_H__ */
+++ /dev/null
-#!/usr/bin/perl -w
-
-my $do_def = 0;
-
-if (($#ARGV >= 0) && ($ARGV[0] eq "-def")) {
- shift;
- $do_def = 1;
-}
-
-print <<EOF;
-/* Generated by makegalias.pl */
-
-#ifndef DISABLE_VISIBILITY
-
-#include "glibconfig.h"
-
-#ifdef G_HAVE_GNUC_VISIBILITY
-
-EOF
-
-if ($do_def) {
- print <<EOF
-#undef IN_FILE
-#define IN_FILE defined
-
-#undef IN_HEADER
-#define IN_HEADER(x) 1
-
-EOF
-}
-else {
- print <<EOF
-#define IN_FILE(x) 1
-#define IN_HEADER defined
-
-EOF
-}
-
-my $in_comment = 0;
-my $in_skipped_section = 0;
-
-while (<>) {
-
- # ignore empty lines
- next if /^\s*$/;
-
- # skip comments
- if ($_ =~ /^\s*\/\*/)
- {
- $in_comment = 1;
- }
-
- if ($in_comment)
- {
- if ($_ =~ /\*\/\s$/)
- {
- $in_comment = 0;
- }
-
- next;
- }
-
- # handle ifdefs
- if ($_ =~ /^\#endif/)
- {
- if (!$in_skipped_section)
- {
- print $_;
- }
-
- $in_skipped_section = 0;
-
- next;
- }
-
- if ($_ =~ /^\#ifdef\s+(INCLUDE_VARIABLES|INCLUDE_INTERNAL_SYMBOLS|ALL_FILES)/)
- {
- $in_skipped_section = 1;
- }
-
- if ($in_skipped_section)
- {
- next;
- }
-
- if ($_ =~ /^\#ifn?def\s+(G|DISABLE_MEM_POOLS|_WIN64)/)
- {
- print $_;
-
- next;
- }
-
- if ($_ =~ /^\#if.*(G_STDIO_NO_WRAP_ON_UNIX|IN_FILE|IN_HEADER|IN_FILE)/)
- {
- print $_;
-
- next;
- }
-
- chop;
- my $str = $_;
- my @words;
- my $attributes = "";
-
- @words = split(/ /, $str);
- $str = shift(@words);
- chomp($str);
- my $alias = "IA__".$str;
-
- # Drop any Win32 specific .def file syntax, but keep attributes
- foreach $word (@words) {
- $attributes = "$attributes $word" unless $word eq "PRIVATE";
- }
-
- if (!$do_def) {
- print <<EOF
-extern __typeof ($str) $alias __attribute((visibility("hidden")))$attributes;
-\#define $str $alias
-
-EOF
- }
- else {
- print <<EOF
-\#undef $str
-extern __typeof ($str) $str __attribute((alias("$alias"), visibility("default")));
-
-EOF
- }
-}
-
-print <<EOF
-
-#endif /* G_HAVE_GNUC_VISIBILITY */
-#endif /* DISABLE_VISIBILITY */
-EOF
-
+++ /dev/null
-/*************************************************
-* Perl-Compatible Regular Expressions *
-*************************************************/
-
-/* PCRE is a library of functions to support regular expressions whose syntax
-and semantics are as close as possible to those of the Perl 5 language.
-
- Written by Philip Hazel
- Copyright (c) 1997-2008 University of Cambridge
-
------------------------------------------------------------------------------
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of the University of Cambridge nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
------------------------------------------------------------------------------
-*/
-
-
-/* This module contains the external function pcre_info(), which gives some
-information about a compiled pattern. However, use of this function is now
-deprecated, as it has been superseded by pcre_fullinfo(). */
-
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "pcre_internal.h"
-
-
-/*************************************************
-* (Obsolete) Return info about compiled pattern *
-*************************************************/
-
-/* This is the original "info" function. It picks potentially useful data out
-of the private structure, but its interface was too rigid. It remains for
-backwards compatibility. The public options are passed back in an int - though
-the re->options field has been expanded to a long int, all the public options
-at the low end of it, and so even on 16-bit systems this will still be OK.
-Therefore, I haven't changed the API for pcre_info().
-
-Arguments:
- argument_re points to compiled code
- optptr where to pass back the options
- first_byte where to pass back the first character,
- or -1 if multiline and all branches start ^,
- or -2 otherwise
-
-Returns: number of capturing subpatterns
- or negative values on error
-*/
-
-PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
-pcre_info(const pcre *argument_re, int *optptr, int *first_byte)
-{
-real_pcre internal_re;
-const real_pcre *re = (const real_pcre *)argument_re;
-if (re == NULL) return PCRE_ERROR_NULL;
-if (re->magic_number != MAGIC_NUMBER)
- {
- re = _pcre_try_flipped(re, &internal_re, NULL, NULL);
- if (re == NULL) return PCRE_ERROR_BADMAGIC;
- }
-if (optptr != NULL) *optptr = (int)(re->options & PUBLIC_OPTIONS);
-if (first_byte != NULL)
- *first_byte = ((re->flags & PCRE_FIRSTSET) != 0)? re->first_byte :
- ((re->flags & PCRE_STARTLINE) != 0)? -1 : -2;
-return re->top_bracket;
-}
-
-/* End of pcre_info.c */
+++ /dev/null
-/*************************************************
-* Perl-Compatible Regular Expressions *
-*************************************************/
-
-/* PCRE is a library of functions to support regular expressions whose syntax
-and semantics are as close as possible to those of the Perl 5 language.
-
- Written by Philip Hazel
- Copyright (c) 1997-2008 University of Cambridge
-
------------------------------------------------------------------------------
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of the University of Cambridge nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
------------------------------------------------------------------------------
-*/
-
-
-/* This module contains the external function pcre_maketables(), which builds
-character tables for PCRE in the current locale. The file is compiled on its
-own as part of the PCRE library. However, it is also included in the
-compilation of dftables.c, in which case the macro DFTABLES is defined. */
-
-
-#ifndef DFTABLES
-# ifdef HAVE_CONFIG_H
-# include "config.h"
-# endif
-# include "pcre_internal.h"
-#endif
-
-
-/*************************************************
-* Create PCRE character tables *
-*************************************************/
-
-/* This function builds a set of character tables for use by PCRE and returns
-a pointer to them. They are build using the ctype functions, and consequently
-their contents will depend upon the current locale setting. When compiled as
-part of the library, the store is obtained via pcre_malloc(), but when compiled
-inside dftables, use malloc().
-
-Arguments: none
-Returns: pointer to the contiguous block of data
-*/
-
-const unsigned char *
-pcre_maketables(void)
-{
-unsigned char *yield, *p;
-int i;
-
-#ifndef DFTABLES
-yield = (unsigned char*)(pcre_malloc)(tables_length);
-#else
-yield = (unsigned char*)malloc(tables_length);
-#endif
-
-if (yield == NULL) return NULL;
-p = yield;
-
-/* First comes the lower casing table */
-
-for (i = 0; i < 256; i++) *p++ = tolower(i);
-
-/* Next the case-flipping table */
-
-for (i = 0; i < 256; i++) *p++ = islower(i)? toupper(i) : tolower(i);
-
-/* Then the character class tables. Don't try to be clever and save effort on
-exclusive ones - in some locales things may be different. Note that the table
-for "space" includes everything "isspace" gives, including VT in the default
-locale. This makes it work for the POSIX class [:space:]. Note also that it is
-possible for a character to be alnum or alpha without being lower or upper,
-such as "male and female ordinals" (\xAA and \xBA) in the fr_FR locale (at
-least under Debian Linux's locales as of 12/2005). So we must test for alnum
-specially. */
-
-memset(p, 0, cbit_length);
-for (i = 0; i < 256; i++)
- {
- if (isdigit(i)) p[cbit_digit + i/8] |= 1 << (i&7);
- if (isupper(i)) p[cbit_upper + i/8] |= 1 << (i&7);
- if (islower(i)) p[cbit_lower + i/8] |= 1 << (i&7);
- if (isalnum(i)) p[cbit_word + i/8] |= 1 << (i&7);
- if (i == '_') p[cbit_word + i/8] |= 1 << (i&7);
- if (isspace(i)) p[cbit_space + i/8] |= 1 << (i&7);
- if (isxdigit(i))p[cbit_xdigit + i/8] |= 1 << (i&7);
- if (isgraph(i)) p[cbit_graph + i/8] |= 1 << (i&7);
- if (isprint(i)) p[cbit_print + i/8] |= 1 << (i&7);
- if (ispunct(i)) p[cbit_punct + i/8] |= 1 << (i&7);
- if (iscntrl(i)) p[cbit_cntrl + i/8] |= 1 << (i&7);
- }
-p += cbit_length;
-
-/* Finally, the character type table. In this, we exclude VT from the white
-space chars, because Perl doesn't recognize it as such for \s and for comments
-within regexes. */
-
-for (i = 0; i < 256; i++)
- {
- int x = 0;
- if (i != 0x0b && isspace(i)) x += ctype_space;
- if (isalpha(i)) x += ctype_letter;
- if (isdigit(i)) x += ctype_digit;
- if (isxdigit(i)) x += ctype_xdigit;
- if (isalnum(i) || i == '_') x += ctype_word;
-
- /* Note: strchr includes the terminating zero in the characters it considers.
- In this instance, that is ok because we want binary zero to be flagged as a
- meta-character, which in this sense is any character that terminates a run
- of data characters. */
-
- if (strchr("\\*+?{^.$|()[", i) != 0) x += ctype_meta;
- *p++ = x;
- }
-
-return yield;
-}
-
-/* End of pcre_maketables.c */
+++ /dev/null
-/*************************************************
-* Perl-Compatible Regular Expressions *
-*************************************************/
-
-/* PCRE is a library of functions to support regular expressions whose syntax
-and semantics are as close as possible to those of the Perl 5 language.
-
- Written by Philip Hazel
- Copyright (c) 1997-2008 University of Cambridge
-
------------------------------------------------------------------------------
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of the University of Cambridge nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
------------------------------------------------------------------------------
-*/
-
-
-/* This module contains the external function pcre_refcount(), which is an
-auxiliary function that can be used to maintain a reference count in a compiled
-pattern data block. This might be helpful in applications where the block is
-shared by different users. */
-
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "pcre_internal.h"
-
-
-/*************************************************
-* Maintain reference count *
-*************************************************/
-
-/* The reference count is a 16-bit field, initialized to zero. It is not
-possible to transfer a non-zero count from one host to a different host that
-has a different byte order - though I can't see why anyone in their right mind
-would ever want to do that!
-
-Arguments:
- argument_re points to compiled code
- adjust value to add to the count
-
-Returns: the (possibly updated) count value (a non-negative number), or
- a negative error number
-*/
-
-PCRE_EXP_DEFN int PCRE_CALL_CONVENTION
-pcre_refcount(pcre *argument_re, int adjust)
-{
-real_pcre *re = (real_pcre *)argument_re;
-if (re == NULL) return PCRE_ERROR_NULL;
-re->ref_count = (-adjust > re->ref_count)? 0 :
- (adjust + re->ref_count > 65535)? 65535 :
- re->ref_count + adjust;
-return re->ref_count;
-}
-
-/* End of pcre_refcount.c */
+++ /dev/null
-/*************************************************
-* Perl-Compatible Regular Expressions *
-*************************************************/
-
-/* PCRE is a library of functions to support regular expressions whose syntax
-and semantics are as close as possible to those of the Perl 5 language.
-
- Written by Philip Hazel
- Copyright (c) 1997-2008 University of Cambridge
-
------------------------------------------------------------------------------
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of the University of Cambridge nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
------------------------------------------------------------------------------
-*/
-
-
-/* This module contains an internal function that tests a compiled pattern to
-see if it was compiled with the opposite endianness. If so, it uses an
-auxiliary local function to flip the appropriate bytes. */
-
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "pcre_internal.h"
-
-
-/*************************************************
-* Flip bytes in an integer *
-*************************************************/
-
-/* This function is called when the magic number in a regex doesn't match, in
-order to flip its bytes to see if we are dealing with a pattern that was
-compiled on a host of different endianness. If so, this function is used to
-flip other byte values.
-
-Arguments:
- value the number to flip
- n the number of bytes to flip (assumed to be 2 or 4)
-
-Returns: the flipped value
-*/
-
-static unsigned long int
-byteflip(unsigned long int value, int n)
-{
-if (n == 2) return ((value & 0x00ff) << 8) | ((value & 0xff00) >> 8);
-return ((value & 0x000000ff) << 24) |
- ((value & 0x0000ff00) << 8) |
- ((value & 0x00ff0000) >> 8) |
- ((value & 0xff000000) >> 24);
-}
-
-
-
-/*************************************************
-* Test for a byte-flipped compiled regex *
-*************************************************/
-
-/* This function is called from pcre_exec(), pcre_dfa_exec(), and also from
-pcre_fullinfo(). Its job is to test whether the regex is byte-flipped - that
-is, it was compiled on a system of opposite endianness. The function is called
-only when the native MAGIC_NUMBER test fails. If the regex is indeed flipped,
-we flip all the relevant values into a different data block, and return it.
-
-Arguments:
- re points to the regex
- study points to study data, or NULL
- internal_re points to a new regex block
- internal_study points to a new study block
-
-Returns: the new block if is is indeed a byte-flipped regex
- NULL if it is not
-*/
-
-real_pcre *
-_pcre_try_flipped(const real_pcre *re, real_pcre *internal_re,
- const pcre_study_data *study, pcre_study_data *internal_study)
-{
-if (byteflip(re->magic_number, sizeof(re->magic_number)) != MAGIC_NUMBER)
- return NULL;
-
-*internal_re = *re; /* To copy other fields */
-internal_re->size = byteflip(re->size, sizeof(re->size));
-internal_re->options = byteflip(re->options, sizeof(re->options));
-internal_re->flags = (pcre_uint16)byteflip(re->flags, sizeof(re->flags));
-internal_re->top_bracket =
- (pcre_uint16)byteflip(re->top_bracket, sizeof(re->top_bracket));
-internal_re->top_backref =
- (pcre_uint16)byteflip(re->top_backref, sizeof(re->top_backref));
-internal_re->first_byte =
- (pcre_uint16)byteflip(re->first_byte, sizeof(re->first_byte));
-internal_re->req_byte =
- (pcre_uint16)byteflip(re->req_byte, sizeof(re->req_byte));
-internal_re->name_table_offset =
- (pcre_uint16)byteflip(re->name_table_offset, sizeof(re->name_table_offset));
-internal_re->name_entry_size =
- (pcre_uint16)byteflip(re->name_entry_size, sizeof(re->name_entry_size));
-internal_re->name_count =
- (pcre_uint16)byteflip(re->name_count, sizeof(re->name_count));
-
-if (study != NULL)
- {
- *internal_study = *study; /* To copy other fields */
- internal_study->size = byteflip(study->size, sizeof(study->size));
- internal_study->options = byteflip(study->options, sizeof(study->options));
- }
-
-return internal_re;
-}
-
-/* End of pcre_tryflipped.c */
+++ /dev/null
-/*************************************************
-* Perl-Compatible Regular Expressions *
-*************************************************/
-
-/* PCRE is a library of functions to support regular expressions whose syntax
-and semantics are as close as possible to those of the Perl 5 language.
-
- Written by Philip Hazel
- Copyright (c) 1997-2006 University of Cambridge
-
------------------------------------------------------------------------------
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of the University of Cambridge nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
------------------------------------------------------------------------------
-*/
-
-/* This file has been modified to use glib instead of the internal table
- * in ucptable.c -- Marco Barisione */
-
-/* This module contains code for searching the table of Unicode character
-properties. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "pcre_internal.h"
-
-#include "ucp.h" /* Category definitions */
-
-
-/*************************************************
-* Search table and return other case *
-*************************************************/
-
-/* If the given character is a letter, and there is another case for the
-letter, return the other case. Otherwise, return -1.
-
-Arguments:
- c the character value
-
-Returns: the other case or NOTACHAR if none
-*/
-
-unsigned int
-_pcre_ucp_othercase(const unsigned int c)
-{
-unsigned int other_case = NOTACHAR;
-
-if (g_unichar_islower(c))
- other_case = g_unichar_toupper(c);
-else if (g_unichar_isupper(c))
- other_case = g_unichar_tolower(c);
-
-if (other_case == c)
- other_case = NOTACHAR;
-
-return other_case;
-}
-
-
-/* End of pcre_ucp_searchfuncs.c */
+++ /dev/null
-/*************************************************
-* Perl-Compatible Regular Expressions *
-*************************************************/
-
-/* PCRE is a library of functions to support regular expressions whose syntax
-and semantics are as close as possible to those of the Perl 5 language.
-
- Written by Philip Hazel
- Copyright (c) 1997-2008 University of Cambridge
-
------------------------------------------------------------------------------
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of the University of Cambridge nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
------------------------------------------------------------------------------
-*/
-
-
-/* This module contains the external function pcre_version(), which returns a
-string that identifies the PCRE version that is in use. */
-
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "pcre_internal.h"
-
-
-/*************************************************
-* Return version string *
-*************************************************/
-
-/* These macros are the standard way of turning unquoted text into C strings.
-They allow macros like PCRE_MAJOR to be defined without quotes, which is
-convenient for user programs that want to test its value. */
-
-#define STRING(a) # a
-#define XSTRING(s) STRING(s)
-
-/* A problem turned up with PCRE_PRERELEASE, which is defined empty for
-production releases. Originally, it was used naively in this code:
-
- return XSTRING(PCRE_MAJOR)
- "." XSTRING(PCRE_MINOR)
- XSTRING(PCRE_PRERELEASE)
- " " XSTRING(PCRE_DATE);
-
-However, when PCRE_PRERELEASE is empty, this leads to an attempted expansion of
-STRING(). The C standard states: "If (before argument substitution) any
-argument consists of no preprocessing tokens, the behavior is undefined." It
-turns out the gcc treats this case as a single empty string - which is what we
-really want - but Visual C grumbles about the lack of an argument for the
-macro. Unfortunately, both are within their rights. To cope with both ways of
-handling this, I had resort to some messy hackery that does a test at run time.
-I could find no way of detecting that a macro is defined as an empty string at
-pre-processor time. This hack uses a standard trick for avoiding calling
-the STRING macro with an empty argument when doing the test. */
-
-PCRE_EXP_DEFN const char * PCRE_CALL_CONVENTION
-pcre_version(void)
-{
-return (XSTRING(Z PCRE_PRERELEASE)[1] == 0)?
- XSTRING(PCRE_MAJOR.PCRE_MINOR PCRE_DATE) :
- XSTRING(PCRE_MAJOR.PCRE_MINOR) XSTRING(PCRE_PRERELEASE PCRE_DATE);
-}
-
-/* End of pcre_version.c */
+++ /dev/null
-/*************************************************
-* Unicode Property Table handler *
-*************************************************/
-
-#ifndef _UCPINTERNAL_H
-#define _UCPINTERNAL_H
-
-/* Internal header file defining the layout of the bits in each pair of 32-bit
-words that form a data item in the table. */
-
-typedef struct cnode {
- pcre_uint32 f0;
- pcre_uint32 f1;
-} cnode;
-
-/* Things for the f0 field */
-
-#define f0_scriptmask 0xff000000 /* Mask for script field */
-#define f0_scriptshift 24 /* Shift for script value */
-#define f0_rangeflag 0x00800000 /* Flag for a range item */
-#define f0_charmask 0x001fffff /* Mask for code point value */
-
-/* Things for the f1 field */
-
-#define f1_typemask 0xfc000000 /* Mask for char type field */
-#define f1_typeshift 26 /* Shift for the type field */
-#define f1_rangemask 0x0000ffff /* Mask for a range offset */
-#define f1_casemask 0x0000ffff /* Mask for a case offset */
-#define f1_caseneg 0xffff8000 /* Bits for negation */
-
-/* The data consists of a vector of structures of type cnode. The two unsigned
-32-bit integers are used as follows:
-
-(f0) (1) The most significant byte holds the script number. The numbers are
- defined by the enum in ucp.h.
-
- (2) The 0x00800000 bit is set if this entry defines a range of characters.
- It is not set if this entry defines a single character
-
- (3) The 0x00600000 bits are spare.
-
- (4) The 0x001fffff bits contain the code point. No Unicode code point will
- ever be greater than 0x0010ffff, so this should be OK for ever.
-
-(f1) (1) The 0xfc000000 bits contain the character type number. The numbers are
- defined by an enum in ucp.h.
-
- (2) The 0x03ff0000 bits are spare.
-
- (3) The 0x0000ffff bits contain EITHER the unsigned offset to the top of
- range if this entry defines a range, OR the *signed* offset to the
- character's "other case" partner if this entry defines a single
- character. There is no partner if the value is zero.
-
--------------------------------------------------------------------------------
-| script (8) |.|.|.| codepoint (21) || type (6) |.|.| spare (8) | offset (16) |
--------------------------------------------------------------------------------
- | | | | |
- | | |-> spare | |-> spare
- | | |
- | |-> spare |-> spare
- |
- |-> range flag
-
-The upper/lower casing information is set only for characters that come in
-pairs. The non-one-to-one mappings in the Unicode data are ignored.
-
-When searching the data, proceed as follows:
-
-(1) Set up for a binary chop search.
-
-(2) If the top is not greater than the bottom, the character is not in the
- table. Its type must therefore be "Cn" ("Undefined").
-
-(3) Find the middle vector element.
-
-(4) Extract the code point and compare. If equal, we are done.
-
-(5) If the test character is smaller, set the top to the current point, and
- goto (2).
-
-(6) If the current entry defines a range, compute the last character by adding
- the offset, and see if the test character is within the range. If it is,
- we are done.
-
-(7) Otherwise, set the bottom to one element past the current point and goto
- (2).
-*/
-
-#endif /* _UCPINTERNAL_H */
-
-/* End of ucpinternal.h */
+++ /dev/null
-#!/bin/sh
-
-LANG=C
-
-status=0
-
-if ! which readelf 2>/dev/null >/dev/null; then
- echo "'readelf' not found; skipping test"
- exit 0
-fi
-
-for so in .libs/lib*.so; do
- echo Checking $so for local PLT entries
- # g_string_insert_c is used in g_string_append_c_inline
- # unaliased. Couldn't find a way to fix it.
- # Same for g_once_init_enter
- readelf -r $so | grep 'JU\?MP_SLOT\?' | \
- grep -v '\<g_string_insert_c\>' | \
- grep -v '\<g_atomic_[a-z]*_[sg]et\>' | \
- grep -v '\<g_once_init_enter_impl\>' | \
- grep -v '\<g_bit_' | \
- grep '\<g_' && status=1
-done
-
-exit $status
+++ /dev/null
-/* Unit tests for gprintf
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This work is provided "as is"; redistribution and modification
- * in whole or in part, in any medium, physical or electronic is
- * permitted without restriction.
- *
- * This work is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * In no event shall the authors or contributors be liable for any
- * direct, indirect, incidental, special, exemplary, or consequential
- * damages (including, but not limited to, procurement of substitute
- * goods or services; loss of use, data, or profits; or business
- * interruption) however caused and on any theory of liability, whether
- * in contract, strict liability, or tort (including negligence or
- * otherwise) arising in any way out of the use of this software, even
- * if advised of the possibility of such damage.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include "glib.h"
-
-static void
-test_retval_and_trunc (void)
-{
- gchar buf[128];
- gint res;
-
- res = g_snprintf (buf, 0, "abc");
- g_assert_cmpint (res, ==, 3);
-
- res = g_snprintf (NULL, 0, "abc");
- g_assert_cmpint (res, ==, 3);
-
- res = g_snprintf (buf, 5, "abc");
- g_assert_cmpint (res, ==, 3);
-
- res = g_snprintf (buf, 1, "abc");
- g_assert_cmpint (res, ==, 3);
- g_assert (buf[0] == '\0');
- g_assert_cmpstr (buf, ==, "");
-
- res = g_snprintf (buf, 2, "abc");
- g_assert_cmpint (res, ==, 3);
- g_assert (buf[1] == '\0');
- g_assert_cmpstr (buf, ==, "a");
-
- res = g_snprintf (buf, 3, "abc");
- g_assert_cmpint (res, ==, 3);
- g_assert (buf[2] == '\0');
- g_assert_cmpstr (buf, ==, "ab");
-
- res = g_snprintf (buf, 4, "abc");
- g_assert_cmpint (res, ==, 3);
- g_assert (buf[3] == '\0');
- g_assert_cmpstr (buf, ==, "abc");
-
- res = g_snprintf (buf, 5, "abc");
- g_assert_cmpint (res, ==, 3);
- g_assert (buf[3] == '\0');
- g_assert_cmpstr (buf, ==, "abc");
-}
-
-static void
-test_d (void)
-{
- gchar buf[128];
- gint res;
- const gchar *fmt;
-
- /* %d basic formatting */
-
- res = g_snprintf (buf, 128, "%d", 5);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "5");
-
- res = g_snprintf (buf, 128, "%d", 0);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "0");
-
- res = g_snprintf (buf, 128, "%.0d", 0);
- g_assert_cmpint (res, ==, 0);
- g_assert_cmpstr (buf, ==, "");
-
- res = g_snprintf (buf, 128, "%.0d", 1);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "1");
-
- res = g_snprintf (buf, 128, "%.d", 2);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "2");
-
- res = g_snprintf (buf, 128, "%d", -1);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "-1");
-
- res = g_snprintf (buf, 128, "%.3d", 5);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "005");
-
- res = g_snprintf (buf, 128, "%.3d", -5);
- g_assert_cmpint (res, ==, 4);
- g_assert_cmpstr (buf, ==, "-005");
-
- res = g_snprintf (buf, 128, "%5.3d", 5);
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, " 005");
-
- res = g_snprintf (buf, 128, "%-5.3d", -5);
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, "-005 ");
-
- /* %d, length modifiers */
-
- res = g_snprintf (buf, 128, "%" G_GINT16_FORMAT, (gint16)-5);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "-5");
-
- res = g_snprintf (buf, 128, "%" G_GUINT16_FORMAT, (guint16)5);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "5");
-
- res = g_snprintf (buf, 128, "%" G_GINT32_FORMAT, (gint32)-5);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "-5");
-
- res = g_snprintf (buf, 128, "%" G_GUINT32_FORMAT, (guint32)5);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "5");
-
- res = g_snprintf (buf, 128, "%" G_GINT64_FORMAT, (gint64)-5);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "-5");
-
- res = g_snprintf (buf, 128, "%" G_GUINT64_FORMAT, (guint64)5);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "5");
-
- res = g_snprintf (buf, 128, "%" G_GSSIZE_FORMAT, (gssize)-5);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "-5");
-
- res = g_snprintf (buf, 128, "%" G_GSIZE_FORMAT, (gsize)5);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "5");
-
- /* %d, flags */
-
- res = g_snprintf (buf, 128, "%-d", 5);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "5");
-
- res = g_snprintf (buf, 128, "%-+d", 5);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "+5");
-
- res = g_snprintf (buf, 128, "%+-d", 5);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "+5");
-
- res = g_snprintf (buf, 128, "%+d", -5);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "-5");
-
- res = g_snprintf (buf, 128, "% d", 5);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, " 5");
-
- res = g_snprintf (buf, 128, "% .0d", 0);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, " ");
-
- res = g_snprintf (buf, 128, "%03d", 5);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "005");
-
- res = g_snprintf (buf, 128, "%03d", -5);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "-05");
-
- /* gcc emits warnings for the following formats, since the C spec
- * says some of the flags must be ignored. (The " " in "% +d" and
- * the "0" in "%-03d".) But we need to test that our printf gets
- * those rules right. So we fool gcc into not warning.
- */
- fmt = "% +d";
- res = g_snprintf (buf, 128, fmt, 5);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "+5");
-
- fmt = "%-03d";
- res = g_snprintf (buf, 128, fmt, -5);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "-5 ");
-}
-
-static void
-test_o (void)
-{
- gchar buf[128];
- gint res;
-
- /* %o basic formatting */
-
- res = g_snprintf (buf, 128, "%o", 5);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "5");
-
- res = g_snprintf (buf, 128, "%o", 8);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "10");
-
- res = g_snprintf (buf, 128, "%o", 0);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "0");
-
- res = g_snprintf (buf, 128, "%.0o", 0);
- g_assert_cmpint (res, ==, 0);
- g_assert_cmpstr (buf, ==, "");
-
- res = g_snprintf (buf, 128, "%.0o", 1);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "1");
-
- res = g_snprintf (buf, 128, "%.3o", 5);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "005");
-
- res = g_snprintf (buf, 128, "%.3o", 8);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "010");
-
- res = g_snprintf (buf, 128, "%5.3o", 5);
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, " 005");
-}
-
-static void
-test_u (void)
-{
- gchar buf[128];
- gint res;
-
- /* %u, basic formatting */
-
- res = g_snprintf (buf, 128, "%u", 5);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "5");
-
- res = g_snprintf (buf, 128, "%u", 0);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "0");
-
- res = g_snprintf (buf, 128, "%.0u", 0);
- g_assert_cmpint (res, ==, 0);
- g_assert_cmpstr (buf, ==, "");
-
- res = g_snprintf (buf, 128, "%.0u", 1);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "1");
-
- res = g_snprintf (buf, 128, "%.3u", 5);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "005");
-
- res = g_snprintf (buf, 128, "%5.3u", 5);
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, " 005");
-}
-
-static void
-test_x (void)
-{
- gchar buf[128];
- gint res;
-
- /* %x, basic formatting */
-
- res = g_snprintf (buf, 128, "%x", 5);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "5");
-
- res = g_snprintf (buf, 128, "%x", 31);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "1f");
-
- res = g_snprintf (buf, 128, "%x", 0);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "0");
-
- res = g_snprintf (buf, 128, "%.0x", 0);
- g_assert_cmpint (res, ==, 0);
- g_assert_cmpstr (buf, ==, "");
-
- res = g_snprintf (buf, 128, "%.0x", 1);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "1");
-
- res = g_snprintf (buf, 128, "%.3x", 5);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "005");
-
- res = g_snprintf (buf, 128, "%.3x", 31);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "01f");
-
- res = g_snprintf (buf, 128, "%5.3x", 5);
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, " 005");
-
- /* %x, flags */
-
- res = g_snprintf (buf, 128, "%-x", 5);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "5");
-
- res = g_snprintf (buf, 128, "%03x", 5);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "005");
-
- res = g_snprintf (buf, 128, "%#x", 31);
- g_assert_cmpint (res, ==, 4);
- g_assert_cmpstr (buf, ==, "0x1f");
-
- res = g_snprintf (buf, 128, "%#x", 0);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "0");
-}
-
-static void
-test_X (void)
-{
- gchar buf[128];
- gint res;
-
- /* %X, basic formatting */
-
- res = g_snprintf (buf, 128, "%X", 5);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "5");
-
- res = g_snprintf (buf, 128, "%X", 31);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "1F");
-
- res = g_snprintf (buf, 128, "%X", 0);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "0");
-
- res = g_snprintf (buf, 128, "%.0X", 0);
- g_assert_cmpint (res, ==, 0);
- g_assert_cmpstr (buf, ==, "");
-
- res = g_snprintf (buf, 128, "%.0X", 1);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "1");
-
- res = g_snprintf (buf, 128, "%.3X", 5);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "005");
-
- res = g_snprintf (buf, 128, "%.3X", 31);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "01F");
-
- res = g_snprintf (buf, 128, "%5.3X", 5);
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, " 005");
-
- /* %X, flags */
-
- res = g_snprintf (buf, 128, "%-X", 5);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "5");
-
- res = g_snprintf (buf, 128, "%03X", 5);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "005");
-
- res = g_snprintf (buf, 128, "%#X", 31);
- g_assert_cmpint (res, ==, 4);
- g_assert_cmpstr (buf, ==, "0X1F");
-
- res = g_snprintf (buf, 128, "%#X", 0);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "0");
-}
-
-static void
-test_f (void)
-{
- gchar buf[128];
- gint res;
-
- /* %f, basic formattting */
-
- res = g_snprintf (buf, 128, "%f", G_PI);
- g_assert_cmpint (res, ==, 8);
- g_assert (0 == strncmp (buf, "3.14159", 7));
-
- res = g_snprintf (buf, 128, "%.8f", G_PI);
- g_assert_cmpint (res, ==, 10);
- g_assert (0 == strncmp (buf, "3.1415926", 9));
-
- res = g_snprintf (buf, 128, "%.0f", G_PI);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "3");
-
- res = g_snprintf (buf, 128, "%1.f", G_PI);
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "3");
-
- res = g_snprintf (buf, 128, "%3.f", G_PI);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, " 3");
-
- /* %f, flags */
-
- res = g_snprintf (buf, 128, "%+f", G_PI);
- g_assert_cmpint (res, ==, 9);
- g_assert (0 == strncmp (buf, "+3.14159", 8));
-
- res = g_snprintf (buf, 128, "% f", G_PI);
- g_assert_cmpint (res, ==, 9);
- g_assert (0 == strncmp (buf, " 3.14159", 8));
-
- res = g_snprintf (buf, 128, "%#.0f", G_PI);
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "3.");
-
- res = g_snprintf (buf, 128, "%05.2f", G_PI);
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, "03.14");
-}
-
-static gboolean
-same_value (const gchar *actual,
- const gchar *expected)
-{
- gdouble actual_value, expected_value;
-
- actual_value = g_ascii_strtod (actual, NULL);
- expected_value = g_ascii_strtod (expected, NULL);
-
- return actual_value == expected_value;
-}
-
-static void
-test_e (void)
-{
- gchar buf[128];
- gint res;
-
- /* %e, basic formatting */
- /* for %e we can't expect to reproduce exact strings and lengths, since SUS
- * only guarantees that the exponent shall always contain at least two
- * digits. On Windows, it seems to be at least three digits long.
- * Therefore, we compare the results of parsing the expected result and the
- * actual result.
- */
-
- res = g_snprintf (buf, 128, "%e", G_PI);
- g_assert_cmpint (res, >=, 12);
- g_assert (same_value (buf, "3.141593e+00"));
-
- res = g_snprintf (buf, 128, "%.8e", G_PI);
- g_assert_cmpint (res, >=, 14);
- g_assert (same_value (buf, "3.14159265e+00"));
-
- res = g_snprintf (buf, 128, "%.0e", G_PI);
- g_assert_cmpint (res, >=, 5);
- g_assert (same_value (buf, "3e+00"));
-
- res = g_snprintf (buf, 128, "%.1e", 0.0);
- g_assert_cmpint (res, >=, 7);
- g_assert (same_value (buf, "0.0e+00"));
-
- res = g_snprintf (buf, 128, "%.1e", 0.00001);
- g_assert_cmpint (res, >=, 7);
- g_assert (same_value (buf, "1.0e-05"));
-
- res = g_snprintf (buf, 128, "%.1e", 10000.0);
- g_assert_cmpint (res, >=, 7);
- g_assert (same_value (buf, "1.0e+04"));
-
- /* %e, flags */
-
- res = g_snprintf (buf, 128, "%+e", G_PI);
- g_assert_cmpint (res, >=, 13);
- g_assert (same_value (buf, "+3.141593e+00"));
-
- res = g_snprintf (buf, 128, "% e", G_PI);
- g_assert_cmpint (res, >=, 13);
- g_assert (same_value (buf, " 3.141593e+00"));
-
- res = g_snprintf (buf, 128, "%#.0e", G_PI);
- g_assert_cmpint (res, >=, 6);
- g_assert (same_value (buf, "3.e+00"));
-
- res = g_snprintf (buf, 128, "%09.2e", G_PI);
- g_assert_cmpint (res, >=, 9);
- g_assert (same_value (buf, "03.14e+00"));
-}
-
-static void
-test_c (void)
-{
- gchar buf[128];
- gint res;
-
- res = g_snprintf (buf, 128, "%c", 'a');
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "a");
-}
-
-static void
-test_s (void)
-{
- gchar buf[128];
- gint res;
-
- res = g_snprintf (buf, 128, "%.2s", "abc");
- g_assert_cmpint (res, ==, 2);
- g_assert_cmpstr (buf, ==, "ab");
-
- res = g_snprintf (buf, 128, "%.6s", "abc");
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "abc");
-
- res = g_snprintf (buf, 128, "%5s", "abc");
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, " abc");
-
- res = g_snprintf (buf, 128, "%-5s", "abc");
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, "abc ");
-
- res = g_snprintf (buf, 128, "%5.2s", "abc");
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, " ab");
-
- res = g_snprintf (buf, 128, "%*s", 5, "abc");
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, " abc");
-
-#if 0 /* HP-UX doesn't get this right */
- res = g_snprintf (buf, 128, "%*s", -5, "abc");
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, "abc ");
-#endif
-
- res = g_snprintf (buf, 128, "%*.*s", 5, 2, "abc");
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, " ab");
-}
-
-static void
-test_n (void)
-{
- gchar buf[128];
- gint res;
- gint i;
- glong l;
-
- res = g_snprintf (buf, 128, "abc%n", &i);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "abc");
- g_assert_cmpint (i, ==, 3);
-
- res = g_snprintf (buf, 128, "abc%ln", &l);
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "abc");
- g_assert_cmpint (l, ==, 3);
-}
-
-static void
-test_percent (void)
-{
- gchar buf[128];
- gint res;
-
- res = g_snprintf (buf, 128, "%%");
- g_assert_cmpint (res, ==, 1);
- g_assert_cmpstr (buf, ==, "%");
-}
-
-static void
-test_positional_params (void)
-{
- gchar buf[128];
- gint res;
-
- res = g_snprintf (buf, 128, "%2$c %1$c", 'b', 'a');
- g_assert_cmpint (res, ==, 3);
- g_assert_cmpstr (buf, ==, "a b");
-
- res = g_snprintf (buf, 128, "%1$*2$.*3$s", "abc", 5, 2);
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, " ab");
-
- res = g_snprintf (buf, 128, "%1$s%1$s", "abc");
- g_assert_cmpint (res, ==, 6);
- g_assert_cmpstr (buf, ==, "abcabc");
-}
-
-static void
-test_64bit (void)
-{
- gchar buf[128];
- gint res;
-
- res = g_snprintf (buf, 128, "%" G_GINT64_FORMAT, (gint64)123456);
- g_assert_cmpint (res, ==, 6);
- g_assert_cmpstr (buf, ==, "123456");
-
- res = g_snprintf (buf, 128, "%" G_GINT64_FORMAT, (gint64)-123456);
- g_assert_cmpint (res, ==, 7);
- g_assert_cmpstr (buf, ==, "-123456");
-
- res = g_snprintf (buf, 128, "%" G_GUINT64_FORMAT, (guint64)123456);
- g_assert_cmpint (res, ==, 6);
- g_assert_cmpstr (buf, ==, "123456");
-
- res = g_snprintf (buf, 128, "%" G_GINT64_MODIFIER "o", (gint64)123456);
- g_assert_cmpint (res, ==, 6);
- g_assert_cmpstr (buf, ==, "361100");
-
- res = g_snprintf (buf, 128, "%#" G_GINT64_MODIFIER "o", (gint64)123456);
- g_assert_cmpint (res, ==, 7);
- g_assert_cmpstr (buf, ==, "0361100");
-
- res = g_snprintf (buf, 128, "%" G_GINT64_MODIFIER "x", (gint64)123456);
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, "1e240");
-
- res = g_snprintf (buf, 128, "%#" G_GINT64_MODIFIER "x", (gint64)123456);
- g_assert_cmpint (res, ==, 7);
- g_assert_cmpstr (buf, ==, "0x1e240");
-
- res = g_snprintf (buf, 128, "%" G_GINT64_MODIFIER "X", (gint64)123456);
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, "1E240");
-
-#ifdef G_OS_WIN32
- /* On Win32, test that the "ll" modifier also works, for backward
- * compatibility. One really should use the G_GINT64_MODIFIER (which
- * on Win32 is the "I64" that the (msvcrt) C library's printf uses),
- * but "ll" used to work with the "trio" g_printf implementation in
- * GLib 2.2, so it's best if it continues to work.
- */
-
- res = g_snprintf (buf, 128, "%" "lli", (gint64)123456);
- g_assert_cmpint (res, ==, 6);
- g_assert_cmpstr (buf, ==, "123456");
-
- res = g_snprintf (buf, 128, "%" "lli", (gint64)-123456);
- g_assert_cmpint (res, ==, 7);
- g_assert_cmpstr (buf, ==, "-123456");
-
- res = g_snprintf (buf, 128, "%" "llu", (guint64)123456);
- g_assert_cmpint (res, ==, 6);
- g_assert_cmpstr (buf, ==, "123456");
-
- res = g_snprintf (buf, 128, "%" "ll" "o", (gint64)123456);
- g_assert_cmpint (res, ==, 6);
- g_assert_cmpstr (buf, ==, "361100");
-
- res = g_snprintf (buf, 128, "%#" "ll" "o", (gint64)123456);
- g_assert_cmpint (res, ==, 7);
- g_assert_cmpstr (buf, ==, "0361100");
-
- res = g_snprintf (buf, 128, "%" "ll" "x", (gint64)123456);
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, "1e240");
-
- res = g_snprintf (buf, 128, "%#" "ll" "x", (gint64)123456);
- g_assert_cmpint (res, ==, 7);
- g_assert_cmpstr (buf, ==, "0x1e240");
-
- res = g_snprintf (buf, 128, "%" "ll" "X", (gint64)123456);
- g_assert_cmpint (res, ==, 5);
- g_assert_cmpstr (buf, ==, "1E240");
-#endif
-}
-
-int
-main (int argc,
- char *argv[])
-{
- g_test_init (&argc, &argv, NULL);
-
- g_test_add_func ("/printf/test-retval-and-trunc", test_retval_and_trunc);
- g_test_add_func ("/printf/test-d", test_d);
- g_test_add_func ("/printf/test-o", test_o);
- g_test_add_func ("/printf/test-u", test_u);
- g_test_add_func ("/printf/test-x", test_x);
- g_test_add_func ("/printf/test-X", test_X);
- g_test_add_func ("/printf/test-f", test_f);
- g_test_add_func ("/printf/test-e", test_e);
- g_test_add_func ("/printf/test-c", test_c);
- g_test_add_func ("/printf/test-s", test_s);
- g_test_add_func ("/printf/test-n", test_n);
- g_test_add_func ("/printf/test-percent", test_percent);
- g_test_add_func ("/printf/test-positional-params", test_positional_params);
- g_test_add_func ("/printf/test-64bit", test_64bit);
-
- return g_test_run();
-}
+++ /dev/null
-INCLUDES = \
- -DG_LOG_DOMAIN=\"GLib-GRegex\" \
- -DSUPPORT_UCP \
- -DSUPPORT_UTF8 \
- -DNEWLINE=-1 \
- -DMATCH_LIMIT=10000000 \
- -DMATCH_LIMIT_RECURSION=10000000 \
- -DMAX_NAME_SIZE=32 \
- -DMAX_NAME_COUNT=10000 \
- -DMAX_DUPLENGTH=30000 \
- -DLINK_SIZE=2 \
- -DEBCDIC=0 \
- -DPOSIX_MALLOC_THRESHOLD=10 \
- -DPCRE_STATIC \
- -I$(top_srcdir) \
- -I$(srcdir) \
- -I$(top_srcdir)/glib \
- @GLIB_DEBUG_FLAGS@ \
- -DG_DISABLE_DEPRECATED \
- -DGLIB_COMPILATION \
- $(DEPRECATED_FLAGS)\
- $(WARN_CFLAGS) \
- $(PCRE_WARN_CFLAGS) \
- $(DEP_CFLAGS)
-
-noinst_LTLIBRARIES = libpcre.la
-
-libpcre_headers =
-
-libpcre_la_SOURCES = \
+++ /dev/null
- $(libpcre_headers)
-
-libpcre_la_LIBADD = $(DEP_LIBS)
-
-libpcre_la_LDFLAGS = -no-undefined
-
-EXTRA_DIST = \
- COPYING \
- makefile.msc
-
+++ /dev/null
-/*************************************************
-* Perl-Compatible Regular Expressions *
-*************************************************/
-
-/* PCRE is a library of functions to support regular expressions whose syntax
-and semantics are as close as possible to those of the Perl 5 language.
-
- Written by Philip Hazel
- Copyright (c) 1997-2006 University of Cambridge
-
------------------------------------------------------------------------------
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- * Neither the name of the University of Cambridge nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
------------------------------------------------------------------------------
-*/
-
-/* This file has been modified to use glib instead of the internal table
- * in ucptable.c -- Marco Barisione */
-
-/* This module contains code for searching the table of Unicode character
-properties. */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "pcre_internal.h"
-
-#include "ucp.h" /* Category definitions */
-#include "ucpinternal.h" /* Internal table details */
-
-
-/* Table to translate from particular type value to the general value. */
-
-static int ucp_gentype[] = {
- ucp_C, ucp_C, ucp_C, ucp_C, ucp_C, /* Cc, Cf, Cn, Co, Cs */
- ucp_L, ucp_L, ucp_L, ucp_L, ucp_L, /* Ll, Lu, Lm, Lo, Lt */
- ucp_M, ucp_M, ucp_M, /* Mc, Me, Mn */
- ucp_N, ucp_N, ucp_N, /* Nd, Nl, No */
- ucp_P, ucp_P, ucp_P, ucp_P, ucp_P, /* Pc, Pd, Pe, Pf, Pi */
- ucp_P, ucp_P, /* Ps, Po */
- ucp_S, ucp_S, ucp_S, ucp_S, /* Sc, Sk, Sm, So */
- ucp_Z, ucp_Z, ucp_Z /* Zl, Zp, Zs */
-};
-
-
-
-/*************************************************
-* Search table and return type *
-*************************************************/
-
-/* Three values are returned: the category is ucp_C, ucp_L, etc. The detailed
-character type is ucp_Lu, ucp_Nd, etc. The script is ucp_Latin, etc.
-
-Arguments:
- c the character value
- type_ptr the detailed character type is returned here
- script_ptr the script is returned here
-
-Returns: the character type category
-*/
-
-int
-_pcre_ucp_findprop(const unsigned int c, int *type_ptr, int *script_ptr)
-{
-/* Note that the Unicode types have the same values in glib and in
- * PCRE, so ucp_Ll == G_UNICODE_LOWERCASE_LETTER,
- * ucp_Zs == G_UNICODE_SPACE_SEPARATOR, and so on. */
-*type_ptr = g_unichar_type(c);
-*script_ptr = g_unichar_get_script(c);
-return ucp_gentype[*type_ptr];
-}
-
-
-
-
-/*************************************************
-* Search table and return other case *
-*************************************************/
-
-/* If the given character is a letter, and there is another case for the
-letter, return the other case. Otherwise, return -1.
-
-Arguments:
- c the character value
-
-Returns: the other case or NOTACHAR if none
-*/
-
-unsigned int
-_pcre_ucp_othercase(const unsigned int c)
-{
-int other_case = NOTACHAR;
-
-if (g_unichar_islower(c))
- other_case = g_unichar_toupper(c);
-else if (g_unichar_isupper(c))
- other_case = g_unichar_tolower(c);
-
-if (other_case == c)
- other_case = NOTACHAR;
-
-return other_case;
-}
-
-
-/* End of pcre_ucp_searchfuncs.c */
+++ /dev/null
-#include "config.h"
-#include "pcre_internal.h"
-
-/*
- * This function is not needed by GRegex, so print an error and
- * return always -1, that is the string is a valid UTF-8 encoded
- * string.
- */
-int
-_pcre_valid_utf8(const uschar *string, int length)
-{
-g_warning ("%s: this function should not be called", G_STRLOC);
-return -1;
-}
+++ /dev/null
-/* glibconfig.h.win32.in. Originally merged from two versions of
- * glibconfig.h, generated by the GLib configure script, for gcc and
- * MSVC.
- */
-
-/* glibconfig.h
- *
- * This is a generated file. Please modify 'glibconfig.h.win32.in'
- */
-
-#ifndef __G_LIBCONFIG_H__
-#define __G_LIBCONFIG_H__
-
-#include <glib/gmacros.h>
-
-#include <limits.h>
-#include <float.h>
-
-G_BEGIN_DECLS
-
-#define G_MINFLOAT FLT_MIN
-#define G_MAXFLOAT FLT_MAX
-#define G_MINDOUBLE DBL_MIN
-#define G_MAXDOUBLE DBL_MAX
-#define G_MINSHORT SHRT_MIN
-#define G_MAXSHORT SHRT_MAX
-#define G_MAXUSHORT USHRT_MAX
-#define G_MININT INT_MIN
-#define G_MAXINT INT_MAX
-#define G_MAXUINT UINT_MAX
-#define G_MINLONG LONG_MIN
-#define G_MAXLONG LONG_MAX
-#define G_MAXULONG ULONG_MAX
-
-typedef signed char gint8;
-typedef unsigned char guint8;
-typedef signed short gint16;
-typedef unsigned short guint16;
-#define G_GINT16_MODIFIER "h"
-#define G_GINT16_FORMAT "hi"
-#define G_GUINT16_FORMAT "hu"
-typedef signed int gint32;
-typedef unsigned int guint32;
-#define G_GINT32_MODIFIER ""
-#define G_GINT32_FORMAT "i"
-#define G_GUINT32_FORMAT "u"
-#define G_HAVE_GINT64 1 /* deprecated, always true */
-
-#ifndef _MSC_VER
-G_GNUC_EXTENSION typedef signed long long gint64;
-G_GNUC_EXTENSION typedef unsigned long long guint64;
-#else /* _MSC_VER */
-typedef signed __int64 gint64;
-typedef unsigned __int64 guint64;
-#endif /* _MSC_VER */
-
-#ifndef _MSC_VER
-#define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL))
-#else /* _MSC_VER */
-#define G_GINT64_CONSTANT(val) (val##i64)
-#endif /* _MSC_VER */
-#ifndef _MSC_VER
-#define G_GUINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##ULL))
-#else /* _MSC_VER */
-#define G_GUINT64_CONSTANT(val) (val##Ui64)
-#endif /* _MSC_VER */
-#define G_GINT64_MODIFIER "I64"
-#define G_GINT64_FORMAT "I64i"
-#define G_GUINT64_FORMAT "I64u"
-
-#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64)
-
-#define GLIB_SIZEOF_VOID_P 8
-#define GLIB_SIZEOF_LONG 4
-#define GLIB_SIZEOF_SIZE_T 8
-
-typedef signed long long gssize;
-typedef unsigned long long gsize;
-#define G_GSIZE_MODIFIER "I64"
-#define G_GSSIZE_FORMAT "I64d"
-#define G_GSIZE_FORMAT "I64u"
-
-#define G_MAXSIZE G_MAXUINT64
-#define G_MINSSIZE G_MININT64
-#define G_MAXSSIZE G_MAXINT64
-
-#else
-
-#define GLIB_SIZEOF_VOID_P 4
-#define GLIB_SIZEOF_LONG 4
-#define GLIB_SIZEOF_SIZE_T 4
-
-typedef signed int gssize;
-typedef unsigned int gsize;
-#define G_GSIZE_MODIFIER ""
-#define G_GSSIZE_FORMAT "i"
-#define G_GSIZE_FORMAT "u"
-
-#define G_MAXSIZE G_MAXUINT
-#define G_MINSSIZE G_MININT
-#define G_MAXSSIZE G_MAXINT
-
-#endif
-
-typedef gint64 goffset;
-#define G_MINOFFSET G_MININT64
-#define G_MAXOFFSET G_MAXINT64
-
-#define G_GOFFSET_MODIFIER G_GINT64_MODIFIER
-#define G_GOFFSET_FORMAT G_GINT64_FORMAT
-#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val)
-
-
-#ifndef _WIN64
-
-#define GPOINTER_TO_INT(p) ((gint) (p))
-#define GPOINTER_TO_UINT(p) ((guint) (p))
-
-#define GINT_TO_POINTER(i) ((gpointer) (i))
-#define GUINT_TO_POINTER(u) ((gpointer) (u))
-
-typedef signed int gintptr;
-typedef unsigned int guintptr;
-
-#define G_GINTPTR_MODIFIER ""
-#define G_GINTPTR_FORMAT "i"
-#define G_GUINTPTR_FORMAT "u"
-
-#else
-
-#define GPOINTER_TO_INT(p) ((gint) (gint64) (p))
-#define GPOINTER_TO_UINT(p) ((guint) (guint64) (p))
-
-#define GINT_TO_POINTER(i) ((gpointer) (gint64) (i))
-#define GUINT_TO_POINTER(u) ((gpointer) (guint64) (u))
-
-#ifndef _MSC_VER
-typedef signed long long gintptr;
-typedef unsigned long long guintptr;
-#else
-typedef signed __int64 gintptr;
-typedef unsigned __int64 guintptr;
-#endif
-
-#define G_GINTPTR_MODIFIER "I64"
-#define G_GINTPTR_FORMAT "I64i"
-#define G_GUINTPTR_FORMAT "I64u"
-
-#endif
-
-#ifdef NeXT /* @#%@! NeXTStep */
-# define g_ATEXIT(proc) (!atexit (proc))
-#else
-# define g_ATEXIT(proc) (atexit (proc))
-#endif
-
-#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END
-
-#define GLIB_MAJOR_VERSION @GLIB_MAJOR_VERSION@
-#define GLIB_MINOR_VERSION @GLIB_MINOR_VERSION@
-#define GLIB_MICRO_VERSION @GLIB_MICRO_VERSION@
-
-#define G_OS_WIN32
-#define G_PLATFORM_WIN32
-@GLIB_WIN32_STATIC_COMPILATION_DEFINE@
-
-#ifndef _MSC_VER
-#define G_VA_COPY va_copy
-#endif /* not _MSC_VER */
-
-#ifdef __cplusplus
-#define G_HAVE_INLINE 1
-#else /* !__cplusplus */
-#ifndef _MSC_VER
-#define G_HAVE_INLINE 1
-#endif /* _MSC_VER */
-#define G_HAVE___INLINE 1
-#if !defined(_MSC_VER) && !defined(__DMC__)
-#define G_HAVE___INLINE__ 1
-#endif /* !_MSC_VER and !__DMC__ */
-#endif /* !__cplusplus */
-
-#define G_CAN_INLINE 1
-
-#ifndef _MSC_VER
-#define G_HAVE_ISO_VARARGS 1
-
-/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
- * is passed ISO vararg support is turned off, and there is no work
- * around to turn it on, so we unconditionally turn it off.
- */
-#if __GNUC__ == 2 && __GNUC_MINOR__ == 95
-# undef G_HAVE_ISO_VARARGS
-#endif
-
-#define G_HAVE_GNUC_VARARGS 1
-#else /* _MSC_VER */
-/* varargs macros available since msvc8 (vs2005) */
-# if _MSC_VER >= 1400
-# define G_HAVE_ISO_VARARGS 1
-# endif
-#endif /* not _MSC_VER */
-#define G_HAVE_GROWING_STACK 0
-
-#define G_GNUC_INTERNAL
-
-#define G_THREADS_ENABLED
-#define G_THREADS_IMPL_WIN32
-typedef struct _GMutex* GStaticMutex;
-#define G_STATIC_MUTEX_INIT NULL
-#define g_static_mutex_get_mutex(mutex) \
- (g_static_mutex_get_mutex_impl_shortcut (mutex))
-/* This represents a system thread as used by the implementation. An
- * alien implementaion, as loaded by g_thread_init can only count on
- * "sizeof (gpointer)" bytes to store their info. We however need more
- * for some of our native implementations. */
-typedef union _GSystemThread GSystemThread;
-union _GSystemThread
-{
-#ifndef _WIN64
- char data[4];
-#else
- char data[8];
-#endif
- double dummy_double;
- void *dummy_pointer;
- long dummy_long;
-};
-
-#define GINT16_TO_LE(val) ((gint16) (val))
-#define GUINT16_TO_LE(val) ((guint16) (val))
-#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val))
-#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val))
-#define GINT32_TO_LE(val) ((gint32) (val))
-#define GUINT32_TO_LE(val) ((guint32) (val))
-#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val))
-#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val))
-#define GINT64_TO_LE(val) ((gint64) (val))
-#define GUINT64_TO_LE(val) ((guint64) (val))
-#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val))
-#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val))
-#define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val))
-#define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val))
-#define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val))
-#define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val))
-#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val))
-#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val))
-#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val))
-#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val))
-#define GSIZE_TO_LE(val) ((gsize) GUINT32_TO_LE (val))
-#define GSSIZE_TO_LE(val) ((gssize) GINT32_TO_LE (val))
-#define GSIZE_TO_BE(val) ((gsize) GUINT32_TO_BE (val))
-#define GSSIZE_TO_BE(val) ((gssize) GINT32_TO_BE (val))
-#define G_BYTE_ORDER G_LITTLE_ENDIAN
-
-#define GLIB_SYSDEF_POLLIN =1
-#define GLIB_SYSDEF_POLLOUT =4
-#define GLIB_SYSDEF_POLLPRI =2
-#define GLIB_SYSDEF_POLLHUP =16
-#define GLIB_SYSDEF_POLLERR =8
-#define GLIB_SYSDEF_POLLNVAL =32
-
-#define G_MODULE_SUFFIX "dll"
-
-/* A GPid is an abstraction for a process "handle". It is *not* an
- * abstraction for a process identifier in general. GPid is used in
- * GLib only for descendant processes spawned with the g_spawn*
- * functions. On POSIX there is no "process handle" concept as such,
- * but on Windows a GPid is a handle to a process, a kind of pointer,
- * not a process identifier.
- */
-typedef void * GPid;
-
-#define GLIB_SYSDEF_AF_UNIX 1
-#define GLIB_SYSDEF_AF_INET 2
-#define GLIB_SYSDEF_AF_INET6 23
-
-#define GLIB_SYSDEF_MSG_OOB 1
-#define GLIB_SYSDEF_MSG_PEEK 2
-#define GLIB_SYSDEF_MSG_DONTROUTE 4
-
-G_END_DECLS
-
-#endif /* GLIBCONFIG_H */
+++ /dev/null
-gmodule_supported=@G_MODULE_SUPPORTED@
-
-Name: GModule Uninstalled
-Description: Dynamic module loader for GLib, Not Installed
-Requires: glib-2.0-uninstalled
-Version: @VERSION@
-Libs: @G_MODULE_LDFLAGS@ ${pc_top_builddir}/${pcfiledir}/gmodule/libgmodule-2.0.la @G_THREAD_LIBS@
-Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@/gmodule @G_THREAD_CFLAGS@
+++ /dev/null
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-gmodule_supported=true
-
-Name: GModule
-Description: Dynamic module loader for GLib
-Requires: glib-2.0
-Version: @VERSION@
-Libs: ${pc_top_builddir}/${pcfiledir}/gmodule/libgmodule-2.0.la @G_THREAD_LIBS@
-Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@/gmodule @G_THREAD_CFLAGS@
-
+++ /dev/null
-Name: GObject Uninstalled
-Description: Object/type system for GLib, Not Installed
-Requires: glib-2.0-uninstalled,gthread-2.0-uninstalled
-Version: @VERSION@
-Libs: ${pc_top_builddir}/${pcfiledir}/gobject/libgobject-2.0.la
-## cflags contains builddir in addition to srcdir because of gmarshal.h
-Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@ -I${pc_top_builddir}/${pcfiledir}
+++ /dev/null
-.TH GLIB-GENMARSHAL 1 "18 Oct 2000"
-.SH NAME
-glib-genmarshal \- C code marshaller generation utility for GLib closures
-.SH SYNOPSIS
-
-\fBglib-genmarshal\fP [\fIoptions\fP] [\fIfiles...\fP]
-
-.SH DESCRIPTION
-\fBglib-genmarshal\fP is a small utility that generates C code marshallers
-for callback functions of the GClosure mechanism in the GObject sublibrary
-of GLib. The marshaller functions have a standard signature, they get passed
-in the invoking closure, an array of value structures holding the callback
-function parameters and a value structure for the return value of the
-callback. The marshaller is then responsible to call the respective C code
-function of the closure with all the parameters on the stack and to collect
-its return value.
-
-.SH INVOCATION
-
-\fBglib-genmarshal\fP takes a list of marshallers to generate as input.
-The marshaller list is either read from standard input or from files
-passed as additional arguments on the command line.
-
-.SS Options
-.TP
-\fI--header
-Generate header file contents of the marshallers.
-.TP
-\fI--body
-Generate C code file contents of the marshallers.
-.TP
-\fI--prefix=string, --prefix string
-Specify marshaller prefix. The default prefix is `\fIg_cclosure_marshal\fP'.
-.TP
-\fI--skip-source
-Skip source location remarks in generated comments.
-.TP
-\fI--nostdinc
-Do not use the standard marshallers of the GObject library, and skip
-gmarshal.h include directive in generated header files.
-.TP
-\fI--internal
-Mark generated function as internal by using the G_GNUC_INTERNAL macro.
-.TP
-\fI--g-fatal-warnings
-Make warnings fatal, that is, exit immediately once a warning occurs.
-.TP
-\fI-h, --help\fP
-Print brief help and exit.
-.TP
-\fI-v, --version\fP
-Print version and exit.
-.PP
-
-.SS Marshaller list format
-.PP
-The marshaller lists are processed line by line, a line can contain a
-comment in the form of
-.RS
-.PP
-# this is a comment
-.PP
-.RE
-or a marshaller specification of the form
-.RS
-.PP
-\fIRTYPE\fP:\fBPTYPE\fP
-.PP
-\fIRTYPE\fP:\fBPTYPE\fP,\fBPTYPE\fP
-.PP
-\fIRTYPE\fP:\fBPTYPE\fP,\fBPTYPE\fP,\fBPTYPE\fP
-.PP
-# up to 16 \fBPTYPE\fPs may be present
-.PP
-.RE
-The \fIRTYPE\fP part specifies the callback's return type and
-the \fBPTYPE\fPs right to the colon specify the callback's
-parameter list, except for the first and the last arguments which
-are always pointers.
-.PP
-
-.SS Parameter types
-Currently, the following types are supported:
-.TP 12
-\fIVOID
-indicates no return type, or no extra parameters. if \fIVOID\fP is used as
-the parameter list, no additional parameters may be present.
-.TP 12
-\fIBOOLEAN
-for boolean types (gboolean)
-.TP 12
-\fICHAR
-for signed char types (gchar)
-.TP 12
-\fIUCHAR
-for unsigned char types (guchar)
-.TP 12
-\fIINT
-for signed integer types (gint)
-.TP 12
-\fIUINT
-for unsigned integer types (guint)
-.TP 12
-\fILONG
-for signed long integer types (glong)
-.TP 12
-\fIULONG
-for unsigned long integer types (gulong)
-.TP 12
-\fIINT64
-for signed 64bit integer types (gint64)
-.TP 12
-\fIUINT64
-for unsigned 64bit integer types (guint64)
-.TP 12
-\fIENUM
-for enumeration types (gint)
-.TP 12
-\fIFLAGS
-for flag enumeration types (guint)
-.TP 12
-\fIFLOAT
-for single-precision float types (gfloat)
-.TP 12
-\fIDOUBLE
-for double-precision float types (gdouble)
-.TP 12
-\fISTRING
-for string types (gchar*)
-.TP 12
-\fIBOXED
-for boxed (anonymous but reference counted) types (GBoxed*)
-.TP 12
-\fIPARAM
-for GParamSpec or derived types (GParamSpec*)
-.TP 12
-\fIPOINTER
-for anonymous pointer types (gpointer)
-.TP 12
-\fIOBJECT
-for GObject or derived types (GObject*)
-.TP 12
-\fINONE
-deprecated alias for \fIVOID\fP
-.TP 12
-\fIBOOL
-deprecated alias for \fIBOOLEAN\fP
-
-.SH EXAMPLE
-To generate marshallers for the following callback functions:
-.PP
-.RS
-.nf
-void foo (gpointer data1,
- gpointer data2);
-void bar (gpointer data1,
- gint param1,
- gpointer data2);
-gfloat baz (gpointer data1,
- gboolean param1,
- guchar param2,
- gpointer data2);
-.fi
-.RE
-.PP
-The marshaller list has to look like this:
-.PP
-.RS
-.nf
-VOID:VOID
-VOID:INT
-FLOAT:BOOLEAN,UCHAR
-.fi
-.RE
-.PP
-The generated marshallers have the arguments encoded
-in their function name. For this particular list, they
-are
-g_cclosure_marshal_VOID__VOID(),
-g_cclosure_marshal_VOID__INT(),
-g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR().
-.PP
-They can be used directly for GClosures or be passed in as
-the GSignalCMarshaller c_marshaller; argument upon creation
-of signals:
-.PP
-.nf
-GClosure *cc_foo, *cc_bar, *cc_baz;
-
-cc_foo = g_cclosure_new (NULL, foo, NULL);
-g_closure_set_marshal (cc_foo, g_cclosure_marshal_VOID__VOID);
-cc_bar = g_cclosure_new (NULL, bar, NULL);
-g_closure_set_marshal (cc_bar, g_cclosure_marshal_VOID__INT);
-cc_baz = g_cclosure_new (NULL, baz, NULL);
-g_closure_set_marshal (cc_baz, g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR);
-.fi
-.PP
-
-
-.SH SEE ALSO
-\fB
-glib-mkenums(1)
-\fP
-
-.SH BUGS
-None known yet.
-
-.SH AUTHOR
-.B glib-genmarshal
-has been written by Tim Janik <timj@gtk.org>.
-.PP
-This manual page was provided by Tim Janik <timj@gtk.org>.
+++ /dev/null
-.TH GLIB-MKENUMS 1 "27 Jul 2002"
-.SH NAME
-glib-mkenums \- C language enum description generation utility
-.SH SYNOPSIS
-
-\fBglib-mkenums\fP [\fIoptions\fP] [\fIfiles...\fP]
-
-.SH DESCRIPTION
-\fBglib-mkenums\fP is a small perl-script utility that parses C code to extract enum
-definitions and produces enum descriptions based on text templates specified
-by the user. Most frequently this script is used to produce C code that contains
-enum values as strings so programs can provide value name strings for introspection.
-
-.SH INVOCATION
-
-\fBglib-mkenums\fP takes a list of valid C code files as input. The options
-specified control the text that is output, certain substitutions are performed
-on the text templates for keywords enclosed in @ characters.
-
-
-.SS Options
-.TP
-\fI--fhead <text>
-Put out <text> prior to processing input files.
-.TP
-\fI--fprod <text>
-Put out <text> everytime a new input file is being processed.
-.TP
-\fI--ftail <text>
-Put out <text> after all input files have been processed.
-.TP
-\fI--eprod <text>
-Put out <text> everytime an enum is encountered in the input files.
-.TP
-\fI--vhead <text>
-Put out <text> before iterating over the set of values of an enum.
-.TP
-\fI--vprod <text>
-Put out <text> for every value of an enum.
-.TP
-\fI--vtail <text>
-Put out <text> after iterating over all values of an enum.
-.TP
-\fI--comments <text>
-Template for auto-generated comments, the default (for C code generations) is
-"/* @comment@ */".
-.TP
-\fI--template file
-Read templates from the given file. The templates are enclosed in
-specially-formatted C comments
-.PP
-.RS
-.nf
-/*** BEGIN section ***/
-/*** END section ***/
-.fi
-.PP
-where section may be file-header, file-production, file-tail,
-enumeration-production, value-header, value-production, value-tail or
-comment.
-.TP
-\fI-h, --help\fP
-Print brief help and exit.
-.TP
-\fI-v, --version\fP
-Print version and exit.
-.PP
-
-
-.SS Production text substitutions
-Certain keywords enclosed in @ characters will be substituted in the outputted
-text. For the substitution examples of the keywords below, the following example
-enum definition is assumed:
-.PP
-.RS
-.nf
-typedef enum
-{
- PREFIX_THE_XVALUE = 1 << 3,
- PREFIX_ANOTHER_VALUE = 1 << 4
-} PrefixTheXEnum;
-.fi
-.RE
-
-.TP 12
-\fI@EnumName@
-The name of the enum currently being processed, enum names are assumed to be
-properly namespaced and to use mixed capitalization to separate
-words (e.g. PrefixTheXEnum).
-.TP 12
-\fI@enum_name@
-The enum name with words lowercase and word-separated by underscores (e.g. prefix_the_xenum).
-.TP 12
-\fI@ENUMNAME@
-The enum name with words uppercase and word-separated by underscores (e.g. PREFIX_THE_XENUM).
-.TP 12
-\fI@ENUMSHORT@
-The enum name with words uppercase and word-separated by underscores, prefix stripped (e.g. THE_XENUM).
-.TP 12
-\fI@VALUENAME@
-The enum value name currently being processed with words uppercase and word-separated by underscores,
-this is the assumed literal notation of enum values in the C sources (e.g. PREFIX_THE_XVALUE).
-.TP 12
-\fI@valuenick@
-A nick name for the enum value currently being processed, this is usually generated by stripping
-common prefix words of all the enum values of the current enum, the words are lowercase and
-underscores are substituted by a minus (e.g. the-xvalue).
-.TP 12
-\fI@type@
-This is substituted either by "enum" or "flags", depending on whether the enum value definitions
-contained bit-shift operators or not (e.g. flags).
-.TP 12
-\fI@Type@
-The same as \fI@type@\fP with the first letter capitalized (e.g. Flags).
-.TP 12
-\fI@TYPE@
-The same as \fI@type@\fP with all letters uppercased (e.g. FLAGS).
-.TP 12
-\fI@filename@
-The name of the input file currently being processed (e.g. foo.h).
-.TP 12
-\fI@basename@
-The base name of the input file currently being processed (e.g. foo.h). (Since: 2.22)
-
-.SS Trigraph extensions
-Some C comments are treated specially in the parsed enum definitions, such comments
-start out with the trigraph sequence "/*<" and end with the trigraph sequence ">*/".
-.PP
-Per enum definition, the options "skip" and "flags" can be specified, to indicate
-this enum definition to be skipped, or for it to be treated as a flags definition, or
-to specify the common prefix to be stripped from all values to generate value nicknames,
-respectively. The "underscore_name" option can be used to specify the underscorized name
-variant used in the *_get_type() function and *_TYPE_* macro. For instance,
-/*< underscore_name=gnome_vfs_uri_hide_options >*/.
-.PP
-Per value definition, the options "skip" and "nick" are supported. The former causes the
-value to be skipped, and the latter can be used to specify the otherwise auto-generated
-nickname.
-Examples:
-.PP
-.RS
-.nf
-typedef enum /*< skip >*/
-{
- PREFIX_FOO
-} PrefixThisEnumWillBeSkipped;
-typedef enum /*< flags,prefix=PREFIX >*/
-{
- PREFIX_THE_ZEROTH_VALUE, /*< skip >*/
- PREFIX_THE_FIRST_VALUE,
- PREFIX_THE_SECOND_VALUE,
- PREFIX_THE_THIRD_VALUE, /*< nick=the-last-value >*/
-} PrefixTheFlagsEnum;
-.fi
-.RE
-
-.SH SEE ALSO
-\fB
-glib-genmarshal(1)
-\fP
-
-.SH BUGS
-None known yet.
-
-.SH AUTHOR
-.B glib-mkenums
-was written by Tim Janik <timj@gtk.org> and Owen Taylor <otaylor@redhat.com>.
-.PP
-This manual page was provided by Tim Janik <timj@gtk.org>.
+++ /dev/null
-/* Generated by makegobjectalias.pl */
-
-#ifndef DISABLE_VISIBILITY
-
-#include "glibconfig.h"
-
-#ifdef G_HAVE_GNUC_VISIBILITY
-
-#define IN_FILE(x) 1
-#define IN_HEADER defined
-
-#if IN_HEADER(__G_BOXED_H__)
-#if IN_FILE(__G_BOXED_C__)
-extern __typeof (g_boxed_copy) IA__g_boxed_copy __attribute((visibility("hidden")));
-#define g_boxed_copy IA__g_boxed_copy
-
-extern __typeof (g_boxed_free) IA__g_boxed_free __attribute((visibility("hidden")));
-#define g_boxed_free IA__g_boxed_free
-
-extern __typeof (g_boxed_type_register_static) IA__g_boxed_type_register_static __attribute((visibility("hidden")));
-#define g_boxed_type_register_static IA__g_boxed_type_register_static
-
-extern __typeof (g_date_get_type) IA__g_date_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_date_get_type IA__g_date_get_type
-
-extern __typeof (g_gstring_get_type) IA__g_gstring_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_gstring_get_type IA__g_gstring_get_type
-
-extern __typeof (g_strv_get_type) IA__g_strv_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_strv_get_type IA__g_strv_get_type
-
-extern __typeof (g_hash_table_get_type) IA__g_hash_table_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_hash_table_get_type IA__g_hash_table_get_type
-
-extern __typeof (g_array_get_type) IA__g_array_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_array_get_type IA__g_array_get_type
-
-extern __typeof (g_byte_array_get_type) IA__g_byte_array_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_byte_array_get_type IA__g_byte_array_get_type
-
-extern __typeof (g_ptr_array_get_type) IA__g_ptr_array_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_ptr_array_get_type IA__g_ptr_array_get_type
-
-extern __typeof (g_regex_get_type) IA__g_regex_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_regex_get_type IA__g_regex_get_type
-
-extern __typeof (g_variant_type_get_gtype) IA__g_variant_type_get_gtype __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_variant_type_get_gtype IA__g_variant_type_get_gtype
-
-extern __typeof (g_variant_get_gtype) IA__g_variant_get_gtype __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_variant_get_gtype IA__g_variant_get_gtype
-
-extern __typeof (g_closure_get_type) IA__g_closure_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_closure_get_type IA__g_closure_get_type
-
-extern __typeof (g_value_get_type) IA__g_value_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_value_get_type IA__g_value_get_type
-
-extern __typeof (g_value_array_get_type) IA__g_value_array_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_value_array_get_type IA__g_value_array_get_type
-
-extern __typeof (g_value_set_boxed) IA__g_value_set_boxed __attribute((visibility("hidden")));
-#define g_value_set_boxed IA__g_value_set_boxed
-
-extern __typeof (g_value_take_boxed) IA__g_value_take_boxed __attribute((visibility("hidden")));
-#define g_value_take_boxed IA__g_value_take_boxed
-
-extern __typeof (g_value_dup_boxed) IA__g_value_dup_boxed __attribute((visibility("hidden")));
-#define g_value_dup_boxed IA__g_value_dup_boxed
-
-extern __typeof (g_value_get_boxed) IA__g_value_get_boxed __attribute((visibility("hidden")));
-#define g_value_get_boxed IA__g_value_get_boxed
-
-extern __typeof (g_value_set_static_boxed) IA__g_value_set_static_boxed __attribute((visibility("hidden")));
-#define g_value_set_static_boxed IA__g_value_set_static_boxed
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_value_set_boxed_take_ownership) IA__g_value_set_boxed_take_ownership __attribute((visibility("hidden")));
-#define g_value_set_boxed_take_ownership IA__g_value_set_boxed_take_ownership
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_MARSHAL_H__)
-#if IN_FILE(__G_SIGNAL_C__)
-extern __typeof (g_cclosure_marshal_BOOLEAN__FLAGS) IA__g_cclosure_marshal_BOOLEAN__FLAGS __attribute((visibility("hidden")));
-#define g_cclosure_marshal_BOOLEAN__FLAGS IA__g_cclosure_marshal_BOOLEAN__FLAGS
-
-extern __typeof (g_cclosure_marshal_STRING__OBJECT_POINTER) IA__g_cclosure_marshal_STRING__OBJECT_POINTER __attribute((visibility("hidden")));
-#define g_cclosure_marshal_STRING__OBJECT_POINTER IA__g_cclosure_marshal_STRING__OBJECT_POINTER
-
-extern __typeof (g_cclosure_marshal_VOID__BOOLEAN) IA__g_cclosure_marshal_VOID__BOOLEAN __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__BOOLEAN IA__g_cclosure_marshal_VOID__BOOLEAN
-
-extern __typeof (g_cclosure_marshal_VOID__BOXED) IA__g_cclosure_marshal_VOID__BOXED __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__BOXED IA__g_cclosure_marshal_VOID__BOXED
-
-extern __typeof (g_cclosure_marshal_VOID__CHAR) IA__g_cclosure_marshal_VOID__CHAR __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__CHAR IA__g_cclosure_marshal_VOID__CHAR
-
-extern __typeof (g_cclosure_marshal_VOID__DOUBLE) IA__g_cclosure_marshal_VOID__DOUBLE __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__DOUBLE IA__g_cclosure_marshal_VOID__DOUBLE
-
-extern __typeof (g_cclosure_marshal_VOID__ENUM) IA__g_cclosure_marshal_VOID__ENUM __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__ENUM IA__g_cclosure_marshal_VOID__ENUM
-
-extern __typeof (g_cclosure_marshal_VOID__FLAGS) IA__g_cclosure_marshal_VOID__FLAGS __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__FLAGS IA__g_cclosure_marshal_VOID__FLAGS
-
-extern __typeof (g_cclosure_marshal_VOID__FLOAT) IA__g_cclosure_marshal_VOID__FLOAT __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__FLOAT IA__g_cclosure_marshal_VOID__FLOAT
-
-extern __typeof (g_cclosure_marshal_VOID__INT) IA__g_cclosure_marshal_VOID__INT __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__INT IA__g_cclosure_marshal_VOID__INT
-
-extern __typeof (g_cclosure_marshal_VOID__LONG) IA__g_cclosure_marshal_VOID__LONG __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__LONG IA__g_cclosure_marshal_VOID__LONG
-
-extern __typeof (g_cclosure_marshal_VOID__OBJECT) IA__g_cclosure_marshal_VOID__OBJECT __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__OBJECT IA__g_cclosure_marshal_VOID__OBJECT
-
-extern __typeof (g_cclosure_marshal_VOID__PARAM) IA__g_cclosure_marshal_VOID__PARAM __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__PARAM IA__g_cclosure_marshal_VOID__PARAM
-
-extern __typeof (g_cclosure_marshal_VOID__POINTER) IA__g_cclosure_marshal_VOID__POINTER __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__POINTER IA__g_cclosure_marshal_VOID__POINTER
-
-extern __typeof (g_cclosure_marshal_VOID__STRING) IA__g_cclosure_marshal_VOID__STRING __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__STRING IA__g_cclosure_marshal_VOID__STRING
-
-extern __typeof (g_cclosure_marshal_VOID__UCHAR) IA__g_cclosure_marshal_VOID__UCHAR __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__UCHAR IA__g_cclosure_marshal_VOID__UCHAR
-
-extern __typeof (g_cclosure_marshal_VOID__UINT) IA__g_cclosure_marshal_VOID__UINT __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__UINT IA__g_cclosure_marshal_VOID__UINT
-
-extern __typeof (g_cclosure_marshal_VOID__UINT_POINTER) IA__g_cclosure_marshal_VOID__UINT_POINTER __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__UINT_POINTER IA__g_cclosure_marshal_VOID__UINT_POINTER
-
-extern __typeof (g_cclosure_marshal_VOID__ULONG) IA__g_cclosure_marshal_VOID__ULONG __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__ULONG IA__g_cclosure_marshal_VOID__ULONG
-
-extern __typeof (g_cclosure_marshal_VOID__VOID) IA__g_cclosure_marshal_VOID__VOID __attribute((visibility("hidden")));
-#define g_cclosure_marshal_VOID__VOID IA__g_cclosure_marshal_VOID__VOID
-
-#endif
-#endif
-#if IN_HEADER(__G_CLOSURE_H__)
-#if IN_FILE(__G_CLOSURE_C__)
-extern __typeof (g_cclosure_new) IA__g_cclosure_new __attribute((visibility("hidden")));
-#define g_cclosure_new IA__g_cclosure_new
-
-extern __typeof (g_cclosure_new_swap) IA__g_cclosure_new_swap __attribute((visibility("hidden")));
-#define g_cclosure_new_swap IA__g_cclosure_new_swap
-
-extern __typeof (g_closure_add_finalize_notifier) IA__g_closure_add_finalize_notifier __attribute((visibility("hidden")));
-#define g_closure_add_finalize_notifier IA__g_closure_add_finalize_notifier
-
-extern __typeof (g_closure_add_invalidate_notifier) IA__g_closure_add_invalidate_notifier __attribute((visibility("hidden")));
-#define g_closure_add_invalidate_notifier IA__g_closure_add_invalidate_notifier
-
-extern __typeof (g_closure_add_marshal_guards) IA__g_closure_add_marshal_guards __attribute((visibility("hidden")));
-#define g_closure_add_marshal_guards IA__g_closure_add_marshal_guards
-
-extern __typeof (g_closure_invalidate) IA__g_closure_invalidate __attribute((visibility("hidden")));
-#define g_closure_invalidate IA__g_closure_invalidate
-
-extern __typeof (g_closure_invoke) IA__g_closure_invoke __attribute((visibility("hidden")));
-#define g_closure_invoke IA__g_closure_invoke
-
-extern __typeof (g_closure_new_simple) IA__g_closure_new_simple __attribute((visibility("hidden")));
-#define g_closure_new_simple IA__g_closure_new_simple
-
-extern __typeof (g_closure_ref) IA__g_closure_ref __attribute((visibility("hidden")));
-#define g_closure_ref IA__g_closure_ref
-
-extern __typeof (g_closure_remove_finalize_notifier) IA__g_closure_remove_finalize_notifier __attribute((visibility("hidden")));
-#define g_closure_remove_finalize_notifier IA__g_closure_remove_finalize_notifier
-
-extern __typeof (g_closure_remove_invalidate_notifier) IA__g_closure_remove_invalidate_notifier __attribute((visibility("hidden")));
-#define g_closure_remove_invalidate_notifier IA__g_closure_remove_invalidate_notifier
-
-extern __typeof (g_closure_set_marshal) IA__g_closure_set_marshal __attribute((visibility("hidden")));
-#define g_closure_set_marshal IA__g_closure_set_marshal
-
-extern __typeof (g_closure_set_meta_marshal) IA__g_closure_set_meta_marshal __attribute((visibility("hidden")));
-#define g_closure_set_meta_marshal IA__g_closure_set_meta_marshal
-
-extern __typeof (g_closure_sink) IA__g_closure_sink __attribute((visibility("hidden")));
-#define g_closure_sink IA__g_closure_sink
-
-extern __typeof (g_closure_unref) IA__g_closure_unref __attribute((visibility("hidden")));
-#define g_closure_unref IA__g_closure_unref
-
-extern __typeof (g_signal_type_cclosure_new) IA__g_signal_type_cclosure_new __attribute((visibility("hidden")));
-#define g_signal_type_cclosure_new IA__g_signal_type_cclosure_new
-
-#endif
-#endif
-#if IN_HEADER(__G_ENUMS_H__)
-#if IN_FILE(__G_ENUMS_C__)
-extern __typeof (g_enum_complete_type_info) IA__g_enum_complete_type_info __attribute((visibility("hidden")));
-#define g_enum_complete_type_info IA__g_enum_complete_type_info
-
-extern __typeof (g_enum_get_value) IA__g_enum_get_value __attribute((visibility("hidden")));
-#define g_enum_get_value IA__g_enum_get_value
-
-extern __typeof (g_enum_get_value_by_name) IA__g_enum_get_value_by_name __attribute((visibility("hidden")));
-#define g_enum_get_value_by_name IA__g_enum_get_value_by_name
-
-extern __typeof (g_enum_get_value_by_nick) IA__g_enum_get_value_by_nick __attribute((visibility("hidden")));
-#define g_enum_get_value_by_nick IA__g_enum_get_value_by_nick
-
-extern __typeof (g_enum_register_static) IA__g_enum_register_static __attribute((visibility("hidden")));
-#define g_enum_register_static IA__g_enum_register_static
-
-extern __typeof (g_flags_complete_type_info) IA__g_flags_complete_type_info __attribute((visibility("hidden")));
-#define g_flags_complete_type_info IA__g_flags_complete_type_info
-
-extern __typeof (g_flags_get_first_value) IA__g_flags_get_first_value __attribute((visibility("hidden")));
-#define g_flags_get_first_value IA__g_flags_get_first_value
-
-extern __typeof (g_flags_get_value_by_name) IA__g_flags_get_value_by_name __attribute((visibility("hidden")));
-#define g_flags_get_value_by_name IA__g_flags_get_value_by_name
-
-extern __typeof (g_flags_get_value_by_nick) IA__g_flags_get_value_by_nick __attribute((visibility("hidden")));
-#define g_flags_get_value_by_nick IA__g_flags_get_value_by_nick
-
-extern __typeof (g_flags_register_static) IA__g_flags_register_static __attribute((visibility("hidden")));
-#define g_flags_register_static IA__g_flags_register_static
-
-extern __typeof (g_value_set_enum) IA__g_value_set_enum __attribute((visibility("hidden")));
-#define g_value_set_enum IA__g_value_set_enum
-
-extern __typeof (g_value_set_flags) IA__g_value_set_flags __attribute((visibility("hidden")));
-#define g_value_set_flags IA__g_value_set_flags
-
-extern __typeof (g_value_get_enum) IA__g_value_get_enum __attribute((visibility("hidden")));
-#define g_value_get_enum IA__g_value_get_enum
-
-extern __typeof (g_value_get_flags) IA__g_value_get_flags __attribute((visibility("hidden")));
-#define g_value_get_flags IA__g_value_get_flags
-
-#endif
-#endif
-#if IN_HEADER(__G_SOURCECLOSURE_H__)
-#if IN_FILE(__G_SOURCECLOSURE_C__)
-extern __typeof (g_io_channel_get_type) IA__g_io_channel_get_type __attribute((visibility("hidden")));
-#define g_io_channel_get_type IA__g_io_channel_get_type
-
-extern __typeof (g_io_condition_get_type) IA__g_io_condition_get_type __attribute((visibility("hidden")));
-#define g_io_condition_get_type IA__g_io_condition_get_type
-
-extern __typeof (g_source_set_closure) IA__g_source_set_closure __attribute((visibility("hidden")));
-#define g_source_set_closure IA__g_source_set_closure
-
-#endif
-#endif
-#if IN_HEADER(__G_OBJECT_H__)
-#if IN_FILE(__G_OBJECT_C__)
-extern __typeof (g_cclosure_new_object) IA__g_cclosure_new_object __attribute((visibility("hidden")));
-#define g_cclosure_new_object IA__g_cclosure_new_object
-
-extern __typeof (g_cclosure_new_object_swap) IA__g_cclosure_new_object_swap __attribute((visibility("hidden")));
-#define g_cclosure_new_object_swap IA__g_cclosure_new_object_swap
-
-extern __typeof (g_closure_new_object) IA__g_closure_new_object __attribute((visibility("hidden")));
-#define g_closure_new_object IA__g_closure_new_object
-
-extern __typeof (g_initially_unowned_get_type) IA__g_initially_unowned_get_type __attribute((visibility("hidden")));
-#define g_initially_unowned_get_type IA__g_initially_unowned_get_type
-
-extern __typeof (g_object_add_weak_pointer) IA__g_object_add_weak_pointer __attribute((visibility("hidden")));
-#define g_object_add_weak_pointer IA__g_object_add_weak_pointer
-
-extern __typeof (g_object_class_find_property) IA__g_object_class_find_property __attribute((visibility("hidden")));
-#define g_object_class_find_property IA__g_object_class_find_property
-
-extern __typeof (g_object_class_install_property) IA__g_object_class_install_property __attribute((visibility("hidden")));
-#define g_object_class_install_property IA__g_object_class_install_property
-
-extern __typeof (g_object_class_list_properties) IA__g_object_class_list_properties __attribute((visibility("hidden")));
-#define g_object_class_list_properties IA__g_object_class_list_properties
-
-extern __typeof (g_object_class_override_property) IA__g_object_class_override_property __attribute((visibility("hidden")));
-#define g_object_class_override_property IA__g_object_class_override_property
-
-extern __typeof (g_object_connect) IA__g_object_connect __attribute((visibility("hidden"))) G_GNUC_NULL_TERMINATED;
-#define g_object_connect IA__g_object_connect
-
-extern __typeof (g_object_disconnect) IA__g_object_disconnect __attribute((visibility("hidden"))) G_GNUC_NULL_TERMINATED;
-#define g_object_disconnect IA__g_object_disconnect
-
-extern __typeof (g_object_freeze_notify) IA__g_object_freeze_notify __attribute((visibility("hidden")));
-#define g_object_freeze_notify IA__g_object_freeze_notify
-
-extern __typeof (g_object_get) IA__g_object_get __attribute((visibility("hidden"))) G_GNUC_NULL_TERMINATED;
-#define g_object_get IA__g_object_get
-
-extern __typeof (g_object_get_data) IA__g_object_get_data __attribute((visibility("hidden")));
-#define g_object_get_data IA__g_object_get_data
-
-extern __typeof (g_object_get_property) IA__g_object_get_property __attribute((visibility("hidden")));
-#define g_object_get_property IA__g_object_get_property
-
-extern __typeof (g_object_get_qdata) IA__g_object_get_qdata __attribute((visibility("hidden")));
-#define g_object_get_qdata IA__g_object_get_qdata
-
-extern __typeof (g_object_get_type) IA__g_object_get_type __attribute((visibility("hidden")));
-#define g_object_get_type IA__g_object_get_type
-
-extern __typeof (g_object_get_valist) IA__g_object_get_valist __attribute((visibility("hidden")));
-#define g_object_get_valist IA__g_object_get_valist
-
-extern __typeof (g_object_interface_find_property) IA__g_object_interface_find_property __attribute((visibility("hidden")));
-#define g_object_interface_find_property IA__g_object_interface_find_property
-
-extern __typeof (g_object_interface_install_property) IA__g_object_interface_install_property __attribute((visibility("hidden")));
-#define g_object_interface_install_property IA__g_object_interface_install_property
-
-extern __typeof (g_object_interface_list_properties) IA__g_object_interface_list_properties __attribute((visibility("hidden")));
-#define g_object_interface_list_properties IA__g_object_interface_list_properties
-
-extern __typeof (g_object_new) IA__g_object_new __attribute((visibility("hidden")));
-#define g_object_new IA__g_object_new
-
-extern __typeof (g_object_newv) IA__g_object_newv __attribute((visibility("hidden")));
-#define g_object_newv IA__g_object_newv
-
-extern __typeof (g_object_new_valist) IA__g_object_new_valist __attribute((visibility("hidden")));
-#define g_object_new_valist IA__g_object_new_valist
-
-extern __typeof (g_object_notify) IA__g_object_notify __attribute((visibility("hidden")));
-#define g_object_notify IA__g_object_notify
-
-extern __typeof (g_object_is_floating) IA__g_object_is_floating __attribute((visibility("hidden")));
-#define g_object_is_floating IA__g_object_is_floating
-
-extern __typeof (g_object_ref_sink) IA__g_object_ref_sink __attribute((visibility("hidden")));
-#define g_object_ref_sink IA__g_object_ref_sink
-
-extern __typeof (g_object_force_floating) IA__g_object_force_floating __attribute((visibility("hidden")));
-#define g_object_force_floating IA__g_object_force_floating
-
-extern __typeof (g_object_ref) IA__g_object_ref __attribute((visibility("hidden")));
-#define g_object_ref IA__g_object_ref
-
-extern __typeof (g_object_unref) IA__g_object_unref __attribute((visibility("hidden")));
-#define g_object_unref IA__g_object_unref
-
-extern __typeof (g_object_remove_weak_pointer) IA__g_object_remove_weak_pointer __attribute((visibility("hidden")));
-#define g_object_remove_weak_pointer IA__g_object_remove_weak_pointer
-
-extern __typeof (g_object_run_dispose) IA__g_object_run_dispose __attribute((visibility("hidden")));
-#define g_object_run_dispose IA__g_object_run_dispose
-
-extern __typeof (g_object_set) IA__g_object_set __attribute((visibility("hidden"))) G_GNUC_NULL_TERMINATED;
-#define g_object_set IA__g_object_set
-
-extern __typeof (g_object_set_data) IA__g_object_set_data __attribute((visibility("hidden")));
-#define g_object_set_data IA__g_object_set_data
-
-extern __typeof (g_object_set_data_full) IA__g_object_set_data_full __attribute((visibility("hidden")));
-#define g_object_set_data_full IA__g_object_set_data_full
-
-extern __typeof (g_object_set_property) IA__g_object_set_property __attribute((visibility("hidden")));
-#define g_object_set_property IA__g_object_set_property
-
-extern __typeof (g_object_set_qdata) IA__g_object_set_qdata __attribute((visibility("hidden")));
-#define g_object_set_qdata IA__g_object_set_qdata
-
-extern __typeof (g_object_set_qdata_full) IA__g_object_set_qdata_full __attribute((visibility("hidden")));
-#define g_object_set_qdata_full IA__g_object_set_qdata_full
-
-extern __typeof (g_object_set_valist) IA__g_object_set_valist __attribute((visibility("hidden")));
-#define g_object_set_valist IA__g_object_set_valist
-
-extern __typeof (g_object_steal_data) IA__g_object_steal_data __attribute((visibility("hidden")));
-#define g_object_steal_data IA__g_object_steal_data
-
-extern __typeof (g_object_steal_qdata) IA__g_object_steal_qdata __attribute((visibility("hidden")));
-#define g_object_steal_qdata IA__g_object_steal_qdata
-
-extern __typeof (g_object_thaw_notify) IA__g_object_thaw_notify __attribute((visibility("hidden")));
-#define g_object_thaw_notify IA__g_object_thaw_notify
-
-extern __typeof (g_object_watch_closure) IA__g_object_watch_closure __attribute((visibility("hidden")));
-#define g_object_watch_closure IA__g_object_watch_closure
-
-extern __typeof (g_object_weak_ref) IA__g_object_weak_ref __attribute((visibility("hidden")));
-#define g_object_weak_ref IA__g_object_weak_ref
-
-extern __typeof (g_object_weak_unref) IA__g_object_weak_unref __attribute((visibility("hidden")));
-#define g_object_weak_unref IA__g_object_weak_unref
-
-extern __typeof (g_object_add_toggle_ref) IA__g_object_add_toggle_ref __attribute((visibility("hidden")));
-#define g_object_add_toggle_ref IA__g_object_add_toggle_ref
-
-extern __typeof (g_object_remove_toggle_ref) IA__g_object_remove_toggle_ref __attribute((visibility("hidden")));
-#define g_object_remove_toggle_ref IA__g_object_remove_toggle_ref
-
-extern __typeof (g_value_get_object) IA__g_value_get_object __attribute((visibility("hidden")));
-#define g_value_get_object IA__g_value_get_object
-
-extern __typeof (g_value_set_object) IA__g_value_set_object __attribute((visibility("hidden")));
-#define g_value_set_object IA__g_value_set_object
-
-extern __typeof (g_value_dup_object) IA__g_value_dup_object __attribute((visibility("hidden")));
-#define g_value_dup_object IA__g_value_dup_object
-
-extern __typeof (g_value_take_object) IA__g_value_take_object __attribute((visibility("hidden")));
-#define g_value_take_object IA__g_value_take_object
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_value_set_object_take_ownership) IA__g_value_set_object_take_ownership __attribute((visibility("hidden")));
-#define g_value_set_object_take_ownership IA__g_value_set_object_take_ownership
-
-extern __typeof (g_object_compat_control) IA__g_object_compat_control __attribute((visibility("hidden")));
-#define g_object_compat_control IA__g_object_compat_control
-
-#endif
-extern __typeof (g_signal_connect_object) IA__g_signal_connect_object __attribute((visibility("hidden")));
-#define g_signal_connect_object IA__g_signal_connect_object
-
-#endif
-#endif
-#if IN_HEADER(__G_PARAMSPECS_H__)
-#if IN_FILE(__G_PARAMSPECS_C__)
-extern __typeof (g_param_spec_boolean) IA__g_param_spec_boolean __attribute((visibility("hidden")));
-#define g_param_spec_boolean IA__g_param_spec_boolean
-
-extern __typeof (g_param_spec_boxed) IA__g_param_spec_boxed __attribute((visibility("hidden")));
-#define g_param_spec_boxed IA__g_param_spec_boxed
-
-extern __typeof (g_param_spec_char) IA__g_param_spec_char __attribute((visibility("hidden")));
-#define g_param_spec_char IA__g_param_spec_char
-
-extern __typeof (g_param_spec_double) IA__g_param_spec_double __attribute((visibility("hidden")));
-#define g_param_spec_double IA__g_param_spec_double
-
-extern __typeof (g_param_spec_enum) IA__g_param_spec_enum __attribute((visibility("hidden")));
-#define g_param_spec_enum IA__g_param_spec_enum
-
-extern __typeof (g_param_spec_flags) IA__g_param_spec_flags __attribute((visibility("hidden")));
-#define g_param_spec_flags IA__g_param_spec_flags
-
-extern __typeof (g_param_spec_float) IA__g_param_spec_float __attribute((visibility("hidden")));
-#define g_param_spec_float IA__g_param_spec_float
-
-extern __typeof (g_param_spec_int) IA__g_param_spec_int __attribute((visibility("hidden")));
-#define g_param_spec_int IA__g_param_spec_int
-
-extern __typeof (g_param_spec_int64) IA__g_param_spec_int64 __attribute((visibility("hidden")));
-#define g_param_spec_int64 IA__g_param_spec_int64
-
-extern __typeof (g_param_spec_long) IA__g_param_spec_long __attribute((visibility("hidden")));
-#define g_param_spec_long IA__g_param_spec_long
-
-extern __typeof (g_param_spec_object) IA__g_param_spec_object __attribute((visibility("hidden")));
-#define g_param_spec_object IA__g_param_spec_object
-
-extern __typeof (g_param_spec_override) IA__g_param_spec_override __attribute((visibility("hidden")));
-#define g_param_spec_override IA__g_param_spec_override
-
-extern __typeof (g_param_spec_gtype) IA__g_param_spec_gtype __attribute((visibility("hidden")));
-#define g_param_spec_gtype IA__g_param_spec_gtype
-
-extern __typeof (g_param_spec_param) IA__g_param_spec_param __attribute((visibility("hidden")));
-#define g_param_spec_param IA__g_param_spec_param
-
-extern __typeof (g_param_spec_pointer) IA__g_param_spec_pointer __attribute((visibility("hidden")));
-#define g_param_spec_pointer IA__g_param_spec_pointer
-
-extern __typeof (g_param_spec_string) IA__g_param_spec_string __attribute((visibility("hidden")));
-#define g_param_spec_string IA__g_param_spec_string
-
-extern __typeof (g_param_spec_uchar) IA__g_param_spec_uchar __attribute((visibility("hidden")));
-#define g_param_spec_uchar IA__g_param_spec_uchar
-
-extern __typeof (g_param_spec_uint) IA__g_param_spec_uint __attribute((visibility("hidden")));
-#define g_param_spec_uint IA__g_param_spec_uint
-
-extern __typeof (g_param_spec_uint64) IA__g_param_spec_uint64 __attribute((visibility("hidden")));
-#define g_param_spec_uint64 IA__g_param_spec_uint64
-
-extern __typeof (g_param_spec_ulong) IA__g_param_spec_ulong __attribute((visibility("hidden")));
-#define g_param_spec_ulong IA__g_param_spec_ulong
-
-extern __typeof (g_param_spec_unichar) IA__g_param_spec_unichar __attribute((visibility("hidden")));
-#define g_param_spec_unichar IA__g_param_spec_unichar
-
-extern __typeof (g_param_spec_value_array) IA__g_param_spec_value_array __attribute((visibility("hidden")));
-#define g_param_spec_value_array IA__g_param_spec_value_array
-
-#endif
-#endif
-#if IN_HEADER(__G_PARAM_H__)
-#if IN_FILE(__G_PARAM_C__)
-extern __typeof (g_param_spec_get_blurb) IA__g_param_spec_get_blurb __attribute((visibility("hidden")));
-#define g_param_spec_get_blurb IA__g_param_spec_get_blurb
-
-extern __typeof (g_param_spec_get_name) IA__g_param_spec_get_name __attribute((visibility("hidden")));
-#define g_param_spec_get_name IA__g_param_spec_get_name
-
-extern __typeof (g_param_spec_get_nick) IA__g_param_spec_get_nick __attribute((visibility("hidden")));
-#define g_param_spec_get_nick IA__g_param_spec_get_nick
-
-extern __typeof (g_param_spec_get_redirect_target) IA__g_param_spec_get_redirect_target __attribute((visibility("hidden")));
-#define g_param_spec_get_redirect_target IA__g_param_spec_get_redirect_target
-
-extern __typeof (g_param_spec_internal) IA__g_param_spec_internal __attribute((visibility("hidden")));
-#define g_param_spec_internal IA__g_param_spec_internal
-
-extern __typeof (g_param_type_register_static) IA__g_param_type_register_static __attribute((visibility("hidden")));
-#define g_param_type_register_static IA__g_param_type_register_static
-
-extern __typeof (g_param_spec_ref) IA__g_param_spec_ref __attribute((visibility("hidden")));
-#define g_param_spec_ref IA__g_param_spec_ref
-
-extern __typeof (g_param_spec_ref_sink) IA__g_param_spec_ref_sink __attribute((visibility("hidden")));
-#define g_param_spec_ref_sink IA__g_param_spec_ref_sink
-
-extern __typeof (g_param_spec_unref) IA__g_param_spec_unref __attribute((visibility("hidden")));
-#define g_param_spec_unref IA__g_param_spec_unref
-
-extern __typeof (g_param_spec_sink) IA__g_param_spec_sink __attribute((visibility("hidden")));
-#define g_param_spec_sink IA__g_param_spec_sink
-
-extern __typeof (g_param_spec_steal_qdata) IA__g_param_spec_steal_qdata __attribute((visibility("hidden")));
-#define g_param_spec_steal_qdata IA__g_param_spec_steal_qdata
-
-extern __typeof (g_param_spec_set_qdata) IA__g_param_spec_set_qdata __attribute((visibility("hidden")));
-#define g_param_spec_set_qdata IA__g_param_spec_set_qdata
-
-extern __typeof (g_param_spec_set_qdata_full) IA__g_param_spec_set_qdata_full __attribute((visibility("hidden")));
-#define g_param_spec_set_qdata_full IA__g_param_spec_set_qdata_full
-
-extern __typeof (g_param_spec_get_qdata) IA__g_param_spec_get_qdata __attribute((visibility("hidden")));
-#define g_param_spec_get_qdata IA__g_param_spec_get_qdata
-
-extern __typeof (g_param_value_convert) IA__g_param_value_convert __attribute((visibility("hidden")));
-#define g_param_value_convert IA__g_param_value_convert
-
-extern __typeof (g_param_value_defaults) IA__g_param_value_defaults __attribute((visibility("hidden")));
-#define g_param_value_defaults IA__g_param_value_defaults
-
-extern __typeof (g_param_values_cmp) IA__g_param_values_cmp __attribute((visibility("hidden")));
-#define g_param_values_cmp IA__g_param_values_cmp
-
-extern __typeof (g_param_value_set_default) IA__g_param_value_set_default __attribute((visibility("hidden")));
-#define g_param_value_set_default IA__g_param_value_set_default
-
-extern __typeof (g_param_value_validate) IA__g_param_value_validate __attribute((visibility("hidden")));
-#define g_param_value_validate IA__g_param_value_validate
-
-extern __typeof (g_param_spec_pool_insert) IA__g_param_spec_pool_insert __attribute((visibility("hidden")));
-#define g_param_spec_pool_insert IA__g_param_spec_pool_insert
-
-extern __typeof (g_param_spec_pool_list) IA__g_param_spec_pool_list __attribute((visibility("hidden")));
-#define g_param_spec_pool_list IA__g_param_spec_pool_list
-
-extern __typeof (g_param_spec_pool_list_owned) IA__g_param_spec_pool_list_owned __attribute((visibility("hidden")));
-#define g_param_spec_pool_list_owned IA__g_param_spec_pool_list_owned
-
-extern __typeof (g_param_spec_pool_lookup) IA__g_param_spec_pool_lookup __attribute((visibility("hidden")));
-#define g_param_spec_pool_lookup IA__g_param_spec_pool_lookup
-
-extern __typeof (g_param_spec_pool_new) IA__g_param_spec_pool_new __attribute((visibility("hidden")));
-#define g_param_spec_pool_new IA__g_param_spec_pool_new
-
-extern __typeof (g_param_spec_pool_remove) IA__g_param_spec_pool_remove __attribute((visibility("hidden")));
-#define g_param_spec_pool_remove IA__g_param_spec_pool_remove
-
-extern __typeof (g_value_get_param) IA__g_value_get_param __attribute((visibility("hidden")));
-#define g_value_get_param IA__g_value_get_param
-
-extern __typeof (g_value_set_param) IA__g_value_set_param __attribute((visibility("hidden")));
-#define g_value_set_param IA__g_value_set_param
-
-extern __typeof (g_value_dup_param) IA__g_value_dup_param __attribute((visibility("hidden")));
-#define g_value_dup_param IA__g_value_dup_param
-
-extern __typeof (g_value_take_param) IA__g_value_take_param __attribute((visibility("hidden")));
-#define g_value_take_param IA__g_value_take_param
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_value_set_param_take_ownership) IA__g_value_set_param_take_ownership __attribute((visibility("hidden")));
-#define g_value_set_param_take_ownership IA__g_value_set_param_take_ownership
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_VALUETYPES_H__)
-#if IN_FILE(__G_VALUETYPES_C__)
-extern __typeof (g_pointer_type_register_static) IA__g_pointer_type_register_static __attribute((visibility("hidden")));
-#define g_pointer_type_register_static IA__g_pointer_type_register_static
-
-extern __typeof (g_strdup_value_contents) IA__g_strdup_value_contents __attribute((visibility("hidden")));
-#define g_strdup_value_contents IA__g_strdup_value_contents
-
-extern __typeof (g_value_set_boolean) IA__g_value_set_boolean __attribute((visibility("hidden")));
-#define g_value_set_boolean IA__g_value_set_boolean
-
-extern __typeof (g_value_set_char) IA__g_value_set_char __attribute((visibility("hidden")));
-#define g_value_set_char IA__g_value_set_char
-
-extern __typeof (g_value_set_double) IA__g_value_set_double __attribute((visibility("hidden")));
-#define g_value_set_double IA__g_value_set_double
-
-extern __typeof (g_value_set_float) IA__g_value_set_float __attribute((visibility("hidden")));
-#define g_value_set_float IA__g_value_set_float
-
-extern __typeof (g_value_set_int) IA__g_value_set_int __attribute((visibility("hidden")));
-#define g_value_set_int IA__g_value_set_int
-
-extern __typeof (g_value_set_int64) IA__g_value_set_int64 __attribute((visibility("hidden")));
-#define g_value_set_int64 IA__g_value_set_int64
-
-extern __typeof (g_value_set_long) IA__g_value_set_long __attribute((visibility("hidden")));
-#define g_value_set_long IA__g_value_set_long
-
-extern __typeof (g_value_set_pointer) IA__g_value_set_pointer __attribute((visibility("hidden")));
-#define g_value_set_pointer IA__g_value_set_pointer
-
-extern __typeof (g_value_set_static_string) IA__g_value_set_static_string __attribute((visibility("hidden")));
-#define g_value_set_static_string IA__g_value_set_static_string
-
-extern __typeof (g_value_set_string) IA__g_value_set_string __attribute((visibility("hidden")));
-#define g_value_set_string IA__g_value_set_string
-
-#ifndef G_DISABLE_DEPRECATED
-extern __typeof (g_value_set_string_take_ownership) IA__g_value_set_string_take_ownership __attribute((visibility("hidden")));
-#define g_value_set_string_take_ownership IA__g_value_set_string_take_ownership
-
-#endif
-extern __typeof (g_value_set_uchar) IA__g_value_set_uchar __attribute((visibility("hidden")));
-#define g_value_set_uchar IA__g_value_set_uchar
-
-extern __typeof (g_value_set_uint) IA__g_value_set_uint __attribute((visibility("hidden")));
-#define g_value_set_uint IA__g_value_set_uint
-
-extern __typeof (g_value_set_uint64) IA__g_value_set_uint64 __attribute((visibility("hidden")));
-#define g_value_set_uint64 IA__g_value_set_uint64
-
-extern __typeof (g_value_set_ulong) IA__g_value_set_ulong __attribute((visibility("hidden")));
-#define g_value_set_ulong IA__g_value_set_ulong
-
-extern __typeof (g_value_dup_string) IA__g_value_dup_string __attribute((visibility("hidden")));
-#define g_value_dup_string IA__g_value_dup_string
-
-extern __typeof (g_value_get_boolean) IA__g_value_get_boolean __attribute((visibility("hidden")));
-#define g_value_get_boolean IA__g_value_get_boolean
-
-extern __typeof (g_value_get_char) IA__g_value_get_char __attribute((visibility("hidden")));
-#define g_value_get_char IA__g_value_get_char
-
-extern __typeof (g_value_get_double) IA__g_value_get_double __attribute((visibility("hidden")));
-#define g_value_get_double IA__g_value_get_double
-
-extern __typeof (g_value_get_float) IA__g_value_get_float __attribute((visibility("hidden")));
-#define g_value_get_float IA__g_value_get_float
-
-extern __typeof (g_value_get_int) IA__g_value_get_int __attribute((visibility("hidden")));
-#define g_value_get_int IA__g_value_get_int
-
-extern __typeof (g_value_get_int64) IA__g_value_get_int64 __attribute((visibility("hidden")));
-#define g_value_get_int64 IA__g_value_get_int64
-
-extern __typeof (g_value_get_long) IA__g_value_get_long __attribute((visibility("hidden")));
-#define g_value_get_long IA__g_value_get_long
-
-extern __typeof (g_value_get_pointer) IA__g_value_get_pointer __attribute((visibility("hidden")));
-#define g_value_get_pointer IA__g_value_get_pointer
-
-extern __typeof (g_value_get_string) IA__g_value_get_string __attribute((visibility("hidden")));
-#define g_value_get_string IA__g_value_get_string
-
-extern __typeof (g_value_get_uchar) IA__g_value_get_uchar __attribute((visibility("hidden")));
-#define g_value_get_uchar IA__g_value_get_uchar
-
-extern __typeof (g_value_get_uint) IA__g_value_get_uint __attribute((visibility("hidden")));
-#define g_value_get_uint IA__g_value_get_uint
-
-extern __typeof (g_value_get_uint64) IA__g_value_get_uint64 __attribute((visibility("hidden")));
-#define g_value_get_uint64 IA__g_value_get_uint64
-
-extern __typeof (g_value_get_ulong) IA__g_value_get_ulong __attribute((visibility("hidden")));
-#define g_value_get_ulong IA__g_value_get_ulong
-
-extern __typeof (g_value_take_string) IA__g_value_take_string __attribute((visibility("hidden")));
-#define g_value_take_string IA__g_value_take_string
-
-extern __typeof (g_gtype_get_type) IA__g_gtype_get_type __attribute((visibility("hidden")));
-#define g_gtype_get_type IA__g_gtype_get_type
-
-extern __typeof (g_value_set_gtype) IA__g_value_set_gtype __attribute((visibility("hidden")));
-#define g_value_set_gtype IA__g_value_set_gtype
-
-extern __typeof (g_value_get_gtype) IA__g_value_get_gtype __attribute((visibility("hidden")));
-#define g_value_get_gtype IA__g_value_get_gtype
-
-#endif
-#endif
-#if IN_HEADER(__G_SIGNAL_H__)
-#if IN_FILE(__G_SIGNAL_C__)
-extern __typeof (g_signal_accumulator_true_handled) IA__g_signal_accumulator_true_handled __attribute((visibility("hidden")));
-#define g_signal_accumulator_true_handled IA__g_signal_accumulator_true_handled
-
-extern __typeof (g_signal_add_emission_hook) IA__g_signal_add_emission_hook __attribute((visibility("hidden")));
-#define g_signal_add_emission_hook IA__g_signal_add_emission_hook
-
-extern __typeof (g_signal_chain_from_overridden) IA__g_signal_chain_from_overridden __attribute((visibility("hidden")));
-#define g_signal_chain_from_overridden IA__g_signal_chain_from_overridden
-
-extern __typeof (g_signal_chain_from_overridden_handler) IA__g_signal_chain_from_overridden_handler __attribute((visibility("hidden")));
-#define g_signal_chain_from_overridden_handler IA__g_signal_chain_from_overridden_handler
-
-extern __typeof (g_signal_connect_closure) IA__g_signal_connect_closure __attribute((visibility("hidden")));
-#define g_signal_connect_closure IA__g_signal_connect_closure
-
-extern __typeof (g_signal_connect_closure_by_id) IA__g_signal_connect_closure_by_id __attribute((visibility("hidden")));
-#define g_signal_connect_closure_by_id IA__g_signal_connect_closure_by_id
-
-extern __typeof (g_signal_connect_data) IA__g_signal_connect_data __attribute((visibility("hidden")));
-#define g_signal_connect_data IA__g_signal_connect_data
-
-extern __typeof (g_signal_emit) IA__g_signal_emit __attribute((visibility("hidden")));
-#define g_signal_emit IA__g_signal_emit
-
-extern __typeof (g_signal_emit_by_name) IA__g_signal_emit_by_name __attribute((visibility("hidden")));
-#define g_signal_emit_by_name IA__g_signal_emit_by_name
-
-extern __typeof (g_signal_emitv) IA__g_signal_emitv __attribute((visibility("hidden")));
-#define g_signal_emitv IA__g_signal_emitv
-
-extern __typeof (g_signal_emit_valist) IA__g_signal_emit_valist __attribute((visibility("hidden")));
-#define g_signal_emit_valist IA__g_signal_emit_valist
-
-extern __typeof (g_signal_get_invocation_hint) IA__g_signal_get_invocation_hint __attribute((visibility("hidden")));
-#define g_signal_get_invocation_hint IA__g_signal_get_invocation_hint
-
-extern __typeof (g_signal_handler_block) IA__g_signal_handler_block __attribute((visibility("hidden")));
-#define g_signal_handler_block IA__g_signal_handler_block
-
-extern __typeof (g_signal_handler_disconnect) IA__g_signal_handler_disconnect __attribute((visibility("hidden")));
-#define g_signal_handler_disconnect IA__g_signal_handler_disconnect
-
-extern __typeof (g_signal_handler_find) IA__g_signal_handler_find __attribute((visibility("hidden")));
-#define g_signal_handler_find IA__g_signal_handler_find
-
-extern __typeof (g_signal_handler_is_connected) IA__g_signal_handler_is_connected __attribute((visibility("hidden")));
-#define g_signal_handler_is_connected IA__g_signal_handler_is_connected
-
-extern __typeof (g_signal_handlers_block_matched) IA__g_signal_handlers_block_matched __attribute((visibility("hidden")));
-#define g_signal_handlers_block_matched IA__g_signal_handlers_block_matched
-
-extern __typeof (g_signal_handlers_destroy) IA__g_signal_handlers_destroy __attribute((visibility("hidden")));
-#define g_signal_handlers_destroy IA__g_signal_handlers_destroy
-
-extern __typeof (g_signal_handlers_disconnect_matched) IA__g_signal_handlers_disconnect_matched __attribute((visibility("hidden")));
-#define g_signal_handlers_disconnect_matched IA__g_signal_handlers_disconnect_matched
-
-extern __typeof (g_signal_handlers_unblock_matched) IA__g_signal_handlers_unblock_matched __attribute((visibility("hidden")));
-#define g_signal_handlers_unblock_matched IA__g_signal_handlers_unblock_matched
-
-extern __typeof (g_signal_handler_unblock) IA__g_signal_handler_unblock __attribute((visibility("hidden")));
-#define g_signal_handler_unblock IA__g_signal_handler_unblock
-
-extern __typeof (g_signal_has_handler_pending) IA__g_signal_has_handler_pending __attribute((visibility("hidden")));
-#define g_signal_has_handler_pending IA__g_signal_has_handler_pending
-
-extern __typeof (g_signal_list_ids) IA__g_signal_list_ids __attribute((visibility("hidden")));
-#define g_signal_list_ids IA__g_signal_list_ids
-
-extern __typeof (g_signal_lookup) IA__g_signal_lookup __attribute((visibility("hidden")));
-#define g_signal_lookup IA__g_signal_lookup
-
-extern __typeof (g_signal_name) IA__g_signal_name __attribute((visibility("hidden")));
-#define g_signal_name IA__g_signal_name
-
-extern __typeof (g_signal_new) IA__g_signal_new __attribute((visibility("hidden")));
-#define g_signal_new IA__g_signal_new
-
-extern __typeof (g_signal_newv) IA__g_signal_newv __attribute((visibility("hidden")));
-#define g_signal_newv IA__g_signal_newv
-
-extern __typeof (g_signal_new_valist) IA__g_signal_new_valist __attribute((visibility("hidden")));
-#define g_signal_new_valist IA__g_signal_new_valist
-
-extern __typeof (g_signal_new_class_handler) IA__g_signal_new_class_handler __attribute((visibility("hidden")));
-#define g_signal_new_class_handler IA__g_signal_new_class_handler
-
-extern __typeof (g_signal_override_class_closure) IA__g_signal_override_class_closure __attribute((visibility("hidden")));
-#define g_signal_override_class_closure IA__g_signal_override_class_closure
-
-extern __typeof (g_signal_override_class_handler) IA__g_signal_override_class_handler __attribute((visibility("hidden")));
-#define g_signal_override_class_handler IA__g_signal_override_class_handler
-
-extern __typeof (g_signal_parse_name) IA__g_signal_parse_name __attribute((visibility("hidden")));
-#define g_signal_parse_name IA__g_signal_parse_name
-
-extern __typeof (g_signal_query) IA__g_signal_query __attribute((visibility("hidden")));
-#define g_signal_query IA__g_signal_query
-
-extern __typeof (g_signal_remove_emission_hook) IA__g_signal_remove_emission_hook __attribute((visibility("hidden")));
-#define g_signal_remove_emission_hook IA__g_signal_remove_emission_hook
-
-extern __typeof (g_signal_stop_emission) IA__g_signal_stop_emission __attribute((visibility("hidden")));
-#define g_signal_stop_emission IA__g_signal_stop_emission
-
-extern __typeof (g_signal_stop_emission_by_name) IA__g_signal_stop_emission_by_name __attribute((visibility("hidden")));
-#define g_signal_stop_emission_by_name IA__g_signal_stop_emission_by_name
-
-#endif
-#endif
-#if IN_HEADER(__G_TYPE_H__)
-#if IN_FILE(__G_TYPE_C__)
-extern __typeof (g_type_add_class_cache_func) IA__g_type_add_class_cache_func __attribute((visibility("hidden")));
-#define g_type_add_class_cache_func IA__g_type_add_class_cache_func
-
-extern __typeof (g_type_add_interface_check) IA__g_type_add_interface_check __attribute((visibility("hidden")));
-#define g_type_add_interface_check IA__g_type_add_interface_check
-
-extern __typeof (g_type_add_interface_dynamic) IA__g_type_add_interface_dynamic __attribute((visibility("hidden")));
-#define g_type_add_interface_dynamic IA__g_type_add_interface_dynamic
-
-extern __typeof (g_type_add_interface_static) IA__g_type_add_interface_static __attribute((visibility("hidden")));
-#define g_type_add_interface_static IA__g_type_add_interface_static
-
-extern __typeof (g_type_check_class_cast) IA__g_type_check_class_cast __attribute((visibility("hidden")));
-#define g_type_check_class_cast IA__g_type_check_class_cast
-
-extern __typeof (g_type_check_class_is_a) IA__g_type_check_class_is_a __attribute((visibility("hidden")));
-#define g_type_check_class_is_a IA__g_type_check_class_is_a
-
-extern __typeof (g_type_check_instance) IA__g_type_check_instance __attribute((visibility("hidden")));
-#define g_type_check_instance IA__g_type_check_instance
-
-extern __typeof (g_type_check_instance_cast) IA__g_type_check_instance_cast __attribute((visibility("hidden")));
-#define g_type_check_instance_cast IA__g_type_check_instance_cast
-
-extern __typeof (g_type_check_instance_is_a) IA__g_type_check_instance_is_a __attribute((visibility("hidden")));
-#define g_type_check_instance_is_a IA__g_type_check_instance_is_a
-
-extern __typeof (g_type_check_is_value_type) IA__g_type_check_is_value_type __attribute((visibility("hidden")));
-#define g_type_check_is_value_type IA__g_type_check_is_value_type
-
-extern __typeof (g_type_check_value) IA__g_type_check_value __attribute((visibility("hidden")));
-#define g_type_check_value IA__g_type_check_value
-
-extern __typeof (g_type_check_value_holds) IA__g_type_check_value_holds __attribute((visibility("hidden")));
-#define g_type_check_value_holds IA__g_type_check_value_holds
-
-extern __typeof (g_type_children) IA__g_type_children __attribute((visibility("hidden")));
-#define g_type_children IA__g_type_children
-
-extern __typeof (g_type_class_add_private) IA__g_type_class_add_private __attribute((visibility("hidden")));
-#define g_type_class_add_private IA__g_type_class_add_private
-
-extern __typeof (g_type_class_peek) IA__g_type_class_peek __attribute((visibility("hidden")));
-#define g_type_class_peek IA__g_type_class_peek
-
-extern __typeof (g_type_class_peek_parent) IA__g_type_class_peek_parent __attribute((visibility("hidden")));
-#define g_type_class_peek_parent IA__g_type_class_peek_parent
-
-extern __typeof (g_type_class_peek_static) IA__g_type_class_peek_static __attribute((visibility("hidden")));
-#define g_type_class_peek_static IA__g_type_class_peek_static
-
-extern __typeof (g_type_class_ref) IA__g_type_class_ref __attribute((visibility("hidden")));
-#define g_type_class_ref IA__g_type_class_ref
-
-extern __typeof (g_type_class_unref) IA__g_type_class_unref __attribute((visibility("hidden")));
-#define g_type_class_unref IA__g_type_class_unref
-
-extern __typeof (g_type_class_unref_uncached) IA__g_type_class_unref_uncached __attribute((visibility("hidden")));
-#define g_type_class_unref_uncached IA__g_type_class_unref_uncached
-
-extern __typeof (g_type_create_instance) IA__g_type_create_instance __attribute((visibility("hidden")));
-#define g_type_create_instance IA__g_type_create_instance
-
-extern __typeof (g_type_default_interface_peek) IA__g_type_default_interface_peek __attribute((visibility("hidden")));
-#define g_type_default_interface_peek IA__g_type_default_interface_peek
-
-extern __typeof (g_type_default_interface_ref) IA__g_type_default_interface_ref __attribute((visibility("hidden")));
-#define g_type_default_interface_ref IA__g_type_default_interface_ref
-
-extern __typeof (g_type_default_interface_unref) IA__g_type_default_interface_unref __attribute((visibility("hidden")));
-#define g_type_default_interface_unref IA__g_type_default_interface_unref
-
-extern __typeof (g_type_depth) IA__g_type_depth __attribute((visibility("hidden")));
-#define g_type_depth IA__g_type_depth
-
-extern __typeof (g_type_free_instance) IA__g_type_free_instance __attribute((visibility("hidden")));
-#define g_type_free_instance IA__g_type_free_instance
-
-extern __typeof (g_type_from_name) IA__g_type_from_name __attribute((visibility("hidden")));
-#define g_type_from_name IA__g_type_from_name
-
-extern __typeof (g_type_fundamental) IA__g_type_fundamental __attribute((visibility("hidden")));
-#define g_type_fundamental IA__g_type_fundamental
-
-extern __typeof (g_type_fundamental_next) IA__g_type_fundamental_next __attribute((visibility("hidden")));
-#define g_type_fundamental_next IA__g_type_fundamental_next
-
-extern __typeof (g_type_get_plugin) IA__g_type_get_plugin __attribute((visibility("hidden")));
-#define g_type_get_plugin IA__g_type_get_plugin
-
-extern __typeof (g_type_get_qdata) IA__g_type_get_qdata __attribute((visibility("hidden")));
-#define g_type_get_qdata IA__g_type_get_qdata
-
-extern __typeof (g_type_init) IA__g_type_init __attribute((visibility("hidden")));
-#define g_type_init IA__g_type_init
-
-extern __typeof (g_type_init_with_debug_flags) IA__g_type_init_with_debug_flags __attribute((visibility("hidden")));
-#define g_type_init_with_debug_flags IA__g_type_init_with_debug_flags
-
-extern __typeof (g_type_instance_get_private) IA__g_type_instance_get_private __attribute((visibility("hidden")));
-#define g_type_instance_get_private IA__g_type_instance_get_private
-
-extern __typeof (g_type_interface_add_prerequisite) IA__g_type_interface_add_prerequisite __attribute((visibility("hidden")));
-#define g_type_interface_add_prerequisite IA__g_type_interface_add_prerequisite
-
-extern __typeof (g_type_interface_get_plugin) IA__g_type_interface_get_plugin __attribute((visibility("hidden")));
-#define g_type_interface_get_plugin IA__g_type_interface_get_plugin
-
-extern __typeof (g_type_interface_peek) IA__g_type_interface_peek __attribute((visibility("hidden")));
-#define g_type_interface_peek IA__g_type_interface_peek
-
-extern __typeof (g_type_interface_peek_parent) IA__g_type_interface_peek_parent __attribute((visibility("hidden")));
-#define g_type_interface_peek_parent IA__g_type_interface_peek_parent
-
-extern __typeof (g_type_interface_prerequisites) IA__g_type_interface_prerequisites __attribute((visibility("hidden")));
-#define g_type_interface_prerequisites IA__g_type_interface_prerequisites
-
-extern __typeof (g_type_interfaces) IA__g_type_interfaces __attribute((visibility("hidden")));
-#define g_type_interfaces IA__g_type_interfaces
-
-extern __typeof (g_type_is_a) IA__g_type_is_a __attribute((visibility("hidden")));
-#define g_type_is_a IA__g_type_is_a
-
-extern __typeof (g_type_name) IA__g_type_name __attribute((visibility("hidden")));
-#define g_type_name IA__g_type_name
-
-extern __typeof (g_type_name_from_class) IA__g_type_name_from_class __attribute((visibility("hidden")));
-#define g_type_name_from_class IA__g_type_name_from_class
-
-extern __typeof (g_type_name_from_instance) IA__g_type_name_from_instance __attribute((visibility("hidden")));
-#define g_type_name_from_instance IA__g_type_name_from_instance
-
-extern __typeof (g_type_next_base) IA__g_type_next_base __attribute((visibility("hidden")));
-#define g_type_next_base IA__g_type_next_base
-
-extern __typeof (g_type_parent) IA__g_type_parent __attribute((visibility("hidden")));
-#define g_type_parent IA__g_type_parent
-
-extern __typeof (g_type_qname) IA__g_type_qname __attribute((visibility("hidden")));
-#define g_type_qname IA__g_type_qname
-
-extern __typeof (g_type_query) IA__g_type_query __attribute((visibility("hidden")));
-#define g_type_query IA__g_type_query
-
-extern __typeof (g_type_register_dynamic) IA__g_type_register_dynamic __attribute((visibility("hidden")));
-#define g_type_register_dynamic IA__g_type_register_dynamic
-
-extern __typeof (g_type_register_fundamental) IA__g_type_register_fundamental __attribute((visibility("hidden")));
-#define g_type_register_fundamental IA__g_type_register_fundamental
-
-extern __typeof (g_type_register_static) IA__g_type_register_static __attribute((visibility("hidden")));
-#define g_type_register_static IA__g_type_register_static
-
-extern __typeof (g_type_register_static_simple) IA__g_type_register_static_simple __attribute((visibility("hidden")));
-#define g_type_register_static_simple IA__g_type_register_static_simple
-
-extern __typeof (g_type_remove_class_cache_func) IA__g_type_remove_class_cache_func __attribute((visibility("hidden")));
-#define g_type_remove_class_cache_func IA__g_type_remove_class_cache_func
-
-extern __typeof (g_type_remove_interface_check) IA__g_type_remove_interface_check __attribute((visibility("hidden")));
-#define g_type_remove_interface_check IA__g_type_remove_interface_check
-
-extern __typeof (g_type_set_qdata) IA__g_type_set_qdata __attribute((visibility("hidden")));
-#define g_type_set_qdata IA__g_type_set_qdata
-
-extern __typeof (g_type_test_flags) IA__g_type_test_flags __attribute((visibility("hidden")));
-#define g_type_test_flags IA__g_type_test_flags
-
-extern __typeof (g_type_value_table_peek) IA__g_type_value_table_peek __attribute((visibility("hidden")));
-#define g_type_value_table_peek IA__g_type_value_table_peek
-
-extern __typeof (g_type_class_get_private) IA__g_type_class_get_private __attribute((visibility("hidden")));
-#define g_type_class_get_private IA__g_type_class_get_private
-
-extern __typeof (g_type_add_class_private) IA__g_type_add_class_private __attribute((visibility("hidden")));
-#define g_type_add_class_private IA__g_type_add_class_private
-
-#endif
-#endif
-#if IN_HEADER(__G_TYPE_MODULE_H__)
-#if IN_FILE(__G_TYPE_MODULE_C__)
-extern __typeof (g_type_module_add_interface) IA__g_type_module_add_interface __attribute((visibility("hidden")));
-#define g_type_module_add_interface IA__g_type_module_add_interface
-
-extern __typeof (g_type_module_get_type) IA__g_type_module_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_type_module_get_type IA__g_type_module_get_type
-
-extern __typeof (g_type_module_register_enum) IA__g_type_module_register_enum __attribute((visibility("hidden")));
-#define g_type_module_register_enum IA__g_type_module_register_enum
-
-extern __typeof (g_type_module_register_flags) IA__g_type_module_register_flags __attribute((visibility("hidden")));
-#define g_type_module_register_flags IA__g_type_module_register_flags
-
-extern __typeof (g_type_module_register_type) IA__g_type_module_register_type __attribute((visibility("hidden")));
-#define g_type_module_register_type IA__g_type_module_register_type
-
-extern __typeof (g_type_module_set_name) IA__g_type_module_set_name __attribute((visibility("hidden")));
-#define g_type_module_set_name IA__g_type_module_set_name
-
-extern __typeof (g_type_module_unuse) IA__g_type_module_unuse __attribute((visibility("hidden")));
-#define g_type_module_unuse IA__g_type_module_unuse
-
-extern __typeof (g_type_module_use) IA__g_type_module_use __attribute((visibility("hidden")));
-#define g_type_module_use IA__g_type_module_use
-
-#endif
-#endif
-#if IN_HEADER(__G_VALUE_ARRAY_H__)
-#if IN_FILE(__G_VALUE_ARRAY_C__)
-extern __typeof (g_value_array_append) IA__g_value_array_append __attribute((visibility("hidden")));
-#define g_value_array_append IA__g_value_array_append
-
-extern __typeof (g_value_array_copy) IA__g_value_array_copy __attribute((visibility("hidden")));
-#define g_value_array_copy IA__g_value_array_copy
-
-extern __typeof (g_value_array_free) IA__g_value_array_free __attribute((visibility("hidden")));
-#define g_value_array_free IA__g_value_array_free
-
-extern __typeof (g_value_array_get_nth) IA__g_value_array_get_nth __attribute((visibility("hidden")));
-#define g_value_array_get_nth IA__g_value_array_get_nth
-
-extern __typeof (g_value_array_insert) IA__g_value_array_insert __attribute((visibility("hidden")));
-#define g_value_array_insert IA__g_value_array_insert
-
-extern __typeof (g_value_array_new) IA__g_value_array_new __attribute((visibility("hidden")));
-#define g_value_array_new IA__g_value_array_new
-
-extern __typeof (g_value_array_prepend) IA__g_value_array_prepend __attribute((visibility("hidden")));
-#define g_value_array_prepend IA__g_value_array_prepend
-
-extern __typeof (g_value_array_remove) IA__g_value_array_remove __attribute((visibility("hidden")));
-#define g_value_array_remove IA__g_value_array_remove
-
-extern __typeof (g_value_array_sort) IA__g_value_array_sort __attribute((visibility("hidden")));
-#define g_value_array_sort IA__g_value_array_sort
-
-extern __typeof (g_value_array_sort_with_data) IA__g_value_array_sort_with_data __attribute((visibility("hidden")));
-#define g_value_array_sort_with_data IA__g_value_array_sort_with_data
-
-#endif
-#endif
-#if IN_HEADER(__G_TYPE_PLUGIN_H__)
-#if IN_FILE(__G_TYPE_PLUGIN_C__)
-extern __typeof (g_type_plugin_complete_interface_info) IA__g_type_plugin_complete_interface_info __attribute((visibility("hidden")));
-#define g_type_plugin_complete_interface_info IA__g_type_plugin_complete_interface_info
-
-extern __typeof (g_type_plugin_complete_type_info) IA__g_type_plugin_complete_type_info __attribute((visibility("hidden")));
-#define g_type_plugin_complete_type_info IA__g_type_plugin_complete_type_info
-
-extern __typeof (g_type_plugin_get_type) IA__g_type_plugin_get_type __attribute((visibility("hidden"))) G_GNUC_CONST;
-#define g_type_plugin_get_type IA__g_type_plugin_get_type
-
-extern __typeof (g_type_plugin_unuse) IA__g_type_plugin_unuse __attribute((visibility("hidden")));
-#define g_type_plugin_unuse IA__g_type_plugin_unuse
-
-extern __typeof (g_type_plugin_use) IA__g_type_plugin_use __attribute((visibility("hidden")));
-#define g_type_plugin_use IA__g_type_plugin_use
-
-#endif
-#endif
-#if IN_HEADER(__G_VALUE_H__)
-#if IN_FILE(__G_VALUE_C__)
-extern __typeof (g_value_copy) IA__g_value_copy __attribute((visibility("hidden")));
-#define g_value_copy IA__g_value_copy
-
-extern __typeof (g_value_fits_pointer) IA__g_value_fits_pointer __attribute((visibility("hidden")));
-#define g_value_fits_pointer IA__g_value_fits_pointer
-
-extern __typeof (g_value_init) IA__g_value_init __attribute((visibility("hidden")));
-#define g_value_init IA__g_value_init
-
-extern __typeof (g_value_peek_pointer) IA__g_value_peek_pointer __attribute((visibility("hidden")));
-#define g_value_peek_pointer IA__g_value_peek_pointer
-
-extern __typeof (g_value_register_transform_func) IA__g_value_register_transform_func __attribute((visibility("hidden")));
-#define g_value_register_transform_func IA__g_value_register_transform_func
-
-extern __typeof (g_value_reset) IA__g_value_reset __attribute((visibility("hidden")));
-#define g_value_reset IA__g_value_reset
-
-extern __typeof (g_value_transform) IA__g_value_transform __attribute((visibility("hidden")));
-#define g_value_transform IA__g_value_transform
-
-extern __typeof (g_value_type_compatible) IA__g_value_type_compatible __attribute((visibility("hidden")));
-#define g_value_type_compatible IA__g_value_type_compatible
-
-extern __typeof (g_value_type_transformable) IA__g_value_type_transformable __attribute((visibility("hidden")));
-#define g_value_type_transformable IA__g_value_type_transformable
-
-extern __typeof (g_value_unset) IA__g_value_unset __attribute((visibility("hidden")));
-#define g_value_unset IA__g_value_unset
-
-extern __typeof (g_value_set_instance) IA__g_value_set_instance __attribute((visibility("hidden")));
-#define g_value_set_instance IA__g_value_set_instance
-
-#endif
-#endif
-
-#endif /* G_HAVE_GNUC_VISIBILITY */
-#endif /* DISABLE_VISIBILITY */
+++ /dev/null
-/* Generated by makegobjectalias.pl */
-
-#ifndef DISABLE_VISIBILITY
-
-#include "glibconfig.h"
-
-#ifdef G_HAVE_GNUC_VISIBILITY
-
-#undef IN_FILE
-#define IN_FILE defined
-
-#undef IN_HEADER
-#define IN_HEADER(x) 1
-
-#if IN_HEADER(__G_BOXED_H__)
-#if IN_FILE(__G_BOXED_C__)
-#undef g_boxed_copy
-extern __typeof (g_boxed_copy) g_boxed_copy __attribute((alias("IA__g_boxed_copy"), visibility("default")));
-
-#undef g_boxed_free
-extern __typeof (g_boxed_free) g_boxed_free __attribute((alias("IA__g_boxed_free"), visibility("default")));
-
-#undef g_boxed_type_register_static
-extern __typeof (g_boxed_type_register_static) g_boxed_type_register_static __attribute((alias("IA__g_boxed_type_register_static"), visibility("default")));
-
-#undef g_date_get_type
-extern __typeof (g_date_get_type) g_date_get_type __attribute((alias("IA__g_date_get_type"), visibility("default")));
-
-#undef g_gstring_get_type
-extern __typeof (g_gstring_get_type) g_gstring_get_type __attribute((alias("IA__g_gstring_get_type"), visibility("default")));
-
-#undef g_strv_get_type
-extern __typeof (g_strv_get_type) g_strv_get_type __attribute((alias("IA__g_strv_get_type"), visibility("default")));
-
-#undef g_hash_table_get_type
-extern __typeof (g_hash_table_get_type) g_hash_table_get_type __attribute((alias("IA__g_hash_table_get_type"), visibility("default")));
-
-#undef g_array_get_type
-extern __typeof (g_array_get_type) g_array_get_type __attribute((alias("IA__g_array_get_type"), visibility("default")));
-
-#undef g_byte_array_get_type
-extern __typeof (g_byte_array_get_type) g_byte_array_get_type __attribute((alias("IA__g_byte_array_get_type"), visibility("default")));
-
-#undef g_ptr_array_get_type
-extern __typeof (g_ptr_array_get_type) g_ptr_array_get_type __attribute((alias("IA__g_ptr_array_get_type"), visibility("default")));
-
-#undef g_regex_get_type
-extern __typeof (g_regex_get_type) g_regex_get_type __attribute((alias("IA__g_regex_get_type"), visibility("default")));
-
-#undef g_variant_type_get_gtype
-extern __typeof (g_variant_type_get_gtype) g_variant_type_get_gtype __attribute((alias("IA__g_variant_type_get_gtype"), visibility("default")));
-
-#undef g_variant_get_gtype
-extern __typeof (g_variant_get_gtype) g_variant_get_gtype __attribute((alias("IA__g_variant_get_gtype"), visibility("default")));
-
-#undef g_closure_get_type
-extern __typeof (g_closure_get_type) g_closure_get_type __attribute((alias("IA__g_closure_get_type"), visibility("default")));
-
-#undef g_value_get_type
-extern __typeof (g_value_get_type) g_value_get_type __attribute((alias("IA__g_value_get_type"), visibility("default")));
-
-#undef g_value_array_get_type
-extern __typeof (g_value_array_get_type) g_value_array_get_type __attribute((alias("IA__g_value_array_get_type"), visibility("default")));
-
-#undef g_value_set_boxed
-extern __typeof (g_value_set_boxed) g_value_set_boxed __attribute((alias("IA__g_value_set_boxed"), visibility("default")));
-
-#undef g_value_take_boxed
-extern __typeof (g_value_take_boxed) g_value_take_boxed __attribute((alias("IA__g_value_take_boxed"), visibility("default")));
-
-#undef g_value_dup_boxed
-extern __typeof (g_value_dup_boxed) g_value_dup_boxed __attribute((alias("IA__g_value_dup_boxed"), visibility("default")));
-
-#undef g_value_get_boxed
-extern __typeof (g_value_get_boxed) g_value_get_boxed __attribute((alias("IA__g_value_get_boxed"), visibility("default")));
-
-#undef g_value_set_static_boxed
-extern __typeof (g_value_set_static_boxed) g_value_set_static_boxed __attribute((alias("IA__g_value_set_static_boxed"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_value_set_boxed_take_ownership
-extern __typeof (g_value_set_boxed_take_ownership) g_value_set_boxed_take_ownership __attribute((alias("IA__g_value_set_boxed_take_ownership"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_MARSHAL_H__)
-#if IN_FILE(__G_SIGNAL_C__)
-#undef g_cclosure_marshal_BOOLEAN__FLAGS
-extern __typeof (g_cclosure_marshal_BOOLEAN__FLAGS) g_cclosure_marshal_BOOLEAN__FLAGS __attribute((alias("IA__g_cclosure_marshal_BOOLEAN__FLAGS"), visibility("default")));
-
-#undef g_cclosure_marshal_STRING__OBJECT_POINTER
-extern __typeof (g_cclosure_marshal_STRING__OBJECT_POINTER) g_cclosure_marshal_STRING__OBJECT_POINTER __attribute((alias("IA__g_cclosure_marshal_STRING__OBJECT_POINTER"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__BOOLEAN
-extern __typeof (g_cclosure_marshal_VOID__BOOLEAN) g_cclosure_marshal_VOID__BOOLEAN __attribute((alias("IA__g_cclosure_marshal_VOID__BOOLEAN"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__BOXED
-extern __typeof (g_cclosure_marshal_VOID__BOXED) g_cclosure_marshal_VOID__BOXED __attribute((alias("IA__g_cclosure_marshal_VOID__BOXED"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__CHAR
-extern __typeof (g_cclosure_marshal_VOID__CHAR) g_cclosure_marshal_VOID__CHAR __attribute((alias("IA__g_cclosure_marshal_VOID__CHAR"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__DOUBLE
-extern __typeof (g_cclosure_marshal_VOID__DOUBLE) g_cclosure_marshal_VOID__DOUBLE __attribute((alias("IA__g_cclosure_marshal_VOID__DOUBLE"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__ENUM
-extern __typeof (g_cclosure_marshal_VOID__ENUM) g_cclosure_marshal_VOID__ENUM __attribute((alias("IA__g_cclosure_marshal_VOID__ENUM"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__FLAGS
-extern __typeof (g_cclosure_marshal_VOID__FLAGS) g_cclosure_marshal_VOID__FLAGS __attribute((alias("IA__g_cclosure_marshal_VOID__FLAGS"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__FLOAT
-extern __typeof (g_cclosure_marshal_VOID__FLOAT) g_cclosure_marshal_VOID__FLOAT __attribute((alias("IA__g_cclosure_marshal_VOID__FLOAT"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__INT
-extern __typeof (g_cclosure_marshal_VOID__INT) g_cclosure_marshal_VOID__INT __attribute((alias("IA__g_cclosure_marshal_VOID__INT"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__LONG
-extern __typeof (g_cclosure_marshal_VOID__LONG) g_cclosure_marshal_VOID__LONG __attribute((alias("IA__g_cclosure_marshal_VOID__LONG"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__OBJECT
-extern __typeof (g_cclosure_marshal_VOID__OBJECT) g_cclosure_marshal_VOID__OBJECT __attribute((alias("IA__g_cclosure_marshal_VOID__OBJECT"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__PARAM
-extern __typeof (g_cclosure_marshal_VOID__PARAM) g_cclosure_marshal_VOID__PARAM __attribute((alias("IA__g_cclosure_marshal_VOID__PARAM"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__POINTER
-extern __typeof (g_cclosure_marshal_VOID__POINTER) g_cclosure_marshal_VOID__POINTER __attribute((alias("IA__g_cclosure_marshal_VOID__POINTER"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__STRING
-extern __typeof (g_cclosure_marshal_VOID__STRING) g_cclosure_marshal_VOID__STRING __attribute((alias("IA__g_cclosure_marshal_VOID__STRING"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__UCHAR
-extern __typeof (g_cclosure_marshal_VOID__UCHAR) g_cclosure_marshal_VOID__UCHAR __attribute((alias("IA__g_cclosure_marshal_VOID__UCHAR"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__UINT
-extern __typeof (g_cclosure_marshal_VOID__UINT) g_cclosure_marshal_VOID__UINT __attribute((alias("IA__g_cclosure_marshal_VOID__UINT"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__UINT_POINTER
-extern __typeof (g_cclosure_marshal_VOID__UINT_POINTER) g_cclosure_marshal_VOID__UINT_POINTER __attribute((alias("IA__g_cclosure_marshal_VOID__UINT_POINTER"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__ULONG
-extern __typeof (g_cclosure_marshal_VOID__ULONG) g_cclosure_marshal_VOID__ULONG __attribute((alias("IA__g_cclosure_marshal_VOID__ULONG"), visibility("default")));
-
-#undef g_cclosure_marshal_VOID__VOID
-extern __typeof (g_cclosure_marshal_VOID__VOID) g_cclosure_marshal_VOID__VOID __attribute((alias("IA__g_cclosure_marshal_VOID__VOID"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_CLOSURE_H__)
-#if IN_FILE(__G_CLOSURE_C__)
-#undef g_cclosure_new
-extern __typeof (g_cclosure_new) g_cclosure_new __attribute((alias("IA__g_cclosure_new"), visibility("default")));
-
-#undef g_cclosure_new_swap
-extern __typeof (g_cclosure_new_swap) g_cclosure_new_swap __attribute((alias("IA__g_cclosure_new_swap"), visibility("default")));
-
-#undef g_closure_add_finalize_notifier
-extern __typeof (g_closure_add_finalize_notifier) g_closure_add_finalize_notifier __attribute((alias("IA__g_closure_add_finalize_notifier"), visibility("default")));
-
-#undef g_closure_add_invalidate_notifier
-extern __typeof (g_closure_add_invalidate_notifier) g_closure_add_invalidate_notifier __attribute((alias("IA__g_closure_add_invalidate_notifier"), visibility("default")));
-
-#undef g_closure_add_marshal_guards
-extern __typeof (g_closure_add_marshal_guards) g_closure_add_marshal_guards __attribute((alias("IA__g_closure_add_marshal_guards"), visibility("default")));
-
-#undef g_closure_invalidate
-extern __typeof (g_closure_invalidate) g_closure_invalidate __attribute((alias("IA__g_closure_invalidate"), visibility("default")));
-
-#undef g_closure_invoke
-extern __typeof (g_closure_invoke) g_closure_invoke __attribute((alias("IA__g_closure_invoke"), visibility("default")));
-
-#undef g_closure_new_simple
-extern __typeof (g_closure_new_simple) g_closure_new_simple __attribute((alias("IA__g_closure_new_simple"), visibility("default")));
-
-#undef g_closure_ref
-extern __typeof (g_closure_ref) g_closure_ref __attribute((alias("IA__g_closure_ref"), visibility("default")));
-
-#undef g_closure_remove_finalize_notifier
-extern __typeof (g_closure_remove_finalize_notifier) g_closure_remove_finalize_notifier __attribute((alias("IA__g_closure_remove_finalize_notifier"), visibility("default")));
-
-#undef g_closure_remove_invalidate_notifier
-extern __typeof (g_closure_remove_invalidate_notifier) g_closure_remove_invalidate_notifier __attribute((alias("IA__g_closure_remove_invalidate_notifier"), visibility("default")));
-
-#undef g_closure_set_marshal
-extern __typeof (g_closure_set_marshal) g_closure_set_marshal __attribute((alias("IA__g_closure_set_marshal"), visibility("default")));
-
-#undef g_closure_set_meta_marshal
-extern __typeof (g_closure_set_meta_marshal) g_closure_set_meta_marshal __attribute((alias("IA__g_closure_set_meta_marshal"), visibility("default")));
-
-#undef g_closure_sink
-extern __typeof (g_closure_sink) g_closure_sink __attribute((alias("IA__g_closure_sink"), visibility("default")));
-
-#undef g_closure_unref
-extern __typeof (g_closure_unref) g_closure_unref __attribute((alias("IA__g_closure_unref"), visibility("default")));
-
-#undef g_signal_type_cclosure_new
-extern __typeof (g_signal_type_cclosure_new) g_signal_type_cclosure_new __attribute((alias("IA__g_signal_type_cclosure_new"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_ENUMS_H__)
-#if IN_FILE(__G_ENUMS_C__)
-#undef g_enum_complete_type_info
-extern __typeof (g_enum_complete_type_info) g_enum_complete_type_info __attribute((alias("IA__g_enum_complete_type_info"), visibility("default")));
-
-#undef g_enum_get_value
-extern __typeof (g_enum_get_value) g_enum_get_value __attribute((alias("IA__g_enum_get_value"), visibility("default")));
-
-#undef g_enum_get_value_by_name
-extern __typeof (g_enum_get_value_by_name) g_enum_get_value_by_name __attribute((alias("IA__g_enum_get_value_by_name"), visibility("default")));
-
-#undef g_enum_get_value_by_nick
-extern __typeof (g_enum_get_value_by_nick) g_enum_get_value_by_nick __attribute((alias("IA__g_enum_get_value_by_nick"), visibility("default")));
-
-#undef g_enum_register_static
-extern __typeof (g_enum_register_static) g_enum_register_static __attribute((alias("IA__g_enum_register_static"), visibility("default")));
-
-#undef g_flags_complete_type_info
-extern __typeof (g_flags_complete_type_info) g_flags_complete_type_info __attribute((alias("IA__g_flags_complete_type_info"), visibility("default")));
-
-#undef g_flags_get_first_value
-extern __typeof (g_flags_get_first_value) g_flags_get_first_value __attribute((alias("IA__g_flags_get_first_value"), visibility("default")));
-
-#undef g_flags_get_value_by_name
-extern __typeof (g_flags_get_value_by_name) g_flags_get_value_by_name __attribute((alias("IA__g_flags_get_value_by_name"), visibility("default")));
-
-#undef g_flags_get_value_by_nick
-extern __typeof (g_flags_get_value_by_nick) g_flags_get_value_by_nick __attribute((alias("IA__g_flags_get_value_by_nick"), visibility("default")));
-
-#undef g_flags_register_static
-extern __typeof (g_flags_register_static) g_flags_register_static __attribute((alias("IA__g_flags_register_static"), visibility("default")));
-
-#undef g_value_set_enum
-extern __typeof (g_value_set_enum) g_value_set_enum __attribute((alias("IA__g_value_set_enum"), visibility("default")));
-
-#undef g_value_set_flags
-extern __typeof (g_value_set_flags) g_value_set_flags __attribute((alias("IA__g_value_set_flags"), visibility("default")));
-
-#undef g_value_get_enum
-extern __typeof (g_value_get_enum) g_value_get_enum __attribute((alias("IA__g_value_get_enum"), visibility("default")));
-
-#undef g_value_get_flags
-extern __typeof (g_value_get_flags) g_value_get_flags __attribute((alias("IA__g_value_get_flags"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SOURCECLOSURE_H__)
-#if IN_FILE(__G_SOURCECLOSURE_C__)
-#undef g_io_channel_get_type
-extern __typeof (g_io_channel_get_type) g_io_channel_get_type __attribute((alias("IA__g_io_channel_get_type"), visibility("default")));
-
-#undef g_io_condition_get_type
-extern __typeof (g_io_condition_get_type) g_io_condition_get_type __attribute((alias("IA__g_io_condition_get_type"), visibility("default")));
-
-#undef g_source_set_closure
-extern __typeof (g_source_set_closure) g_source_set_closure __attribute((alias("IA__g_source_set_closure"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_OBJECT_H__)
-#if IN_FILE(__G_OBJECT_C__)
-#undef g_cclosure_new_object
-extern __typeof (g_cclosure_new_object) g_cclosure_new_object __attribute((alias("IA__g_cclosure_new_object"), visibility("default")));
-
-#undef g_cclosure_new_object_swap
-extern __typeof (g_cclosure_new_object_swap) g_cclosure_new_object_swap __attribute((alias("IA__g_cclosure_new_object_swap"), visibility("default")));
-
-#undef g_closure_new_object
-extern __typeof (g_closure_new_object) g_closure_new_object __attribute((alias("IA__g_closure_new_object"), visibility("default")));
-
-#undef g_initially_unowned_get_type
-extern __typeof (g_initially_unowned_get_type) g_initially_unowned_get_type __attribute((alias("IA__g_initially_unowned_get_type"), visibility("default")));
-
-#undef g_object_add_weak_pointer
-extern __typeof (g_object_add_weak_pointer) g_object_add_weak_pointer __attribute((alias("IA__g_object_add_weak_pointer"), visibility("default")));
-
-#undef g_object_class_find_property
-extern __typeof (g_object_class_find_property) g_object_class_find_property __attribute((alias("IA__g_object_class_find_property"), visibility("default")));
-
-#undef g_object_class_install_property
-extern __typeof (g_object_class_install_property) g_object_class_install_property __attribute((alias("IA__g_object_class_install_property"), visibility("default")));
-
-#undef g_object_class_list_properties
-extern __typeof (g_object_class_list_properties) g_object_class_list_properties __attribute((alias("IA__g_object_class_list_properties"), visibility("default")));
-
-#undef g_object_class_override_property
-extern __typeof (g_object_class_override_property) g_object_class_override_property __attribute((alias("IA__g_object_class_override_property"), visibility("default")));
-
-#undef g_object_connect
-extern __typeof (g_object_connect) g_object_connect __attribute((alias("IA__g_object_connect"), visibility("default")));
-
-#undef g_object_disconnect
-extern __typeof (g_object_disconnect) g_object_disconnect __attribute((alias("IA__g_object_disconnect"), visibility("default")));
-
-#undef g_object_freeze_notify
-extern __typeof (g_object_freeze_notify) g_object_freeze_notify __attribute((alias("IA__g_object_freeze_notify"), visibility("default")));
-
-#undef g_object_get
-extern __typeof (g_object_get) g_object_get __attribute((alias("IA__g_object_get"), visibility("default")));
-
-#undef g_object_get_data
-extern __typeof (g_object_get_data) g_object_get_data __attribute((alias("IA__g_object_get_data"), visibility("default")));
-
-#undef g_object_get_property
-extern __typeof (g_object_get_property) g_object_get_property __attribute((alias("IA__g_object_get_property"), visibility("default")));
-
-#undef g_object_get_qdata
-extern __typeof (g_object_get_qdata) g_object_get_qdata __attribute((alias("IA__g_object_get_qdata"), visibility("default")));
-
-#undef g_object_get_type
-extern __typeof (g_object_get_type) g_object_get_type __attribute((alias("IA__g_object_get_type"), visibility("default")));
-
-#undef g_object_get_valist
-extern __typeof (g_object_get_valist) g_object_get_valist __attribute((alias("IA__g_object_get_valist"), visibility("default")));
-
-#undef g_object_interface_find_property
-extern __typeof (g_object_interface_find_property) g_object_interface_find_property __attribute((alias("IA__g_object_interface_find_property"), visibility("default")));
-
-#undef g_object_interface_install_property
-extern __typeof (g_object_interface_install_property) g_object_interface_install_property __attribute((alias("IA__g_object_interface_install_property"), visibility("default")));
-
-#undef g_object_interface_list_properties
-extern __typeof (g_object_interface_list_properties) g_object_interface_list_properties __attribute((alias("IA__g_object_interface_list_properties"), visibility("default")));
-
-#undef g_object_new
-extern __typeof (g_object_new) g_object_new __attribute((alias("IA__g_object_new"), visibility("default")));
-
-#undef g_object_newv
-extern __typeof (g_object_newv) g_object_newv __attribute((alias("IA__g_object_newv"), visibility("default")));
-
-#undef g_object_new_valist
-extern __typeof (g_object_new_valist) g_object_new_valist __attribute((alias("IA__g_object_new_valist"), visibility("default")));
-
-#undef g_object_notify
-extern __typeof (g_object_notify) g_object_notify __attribute((alias("IA__g_object_notify"), visibility("default")));
-
-#undef g_object_is_floating
-extern __typeof (g_object_is_floating) g_object_is_floating __attribute((alias("IA__g_object_is_floating"), visibility("default")));
-
-#undef g_object_ref_sink
-extern __typeof (g_object_ref_sink) g_object_ref_sink __attribute((alias("IA__g_object_ref_sink"), visibility("default")));
-
-#undef g_object_force_floating
-extern __typeof (g_object_force_floating) g_object_force_floating __attribute((alias("IA__g_object_force_floating"), visibility("default")));
-
-#undef g_object_ref
-extern __typeof (g_object_ref) g_object_ref __attribute((alias("IA__g_object_ref"), visibility("default")));
-
-#undef g_object_unref
-extern __typeof (g_object_unref) g_object_unref __attribute((alias("IA__g_object_unref"), visibility("default")));
-
-#undef g_object_remove_weak_pointer
-extern __typeof (g_object_remove_weak_pointer) g_object_remove_weak_pointer __attribute((alias("IA__g_object_remove_weak_pointer"), visibility("default")));
-
-#undef g_object_run_dispose
-extern __typeof (g_object_run_dispose) g_object_run_dispose __attribute((alias("IA__g_object_run_dispose"), visibility("default")));
-
-#undef g_object_set
-extern __typeof (g_object_set) g_object_set __attribute((alias("IA__g_object_set"), visibility("default")));
-
-#undef g_object_set_data
-extern __typeof (g_object_set_data) g_object_set_data __attribute((alias("IA__g_object_set_data"), visibility("default")));
-
-#undef g_object_set_data_full
-extern __typeof (g_object_set_data_full) g_object_set_data_full __attribute((alias("IA__g_object_set_data_full"), visibility("default")));
-
-#undef g_object_set_property
-extern __typeof (g_object_set_property) g_object_set_property __attribute((alias("IA__g_object_set_property"), visibility("default")));
-
-#undef g_object_set_qdata
-extern __typeof (g_object_set_qdata) g_object_set_qdata __attribute((alias("IA__g_object_set_qdata"), visibility("default")));
-
-#undef g_object_set_qdata_full
-extern __typeof (g_object_set_qdata_full) g_object_set_qdata_full __attribute((alias("IA__g_object_set_qdata_full"), visibility("default")));
-
-#undef g_object_set_valist
-extern __typeof (g_object_set_valist) g_object_set_valist __attribute((alias("IA__g_object_set_valist"), visibility("default")));
-
-#undef g_object_steal_data
-extern __typeof (g_object_steal_data) g_object_steal_data __attribute((alias("IA__g_object_steal_data"), visibility("default")));
-
-#undef g_object_steal_qdata
-extern __typeof (g_object_steal_qdata) g_object_steal_qdata __attribute((alias("IA__g_object_steal_qdata"), visibility("default")));
-
-#undef g_object_thaw_notify
-extern __typeof (g_object_thaw_notify) g_object_thaw_notify __attribute((alias("IA__g_object_thaw_notify"), visibility("default")));
-
-#undef g_object_watch_closure
-extern __typeof (g_object_watch_closure) g_object_watch_closure __attribute((alias("IA__g_object_watch_closure"), visibility("default")));
-
-#undef g_object_weak_ref
-extern __typeof (g_object_weak_ref) g_object_weak_ref __attribute((alias("IA__g_object_weak_ref"), visibility("default")));
-
-#undef g_object_weak_unref
-extern __typeof (g_object_weak_unref) g_object_weak_unref __attribute((alias("IA__g_object_weak_unref"), visibility("default")));
-
-#undef g_object_add_toggle_ref
-extern __typeof (g_object_add_toggle_ref) g_object_add_toggle_ref __attribute((alias("IA__g_object_add_toggle_ref"), visibility("default")));
-
-#undef g_object_remove_toggle_ref
-extern __typeof (g_object_remove_toggle_ref) g_object_remove_toggle_ref __attribute((alias("IA__g_object_remove_toggle_ref"), visibility("default")));
-
-#undef g_value_get_object
-extern __typeof (g_value_get_object) g_value_get_object __attribute((alias("IA__g_value_get_object"), visibility("default")));
-
-#undef g_value_set_object
-extern __typeof (g_value_set_object) g_value_set_object __attribute((alias("IA__g_value_set_object"), visibility("default")));
-
-#undef g_value_dup_object
-extern __typeof (g_value_dup_object) g_value_dup_object __attribute((alias("IA__g_value_dup_object"), visibility("default")));
-
-#undef g_value_take_object
-extern __typeof (g_value_take_object) g_value_take_object __attribute((alias("IA__g_value_take_object"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_value_set_object_take_ownership
-extern __typeof (g_value_set_object_take_ownership) g_value_set_object_take_ownership __attribute((alias("IA__g_value_set_object_take_ownership"), visibility("default")));
-
-#undef g_object_compat_control
-extern __typeof (g_object_compat_control) g_object_compat_control __attribute((alias("IA__g_object_compat_control"), visibility("default")));
-
-#endif
-#undef g_signal_connect_object
-extern __typeof (g_signal_connect_object) g_signal_connect_object __attribute((alias("IA__g_signal_connect_object"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_PARAMSPECS_H__)
-#if IN_FILE(__G_PARAMSPECS_C__)
-#undef g_param_spec_boolean
-extern __typeof (g_param_spec_boolean) g_param_spec_boolean __attribute((alias("IA__g_param_spec_boolean"), visibility("default")));
-
-#undef g_param_spec_boxed
-extern __typeof (g_param_spec_boxed) g_param_spec_boxed __attribute((alias("IA__g_param_spec_boxed"), visibility("default")));
-
-#undef g_param_spec_char
-extern __typeof (g_param_spec_char) g_param_spec_char __attribute((alias("IA__g_param_spec_char"), visibility("default")));
-
-#undef g_param_spec_double
-extern __typeof (g_param_spec_double) g_param_spec_double __attribute((alias("IA__g_param_spec_double"), visibility("default")));
-
-#undef g_param_spec_enum
-extern __typeof (g_param_spec_enum) g_param_spec_enum __attribute((alias("IA__g_param_spec_enum"), visibility("default")));
-
-#undef g_param_spec_flags
-extern __typeof (g_param_spec_flags) g_param_spec_flags __attribute((alias("IA__g_param_spec_flags"), visibility("default")));
-
-#undef g_param_spec_float
-extern __typeof (g_param_spec_float) g_param_spec_float __attribute((alias("IA__g_param_spec_float"), visibility("default")));
-
-#undef g_param_spec_int
-extern __typeof (g_param_spec_int) g_param_spec_int __attribute((alias("IA__g_param_spec_int"), visibility("default")));
-
-#undef g_param_spec_int64
-extern __typeof (g_param_spec_int64) g_param_spec_int64 __attribute((alias("IA__g_param_spec_int64"), visibility("default")));
-
-#undef g_param_spec_long
-extern __typeof (g_param_spec_long) g_param_spec_long __attribute((alias("IA__g_param_spec_long"), visibility("default")));
-
-#undef g_param_spec_object
-extern __typeof (g_param_spec_object) g_param_spec_object __attribute((alias("IA__g_param_spec_object"), visibility("default")));
-
-#undef g_param_spec_override
-extern __typeof (g_param_spec_override) g_param_spec_override __attribute((alias("IA__g_param_spec_override"), visibility("default")));
-
-#undef g_param_spec_gtype
-extern __typeof (g_param_spec_gtype) g_param_spec_gtype __attribute((alias("IA__g_param_spec_gtype"), visibility("default")));
-
-#undef g_param_spec_param
-extern __typeof (g_param_spec_param) g_param_spec_param __attribute((alias("IA__g_param_spec_param"), visibility("default")));
-
-#undef g_param_spec_pointer
-extern __typeof (g_param_spec_pointer) g_param_spec_pointer __attribute((alias("IA__g_param_spec_pointer"), visibility("default")));
-
-#undef g_param_spec_string
-extern __typeof (g_param_spec_string) g_param_spec_string __attribute((alias("IA__g_param_spec_string"), visibility("default")));
-
-#undef g_param_spec_uchar
-extern __typeof (g_param_spec_uchar) g_param_spec_uchar __attribute((alias("IA__g_param_spec_uchar"), visibility("default")));
-
-#undef g_param_spec_uint
-extern __typeof (g_param_spec_uint) g_param_spec_uint __attribute((alias("IA__g_param_spec_uint"), visibility("default")));
-
-#undef g_param_spec_uint64
-extern __typeof (g_param_spec_uint64) g_param_spec_uint64 __attribute((alias("IA__g_param_spec_uint64"), visibility("default")));
-
-#undef g_param_spec_ulong
-extern __typeof (g_param_spec_ulong) g_param_spec_ulong __attribute((alias("IA__g_param_spec_ulong"), visibility("default")));
-
-#undef g_param_spec_unichar
-extern __typeof (g_param_spec_unichar) g_param_spec_unichar __attribute((alias("IA__g_param_spec_unichar"), visibility("default")));
-
-#undef g_param_spec_value_array
-extern __typeof (g_param_spec_value_array) g_param_spec_value_array __attribute((alias("IA__g_param_spec_value_array"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_PARAM_H__)
-#if IN_FILE(__G_PARAM_C__)
-#undef g_param_spec_get_blurb
-extern __typeof (g_param_spec_get_blurb) g_param_spec_get_blurb __attribute((alias("IA__g_param_spec_get_blurb"), visibility("default")));
-
-#undef g_param_spec_get_name
-extern __typeof (g_param_spec_get_name) g_param_spec_get_name __attribute((alias("IA__g_param_spec_get_name"), visibility("default")));
-
-#undef g_param_spec_get_nick
-extern __typeof (g_param_spec_get_nick) g_param_spec_get_nick __attribute((alias("IA__g_param_spec_get_nick"), visibility("default")));
-
-#undef g_param_spec_get_redirect_target
-extern __typeof (g_param_spec_get_redirect_target) g_param_spec_get_redirect_target __attribute((alias("IA__g_param_spec_get_redirect_target"), visibility("default")));
-
-#undef g_param_spec_internal
-extern __typeof (g_param_spec_internal) g_param_spec_internal __attribute((alias("IA__g_param_spec_internal"), visibility("default")));
-
-#undef g_param_type_register_static
-extern __typeof (g_param_type_register_static) g_param_type_register_static __attribute((alias("IA__g_param_type_register_static"), visibility("default")));
-
-#undef g_param_spec_ref
-extern __typeof (g_param_spec_ref) g_param_spec_ref __attribute((alias("IA__g_param_spec_ref"), visibility("default")));
-
-#undef g_param_spec_ref_sink
-extern __typeof (g_param_spec_ref_sink) g_param_spec_ref_sink __attribute((alias("IA__g_param_spec_ref_sink"), visibility("default")));
-
-#undef g_param_spec_unref
-extern __typeof (g_param_spec_unref) g_param_spec_unref __attribute((alias("IA__g_param_spec_unref"), visibility("default")));
-
-#undef g_param_spec_sink
-extern __typeof (g_param_spec_sink) g_param_spec_sink __attribute((alias("IA__g_param_spec_sink"), visibility("default")));
-
-#undef g_param_spec_steal_qdata
-extern __typeof (g_param_spec_steal_qdata) g_param_spec_steal_qdata __attribute((alias("IA__g_param_spec_steal_qdata"), visibility("default")));
-
-#undef g_param_spec_set_qdata
-extern __typeof (g_param_spec_set_qdata) g_param_spec_set_qdata __attribute((alias("IA__g_param_spec_set_qdata"), visibility("default")));
-
-#undef g_param_spec_set_qdata_full
-extern __typeof (g_param_spec_set_qdata_full) g_param_spec_set_qdata_full __attribute((alias("IA__g_param_spec_set_qdata_full"), visibility("default")));
-
-#undef g_param_spec_get_qdata
-extern __typeof (g_param_spec_get_qdata) g_param_spec_get_qdata __attribute((alias("IA__g_param_spec_get_qdata"), visibility("default")));
-
-#undef g_param_value_convert
-extern __typeof (g_param_value_convert) g_param_value_convert __attribute((alias("IA__g_param_value_convert"), visibility("default")));
-
-#undef g_param_value_defaults
-extern __typeof (g_param_value_defaults) g_param_value_defaults __attribute((alias("IA__g_param_value_defaults"), visibility("default")));
-
-#undef g_param_values_cmp
-extern __typeof (g_param_values_cmp) g_param_values_cmp __attribute((alias("IA__g_param_values_cmp"), visibility("default")));
-
-#undef g_param_value_set_default
-extern __typeof (g_param_value_set_default) g_param_value_set_default __attribute((alias("IA__g_param_value_set_default"), visibility("default")));
-
-#undef g_param_value_validate
-extern __typeof (g_param_value_validate) g_param_value_validate __attribute((alias("IA__g_param_value_validate"), visibility("default")));
-
-#undef g_param_spec_pool_insert
-extern __typeof (g_param_spec_pool_insert) g_param_spec_pool_insert __attribute((alias("IA__g_param_spec_pool_insert"), visibility("default")));
-
-#undef g_param_spec_pool_list
-extern __typeof (g_param_spec_pool_list) g_param_spec_pool_list __attribute((alias("IA__g_param_spec_pool_list"), visibility("default")));
-
-#undef g_param_spec_pool_list_owned
-extern __typeof (g_param_spec_pool_list_owned) g_param_spec_pool_list_owned __attribute((alias("IA__g_param_spec_pool_list_owned"), visibility("default")));
-
-#undef g_param_spec_pool_lookup
-extern __typeof (g_param_spec_pool_lookup) g_param_spec_pool_lookup __attribute((alias("IA__g_param_spec_pool_lookup"), visibility("default")));
-
-#undef g_param_spec_pool_new
-extern __typeof (g_param_spec_pool_new) g_param_spec_pool_new __attribute((alias("IA__g_param_spec_pool_new"), visibility("default")));
-
-#undef g_param_spec_pool_remove
-extern __typeof (g_param_spec_pool_remove) g_param_spec_pool_remove __attribute((alias("IA__g_param_spec_pool_remove"), visibility("default")));
-
-#undef g_value_get_param
-extern __typeof (g_value_get_param) g_value_get_param __attribute((alias("IA__g_value_get_param"), visibility("default")));
-
-#undef g_value_set_param
-extern __typeof (g_value_set_param) g_value_set_param __attribute((alias("IA__g_value_set_param"), visibility("default")));
-
-#undef g_value_dup_param
-extern __typeof (g_value_dup_param) g_value_dup_param __attribute((alias("IA__g_value_dup_param"), visibility("default")));
-
-#undef g_value_take_param
-extern __typeof (g_value_take_param) g_value_take_param __attribute((alias("IA__g_value_take_param"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_value_set_param_take_ownership
-extern __typeof (g_value_set_param_take_ownership) g_value_set_param_take_ownership __attribute((alias("IA__g_value_set_param_take_ownership"), visibility("default")));
-
-#endif
-#endif
-#endif
-#if IN_HEADER(__G_VALUETYPES_H__)
-#if IN_FILE(__G_VALUETYPES_C__)
-#undef g_pointer_type_register_static
-extern __typeof (g_pointer_type_register_static) g_pointer_type_register_static __attribute((alias("IA__g_pointer_type_register_static"), visibility("default")));
-
-#undef g_strdup_value_contents
-extern __typeof (g_strdup_value_contents) g_strdup_value_contents __attribute((alias("IA__g_strdup_value_contents"), visibility("default")));
-
-#undef g_value_set_boolean
-extern __typeof (g_value_set_boolean) g_value_set_boolean __attribute((alias("IA__g_value_set_boolean"), visibility("default")));
-
-#undef g_value_set_char
-extern __typeof (g_value_set_char) g_value_set_char __attribute((alias("IA__g_value_set_char"), visibility("default")));
-
-#undef g_value_set_double
-extern __typeof (g_value_set_double) g_value_set_double __attribute((alias("IA__g_value_set_double"), visibility("default")));
-
-#undef g_value_set_float
-extern __typeof (g_value_set_float) g_value_set_float __attribute((alias("IA__g_value_set_float"), visibility("default")));
-
-#undef g_value_set_int
-extern __typeof (g_value_set_int) g_value_set_int __attribute((alias("IA__g_value_set_int"), visibility("default")));
-
-#undef g_value_set_int64
-extern __typeof (g_value_set_int64) g_value_set_int64 __attribute((alias("IA__g_value_set_int64"), visibility("default")));
-
-#undef g_value_set_long
-extern __typeof (g_value_set_long) g_value_set_long __attribute((alias("IA__g_value_set_long"), visibility("default")));
-
-#undef g_value_set_pointer
-extern __typeof (g_value_set_pointer) g_value_set_pointer __attribute((alias("IA__g_value_set_pointer"), visibility("default")));
-
-#undef g_value_set_static_string
-extern __typeof (g_value_set_static_string) g_value_set_static_string __attribute((alias("IA__g_value_set_static_string"), visibility("default")));
-
-#undef g_value_set_string
-extern __typeof (g_value_set_string) g_value_set_string __attribute((alias("IA__g_value_set_string"), visibility("default")));
-
-#ifndef G_DISABLE_DEPRECATED
-#undef g_value_set_string_take_ownership
-extern __typeof (g_value_set_string_take_ownership) g_value_set_string_take_ownership __attribute((alias("IA__g_value_set_string_take_ownership"), visibility("default")));
-
-#endif
-#undef g_value_set_uchar
-extern __typeof (g_value_set_uchar) g_value_set_uchar __attribute((alias("IA__g_value_set_uchar"), visibility("default")));
-
-#undef g_value_set_uint
-extern __typeof (g_value_set_uint) g_value_set_uint __attribute((alias("IA__g_value_set_uint"), visibility("default")));
-
-#undef g_value_set_uint64
-extern __typeof (g_value_set_uint64) g_value_set_uint64 __attribute((alias("IA__g_value_set_uint64"), visibility("default")));
-
-#undef g_value_set_ulong
-extern __typeof (g_value_set_ulong) g_value_set_ulong __attribute((alias("IA__g_value_set_ulong"), visibility("default")));
-
-#undef g_value_dup_string
-extern __typeof (g_value_dup_string) g_value_dup_string __attribute((alias("IA__g_value_dup_string"), visibility("default")));
-
-#undef g_value_get_boolean
-extern __typeof (g_value_get_boolean) g_value_get_boolean __attribute((alias("IA__g_value_get_boolean"), visibility("default")));
-
-#undef g_value_get_char
-extern __typeof (g_value_get_char) g_value_get_char __attribute((alias("IA__g_value_get_char"), visibility("default")));
-
-#undef g_value_get_double
-extern __typeof (g_value_get_double) g_value_get_double __attribute((alias("IA__g_value_get_double"), visibility("default")));
-
-#undef g_value_get_float
-extern __typeof (g_value_get_float) g_value_get_float __attribute((alias("IA__g_value_get_float"), visibility("default")));
-
-#undef g_value_get_int
-extern __typeof (g_value_get_int) g_value_get_int __attribute((alias("IA__g_value_get_int"), visibility("default")));
-
-#undef g_value_get_int64
-extern __typeof (g_value_get_int64) g_value_get_int64 __attribute((alias("IA__g_value_get_int64"), visibility("default")));
-
-#undef g_value_get_long
-extern __typeof (g_value_get_long) g_value_get_long __attribute((alias("IA__g_value_get_long"), visibility("default")));
-
-#undef g_value_get_pointer
-extern __typeof (g_value_get_pointer) g_value_get_pointer __attribute((alias("IA__g_value_get_pointer"), visibility("default")));
-
-#undef g_value_get_string
-extern __typeof (g_value_get_string) g_value_get_string __attribute((alias("IA__g_value_get_string"), visibility("default")));
-
-#undef g_value_get_uchar
-extern __typeof (g_value_get_uchar) g_value_get_uchar __attribute((alias("IA__g_value_get_uchar"), visibility("default")));
-
-#undef g_value_get_uint
-extern __typeof (g_value_get_uint) g_value_get_uint __attribute((alias("IA__g_value_get_uint"), visibility("default")));
-
-#undef g_value_get_uint64
-extern __typeof (g_value_get_uint64) g_value_get_uint64 __attribute((alias("IA__g_value_get_uint64"), visibility("default")));
-
-#undef g_value_get_ulong
-extern __typeof (g_value_get_ulong) g_value_get_ulong __attribute((alias("IA__g_value_get_ulong"), visibility("default")));
-
-#undef g_value_take_string
-extern __typeof (g_value_take_string) g_value_take_string __attribute((alias("IA__g_value_take_string"), visibility("default")));
-
-#undef g_gtype_get_type
-extern __typeof (g_gtype_get_type) g_gtype_get_type __attribute((alias("IA__g_gtype_get_type"), visibility("default")));
-
-#undef g_value_set_gtype
-extern __typeof (g_value_set_gtype) g_value_set_gtype __attribute((alias("IA__g_value_set_gtype"), visibility("default")));
-
-#undef g_value_get_gtype
-extern __typeof (g_value_get_gtype) g_value_get_gtype __attribute((alias("IA__g_value_get_gtype"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_SIGNAL_H__)
-#if IN_FILE(__G_SIGNAL_C__)
-#undef g_signal_accumulator_true_handled
-extern __typeof (g_signal_accumulator_true_handled) g_signal_accumulator_true_handled __attribute((alias("IA__g_signal_accumulator_true_handled"), visibility("default")));
-
-#undef g_signal_add_emission_hook
-extern __typeof (g_signal_add_emission_hook) g_signal_add_emission_hook __attribute((alias("IA__g_signal_add_emission_hook"), visibility("default")));
-
-#undef g_signal_chain_from_overridden
-extern __typeof (g_signal_chain_from_overridden) g_signal_chain_from_overridden __attribute((alias("IA__g_signal_chain_from_overridden"), visibility("default")));
-
-#undef g_signal_chain_from_overridden_handler
-extern __typeof (g_signal_chain_from_overridden_handler) g_signal_chain_from_overridden_handler __attribute((alias("IA__g_signal_chain_from_overridden_handler"), visibility("default")));
-
-#undef g_signal_connect_closure
-extern __typeof (g_signal_connect_closure) g_signal_connect_closure __attribute((alias("IA__g_signal_connect_closure"), visibility("default")));
-
-#undef g_signal_connect_closure_by_id
-extern __typeof (g_signal_connect_closure_by_id) g_signal_connect_closure_by_id __attribute((alias("IA__g_signal_connect_closure_by_id"), visibility("default")));
-
-#undef g_signal_connect_data
-extern __typeof (g_signal_connect_data) g_signal_connect_data __attribute((alias("IA__g_signal_connect_data"), visibility("default")));
-
-#undef g_signal_emit
-extern __typeof (g_signal_emit) g_signal_emit __attribute((alias("IA__g_signal_emit"), visibility("default")));
-
-#undef g_signal_emit_by_name
-extern __typeof (g_signal_emit_by_name) g_signal_emit_by_name __attribute((alias("IA__g_signal_emit_by_name"), visibility("default")));
-
-#undef g_signal_emitv
-extern __typeof (g_signal_emitv) g_signal_emitv __attribute((alias("IA__g_signal_emitv"), visibility("default")));
-
-#undef g_signal_emit_valist
-extern __typeof (g_signal_emit_valist) g_signal_emit_valist __attribute((alias("IA__g_signal_emit_valist"), visibility("default")));
-
-#undef g_signal_get_invocation_hint
-extern __typeof (g_signal_get_invocation_hint) g_signal_get_invocation_hint __attribute((alias("IA__g_signal_get_invocation_hint"), visibility("default")));
-
-#undef g_signal_handler_block
-extern __typeof (g_signal_handler_block) g_signal_handler_block __attribute((alias("IA__g_signal_handler_block"), visibility("default")));
-
-#undef g_signal_handler_disconnect
-extern __typeof (g_signal_handler_disconnect) g_signal_handler_disconnect __attribute((alias("IA__g_signal_handler_disconnect"), visibility("default")));
-
-#undef g_signal_handler_find
-extern __typeof (g_signal_handler_find) g_signal_handler_find __attribute((alias("IA__g_signal_handler_find"), visibility("default")));
-
-#undef g_signal_handler_is_connected
-extern __typeof (g_signal_handler_is_connected) g_signal_handler_is_connected __attribute((alias("IA__g_signal_handler_is_connected"), visibility("default")));
-
-#undef g_signal_handlers_block_matched
-extern __typeof (g_signal_handlers_block_matched) g_signal_handlers_block_matched __attribute((alias("IA__g_signal_handlers_block_matched"), visibility("default")));
-
-#undef g_signal_handlers_destroy
-extern __typeof (g_signal_handlers_destroy) g_signal_handlers_destroy __attribute((alias("IA__g_signal_handlers_destroy"), visibility("default")));
-
-#undef g_signal_handlers_disconnect_matched
-extern __typeof (g_signal_handlers_disconnect_matched) g_signal_handlers_disconnect_matched __attribute((alias("IA__g_signal_handlers_disconnect_matched"), visibility("default")));
-
-#undef g_signal_handlers_unblock_matched
-extern __typeof (g_signal_handlers_unblock_matched) g_signal_handlers_unblock_matched __attribute((alias("IA__g_signal_handlers_unblock_matched"), visibility("default")));
-
-#undef g_signal_handler_unblock
-extern __typeof (g_signal_handler_unblock) g_signal_handler_unblock __attribute((alias("IA__g_signal_handler_unblock"), visibility("default")));
-
-#undef g_signal_has_handler_pending
-extern __typeof (g_signal_has_handler_pending) g_signal_has_handler_pending __attribute((alias("IA__g_signal_has_handler_pending"), visibility("default")));
-
-#undef g_signal_list_ids
-extern __typeof (g_signal_list_ids) g_signal_list_ids __attribute((alias("IA__g_signal_list_ids"), visibility("default")));
-
-#undef g_signal_lookup
-extern __typeof (g_signal_lookup) g_signal_lookup __attribute((alias("IA__g_signal_lookup"), visibility("default")));
-
-#undef g_signal_name
-extern __typeof (g_signal_name) g_signal_name __attribute((alias("IA__g_signal_name"), visibility("default")));
-
-#undef g_signal_new
-extern __typeof (g_signal_new) g_signal_new __attribute((alias("IA__g_signal_new"), visibility("default")));
-
-#undef g_signal_newv
-extern __typeof (g_signal_newv) g_signal_newv __attribute((alias("IA__g_signal_newv"), visibility("default")));
-
-#undef g_signal_new_valist
-extern __typeof (g_signal_new_valist) g_signal_new_valist __attribute((alias("IA__g_signal_new_valist"), visibility("default")));
-
-#undef g_signal_new_class_handler
-extern __typeof (g_signal_new_class_handler) g_signal_new_class_handler __attribute((alias("IA__g_signal_new_class_handler"), visibility("default")));
-
-#undef g_signal_override_class_closure
-extern __typeof (g_signal_override_class_closure) g_signal_override_class_closure __attribute((alias("IA__g_signal_override_class_closure"), visibility("default")));
-
-#undef g_signal_override_class_handler
-extern __typeof (g_signal_override_class_handler) g_signal_override_class_handler __attribute((alias("IA__g_signal_override_class_handler"), visibility("default")));
-
-#undef g_signal_parse_name
-extern __typeof (g_signal_parse_name) g_signal_parse_name __attribute((alias("IA__g_signal_parse_name"), visibility("default")));
-
-#undef g_signal_query
-extern __typeof (g_signal_query) g_signal_query __attribute((alias("IA__g_signal_query"), visibility("default")));
-
-#undef g_signal_remove_emission_hook
-extern __typeof (g_signal_remove_emission_hook) g_signal_remove_emission_hook __attribute((alias("IA__g_signal_remove_emission_hook"), visibility("default")));
-
-#undef g_signal_stop_emission
-extern __typeof (g_signal_stop_emission) g_signal_stop_emission __attribute((alias("IA__g_signal_stop_emission"), visibility("default")));
-
-#undef g_signal_stop_emission_by_name
-extern __typeof (g_signal_stop_emission_by_name) g_signal_stop_emission_by_name __attribute((alias("IA__g_signal_stop_emission_by_name"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_TYPE_H__)
-#if IN_FILE(__G_TYPE_C__)
-#undef g_type_add_class_cache_func
-extern __typeof (g_type_add_class_cache_func) g_type_add_class_cache_func __attribute((alias("IA__g_type_add_class_cache_func"), visibility("default")));
-
-#undef g_type_add_interface_check
-extern __typeof (g_type_add_interface_check) g_type_add_interface_check __attribute((alias("IA__g_type_add_interface_check"), visibility("default")));
-
-#undef g_type_add_interface_dynamic
-extern __typeof (g_type_add_interface_dynamic) g_type_add_interface_dynamic __attribute((alias("IA__g_type_add_interface_dynamic"), visibility("default")));
-
-#undef g_type_add_interface_static
-extern __typeof (g_type_add_interface_static) g_type_add_interface_static __attribute((alias("IA__g_type_add_interface_static"), visibility("default")));
-
-#undef g_type_check_class_cast
-extern __typeof (g_type_check_class_cast) g_type_check_class_cast __attribute((alias("IA__g_type_check_class_cast"), visibility("default")));
-
-#undef g_type_check_class_is_a
-extern __typeof (g_type_check_class_is_a) g_type_check_class_is_a __attribute((alias("IA__g_type_check_class_is_a"), visibility("default")));
-
-#undef g_type_check_instance
-extern __typeof (g_type_check_instance) g_type_check_instance __attribute((alias("IA__g_type_check_instance"), visibility("default")));
-
-#undef g_type_check_instance_cast
-extern __typeof (g_type_check_instance_cast) g_type_check_instance_cast __attribute((alias("IA__g_type_check_instance_cast"), visibility("default")));
-
-#undef g_type_check_instance_is_a
-extern __typeof (g_type_check_instance_is_a) g_type_check_instance_is_a __attribute((alias("IA__g_type_check_instance_is_a"), visibility("default")));
-
-#undef g_type_check_is_value_type
-extern __typeof (g_type_check_is_value_type) g_type_check_is_value_type __attribute((alias("IA__g_type_check_is_value_type"), visibility("default")));
-
-#undef g_type_check_value
-extern __typeof (g_type_check_value) g_type_check_value __attribute((alias("IA__g_type_check_value"), visibility("default")));
-
-#undef g_type_check_value_holds
-extern __typeof (g_type_check_value_holds) g_type_check_value_holds __attribute((alias("IA__g_type_check_value_holds"), visibility("default")));
-
-#undef g_type_children
-extern __typeof (g_type_children) g_type_children __attribute((alias("IA__g_type_children"), visibility("default")));
-
-#undef g_type_class_add_private
-extern __typeof (g_type_class_add_private) g_type_class_add_private __attribute((alias("IA__g_type_class_add_private"), visibility("default")));
-
-#undef g_type_class_peek
-extern __typeof (g_type_class_peek) g_type_class_peek __attribute((alias("IA__g_type_class_peek"), visibility("default")));
-
-#undef g_type_class_peek_parent
-extern __typeof (g_type_class_peek_parent) g_type_class_peek_parent __attribute((alias("IA__g_type_class_peek_parent"), visibility("default")));
-
-#undef g_type_class_peek_static
-extern __typeof (g_type_class_peek_static) g_type_class_peek_static __attribute((alias("IA__g_type_class_peek_static"), visibility("default")));
-
-#undef g_type_class_ref
-extern __typeof (g_type_class_ref) g_type_class_ref __attribute((alias("IA__g_type_class_ref"), visibility("default")));
-
-#undef g_type_class_unref
-extern __typeof (g_type_class_unref) g_type_class_unref __attribute((alias("IA__g_type_class_unref"), visibility("default")));
-
-#undef g_type_class_unref_uncached
-extern __typeof (g_type_class_unref_uncached) g_type_class_unref_uncached __attribute((alias("IA__g_type_class_unref_uncached"), visibility("default")));
-
-#undef g_type_create_instance
-extern __typeof (g_type_create_instance) g_type_create_instance __attribute((alias("IA__g_type_create_instance"), visibility("default")));
-
-#undef g_type_default_interface_peek
-extern __typeof (g_type_default_interface_peek) g_type_default_interface_peek __attribute((alias("IA__g_type_default_interface_peek"), visibility("default")));
-
-#undef g_type_default_interface_ref
-extern __typeof (g_type_default_interface_ref) g_type_default_interface_ref __attribute((alias("IA__g_type_default_interface_ref"), visibility("default")));
-
-#undef g_type_default_interface_unref
-extern __typeof (g_type_default_interface_unref) g_type_default_interface_unref __attribute((alias("IA__g_type_default_interface_unref"), visibility("default")));
-
-#undef g_type_depth
-extern __typeof (g_type_depth) g_type_depth __attribute((alias("IA__g_type_depth"), visibility("default")));
-
-#undef g_type_free_instance
-extern __typeof (g_type_free_instance) g_type_free_instance __attribute((alias("IA__g_type_free_instance"), visibility("default")));
-
-#undef g_type_from_name
-extern __typeof (g_type_from_name) g_type_from_name __attribute((alias("IA__g_type_from_name"), visibility("default")));
-
-#undef g_type_fundamental
-extern __typeof (g_type_fundamental) g_type_fundamental __attribute((alias("IA__g_type_fundamental"), visibility("default")));
-
-#undef g_type_fundamental_next
-extern __typeof (g_type_fundamental_next) g_type_fundamental_next __attribute((alias("IA__g_type_fundamental_next"), visibility("default")));
-
-#undef g_type_get_plugin
-extern __typeof (g_type_get_plugin) g_type_get_plugin __attribute((alias("IA__g_type_get_plugin"), visibility("default")));
-
-#undef g_type_get_qdata
-extern __typeof (g_type_get_qdata) g_type_get_qdata __attribute((alias("IA__g_type_get_qdata"), visibility("default")));
-
-#undef g_type_init
-extern __typeof (g_type_init) g_type_init __attribute((alias("IA__g_type_init"), visibility("default")));
-
-#undef g_type_init_with_debug_flags
-extern __typeof (g_type_init_with_debug_flags) g_type_init_with_debug_flags __attribute((alias("IA__g_type_init_with_debug_flags"), visibility("default")));
-
-#undef g_type_instance_get_private
-extern __typeof (g_type_instance_get_private) g_type_instance_get_private __attribute((alias("IA__g_type_instance_get_private"), visibility("default")));
-
-#undef g_type_interface_add_prerequisite
-extern __typeof (g_type_interface_add_prerequisite) g_type_interface_add_prerequisite __attribute((alias("IA__g_type_interface_add_prerequisite"), visibility("default")));
-
-#undef g_type_interface_get_plugin
-extern __typeof (g_type_interface_get_plugin) g_type_interface_get_plugin __attribute((alias("IA__g_type_interface_get_plugin"), visibility("default")));
-
-#undef g_type_interface_peek
-extern __typeof (g_type_interface_peek) g_type_interface_peek __attribute((alias("IA__g_type_interface_peek"), visibility("default")));
-
-#undef g_type_interface_peek_parent
-extern __typeof (g_type_interface_peek_parent) g_type_interface_peek_parent __attribute((alias("IA__g_type_interface_peek_parent"), visibility("default")));
-
-#undef g_type_interface_prerequisites
-extern __typeof (g_type_interface_prerequisites) g_type_interface_prerequisites __attribute((alias("IA__g_type_interface_prerequisites"), visibility("default")));
-
-#undef g_type_interfaces
-extern __typeof (g_type_interfaces) g_type_interfaces __attribute((alias("IA__g_type_interfaces"), visibility("default")));
-
-#undef g_type_is_a
-extern __typeof (g_type_is_a) g_type_is_a __attribute((alias("IA__g_type_is_a"), visibility("default")));
-
-#undef g_type_name
-extern __typeof (g_type_name) g_type_name __attribute((alias("IA__g_type_name"), visibility("default")));
-
-#undef g_type_name_from_class
-extern __typeof (g_type_name_from_class) g_type_name_from_class __attribute((alias("IA__g_type_name_from_class"), visibility("default")));
-
-#undef g_type_name_from_instance
-extern __typeof (g_type_name_from_instance) g_type_name_from_instance __attribute((alias("IA__g_type_name_from_instance"), visibility("default")));
-
-#undef g_type_next_base
-extern __typeof (g_type_next_base) g_type_next_base __attribute((alias("IA__g_type_next_base"), visibility("default")));
-
-#undef g_type_parent
-extern __typeof (g_type_parent) g_type_parent __attribute((alias("IA__g_type_parent"), visibility("default")));
-
-#undef g_type_qname
-extern __typeof (g_type_qname) g_type_qname __attribute((alias("IA__g_type_qname"), visibility("default")));
-
-#undef g_type_query
-extern __typeof (g_type_query) g_type_query __attribute((alias("IA__g_type_query"), visibility("default")));
-
-#undef g_type_register_dynamic
-extern __typeof (g_type_register_dynamic) g_type_register_dynamic __attribute((alias("IA__g_type_register_dynamic"), visibility("default")));
-
-#undef g_type_register_fundamental
-extern __typeof (g_type_register_fundamental) g_type_register_fundamental __attribute((alias("IA__g_type_register_fundamental"), visibility("default")));
-
-#undef g_type_register_static
-extern __typeof (g_type_register_static) g_type_register_static __attribute((alias("IA__g_type_register_static"), visibility("default")));
-
-#undef g_type_register_static_simple
-extern __typeof (g_type_register_static_simple) g_type_register_static_simple __attribute((alias("IA__g_type_register_static_simple"), visibility("default")));
-
-#undef g_type_remove_class_cache_func
-extern __typeof (g_type_remove_class_cache_func) g_type_remove_class_cache_func __attribute((alias("IA__g_type_remove_class_cache_func"), visibility("default")));
-
-#undef g_type_remove_interface_check
-extern __typeof (g_type_remove_interface_check) g_type_remove_interface_check __attribute((alias("IA__g_type_remove_interface_check"), visibility("default")));
-
-#undef g_type_set_qdata
-extern __typeof (g_type_set_qdata) g_type_set_qdata __attribute((alias("IA__g_type_set_qdata"), visibility("default")));
-
-#undef g_type_test_flags
-extern __typeof (g_type_test_flags) g_type_test_flags __attribute((alias("IA__g_type_test_flags"), visibility("default")));
-
-#undef g_type_value_table_peek
-extern __typeof (g_type_value_table_peek) g_type_value_table_peek __attribute((alias("IA__g_type_value_table_peek"), visibility("default")));
-
-#undef g_type_class_get_private
-extern __typeof (g_type_class_get_private) g_type_class_get_private __attribute((alias("IA__g_type_class_get_private"), visibility("default")));
-
-#undef g_type_add_class_private
-extern __typeof (g_type_add_class_private) g_type_add_class_private __attribute((alias("IA__g_type_add_class_private"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_TYPE_MODULE_H__)
-#if IN_FILE(__G_TYPE_MODULE_C__)
-#undef g_type_module_add_interface
-extern __typeof (g_type_module_add_interface) g_type_module_add_interface __attribute((alias("IA__g_type_module_add_interface"), visibility("default")));
-
-#undef g_type_module_get_type
-extern __typeof (g_type_module_get_type) g_type_module_get_type __attribute((alias("IA__g_type_module_get_type"), visibility("default")));
-
-#undef g_type_module_register_enum
-extern __typeof (g_type_module_register_enum) g_type_module_register_enum __attribute((alias("IA__g_type_module_register_enum"), visibility("default")));
-
-#undef g_type_module_register_flags
-extern __typeof (g_type_module_register_flags) g_type_module_register_flags __attribute((alias("IA__g_type_module_register_flags"), visibility("default")));
-
-#undef g_type_module_register_type
-extern __typeof (g_type_module_register_type) g_type_module_register_type __attribute((alias("IA__g_type_module_register_type"), visibility("default")));
-
-#undef g_type_module_set_name
-extern __typeof (g_type_module_set_name) g_type_module_set_name __attribute((alias("IA__g_type_module_set_name"), visibility("default")));
-
-#undef g_type_module_unuse
-extern __typeof (g_type_module_unuse) g_type_module_unuse __attribute((alias("IA__g_type_module_unuse"), visibility("default")));
-
-#undef g_type_module_use
-extern __typeof (g_type_module_use) g_type_module_use __attribute((alias("IA__g_type_module_use"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_VALUE_ARRAY_H__)
-#if IN_FILE(__G_VALUE_ARRAY_C__)
-#undef g_value_array_append
-extern __typeof (g_value_array_append) g_value_array_append __attribute((alias("IA__g_value_array_append"), visibility("default")));
-
-#undef g_value_array_copy
-extern __typeof (g_value_array_copy) g_value_array_copy __attribute((alias("IA__g_value_array_copy"), visibility("default")));
-
-#undef g_value_array_free
-extern __typeof (g_value_array_free) g_value_array_free __attribute((alias("IA__g_value_array_free"), visibility("default")));
-
-#undef g_value_array_get_nth
-extern __typeof (g_value_array_get_nth) g_value_array_get_nth __attribute((alias("IA__g_value_array_get_nth"), visibility("default")));
-
-#undef g_value_array_insert
-extern __typeof (g_value_array_insert) g_value_array_insert __attribute((alias("IA__g_value_array_insert"), visibility("default")));
-
-#undef g_value_array_new
-extern __typeof (g_value_array_new) g_value_array_new __attribute((alias("IA__g_value_array_new"), visibility("default")));
-
-#undef g_value_array_prepend
-extern __typeof (g_value_array_prepend) g_value_array_prepend __attribute((alias("IA__g_value_array_prepend"), visibility("default")));
-
-#undef g_value_array_remove
-extern __typeof (g_value_array_remove) g_value_array_remove __attribute((alias("IA__g_value_array_remove"), visibility("default")));
-
-#undef g_value_array_sort
-extern __typeof (g_value_array_sort) g_value_array_sort __attribute((alias("IA__g_value_array_sort"), visibility("default")));
-
-#undef g_value_array_sort_with_data
-extern __typeof (g_value_array_sort_with_data) g_value_array_sort_with_data __attribute((alias("IA__g_value_array_sort_with_data"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_TYPE_PLUGIN_H__)
-#if IN_FILE(__G_TYPE_PLUGIN_C__)
-#undef g_type_plugin_complete_interface_info
-extern __typeof (g_type_plugin_complete_interface_info) g_type_plugin_complete_interface_info __attribute((alias("IA__g_type_plugin_complete_interface_info"), visibility("default")));
-
-#undef g_type_plugin_complete_type_info
-extern __typeof (g_type_plugin_complete_type_info) g_type_plugin_complete_type_info __attribute((alias("IA__g_type_plugin_complete_type_info"), visibility("default")));
-
-#undef g_type_plugin_get_type
-extern __typeof (g_type_plugin_get_type) g_type_plugin_get_type __attribute((alias("IA__g_type_plugin_get_type"), visibility("default")));
-
-#undef g_type_plugin_unuse
-extern __typeof (g_type_plugin_unuse) g_type_plugin_unuse __attribute((alias("IA__g_type_plugin_unuse"), visibility("default")));
-
-#undef g_type_plugin_use
-extern __typeof (g_type_plugin_use) g_type_plugin_use __attribute((alias("IA__g_type_plugin_use"), visibility("default")));
-
-#endif
-#endif
-#if IN_HEADER(__G_VALUE_H__)
-#if IN_FILE(__G_VALUE_C__)
-#undef g_value_copy
-extern __typeof (g_value_copy) g_value_copy __attribute((alias("IA__g_value_copy"), visibility("default")));
-
-#undef g_value_fits_pointer
-extern __typeof (g_value_fits_pointer) g_value_fits_pointer __attribute((alias("IA__g_value_fits_pointer"), visibility("default")));
-
-#undef g_value_init
-extern __typeof (g_value_init) g_value_init __attribute((alias("IA__g_value_init"), visibility("default")));
-
-#undef g_value_peek_pointer
-extern __typeof (g_value_peek_pointer) g_value_peek_pointer __attribute((alias("IA__g_value_peek_pointer"), visibility("default")));
-
-#undef g_value_register_transform_func
-extern __typeof (g_value_register_transform_func) g_value_register_transform_func __attribute((alias("IA__g_value_register_transform_func"), visibility("default")));
-
-#undef g_value_reset
-extern __typeof (g_value_reset) g_value_reset __attribute((alias("IA__g_value_reset"), visibility("default")));
-
-#undef g_value_transform
-extern __typeof (g_value_transform) g_value_transform __attribute((alias("IA__g_value_transform"), visibility("default")));
-
-#undef g_value_type_compatible
-extern __typeof (g_value_type_compatible) g_value_type_compatible __attribute((alias("IA__g_value_type_compatible"), visibility("default")));
-
-#undef g_value_type_transformable
-extern __typeof (g_value_type_transformable) g_value_type_transformable __attribute((alias("IA__g_value_type_transformable"), visibility("default")));
-
-#undef g_value_unset
-extern __typeof (g_value_unset) g_value_unset __attribute((alias("IA__g_value_unset"), visibility("default")));
-
-#undef g_value_set_instance
-extern __typeof (g_value_set_instance) g_value_set_instance __attribute((alias("IA__g_value_set_instance"), visibility("default")));
-
-#endif
-#endif
-
-#endif /* G_HAVE_GNUC_VISIBILITY */
-#endif /* DISABLE_VISIBILITY */
+++ /dev/null
-#!/usr/bin/perl -w
-
-my $do_def = 0;
-
-if (($#ARGV >= 0) && ($ARGV[0] eq "-def")) {
- shift;
- $do_def = 1;
-}
-
-print <<EOF;
-/* Generated by makegobjectalias.pl */
-
-#ifndef DISABLE_VISIBILITY
-
-#include "glibconfig.h"
-
-#ifdef G_HAVE_GNUC_VISIBILITY
-
-EOF
-
-if ($do_def) {
- print <<EOF
-#undef IN_FILE
-#define IN_FILE defined
-
-#undef IN_HEADER
-#define IN_HEADER(x) 1
-
-EOF
-}
-else {
- print <<EOF
-#define IN_FILE(x) 1
-#define IN_HEADER defined
-
-EOF
-}
-
-my $in_comment = 0;
-my $in_skipped_section = 0;
-
-while (<>) {
-
- # ignore empty lines
- next if /^\s*$/;
-
- # skip comments
- if ($_ =~ /^\s*\/\*/)
- {
- $in_comment = 1;
- }
-
- if ($in_comment)
- {
- if ($_ =~ /\*\/\s$/)
- {
- $in_comment = 0;
- }
-
- next;
- }
-
- # handle ifdefs
- if ($_ =~ /^\#endif/)
- {
- if (!$in_skipped_section)
- {
- print $_;
- }
-
- $in_skipped_section = 0;
-
- next;
- }
-
- if ($_ =~ /^\#ifdef\s+(INCLUDE_VARIABLES|INCLUDE_INTERNAL_SYMBOLS|ALL_FILES)/)
- {
- $in_skipped_section = 1;
- }
-
- if ($in_skipped_section)
- {
- next;
- }
-
- if ($_ =~ /^\#ifn?def\s+G/)
- {
- print $_;
-
- next;
- }
-
- if ($_ =~ /^\#if.*(IN_FILE|IN_HEADER)/)
- {
- print $_;
-
- next;
- }
-
- chop;
- my $str = $_;
- my @words;
- my $attributes = "";
-
- @words = split(/ /, $str);
- $str = shift(@words);
- chomp($str);
- my $alias = "IA__".$str;
-
- # Drop any Win32 specific .def file syntax, but keep attributes
- foreach $word (@words) {
- $attributes = "$attributes $word" unless $word eq "PRIVATE";
- }
-
- if (!$do_def) {
- print <<EOF
-extern __typeof ($str) $alias __attribute((visibility("hidden")))$attributes;
-\#define $str $alias
-
-EOF
- }
- else {
- print <<EOF
-\#undef $str
-extern __typeof ($str) $str __attribute((alias("$alias"), visibility("default")));
-
-EOF
- }
-}
-
-print <<EOF;
-
-#endif /* G_HAVE_GNUC_VISIBILITY */
-#endif /* DISABLE_VISIBILITY */
-EOF
-
-
+++ /dev/null
-#!/bin/sh
-
-LANG=C
-
-status=0
-
-if ! which readelf 2>/dev/null >/dev/null; then
- echo "'readelf' not found; skipping test"
- exit 0
-fi
-
-for so in .libs/lib*.so; do
- echo Checking $so for local PLT entries
- readelf -r $so | grep 'JU\?MP_SLOT\?' | grep '\<g_type_\|\<g_boxed_\|\<g_value_\|\<g_cclosure_\|\<g_closure_\|\<g_signal\|\<g_enum_\|\<g_flags_\|\<g_io_\|\<g_object_\|\<g_param_' && status=1
-done
-
-exit $status
+++ /dev/null
-Name: GThread Uninstalled
-Description: Thread support for GLib, Not Installed
-Requires: glib-2.0-uninstalled
-Version: @VERSION@
-Libs: ${pc_top_builddir}/${pcfiledir}/gthread/libgthread-2.0.la @G_THREAD_LIBS@
-Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@ @G_THREAD_CFLAGS@
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * gthread.c: fallback thread system implementation
- * Copyright 1998 Sebastian Wilhelmi; University of Karlsruhe
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/*
- * MT safe
- */
-
-static GThreadFunctions
-g_thread_functions_for_glib_use_default; /* is NULLified */
-
-static guint64 (*g_thread_gettime_impl) (void) = NULL;
-
-#define G_MUTEX_SIZE 0
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * gthread.c: posix thread system implementation
- * Copyright 1998 Sebastian Wilhelmi; University of Karlsruhe
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/*
- * MT safe
- */
-
-#include "config.h"
-
-#include <pthread.h>
-#include <errno.h>
-#include <stdlib.h>
-#ifdef HAVE_SYS_TIME_H
-# include <sys/time.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-#ifdef HAVE_SCHED_H
-#include <sched.h>
-#endif
-
-#define posix_check_err(err, name) G_STMT_START{ \
- int error = (err); \
- if (error) \
- g_error ("file %s: line %d (%s): error '%s' during '%s'", \
- __FILE__, __LINE__, G_STRFUNC, \
- g_strerror (error), name); \
- }G_STMT_END
-
-#define posix_check_cmd(cmd) posix_check_err (posix_error (cmd), #cmd)
-
-#ifdef G_ENABLE_DEBUG
-static gboolean posix_check_cmd_prio_warned = FALSE;
-# define posix_check_cmd_prio(cmd) G_STMT_START{ \
- int err = posix_error (cmd); \
- if (err == EPERM) \
- { \
- if (!posix_check_cmd_prio_warned) \
- { \
- posix_check_cmd_prio_warned = TRUE; \
- g_warning ("Priorities can only be changed " \
- "(resp. increased) by root."); \
- } \
- } \
- else \
- posix_check_err (err, #cmd); \
- }G_STMT_END
-#else /* G_ENABLE_DEBUG */
-# define posix_check_cmd_prio(cmd) G_STMT_START{ \
- int err = posix_error (cmd); \
- if (err != EPERM) \
- posix_check_err (err, #cmd); \
- }G_STMT_END
-#endif /* G_ENABLE_DEBUG */
-
-#if defined(G_THREADS_IMPL_POSIX)
-# define posix_error(what) (what)
-# define mutexattr_default NULL
-# define condattr_default NULL
-#elif defined(G_THREADS_IMPL_DCE)
-# define posix_error(what) ((what) == -1 ? errno : 0)
-# define pthread_key_create(a, b) pthread_keycreate (a, b)
-# define pthread_attr_init(a) pthread_attr_create (a)
-# define pthread_attr_destroy(a) pthread_attr_delete (a)
-# define pthread_create(a, b, c, d) pthread_create (a, *b, c, d)
-# define mutexattr_default (pthread_mutexattr_default)
-# define condattr_default (pthread_condattr_default)
-#else /* neither G_THREADS_IMPL_POSIX nor G_THREADS_IMPL_DCE are defined */
-# error This should not happen. Contact the GLib team.
-#endif
-
-#if defined (POSIX_MIN_PRIORITY) && defined (POSIX_MAX_PRIORITY)
-# define HAVE_PRIORITIES 1
-static gint priority_normal_value;
-# ifdef __FreeBSD__
- /* FreeBSD threads use different priority values from the POSIX_
- * defines so we just set them here. The corresponding macros
- * PTHREAD_MIN_PRIORITY and PTHREAD_MAX_PRIORITY are implied to be
- * exported by the docs, but they aren't.
- */
-# define PRIORITY_LOW_VALUE 0
-# define PRIORITY_URGENT_VALUE 31
-# else /* !__FreeBSD__ */
-# define PRIORITY_LOW_VALUE POSIX_MIN_PRIORITY
-# define PRIORITY_URGENT_VALUE POSIX_MAX_PRIORITY
-# endif /* !__FreeBSD__ */
-# define PRIORITY_NORMAL_VALUE priority_normal_value
-#endif /* POSIX_MIN_PRIORITY && POSIX_MAX_PRIORITY */
-
-static gulong g_thread_min_stack_size = 0;
-
-#define G_MUTEX_SIZE (sizeof (pthread_mutex_t))
-
-#if defined(HAVE_CLOCK_GETTIME) && defined(HAVE_MONOTONIC_CLOCK)
-#define USE_CLOCK_GETTIME 1
-static gint posix_clock = 0;
-#endif
-
-#if defined(_SC_THREAD_STACK_MIN) || defined (HAVE_PRIORITIES) || defined (USE_CLOCK_GETTIME)
-#define HAVE_G_THREAD_IMPL_INIT
-static void
-g_thread_impl_init(void)
-{
-#ifdef _SC_THREAD_STACK_MIN
- g_thread_min_stack_size = MAX (sysconf (_SC_THREAD_STACK_MIN), 0);
-#endif /* _SC_THREAD_STACK_MIN */
-#ifdef HAVE_PRIORITIES
-# ifdef G_THREADS_IMPL_POSIX
- {
- struct sched_param sched;
- int policy;
- posix_check_cmd (pthread_getschedparam (pthread_self(), &policy, &sched));
- priority_normal_value = sched.sched_priority;
- }
-# else /* G_THREADS_IMPL_DCE */
- posix_check_cmd (priority_normal_value =
- pthread_getprio (*(pthread_t*)thread,
- g_thread_priority_map [priority]));
-# endif
-#endif /* HAVE_PRIORITIES */
-
-#ifdef USE_CLOCK_GETTIME
- if (sysconf (_SC_MONOTONIC_CLOCK) >= 0)
- posix_clock = CLOCK_MONOTONIC;
- else
- posix_clock = CLOCK_REALTIME;
-#endif
-}
-#endif /* _SC_THREAD_STACK_MIN || HAVE_PRIORITIES */
-
-static GMutex *
-g_mutex_new_posix_impl (void)
-{
- GMutex *result = (GMutex *) g_new (pthread_mutex_t, 1);
- posix_check_cmd (pthread_mutex_init ((pthread_mutex_t *) result,
- mutexattr_default));
- return result;
-}
-
-static void
-g_mutex_free_posix_impl (GMutex * mutex)
-{
- posix_check_cmd (pthread_mutex_destroy ((pthread_mutex_t *) mutex));
- g_free (mutex);
-}
-
-/* NOTE: the functions g_mutex_lock and g_mutex_unlock may not use
- functions from gmem.c and gmessages.c; */
-
-/* pthread_mutex_lock, pthread_mutex_unlock can be taken directly, as
- signature and semantic are right, but without error check then!!!!,
- we might want to change this therefore. */
-
-static gboolean
-g_mutex_trylock_posix_impl (GMutex * mutex)
-{
- int result;
-
- result = pthread_mutex_trylock ((pthread_mutex_t *) mutex);
-
-#ifdef G_THREADS_IMPL_POSIX
- if (result == EBUSY)
- return FALSE;
-#else /* G_THREADS_IMPL_DCE */
- if (result == 0)
- return FALSE;
-#endif
-
- posix_check_err (posix_error (result), "pthread_mutex_trylock");
- return TRUE;
-}
-
-static GCond *
-g_cond_new_posix_impl (void)
-{
- GCond *result = (GCond *) g_new (pthread_cond_t, 1);
- posix_check_cmd (pthread_cond_init ((pthread_cond_t *) result,
- condattr_default));
- return result;
-}
-
-/* pthread_cond_signal, pthread_cond_broadcast and pthread_cond_wait
- can be taken directly, as signature and semantic are right, but
- without error check then!!!!, we might want to change this
- therefore. */
-
-#define G_NSEC_PER_SEC 1000000000
-
-static gboolean
-g_cond_timed_wait_posix_impl (GCond * cond,
- GMutex * entered_mutex,
- GTimeVal * abs_time)
-{
- int result;
- struct timespec end_time;
- gboolean timed_out;
-
- g_return_val_if_fail (cond != NULL, FALSE);
- g_return_val_if_fail (entered_mutex != NULL, FALSE);
-
- if (!abs_time)
- {
- result = pthread_cond_wait ((pthread_cond_t *)cond,
- (pthread_mutex_t *) entered_mutex);
- timed_out = FALSE;
- }
- else
- {
- end_time.tv_sec = abs_time->tv_sec;
- end_time.tv_nsec = abs_time->tv_usec * (G_NSEC_PER_SEC / G_USEC_PER_SEC);
-
- g_return_val_if_fail (end_time.tv_nsec < G_NSEC_PER_SEC, TRUE);
-
- result = pthread_cond_timedwait ((pthread_cond_t *) cond,
- (pthread_mutex_t *) entered_mutex,
- &end_time);
-#ifdef G_THREADS_IMPL_POSIX
- timed_out = (result == ETIMEDOUT);
-#else /* G_THREADS_IMPL_DCE */
- timed_out = (result == -1) && (errno == EAGAIN);
-#endif
- }
-
- if (!timed_out)
- posix_check_err (posix_error (result), "pthread_cond_timedwait");
-
- return !timed_out;
-}
-
-static void
-g_cond_free_posix_impl (GCond * cond)
-{
- posix_check_cmd (pthread_cond_destroy ((pthread_cond_t *) cond));
- g_free (cond);
-}
-
-static GPrivate *
-g_private_new_posix_impl (GDestroyNotify destructor)
-{
- GPrivate *result = (GPrivate *) g_new (pthread_key_t, 1);
- posix_check_cmd (pthread_key_create ((pthread_key_t *) result, destructor));
- return result;
-}
-
-/* NOTE: the functions g_private_get and g_private_set may not use
- functions from gmem.c and gmessages.c */
-
-static void
-g_private_set_posix_impl (GPrivate * private_key, gpointer value)
-{
- if (!private_key)
- return;
- pthread_setspecific (*(pthread_key_t *) private_key, value);
-}
-
-static gpointer
-g_private_get_posix_impl (GPrivate * private_key)
-{
- if (!private_key)
- return NULL;
-#ifdef G_THREADS_IMPL_POSIX
- return pthread_getspecific (*(pthread_key_t *) private_key);
-#else /* G_THREADS_IMPL_DCE */
- {
- void* data;
- posix_check_cmd (pthread_getspecific (*(pthread_key_t *) private_key,
- &data));
- return data;
- }
-#endif
-}
-
-static void
-g_thread_create_posix_impl (GThreadFunc thread_func,
- gpointer arg,
- gulong stack_size,
- gboolean joinable,
- gboolean bound,
- GThreadPriority priority,
- gpointer thread,
- GError **error)
-{
- pthread_attr_t attr;
- gint ret;
-
- g_return_if_fail (thread_func);
- g_return_if_fail (priority >= G_THREAD_PRIORITY_LOW);
- g_return_if_fail (priority <= G_THREAD_PRIORITY_URGENT);
-
- posix_check_cmd (pthread_attr_init (&attr));
-
-#ifdef HAVE_PTHREAD_ATTR_SETSTACKSIZE
- if (stack_size)
- {
- stack_size = MAX (g_thread_min_stack_size, stack_size);
- /* No error check here, because some systems can't do it and
- * we simply don't want threads to fail because of that. */
- pthread_attr_setstacksize (&attr, stack_size);
- }
-#endif /* HAVE_PTHREAD_ATTR_SETSTACKSIZE */
-
-#ifdef PTHREAD_SCOPE_SYSTEM
- if (bound)
- /* No error check here, because some systems can't do it and we
- * simply don't want threads to fail because of that. */
- pthread_attr_setscope (&attr, PTHREAD_SCOPE_SYSTEM);
-#endif /* PTHREAD_SCOPE_SYSTEM */
-
-#ifdef G_THREADS_IMPL_POSIX
- posix_check_cmd (pthread_attr_setdetachstate (&attr,
- joinable ? PTHREAD_CREATE_JOINABLE : PTHREAD_CREATE_DETACHED));
-#endif /* G_THREADS_IMPL_POSIX */
-
-#ifdef HAVE_PRIORITIES
-# ifdef G_THREADS_IMPL_POSIX
- {
- struct sched_param sched;
- posix_check_cmd (pthread_attr_getschedparam (&attr, &sched));
- sched.sched_priority = g_thread_priority_map [priority];
- posix_check_cmd_prio (pthread_attr_setschedparam (&attr, &sched));
- }
-# else /* G_THREADS_IMPL_DCE */
- posix_check_cmd_prio
- (pthread_attr_setprio (&attr, g_thread_priority_map [priority]));
-# endif /* G_THREADS_IMPL_DCE */
-#endif /* HAVE_PRIORITIES */
- ret = posix_error (pthread_create (thread, &attr,
- (void* (*)(void*))thread_func, arg));
-
- posix_check_cmd (pthread_attr_destroy (&attr));
-
- if (ret == EAGAIN)
- {
- g_set_error (error, G_THREAD_ERROR, G_THREAD_ERROR_AGAIN,
- "Error creating thread: %s", g_strerror (ret));
- return;
- }
-
- posix_check_err (ret, "pthread_create");
-
-#ifdef G_THREADS_IMPL_DCE
- if (!joinable)
- posix_check_cmd (pthread_detach (thread));
-#endif /* G_THREADS_IMPL_DCE */
-}
-
-static void
-g_thread_yield_posix_impl (void)
-{
- POSIX_YIELD_FUNC;
-}
-
-static void
-g_thread_join_posix_impl (gpointer thread)
-{
- gpointer ignore;
- posix_check_cmd (pthread_join (*(pthread_t*)thread, &ignore));
-}
-
-static void
-g_thread_exit_posix_impl (void)
-{
- pthread_exit (NULL);
-}
-
-static void
-g_thread_set_priority_posix_impl (gpointer thread, GThreadPriority priority)
-{
- g_return_if_fail (priority >= G_THREAD_PRIORITY_LOW);
- g_return_if_fail (priority <= G_THREAD_PRIORITY_URGENT);
-#ifdef HAVE_PRIORITIES
-# ifdef G_THREADS_IMPL_POSIX
- {
- struct sched_param sched;
- int policy;
- posix_check_cmd (pthread_getschedparam (*(pthread_t*)thread, &policy,
- &sched));
- sched.sched_priority = g_thread_priority_map [priority];
- posix_check_cmd_prio (pthread_setschedparam (*(pthread_t*)thread, policy,
- &sched));
- }
-# else /* G_THREADS_IMPL_DCE */
- posix_check_cmd_prio (pthread_setprio (*(pthread_t*)thread,
- g_thread_priority_map [priority]));
-# endif
-#endif /* HAVE_PRIORITIES */
-}
-
-static void
-g_thread_self_posix_impl (gpointer thread)
-{
- *(pthread_t*)thread = pthread_self();
-}
-
-static gboolean
-g_thread_equal_posix_impl (gpointer thread1, gpointer thread2)
-{
- return (pthread_equal (*(pthread_t*)thread1, *(pthread_t*)thread2) != 0);
-}
-
-#ifdef USE_CLOCK_GETTIME
-static guint64
-gettime (void)
-{
- struct timespec tv;
-
- clock_gettime (posix_clock, &tv);
-
- return (guint64) tv.tv_sec * G_NSEC_PER_SEC + tv.tv_nsec;
-}
-static guint64 (*g_thread_gettime_impl)(void) = gettime;
-#else
-static guint64 (*g_thread_gettime_impl)(void) = 0;
-#endif
-
-static GThreadFunctions g_thread_functions_for_glib_use_default =
-{
- g_mutex_new_posix_impl,
- (void (*)(GMutex *)) pthread_mutex_lock,
- g_mutex_trylock_posix_impl,
- (void (*)(GMutex *)) pthread_mutex_unlock,
- g_mutex_free_posix_impl,
- g_cond_new_posix_impl,
- (void (*)(GCond *)) pthread_cond_signal,
- (void (*)(GCond *)) pthread_cond_broadcast,
- (void (*)(GCond *, GMutex *)) pthread_cond_wait,
- g_cond_timed_wait_posix_impl,
- g_cond_free_posix_impl,
- g_private_new_posix_impl,
- g_private_get_posix_impl,
- g_private_set_posix_impl,
- g_thread_create_posix_impl,
- g_thread_yield_posix_impl,
- g_thread_join_posix_impl,
- g_thread_exit_posix_impl,
- g_thread_set_priority_posix_impl,
- g_thread_self_posix_impl,
- g_thread_equal_posix_impl
-};
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * gthread.c: solaris thread system implementation
- * Copyright 1998-2001 Sebastian Wilhelmi; University of Karlsruhe
- * Copyright 2001 Hans Breuer
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-/*
- * MT safe
- */
-
-#include "config.h"
-
-#include "glib.h"
-
-#define STRICT
-#define _WIN32_WINDOWS 0x0401 /* to get IsDebuggerPresent */
-#include <windows.h>
-#undef STRICT
-
-#include <process.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#define win32_check_for_error(what) G_STMT_START{ \
- if (!(what)) \
- g_error ("file %s: line %d (%s): error %s during %s", \
- __FILE__, __LINE__, G_STRFUNC, \
- g_win32_error_message (GetLastError ()), #what); \
- }G_STMT_END
-
-#define G_MUTEX_SIZE (sizeof (gpointer))
-
-#define PRIORITY_LOW_VALUE THREAD_PRIORITY_BELOW_NORMAL
-#define PRIORITY_NORMAL_VALUE THREAD_PRIORITY_NORMAL
-#define PRIORITY_HIGH_VALUE THREAD_PRIORITY_ABOVE_NORMAL
-#define PRIORITY_URGENT_VALUE THREAD_PRIORITY_HIGHEST
-
-static DWORD g_thread_self_tls;
-static DWORD g_private_tls;
-static DWORD g_cond_event_tls;
-static CRITICAL_SECTION g_thread_global_spinlock;
-
-typedef BOOL (__stdcall *GTryEnterCriticalSectionFunc) (CRITICAL_SECTION *);
-
-static GTryEnterCriticalSectionFunc try_enter_critical_section = NULL;
-
-/* As noted in the docs, GPrivate is a limited resource, here we take
- * a rather low maximum to save memory, use GStaticPrivate instead. */
-#define G_PRIVATE_MAX 100
-
-static GDestroyNotify g_private_destructors[G_PRIVATE_MAX];
-
-static guint g_private_next = 0;
-
-/* A "forward" declaration of this structure */
-static GThreadFunctions g_thread_functions_for_glib_use_default;
-
-typedef struct _GThreadData GThreadData;
-struct _GThreadData
-{
- GThreadFunc func;
- gpointer data;
- HANDLE thread;
- gboolean joinable;
-};
-
-struct _GCond
-{
- GPtrArray *array;
- CRITICAL_SECTION lock;
-};
-
-static GMutex *
-g_mutex_new_win32_cs_impl (void)
-{
- CRITICAL_SECTION *cs = g_new (CRITICAL_SECTION, 1);
- gpointer *retval = g_new (gpointer, 1);
-
- InitializeCriticalSection (cs);
- *retval = cs;
- return (GMutex *) retval;
-}
-
-static void
-g_mutex_free_win32_cs_impl (GMutex *mutex)
-{
- gpointer *ptr = (gpointer *) mutex;
- CRITICAL_SECTION *cs = (CRITICAL_SECTION *) *ptr;
-
- DeleteCriticalSection (cs);
- g_free (cs);
- g_free (mutex);
-}
-
-/* NOTE: the functions g_mutex_lock and g_mutex_unlock may not use
- functions from gmem.c and gmessages.c; */
-
-static void
-g_mutex_lock_win32_cs_impl (GMutex *mutex)
-{
- EnterCriticalSection (*(CRITICAL_SECTION **)mutex);
-}
-
-static gboolean
-g_mutex_trylock_win32_cs_impl (GMutex * mutex)
-{
- return try_enter_critical_section (*(CRITICAL_SECTION **)mutex);
-}
-
-static void
-g_mutex_unlock_win32_cs_impl (GMutex *mutex)
-{
- LeaveCriticalSection (*(CRITICAL_SECTION **)mutex);
-}
-
-static GMutex *
-g_mutex_new_win32_impl (void)
-{
- HANDLE handle;
- HANDLE *retval;
- win32_check_for_error (handle = CreateMutex (NULL, FALSE, NULL));
- retval = g_new (HANDLE, 1);
- *retval = handle;
- return (GMutex *) retval;
-}
-
-static void
-g_mutex_free_win32_impl (GMutex *mutex)
-{
- win32_check_for_error (CloseHandle (*(HANDLE *) mutex));
- g_free (mutex);
-}
-
-/* NOTE: the functions g_mutex_lock and g_mutex_unlock may not use
- functions from gmem.c and gmessages.c; */
-
-static void
-g_mutex_lock_win32_impl (GMutex *mutex)
-{
- WaitForSingleObject (*(HANDLE *) mutex, INFINITE);
-}
-
-static gboolean
-g_mutex_trylock_win32_impl (GMutex * mutex)
-{
- DWORD result;
- win32_check_for_error (WAIT_FAILED !=
- (result = WaitForSingleObject (*(HANDLE *)mutex, 0)));
- return result != WAIT_TIMEOUT;
-}
-
-static void
-g_mutex_unlock_win32_impl (GMutex *mutex)
-{
- ReleaseMutex (*(HANDLE *) mutex);
-}
-
-static GCond *
-g_cond_new_win32_impl (void)
-{
- GCond *retval = g_new (GCond, 1);
-
- retval->array = g_ptr_array_new ();
- InitializeCriticalSection (&retval->lock);
-
- return retval;
-}
-
-static void
-g_cond_signal_win32_impl (GCond * cond)
-{
- EnterCriticalSection (&cond->lock);
-
- if (cond->array->len > 0)
- {
- SetEvent (g_ptr_array_index (cond->array, 0));
- g_ptr_array_remove_index (cond->array, 0);
- }
-
- LeaveCriticalSection (&cond->lock);
-}
-
-static void
-g_cond_broadcast_win32_impl (GCond * cond)
-{
- guint i;
- EnterCriticalSection (&cond->lock);
-
- for (i = 0; i < cond->array->len; i++)
- SetEvent (g_ptr_array_index (cond->array, i));
-
- g_ptr_array_set_size (cond->array, 0);
- LeaveCriticalSection (&cond->lock);
-}
-
-static gboolean
-g_cond_wait_internal (GCond *cond,
- GMutex *entered_mutex,
- gulong milliseconds)
-{
- gulong retval;
- HANDLE event = TlsGetValue (g_cond_event_tls);
-
- if (!event)
- {
- win32_check_for_error (event = CreateEvent (0, FALSE, FALSE, NULL));
- TlsSetValue (g_cond_event_tls, event);
- }
-
- EnterCriticalSection (&cond->lock);
-
- /* The event must not be signaled. Check this */
- g_assert (WaitForSingleObject (event, 0) == WAIT_TIMEOUT);
-
- g_ptr_array_add (cond->array, event);
- LeaveCriticalSection (&cond->lock);
-
- g_thread_functions_for_glib_use_default.mutex_unlock (entered_mutex);
-
- win32_check_for_error (WAIT_FAILED !=
- (retval = WaitForSingleObject (event, milliseconds)));
-
- g_thread_functions_for_glib_use_default.mutex_lock (entered_mutex);
-
- if (retval == WAIT_TIMEOUT)
- {
- EnterCriticalSection (&cond->lock);
- g_ptr_array_remove (cond->array, event);
-
- /* In the meantime we could have been signaled, so we must again
- * wait for the signal, this time with no timeout, to reset
- * it. retval is set again to honour the late arrival of the
- * signal */
- win32_check_for_error (WAIT_FAILED !=
- (retval = WaitForSingleObject (event, 0)));
-
- LeaveCriticalSection (&cond->lock);
- }
-
-#ifndef G_DISABLE_ASSERT
- EnterCriticalSection (&cond->lock);
-
- /* Now event must not be inside the array, check this */
- g_assert (g_ptr_array_remove (cond->array, event) == FALSE);
-
- LeaveCriticalSection (&cond->lock);
-#endif /* !G_DISABLE_ASSERT */
-
- return retval != WAIT_TIMEOUT;
-}
-
-static void
-g_cond_wait_win32_impl (GCond *cond,
- GMutex *entered_mutex)
-{
- g_return_if_fail (cond != NULL);
- g_return_if_fail (entered_mutex != NULL);
-
- g_cond_wait_internal (cond, entered_mutex, INFINITE);
-}
-
-static gboolean
-g_cond_timed_wait_win32_impl (GCond *cond,
- GMutex *entered_mutex,
- GTimeVal *abs_time)
-{
- GTimeVal current_time;
- gulong to_wait;
-
- g_return_val_if_fail (cond != NULL, FALSE);
- g_return_val_if_fail (entered_mutex != NULL, FALSE);
-
- if (!abs_time)
- to_wait = INFINITE;
- else
- {
- g_get_current_time (¤t_time);
- if (abs_time->tv_sec < current_time.tv_sec ||
- (abs_time->tv_sec == current_time.tv_sec &&
- abs_time->tv_usec <= current_time.tv_usec))
- to_wait = 0;
- else
- to_wait = (abs_time->tv_sec - current_time.tv_sec) * 1000 +
- (abs_time->tv_usec - current_time.tv_usec) / 1000;
- }
-
- return g_cond_wait_internal (cond, entered_mutex, to_wait);
-}
-
-static void
-g_cond_free_win32_impl (GCond * cond)
-{
- DeleteCriticalSection (&cond->lock);
- g_ptr_array_free (cond->array, TRUE);
- g_free (cond);
-}
-
-static GPrivate *
-g_private_new_win32_impl (GDestroyNotify destructor)
-{
- GPrivate *result;
- EnterCriticalSection (&g_thread_global_spinlock);
- if (g_private_next >= G_PRIVATE_MAX)
- {
- char buf[100];
- sprintf (buf,
- "Too many GPrivate allocated. Their number is limited to %d.",
- G_PRIVATE_MAX);
- MessageBox (NULL, buf, NULL, MB_ICONERROR|MB_SETFOREGROUND);
- if (IsDebuggerPresent ())
- G_BREAKPOINT ();
- abort ();
- }
- g_private_destructors[g_private_next] = destructor;
- result = GUINT_TO_POINTER (g_private_next);
- g_private_next++;
- LeaveCriticalSection (&g_thread_global_spinlock);
-
- return result;
-}
-
-/* NOTE: the functions g_private_get and g_private_set may not use
- functions from gmem.c and gmessages.c */
-
-static void
-g_private_set_win32_impl (GPrivate * private_key, gpointer value)
-{
- gpointer* array = TlsGetValue (g_private_tls);
- guint index = GPOINTER_TO_UINT (private_key);
-
- if (index >= G_PRIVATE_MAX)
- return;
-
- if (!array)
- {
- array = (gpointer*) calloc (G_PRIVATE_MAX, sizeof (gpointer));
- TlsSetValue (g_private_tls, array);
- }
-
- array[index] = value;
-}
-
-static gpointer
-g_private_get_win32_impl (GPrivate * private_key)
-{
- gpointer* array = TlsGetValue (g_private_tls);
- guint index = GPOINTER_TO_UINT (private_key);
-
- if (index >= G_PRIVATE_MAX || !array)
- return NULL;
-
- return array[index];
-}
-
-static void
-g_thread_set_priority_win32_impl (gpointer thread, GThreadPriority priority)
-{
- GThreadData *target = *(GThreadData **)thread;
-
- g_return_if_fail (priority >= G_THREAD_PRIORITY_LOW);
- g_return_if_fail (priority <= G_THREAD_PRIORITY_URGENT);
-
- win32_check_for_error (SetThreadPriority (target->thread,
- g_thread_priority_map [priority]));
-}
-
-static void
-g_thread_self_win32_impl (gpointer thread)
-{
- GThreadData *self = TlsGetValue (g_thread_self_tls);
-
- if (!self)
- {
- /* This should only happen for the main thread! */
- HANDLE handle = GetCurrentThread ();
- HANDLE process = GetCurrentProcess ();
- self = g_new (GThreadData, 1);
- win32_check_for_error (DuplicateHandle (process, handle, process,
- &self->thread, 0, FALSE,
- DUPLICATE_SAME_ACCESS));
- win32_check_for_error (TlsSetValue (g_thread_self_tls, self));
- self->func = NULL;
- self->data = NULL;
- self->joinable = FALSE;
- }
-
- *(GThreadData **)thread = self;
-}
-
-static void
-g_thread_exit_win32_impl (void)
-{
- GThreadData *self = TlsGetValue (g_thread_self_tls);
- guint i, private_max;
- gpointer *array = TlsGetValue (g_private_tls);
- HANDLE event = TlsGetValue (g_cond_event_tls);
-
- EnterCriticalSection (&g_thread_global_spinlock);
- private_max = g_private_next;
- LeaveCriticalSection (&g_thread_global_spinlock);
-
- if (array)
- {
- gboolean some_data_non_null;
-
- do {
- some_data_non_null = FALSE;
- for (i = 0; i < private_max; i++)
- {
- GDestroyNotify destructor = g_private_destructors[i];
- GDestroyNotify data = array[i];
-
- if (data)
- some_data_non_null = TRUE;
-
- array[i] = NULL;
-
- if (destructor && data)
- destructor (data);
- }
- } while (some_data_non_null);
-
- free (array);
-
- win32_check_for_error (TlsSetValue (g_private_tls, NULL));
- }
-
- if (self)
- {
- if (!self->joinable)
- {
- win32_check_for_error (CloseHandle (self->thread));
- g_free (self);
- }
- win32_check_for_error (TlsSetValue (g_thread_self_tls, NULL));
- }
-
- if (event)
- {
- CloseHandle (event);
- win32_check_for_error (TlsSetValue (g_cond_event_tls, NULL));
- }
-
- _endthreadex (0);
-}
-
-static guint __stdcall
-g_thread_proxy (gpointer data)
-{
- GThreadData *self = (GThreadData*) data;
-
- win32_check_for_error (TlsSetValue (g_thread_self_tls, self));
-
- self->func (self->data);
-
- g_thread_exit_win32_impl ();
-
- g_assert_not_reached ();
-
- return 0;
-}
-
-static void
-g_thread_create_win32_impl (GThreadFunc func,
- gpointer data,
- gulong stack_size,
- gboolean joinable,
- gboolean bound,
- GThreadPriority priority,
- gpointer thread,
- GError **error)
-{
- guint ignore;
- GThreadData *retval;
-
- g_return_if_fail (func);
- g_return_if_fail (priority >= G_THREAD_PRIORITY_LOW);
- g_return_if_fail (priority <= G_THREAD_PRIORITY_URGENT);
-
- retval = g_new(GThreadData, 1);
- retval->func = func;
- retval->data = data;
-
- retval->joinable = joinable;
-
- retval->thread = (HANDLE) _beginthreadex (NULL, stack_size, g_thread_proxy,
- retval, 0, &ignore);
-
- if (retval->thread == NULL)
- {
- gchar *win_error = g_win32_error_message (GetLastError ());
- g_set_error (error, G_THREAD_ERROR, G_THREAD_ERROR_AGAIN,
- "Error creating thread: %s", win_error);
- g_free (retval);
- g_free (win_error);
- return;
- }
-
- *(GThreadData **)thread = retval;
-
- g_thread_set_priority_win32_impl (thread, priority);
-}
-
-static void
-g_thread_yield_win32_impl (void)
-{
- Sleep(0);
-}
-
-static void
-g_thread_join_win32_impl (gpointer thread)
-{
- GThreadData *target = *(GThreadData **)thread;
-
- g_return_if_fail (target->joinable);
-
- win32_check_for_error (WAIT_FAILED !=
- WaitForSingleObject (target->thread, INFINITE));
-
- win32_check_for_error (CloseHandle (target->thread));
- g_free (target);
-}
-
-static guint64
-g_thread_gettime_impl (void)
-{
- guint64 v;
-
- /* Returns 100s of nanoseconds since start of 1601 */
- GetSystemTimeAsFileTime ((FILETIME *)&v);
-
- /* Offset to Unix epoch */
- v -= G_GINT64_CONSTANT (116444736000000000);
- /* Convert to nanoseconds */
- v *= 100;
-
- return v;
-}
-
-static GThreadFunctions g_thread_functions_for_glib_use_default =
-{
- g_mutex_new_win32_impl, /* mutex */
- g_mutex_lock_win32_impl,
- g_mutex_trylock_win32_impl,
- g_mutex_unlock_win32_impl,
- g_mutex_free_win32_impl,
- g_cond_new_win32_impl, /* condition */
- g_cond_signal_win32_impl,
- g_cond_broadcast_win32_impl,
- g_cond_wait_win32_impl,
- g_cond_timed_wait_win32_impl,
- g_cond_free_win32_impl,
- g_private_new_win32_impl, /* private thread data */
- g_private_get_win32_impl,
- g_private_set_win32_impl,
- g_thread_create_win32_impl, /* thread */
- g_thread_yield_win32_impl,
- g_thread_join_win32_impl,
- g_thread_exit_win32_impl,
- g_thread_set_priority_win32_impl,
- g_thread_self_win32_impl,
- NULL /* no equal function necessary */
-};
-
-#define HAVE_G_THREAD_IMPL_INIT
-static void
-g_thread_impl_init ()
-{
- static gboolean beenhere = FALSE;
- HMODULE kernel32;
-
- if (beenhere)
- return;
-
- beenhere = TRUE;
-
- win32_check_for_error (TLS_OUT_OF_INDEXES !=
- (g_thread_self_tls = TlsAlloc ()));
- win32_check_for_error (TLS_OUT_OF_INDEXES !=
- (g_private_tls = TlsAlloc ()));
- win32_check_for_error (TLS_OUT_OF_INDEXES !=
- (g_cond_event_tls = TlsAlloc ()));
- InitializeCriticalSection (&g_thread_global_spinlock);
-
- /* Here we are looking for TryEnterCriticalSection in KERNEL32.DLL,
- * if it is found, we can use the in general faster critical
- * sections instead of mutexes. See
- * http://world.std.com/~jmhart/csmutx.htm for some discussion.
- */
- kernel32 = GetModuleHandle ("KERNEL32.DLL");
- if (kernel32)
- {
- try_enter_critical_section = (GTryEnterCriticalSectionFunc)
- GetProcAddress(kernel32, "TryEnterCriticalSection");
-
- /* Even if TryEnterCriticalSection is found, it is not
- * necessarily working..., we have to check it */
- if (try_enter_critical_section &&
- try_enter_critical_section (&g_thread_global_spinlock))
- {
- LeaveCriticalSection (&g_thread_global_spinlock);
-
- g_thread_functions_for_glib_use_default.mutex_new =
- g_mutex_new_win32_cs_impl;
- g_thread_functions_for_glib_use_default.mutex_lock =
- g_mutex_lock_win32_cs_impl;
- g_thread_functions_for_glib_use_default.mutex_trylock =
- g_mutex_trylock_win32_cs_impl;
- g_thread_functions_for_glib_use_default.mutex_unlock =
- g_mutex_unlock_win32_cs_impl;
- g_thread_functions_for_glib_use_default.mutex_free =
- g_mutex_free_win32_cs_impl;
- }
- }
-}
+++ /dev/null
-/*
- * Copyright © 2008 Ryan Lortie
- * Copyright © 2010 Codethink Limited
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * See the included COPYING file for more information.
- */
-
-/* LOCKS should be more than the number of contention
- * counters in gthread.c in order to ensure we exercise
- * the case where they overlap.
- */
-#define LOCKS 48
-#define ITERATIONS 10000
-#define THREADS 100
-
-
-#if TEST_EMULATED_FUTEX
- /* this is defined for the 1bit-mutex-emufutex test.
- *
- * we want to test the emulated futex even if futex(2) is available.
- */
-
- /* side-step some glib build stuff */
- #define DISABLE_VISIBILITY
- #define GLIB_COMPILATION
-
- /* rebuild gbitlock.c without futex support,
- defining our own version of the g_bit_*lock symbols
- */
- #define g_bit_lock _emufutex_g_bit_lock
- #define g_bit_trylock _emufutex_g_bit_trylock
- #define g_bit_unlock _emufutex_g_bit_unlock
- #define _g_futex_thread_init _emufutex_g_futex_thread_init
-
- #define G_BIT_LOCK_FORCE_FUTEX_EMULATION
-
- #include <glib/gbitlock.c>
-#endif
-
-#include <glib.h>
-
-volatile GThread *owners[LOCKS];
-volatile gint locks[LOCKS];
-volatile gint bits[LOCKS];
-
-static void
-acquire (int nr)
-{
- GThread *self;
-
- self = g_thread_self ();
-
- g_bit_lock (&locks[nr], bits[nr]);
- g_assert (owners[nr] == NULL); /* hopefully nobody else is here */
- owners[nr] = self;
-
- /* let some other threads try to ruin our day */
- g_thread_yield ();
- g_thread_yield ();
- g_thread_yield ();
-
- g_assert (owners[nr] == self); /* hopefully this is still us... */
- owners[nr] = NULL; /* make way for the next guy */
- g_bit_unlock (&locks[nr], bits[nr]);
-}
-
-static gpointer
-thread_func (gpointer data)
-{
- gint i;
-
- for (i = 0; i < ITERATIONS; i++)
- acquire (g_random_int () % LOCKS);
-
- return NULL;
-}
-
-static void
-testcase (void)
-{
- GThread *threads[THREADS];
- int i;
-
- g_thread_init (NULL);
-
-#ifdef TEST_EMULATED_FUTEX
- _g_futex_thread_init ();
- #define SUFFIX "-emufutex"
-
- /* ensure that we are using the emulated futex by checking
- * (at compile-time) for the existance of 'g_futex_mutex'
- */
- g_assert (g_futex_mutex != NULL);
-#else
- #define SUFFIX ""
-#endif
-
- for (i = 0; i < LOCKS; i++)
- bits[i] = g_random_int () % 32;
-
- for (i = 0; i < THREADS; i++)
- threads[i] = g_thread_create (thread_func, NULL, TRUE, NULL);
-
- for (i = 0; i < THREADS; i++)
- g_thread_join (threads[i]);
-
- for (i = 0; i < LOCKS; i++)
- {
- g_assert (owners[i] == NULL);
- g_assert (locks[i] == 0);
- }
-}
-
-int
-main (int argc, char **argv)
-{
- g_test_init (&argc, &argv, NULL);
-
- g_test_add_func ("/glib/1bit-mutex" SUFFIX, testcase);
-
- return g_test_run ();
-}
+++ /dev/null
-include $(top_srcdir)/Makefile.decl
-
-INCLUDES = -g -I$(top_srcdir) -I$(top_srcdir)/glib $(GLIB_DEBUG_FLAGS)
-
-noinst_PROGRAMS = $(TEST_PROGS)
-progs_ldadd = $(top_builddir)/glib/libglib-2.0.la \
- $(top_builddir)/gthread/libgthread-2.0.la
-
-TEST_PROGS += 1bit-mutex
-1bit_mutex_LDADD = $(progs_ldadd) $(top_builddir)/gthread/libgthread-2.0.la
-
-TEST_PROGS += 1bit-emufutex
-1bit_emufutex_SOURCES = 1bit-mutex.c
-1bit_emufutex_CFLAGS = -DTEST_EMULATED_FUTEX
-1bit_emufutex_LDADD = $(progs_ldadd) $(top_builddir)/gthread/libgthread-2.0.la
+++ /dev/null
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# GLIB - Library of useful C routines
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/Makefile.decl
-noinst_PROGRAMS = $(am__EXEEXT_1)
-subdir = gthread/tests
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
- $(top_srcdir)/acglib.m4 \
- $(top_srcdir)/glib/libcharset/codeset.m4 \
- $(top_srcdir)/glib/libcharset/glibc21.m4 \
- $(top_srcdir)/m4macros/glib-gettext.m4 \
- $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__EXEEXT_1 = 1bit-mutex$(EXEEXT) 1bit-emufutex$(EXEEXT)
-PROGRAMS = $(noinst_PROGRAMS)
-am_1bit_emufutex_OBJECTS = 1bit_emufutex-1bit-mutex.$(OBJEXT)
-1bit_emufutex_OBJECTS = $(am_1bit_emufutex_OBJECTS)
-1bit_emufutex_DEPENDENCIES = $(progs_ldadd) \
- $(top_builddir)/gthread/libgthread-2.0.la
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
-am__v_lt_0 = --silent
-1bit_emufutex_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(1bit_emufutex_CFLAGS) \
- $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-1bit_mutex_SOURCES = 1bit-mutex.c
-1bit_mutex_OBJECTS = 1bit-mutex.$(OBJEXT)
-1bit_mutex_DEPENDENCIES = $(progs_ldadd) \
- $(top_builddir)/gthread/libgthread-2.0.la
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(1bit_emufutex_SOURCES) 1bit-mutex.c
-DIST_SOURCES = $(1bit_emufutex_SOURCES) 1bit-mutex.c
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ABS_GLIB_RUNTIME_LIBDIR = @ABS_GLIB_RUNTIME_LIBDIR@
-ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DATADIRNAME = @DATADIRNAME@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DISABLE_MEM_POOLS = @DISABLE_MEM_POOLS@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FAM_LIBS = @FAM_LIBS@
-FGREP = @FGREP@
-GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
-GIO = @GIO@
-GIO_MODULE_DIR = @GIO_MODULE_DIR@
-GLIBC21 = @GLIBC21@
-GLIB_BINARY_AGE = @GLIB_BINARY_AGE@
-GLIB_DEBUG_FLAGS = @GLIB_DEBUG_FLAGS@
-GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
-GLIB_INTERFACE_AGE = @GLIB_INTERFACE_AGE@
-GLIB_MAJOR_VERSION = @GLIB_MAJOR_VERSION@
-GLIB_MICRO_VERSION = @GLIB_MICRO_VERSION@
-GLIB_MINOR_VERSION = @GLIB_MINOR_VERSION@
-GLIB_RUNTIME_LIBDIR = @GLIB_RUNTIME_LIBDIR@
-GLIB_VERSION = @GLIB_VERSION@
-GLIB_WIN32_STATIC_COMPILATION_DEFINE = @GLIB_WIN32_STATIC_COMPILATION_DEFINE@
-GMOFILES = @GMOFILES@
-GMSGFMT = @GMSGFMT@
-GREP = @GREP@
-GSPAWN = @GSPAWN@
-GTHREAD_COMPILE_IMPL_DEFINES = @GTHREAD_COMPILE_IMPL_DEFINES@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-G_LIBS_EXTRA = @G_LIBS_EXTRA@
-G_MODULE_BROKEN_RTLD_GLOBAL = @G_MODULE_BROKEN_RTLD_GLOBAL@
-G_MODULE_HAVE_DLERROR = @G_MODULE_HAVE_DLERROR@
-G_MODULE_IMPL = @G_MODULE_IMPL@
-G_MODULE_LDFLAGS = @G_MODULE_LDFLAGS@
-G_MODULE_LIBS = @G_MODULE_LIBS@
-G_MODULE_LIBS_EXTRA = @G_MODULE_LIBS_EXTRA@
-G_MODULE_NEED_USCORE = @G_MODULE_NEED_USCORE@
-G_MODULE_PLUGIN_LIBS = @G_MODULE_PLUGIN_LIBS@
-G_MODULE_SUPPORTED = @G_MODULE_SUPPORTED@
-G_THREAD_CFLAGS = @G_THREAD_CFLAGS@
-G_THREAD_LIBS = @G_THREAD_LIBS@
-G_THREAD_LIBS_EXTRA = @G_THREAD_LIBS_EXTRA@
-G_THREAD_LIBS_FOR_GTHREAD = @G_THREAD_LIBS_FOR_GTHREAD@
-HTML_DIR = @HTML_DIR@
-ICONV_LIBS = @ICONV_LIBS@
-INDENT = @INDENT@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INSTOBJEXT = @INSTOBJEXT@
-INTLLIBS = @INTLLIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBASYNCNS_LIBADD = @LIBASYNCNS_LIBADD@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_EXPORT_OPTIONS = @LIBTOOL_EXPORT_OPTIONS@
-LIB_EXE_MACHINE_FLAG = @LIB_EXE_MACHINE_FLAG@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_AGE = @LT_AGE@
-LT_CURRENT = @LT_CURRENT@
-LT_CURRENT_MINUS_AGE = @LT_CURRENT_MINUS_AGE@
-LT_RELEASE = @LT_RELEASE@
-LT_REVISION = @LT_REVISION@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-MSGFMT = @MSGFMT@
-MSGFMT_OPTS = @MSGFMT_OPTS@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PCRE_CFLAGS = @PCRE_CFLAGS@
-PCRE_LIBS = @PCRE_LIBS@
-PCRE_REQUIRES = @PCRE_REQUIRES@
-PCRE_WARN_CFLAGS = @PCRE_WARN_CFLAGS@
-PERL = @PERL@
-PERL_PATH = @PERL_PATH@
-PKG_CONFIG = @PKG_CONFIG@
-PLATFORMDEP = @PLATFORMDEP@
-POFILES = @POFILES@
-POSUB = @POSUB@
-PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
-PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-RANLIB = @RANLIB@
-REBUILD = @REBUILD@
-SED = @SED@
-SELINUX_LIBS = @SELINUX_LIBS@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-USE_NLS = @USE_NLS@
-VERSION = @VERSION@
-WINDRES = @WINDRES@
-XATTR_LIBS = @XATTR_LIBS@
-XGETTEXT = @XGETTEXT@
-XMLCATALOG = @XMLCATALOG@
-XML_CATALOG_FILE = @XML_CATALOG_FILE@
-XSLTPROC = @XSLTPROC@
-ZLIB_LIBS = @ZLIB_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-ms_librarian = @ms_librarian@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-
-#GTESTER = gtester # for non-GLIB packages
-GTESTER = $(top_builddir)/glib/gtester # for the GLIB package
-GTESTER_REPORT = $(top_builddir)/glib/gtester-report # for the GLIB package
-
-# initialize variables for unconditional += appending
-EXTRA_DIST =
-TEST_PROGS = 1bit-mutex 1bit-emufutex
-INCLUDES = -g -I$(top_srcdir) -I$(top_srcdir)/glib $(GLIB_DEBUG_FLAGS)
-progs_ldadd = $(top_builddir)/glib/libglib-2.0.la \
- $(top_builddir)/gthread/libgthread-2.0.la
-
-1bit_mutex_LDADD = $(progs_ldadd) $(top_builddir)/gthread/libgthread-2.0.la
-1bit_emufutex_SOURCES = 1bit-mutex.c
-1bit_emufutex_CFLAGS = -DTEST_EMULATED_FUTEX
-1bit_emufutex_LDADD = $(progs_ldadd) $(top_builddir)/gthread/libgthread-2.0.la
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.decl $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gthread/tests/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu gthread/tests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstPROGRAMS:
- @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-1bit-emufutex$(EXEEXT): $(1bit_emufutex_OBJECTS) $(1bit_emufutex_DEPENDENCIES)
- @rm -f 1bit-emufutex$(EXEEXT)
- $(AM_V_CCLD)$(1bit_emufutex_LINK) $(1bit_emufutex_OBJECTS) $(1bit_emufutex_LDADD) $(LIBS)
-1bit-mutex$(EXEEXT): $(1bit_mutex_OBJECTS) $(1bit_mutex_DEPENDENCIES)
- @rm -f 1bit-mutex$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(1bit_mutex_OBJECTS) $(1bit_mutex_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/1bit-mutex.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/1bit_emufutex-1bit-mutex.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-
-1bit_emufutex-1bit-mutex.o: 1bit-mutex.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(1bit_emufutex_CFLAGS) $(CFLAGS) -MT 1bit_emufutex-1bit-mutex.o -MD -MP -MF $(DEPDIR)/1bit_emufutex-1bit-mutex.Tpo -c -o 1bit_emufutex-1bit-mutex.o `test -f '1bit-mutex.c' || echo '$(srcdir)/'`1bit-mutex.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/1bit_emufutex-1bit-mutex.Tpo $(DEPDIR)/1bit_emufutex-1bit-mutex.Po
-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='1bit-mutex.c' object='1bit_emufutex-1bit-mutex.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(1bit_emufutex_CFLAGS) $(CFLAGS) -c -o 1bit_emufutex-1bit-mutex.o `test -f '1bit-mutex.c' || echo '$(srcdir)/'`1bit-mutex.c
-
-1bit_emufutex-1bit-mutex.obj: 1bit-mutex.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(1bit_emufutex_CFLAGS) $(CFLAGS) -MT 1bit_emufutex-1bit-mutex.obj -MD -MP -MF $(DEPDIR)/1bit_emufutex-1bit-mutex.Tpo -c -o 1bit_emufutex-1bit-mutex.obj `if test -f '1bit-mutex.c'; then $(CYGPATH_W) '1bit-mutex.c'; else $(CYGPATH_W) '$(srcdir)/1bit-mutex.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/1bit_emufutex-1bit-mutex.Tpo $(DEPDIR)/1bit_emufutex-1bit-mutex.Po
-@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='1bit-mutex.c' object='1bit_emufutex-1bit-mutex.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(1bit_emufutex_CFLAGS) $(CFLAGS) -c -o 1bit_emufutex-1bit-mutex.obj `if test -f '1bit-mutex.c'; then $(CYGPATH_W) '1bit-mutex.c'; else $(CYGPATH_W) '$(srcdir)/1bit-mutex.c'; fi`
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-local
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am check-local clean \
- clean-generic clean-libtool clean-noinstPROGRAMS ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
-
-
-### testing rules
-
-# test: run all tests in cwd and subdirs
-test: ${TEST_PROGS}
-@OS_UNIX_TRUE@ @test -z "${TEST_PROGS}" || ${GTESTER} --verbose ${TEST_PROGS}
-@OS_UNIX_TRUE@ @ for subdir in $(SUBDIRS) . ; do \
-@OS_UNIX_TRUE@ test "$$subdir" = "." -o "$$subdir" = "po" || \
-@OS_UNIX_TRUE@ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
-@OS_UNIX_TRUE@ done
-
-# test-report: run tests in subdirs and generate report
-# perf-report: run tests in subdirs with -m perf and generate report
-# full-report: like test-report: with -m perf and -m slow
-test-report perf-report full-report: ${TEST_PROGS}
- @test -z "${TEST_PROGS}" || { \
- case $@ in \
- test-report) test_options="-k";; \
- perf-report) test_options="-k -m=perf";; \
- full-report) test_options="-k -m=perf -m=slow";; \
- esac ; \
- if test -z "$$GTESTER_LOGDIR" ; then \
- ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
- elif test -n "${TEST_PROGS}" ; then \
- ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
- fi ; \
- }
- @ ignore_logdir=true ; \
- if test -z "$$GTESTER_LOGDIR" ; then \
- GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
- ignore_logdir=false ; \
- fi ; \
- for subdir in $(SUBDIRS) . ; do \
- test "$$subdir" = "." -o "$$subdir" = "po" || \
- ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
- done ; \
- $$ignore_logdir || { \
- echo '<?xml version="1.0"?>' > $@.xml ; \
- echo '<report-collection>' >> $@.xml ; \
- for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
- sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
- done ; \
- echo >> $@.xml ; \
- echo '</report-collection>' >> $@.xml ; \
- rm -rf "$$GTESTER_LOGDIR"/ ; \
- ${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
- }
-.PHONY: test test-report perf-report full-report
-# run make test as part of make check
-check-local: test
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
+++ /dev/null
-#include "config.h"
-
-#include <glib.h>
-#include <string.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <stdlib.h>
-
-#define DATA_SIZE 1024
-#define BLOCK_SIZE 32
-#define NUM_BLOCKS 32
-static guchar data[DATA_SIZE];
-
-static void
-test_incremental (gboolean line_break,
- gint length)
-{
- char *p;
- gsize len, decoded_len, max, input_len, block_size;
- int state, save;
- guint decoder_save;
- char *text;
- guchar *data2;
-
- data2 = g_malloc (length);
- text = g_malloc (length * 4);
-
- len = 0;
- state = 0;
- save = 0;
- input_len = 0;
- while (input_len < length)
- {
- block_size = MIN (BLOCK_SIZE, length - input_len);
- len += g_base64_encode_step (data + input_len, block_size,
- line_break, text + len, &state, &save);
- input_len += block_size;
- }
- len += g_base64_encode_close (line_break, text + len, &state, &save);
-
- if (line_break)
- max = length * 4 / 3 + length * 4 / (3 * 72) + 7;
- else
- max = length * 4 / 3 + 6;
- if (len > max)
- {
- g_print ("Too long encoded length: got %d, expected max %d\n",
- len, max);
- exit (1);
- }
-
- decoded_len = 0;
- state = 0;
- decoder_save = 0;
- p = text;
- while (len > 0)
- {
- int chunk_len = MIN (BLOCK_SIZE, len);
- decoded_len += g_base64_decode_step (p,
- chunk_len,
- data2 + decoded_len,
- &state, &decoder_save);
- p += chunk_len;
- len -= chunk_len;
- }
-
- if (decoded_len != length)
- {
- g_print ("Wrong decoded length: got %d, expected %d\n",
- decoded_len, length);
- exit (1);
- }
-
- if (memcmp (data, data2, length) != 0)
- {
- g_print ("Wrong decoded base64 data\n");
- exit (1);
- }
-
- g_free (text);
- g_free (data2);
-}
-
-static void
-test_full (gint length)
-{
- char *text;
- guchar *data2;
- gsize len;
-
- text = g_base64_encode (data, length);
- data2 = g_base64_decode (text, &len);
- g_free (text);
-
- if (len != length)
- {
- g_print ("Wrong decoded length: got %d, expected %d\n",
- len, length);
- exit (1);
- }
-
- if (memcmp (data, data2, length) != 0)
- {
- g_print ("Wrong decoded base64 data\n");
- exit (1);
- }
-
- g_free (data2);
-}
-
-int
-main (int argc, char *argv[])
-{
- int i;
- for (i = 0; i < DATA_SIZE; i++)
- data[i] = (guchar)i;
-
- test_full (DATA_SIZE);
- test_full (1);
- test_full (2);
- test_full (3);
-
- test_incremental (FALSE, DATA_SIZE);
- test_incremental (TRUE, DATA_SIZE);
-
- test_incremental (FALSE, DATA_SIZE - 1);
- test_incremental (TRUE, DATA_SIZE - 1);
-
- test_incremental (FALSE, DATA_SIZE - 2);
- test_incremental (TRUE, DATA_SIZE - 2);
-
- test_incremental (FALSE, 1);
- test_incremental (FALSE, 2);
- test_incremental (FALSE, 3);
-
- return 0;
-}
+++ /dev/null
-#undef G_DISABLE_ASSERT
-
-#include <glib.h>
-#include <time.h>
-#include <locale.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#define TEST_URI_0 "file:///abc/defgh/ijklmnopqrstuvwxyz"
-#define TEST_URI_1 "file:///test/uri/1"
-#define TEST_URI_2 "file:///test/uri/2"
-
-#define TEST_MIME "text/plain"
-
-#define TEST_APP_NAME "bookmarkfile-test"
-#define TEST_APP_EXEC "bookmarkfile-test %f"
-
-static gboolean
-test_load (GBookmarkFile *bookmark,
- const gchar *filename)
-{
- GError *error = NULL;
- gboolean res;
-
- res = g_bookmark_file_load_from_file (bookmark, filename, &error);
- if (error)
- {
- g_print ("Load error: %s\n", error->message);
- g_error_free (error);
- }
-
- return res;
-}
-
-static gboolean
-test_query (GBookmarkFile *bookmark)
-{
- gint size;
- gchar **uris;
- gsize uris_len, i;
- gboolean res = TRUE;
-
- size = g_bookmark_file_get_size (bookmark);
- uris = g_bookmark_file_get_uris (bookmark, &uris_len);
-
- if (uris_len != size)
- {
- g_print ("URI/size mismatch: URI count is %d (should be %d)\n", uris_len, size);
-
- res = FALSE;
- }
-
- for (i = 0; i < uris_len; i++)
- if (!g_bookmark_file_has_item (bookmark, uris[i]))
- {
- g_print ("URI/bookmark mismatch: bookmark for '%s' does not exist\n", uris[i]);
-
- res = FALSE;
- }
-
- g_strfreev (uris);
-
- return res;
-}
-
-static gboolean
-test_modify (GBookmarkFile *bookmark)
-{
- gchar *text;
- guint count;
- time_t stamp;
- GError *error = NULL;
-
- g_print ("\t=> check global title/description...");
- g_bookmark_file_set_title (bookmark, NULL, "a file");
- g_bookmark_file_set_description (bookmark, NULL, "a bookmark file");
-
- text = g_bookmark_file_get_title (bookmark, NULL, &error);
- g_assert_no_error (error);
- g_assert_cmpstr (text, ==, "a file");
- g_free (text);
-
- text = g_bookmark_file_get_description (bookmark, NULL, &error);
- g_assert_no_error (error);
- g_assert_cmpstr (text, ==, "a bookmark file");
- g_free (text);
- g_print ("ok\n");
-
- g_print ("\t=> check bookmark title/description...");
- g_bookmark_file_set_title (bookmark, TEST_URI_0, "a title");
- g_bookmark_file_set_description (bookmark, TEST_URI_0, "a description");
-
- text = g_bookmark_file_get_title (bookmark, TEST_URI_0, &error);
- g_assert_no_error (error);
- g_assert_cmpstr (text, ==, "a title");
- g_free (text);
- g_print ("ok\n");
-
- g_print ("\t=> check non existing bookmark...");
- g_bookmark_file_get_description (bookmark, TEST_URI_1, &error);
- g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND);
- g_clear_error (&error);
- g_print ("ok\n");
-
- g_print ("\t=> check application...");
- g_bookmark_file_set_mime_type (bookmark, TEST_URI_0, TEST_MIME);
- g_bookmark_file_add_application (bookmark, TEST_URI_0,
- TEST_APP_NAME,
- TEST_APP_EXEC);
- g_assert (g_bookmark_file_has_application (bookmark, TEST_URI_0, TEST_APP_NAME, NULL) == TRUE);
- g_bookmark_file_get_app_info (bookmark, TEST_URI_0, TEST_APP_NAME,
- &text,
- &count,
- &stamp,
- &error);
- g_assert_no_error (error);
- g_assert (count == 1);
- g_assert (stamp == g_bookmark_file_get_modified (bookmark, TEST_URI_0, NULL));
- g_free (text);
-
- g_bookmark_file_get_app_info (bookmark, TEST_URI_0, "fail",
- &text,
- &count,
- &stamp,
- &error);
- g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED);
- g_clear_error (&error);
- g_print ("ok\n");
-
- g_print ("\t=> check groups...");
- g_bookmark_file_add_group (bookmark, TEST_URI_1, "Test");
- g_assert (g_bookmark_file_has_group (bookmark, TEST_URI_1, "Test", NULL) == TRUE);
- g_assert (g_bookmark_file_has_group (bookmark, TEST_URI_1, "Fail", NULL) == FALSE);
- g_print ("ok\n");
-
- g_print ("\t=> check remove...");
- g_assert (g_bookmark_file_remove_item (bookmark, TEST_URI_1, &error) == TRUE);
- g_assert_no_error (error);
- g_assert (g_bookmark_file_remove_item (bookmark, TEST_URI_1, &error) == FALSE);
- g_assert_error (error, G_BOOKMARK_FILE_ERROR, G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND);
- g_clear_error (&error);
- g_print ("ok\n");
-
- return TRUE;
-}
-
-static gint
-test_file (const gchar *filename)
-{
- GBookmarkFile *bookmark_file;
- gboolean success;
-
- g_return_val_if_fail (filename != NULL, 1);
-
- g_print ("checking GBookmarkFile...\n");
-
- bookmark_file = g_bookmark_file_new ();
- g_assert (bookmark_file != NULL);
-
- success = test_load (bookmark_file, filename);
-
- if (success)
- {
- success = test_query (bookmark_file);
- success = test_modify (bookmark_file);
- }
-
- g_bookmark_file_free (bookmark_file);
-
- g_print ("ok\n");
-
- return (success == TRUE ? 0 : 1);
-}
-
-int
-main (int argc,
- char *argv[])
-{
- if (argc > 1)
- return test_file (argv[1]);
- else
- {
- fprintf (stderr, "Usage: bookmarkfile-test <bookmarkfile>\n");
-
- return 1;
- }
-}
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<fail/>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark>
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" fail="attr">
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file & containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- </metadata>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata>
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata owner="http://freedesktop.org">
- <bookmark:fail/>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata owner="http://freedesktop.org">
- <bookmark:applications>
- <bookmark:application/>
- </bookmark:applications>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <title>&</title>
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- <bookmark:icon type="image/png"/>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- <fail/>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- <bookmark:groups>
- <fail>Test</fail>
- </bookmark:groups>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- <bookmark:groups>
- <bookmark:group>Test</bookmark:group>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- <bookmark:groups>
- <bookmark:group>Test</group>
- </bookmark:groups>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- </metadata>
- <invalid/>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </bookmark:applications>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<xbel version="1.0">
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata owner="http://freedesktop.org">
- <mime-type type="application/postscript"/>
- <applications>
- <application name="populate-recent" exec="populate-recent --info %u" timestamp="1128121528" count="1"/>
- </applications>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE xbel
- PUBLIC "+//IDN python.org//DTD XML Bookmark Exchange Language 1.0//EN//XML"
- "http://www.python.org/topics/xml/dtds/xbel-1.0.dtd">
-<xbel version="1.0"
- xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"
- xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"
->
- <title>Singleton</title>
- <desc>A file containing a single bookmark element</desc>
- <bookmark href="file:///home/zefram/Documents/milan-stuttgart.ps" added="20050930T23:05:28Z" modified="20050930T23:05:28Z" visited="20050930T23:05:28Z">
- <info>
- <metadata owner="http://freedesktop.org">
- <mime:mime-type type="application/postscript"/>
- <bookmark:applications>
- <bookmark:application name="populate-recent" exec="populate-recent --info %u" modified="2005-09-30T23:05:28Z" count="1"/>
- </bookmark:applications>
- </metadata>
- </info>
- </bookmark>
-</xbel>
+++ /dev/null
-#include "config.h"
-
-#include <glib.h>
-#include <string.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <stdlib.h>
-
-/* Test GChecksum by computing the checksums of every initial
- * substring of this string, calling g_checksum_update with chunks of
- * every possible size. That is, first it computes the checksums of
- * "", then "T". Then it computes the checksums of "Th", first by
- * feeding the GChecksum 1 letter a time, then 2. Then it does "The",
- * first feeding it one letter at a time, then 2, then 3. Etc.
- *
- * MD5, SHA1, and SHA256 all use a 64-byte buffer internally; this
- * string is intentionally more than twice that length.
- */
-
-#define FIXED_STR "The quick brown fox jumps over the lazy dog. Jackdaws love my big sphinx of quartz. Pack my box with five dozen liquor jugs. How razorback-jumping frogs can level six piqued gymnasts!"
-#define FIXED_LEN (strlen (FIXED_STR))
-
-const char *MD5_sums[] = {
- "d41d8cd98f00b204e9800998ecf8427e",
- "b9ece18c950afbfa6b0fdbfa4ff731d3",
- "eeeb9a8eb45dd351d9ec0eb4acce66ce",
- "a4704fd35f0308287f2937ba3eccf5fe",
- "02edd93949f6d3c57d9822691b59f649",
- "6131a51747610d0ae4e86c3a3416788c",
- "8c871099d54c09d4099fa7a0e77c9113",
- "bbb9873bad399cd1cc0d5e336ca5beee",
- "b9b926544b8ecd5c3ef553a87170b726",
- "912d57cea222bc1730dd531b9d6afbb6",
- "03c729679ca3252a4735c4148b7c11e3",
- "d7027ce01f22eb9d2bb32d9a153a7e29",
- "e05e6a516c92259691cf9194dfdeff92",
- "dd1ac3c70b6f51dd545cdf64053209d4",
- "caa1e1e79c65480a48cf08a38ac1d87d",
- "5aa207e85988921b8733912c4f526c80",
- "b0e45b65d9e1d88169c40dc47605e2d9",
- "e4b6d6fabe9dfcbe83a51d19df5f0ac3",
- "168534eca593b6cef86aea9081f0f5bf",
- "a2004f37730b9445670a738fa0fc9ee5",
- "c4314972a672ded8759cafdca9af3238",
- "29dcbbf4add427ccba06d3c37ad44aa9",
- "d0312d0e9e2d8c063d95a06fbbba9cb1",
- "770fd972e360cb8538ce6a880741936e",
- "8e53cb84ef3d981a86fbb69b24827c46",
- "83de97cab1f553eb3acc22866a4f6942",
- "a2829f93d701f36d808d0a698dcebf02",
- "efcead92aba26426db84b75413f17c10",
- "60a0732774106c2348eb576596668eb9",
- "d44f138aa2f39488c03391771eea258c",
- "f85199fa76594dfb190fab5dfe42a769",
- "cd4c02f190df2372cb703994dd84e881",
- "566cb723d4fb7a7dd38163532fe760b7",
- "4433001bd59da157c18b09f6c10d4163",
- "b76b517e01f5b708af50af906adb2dac",
- "0f611396bcfe9ab7666c45ebd37e59ba",
- "4c6606c2117565959048d356c1d7f6cc",
- "5f7f3f510b8a8f0a5e1d6193c6c7f3af",
- "542560ce828579cfe777aa165b4d1bed",
- "171e092149d366acca00d1cd783e61cd",
- "4ed8b5a69f7c329f498320947db666f2",
- "eb4c251a5abb3c59d306276ba2dc644d",
- "2b6e07526e77047d7935681efc3b9f90",
- "9e107d9d372bb6826bd81d3542a419d6",
- "e4d909c290d0fb1ca068ffaddf22cbd0",
- "1c6d98786bea70b9c34ce7f33201120c",
- "bdda04a65a37f97d3ac3be6b0d5f58ea",
- "954c69b280f0b5eed4b36eb714d26f82",
- "e5fad54e00d29bf5b1671b3d351624e9",
- "1a0b3d4eec1bd869af85945f60ff19c3",
- "055031167bd9f17448623653eb4b27ed",
- "4ca7c851615ea3abc43b5e1df410b84a",
- "774873408e0032f8c56106dc28d489e2",
- "fc44cc8ad9ff4aef8a4187688cb65378",
- "b939f1b04b296ac8ff8261876ae86704",
- "de9362af59e6e23688a243f909e9fdbd",
- "6827a93d7492d3da381d7b45f2a0b94f",
- "459ade91c05ca5f8bfdc8c3f6014ce04",
- "55b143ec7d943b04666010e165d753e0",
- "04ad29c207b52f46fd50f208744d936d",
- "8d26f6529919e3d3e33b5e147e96bd8c",
- "de98a267f5acd95c52bf439be075f360",
- "4a8a2b0f0cc485c957992c6c9865b33d",
- "566f00c9d7ac74a1daeb2925de2aca23",
- "6ebee39c52840729c65d815fbdb9e9c7",
- "7dc322a68ec5881e78cb718a3ca9a557",
- "b00112c2c7844e0c6c0cab1fdc7a12ab",
- "6f78ec779e96448daa9675bf06a0dbe3",
- "8bba94005e06aefd071ed8a5c1b89068",
- "220316718ce3875281be580a731ef0a1",
- "7dd175908a4fce0e510287a9f884ef1d",
- "030d864e63a6b67e11084f27ac5a422f",
- "cad084c9d6c71aa60c414b3df22e4ef2",
- "a10296630814335017df32f94b5202ff",
- "de23bdf63d07cc75716e1e303df0677c",
- "9718898182f2ba3a4428d9e357f5788e",
- "9dfc12c4b82dcf727fc6599a0696a48c",
- "6cca243870d308ffe8ae51993258e9ef",
- "6b425096ac7743989c9744ff45ea027f",
- "742a87784ffd6e2b0697aabf6b453309",
- "b9b7f74d898d1fe768777bd7fb7844e7",
- "4717614d82c1df37d608111953c75912",
- "43298b7db8498f89b9aa1bcb410a8ed2",
- "1b3621f615f0861d672d406257f5a97b",
- "9ef3e55a2eb9d5d41f9f850cc86f8fea",
- "3ec2cbcec99a048d9410c64a61796b0f",
- "e75f9f48ac684c1c49a256df39ac118b",
- "3518518b7b3b87f298d0518ccab65534",
- "d936105bf33a89e00fe8ed8711b732d3",
- "70858151e61f8862decb044c2050ae40",
- "81491684aa39d20b064ceff099a3175b",
- "bd73078b5a0a3a6d40fb1376347d64a6",
- "9da1f6dc1bc2ffb5ccafa14a04ff5f84",
- "a5c9c51a8981234ef59a969e3ad147ef",
- "c105573b4d5ef469c7867094b4e589e1",
- "d479c97efb06a112534196e257192c4a",
- "fc7b07eb35cc515c1beb93aaa4e51a64",
- "83470666e83e382a35d97f406f79eb70",
- "e2ecf716fa93c1e1764a8e584cbffe04",
- "534a7c131ee92bd5c9105cd293a9fa6e",
- "5afea20e81c95d55e70bb0805158d207",
- "8bb0ebc08bd51a0f62808c76005d5d33",
- "c689312f4c99858ba414b63b61408f7b",
- "cf1636f7d96fae80a428db4dbd93450d",
- "963b816a27e6432c8200f35c11cb3d18",
- "2dcd8661e650a8efe99642df35e1c0a4",
- "2f6207c7ae99db3da286ebdb98b10f60",
- "b515b746e01836e24966ff679f9dde6b",
- "5b53b6ca7982077b891b03ae9546984d",
- "4c57e9d52f8e782b44304f2d4613456d",
- "7f28eb1a0f03dd38c73da46973299d00",
- "997d1c07005040126addd2dbecc623fc",
- "817dbe3e415b05eca731e27ca792adbc",
- "ebffcb6fd54cfc146afe9485884b540e",
- "2d6394332758bd5411eada08d85af3d6",
- "27e0d08eda3a775290e0962483fa5ec8",
- "d444cd632037609ccb972ce79009b16e",
- "31c0453b13e1dd83f6ea55b7be54da15",
- "aa95999a313b3794d7902a751ee77c05",
- "cd30f6386d09f62f49537b2d23ea713e",
- "149a308e31876049d76b7393512451d6",
- "d0d4a7c2254d9f8c18668c103a3d7f82",
- "1f822faa98bc97d382fb28019730daf3",
- "a59e31843f29f63c8ec857084fd91161",
- "e871798ecb332a9a082ab69d747c624d",
- "dba105cfd9294cbc4269096d9c682b89",
- "c9cbdc59fb3afff3051b33788d1e946a",
- "890247b165402b325ac88212b21e4e42",
- "777c5b13c598663f136be27451b5379a",
- "888e851163704b4fed2d9b82e51aff16",
- "3069f2cddd3a17dd655c61372def9c0d",
- "39ae3b6ae2e9ecf5f0c25eff8d52ddef",
- "058dcd07dc12be85774e7f72587bfe43",
- "522c5460f239de773cdbcefb4d55b129",
- "c6b5babfeaae6d7bb86c1c2b64fa1b56",
- "fffa674d8c9bcb251c0ab3cf9d7aec89",
- "7aabad234a1f9f05ef6c5fb6ddc15b0a",
- "9b3ca93cfa10b081de65516d67170e3b",
- "1990bf44ba11b087af262e017d8c823e",
- "072e4bc6ef0ee5d9e7c56dafb9f65088",
- "e2825a9231a65676a7b79b648fd94fcb",
- "ab864a28e6eac29000429a5536fd9cf9",
- "decfbab07f8d11187365c385f12d038b",
- "1f0dd358531e06187d33964d0e0e115f",
- "acdf4cc64f0c62013621d6ebc69687d2",
- "6827965643e24616e892e5636f1265c9",
- "2daed5786790d38ede194d351b383d46",
- "eb05cb49a9e01e2c0a1329c2d1859394",
- "83065746806dbca73e787939d359e74c",
- "0a318bc9d7e2d4d03a96e755fd2214f6",
- "85421302d14c37029512ab3e848c4498",
- "02ee794a181044b80588bd14f76ea4dd",
- "abeca493fed89cd65ed112e069a695c1",
- "e5828e0a11268c9baaaac24bd46d1e15",
- "e0a8b89702312967460ad9940aa108d5",
- "6e5c8f2aacd19e70d15be253369cdfc4",
- "eabc6ce71e74b5b48150ceda5a916948",
- "5c263ad8e8dc1fd66e9b35daf7f74c48",
- "030b2b56e20c53b75191369104b9509a",
- "1225f4418731a8e7944d1366efd89234",
- "9085ba0fe1c64c3dce45708de32c3440",
- "49efb746a4938e7da19ecb3bb2c8e1d3",
- "833095be66f1f7b5942a817846c97ed5",
- "28f9f64eba29e57a7bd4bc0840aedf90",
- "9b5984b93bd951a70dea62942634c009",
- "ddb73667065d5ab761612be590e339e5",
- "59c4b46e73c2679610b7a4e9b3a04bc1",
- "fcc2a983de8f0ebb193864e0c60a00a6",
- "af8f1f4bb88555d688508eb9f3c876ac",
- "814e087171d6a45ac4fb4a110e889a38",
- "733130f693a1c3a24703052717330807",
- "b319f375927ed3f197a26c1112df86ae",
- "ace1c7e7c2ffcfe31a042d2b9ae00905",
- "5231c151c22b31180e900647fd5097ed",
- "07e7238f4f3d8b3a279a2d9f78fa8b08",
- "208b1f437aac92a96eef5ec9ca5d53da",
- "3a675752c5faa15bd61c63499684c570",
- "efa1debf8fb84e142c83c0dcf221d247",
- "d940ea701a781a4ff62a99d831c2286a",
- "d88294e690a6375d22b12fcc88bebb56",
- "f209ebcae30e147ccd9e42d32cfe33b4",
- "fbf1e18620fe5a9c40a65cbbd50af177",
- "4e682a50db552d15bfe109a1147f6770",
- "407b72260377f77f8e63e13dc09bda2c"
-};
-
-const char *SHA1_sums[] = {
- "da39a3ee5e6b4b0d3255bfef95601890afd80709",
- "c2c53d66948214258a26ca9ca845d7ac0c17f8e7",
- "6929e765f6bd128088cdf81ba4805d3a84da4e5e",
- "93ef0dd827103681fcee453b78be2ff14e1a261d",
- "9f7ed32a201bab6d11f7be88b9335973d93de3f5",
- "a2b847dd0e90bca83b418103baa63c67c85b5a30",
- "ee4801c9d009963ac6dda49b100f0d9a9f3983b2",
- "0dab89aa7606af6df94d1c3f8872ca98440ce299",
- "2eb3456b1b4fb96df1309eff21b02814663f939a",
- "30b59bc6c7c1622283a23950f2984bc5cd4fdd51",
- "4d39faadbf264f3fb59268228994276c36fc3172",
- "8312b76dd9300bcbbd9c5148461949f31f593bdc",
- "0d12bfd71a11c686cf53adaacf0bec05c557e768",
- "ca150c0c3372de80daa720b7d4081022b7befbe4",
- "d2ac2275af550efdde0aca4713835f3480498387",
- "07bb8c8ec36e16d57141fbf95fb8478a668b451f",
- "6ad802395de4400a9892c9f65868879bee5d1bf6",
- "569c7018c812f0cc51c093dbc026baebaab1eb22",
- "b8cfd76b506e7aaeb55c3d4e73e8868df8c4dfb1",
- "c519c1a06cdbeb2bc499e22137fb48683858b345",
- "3e3436a073e72c5300cdca6ce5c321e49dfc412e",
- "e2b72fb64787db45dc11bca1f194bef40b5be347",
- "52f4aaab2d5f9bc918700c517253e5bd6981ba95",
- "001233b5471e0bfa33f8133cf3cc3b97351033a5",
- "b2cc1f24e2599121adf86c5161dfe43fd5486985",
- "743e27565bb39d4cf6cdf7b19450f94ef12b2206",
- "6b57e81439c46aca165e5eacd44c0829670c9bb5",
- "4bbe681b61206e8689fce488662e7be67053ad03",
- "332ffb34a55ebf0b01beb604bca729887fd4c047",
- "b09b432ae19ca6971bb28a3705c9be3b02ec388f",
- "051605798e587fd98b428b88077d015494978bda",
- "33d579648c883c1b3a2ba91b7d4efd79d2d04e65",
- "d035de80a23137cd473991fea53b6b1b1f22e57d",
- "4ed82184201c1063c9f89d83b01d277e2db0847c",
- "1477d62ad76e1d543380ce2f4253a701fe039af2",
- "df72568859f54940e93ba5ace28430d38e4ab10f",
- "65ebceacd76a51d7076728d8ecbfcb1a4014fe3d",
- "0f5f0f1c642e616224d356a835ed3d054935608a",
- "caa9daf50b65b3739eb9a88547c516d89b72ac11",
- "1e9c81970164a681a35993d773e1d55d328ed64b",
- "8aefdcfcbaa21522fb39162d7507492e47b30f25",
- "a374c23022eea446300e1b3303272bdb8f6cfab3",
- "f2f38c31109f8a9421f301e9d554193bc4274a32",
- "2fd4e1c67a2d28fced849ee1bb76e7391b93eb12",
- "408d94384216f890ff7a0c3528e8bed1e0b01621",
- "22b759d30862cc7c7eb3ce9616a9d4e853b1e14d",
- "97e2821bba8dbd62f7823b7ecf095dad5d152371",
- "190c9e3674d72f3abfa027a38a425de21ea124a5",
- "8a9f1acbeb7dea1bdb61c0e5885043caa84c3812",
- "8431fa593176872aea33d2ece77fff42f22c409b",
- "08efef7adec17bd8d97f24cc373bfeab4b602d7a",
- "669f7e46d635f02a355635d9a09bf3bf2936bcf8",
- "695ed476d76f489707db6862a6411973d0207558",
- "084ef870fa0d4674d8488040a3d147235cfcb50d",
- "2a7d533528fcdaa6795ece88ab526b3e077f4f52",
- "4546fb23d600a7e358edf7033eef05af19b4fb1f",
- "59c3623fbc8c29341481a7fead82ef6b3aa43d93",
- "806b2e0c9be4502325b23d20f085b6d8dd8f559b",
- "113382ddaeee3a9880b3328b4240ae9e750be3cd",
- "543bef2867245f702b77470bfe08350cff1090ab",
- "977eb8d9219bae5415e13656113e30d66c2f5b45",
- "58153daaa0ec2e5f3e96879a33aee162f0c1283c",
- "6663fde567230f1d0247dc7ea3144b3aedac160e",
- "b418a310c03a4795b9ed4577c876b9dc50c18481",
- "75c2add8fd09dedee1f2728426f5e94f9860d062",
- "3f188f1a66fd317b645ea7eecebcae844bba9944",
- "049296261ba622294ec83fbe8f5cb0d2cc3c475e",
- "c60fe6fe0ea55fb34b3b5e740400c495e305597b",
- "64df347932a61deb5ed0e41e811d24cdf745c7a8",
- "eaaf91d87507541a572b693cd53cb31a4ff3ac2b",
- "712424206790276862399340047ca6d6028ab2e0",
- "2cc40cd0dd42274998746980844a8df708a3af94",
- "da0ba0bed525b2a41d906aaf078f7da4c53bfad4",
- "ee16dc82f66d8f069d83b76f1c433d658367dd27",
- "64fe9ccff8f5235dd72a85e6c7676bc091f34038",
- "20e9001f77c5454f9b9a9fa681f40067e4e1b8c2",
- "40cce478fceb688eea9d9385f00acfc73ecb2f9d",
- "21955259821de3bf9de7c8708d7a4d037d244c92",
- "b922eb3c6a86c38717535220cbafffe3032803a3",
- "be386c5615669fb19a05101d90df850569a366a1",
- "c733de72b09be501a6d8555a51bab2ca9d65b203",
- "740eaaab9d5ac5a9854260b09a1127c520b7b27c",
- "0b3e8e2cf27e492dfb0bfbe9b8d6a3b2e2bc17f9",
- "2516ba614aced5f991fc2f67e66fa90f3dec756f",
- "5abe738e94964292a2bd38e6cf048138bb593fe4",
- "1c5d0b73e977edfe89b447bfca585e8826b5783a",
- "e3096837858dc2247961a29fb59164d5e39d8cd1",
- "9a6d5ce05968464a6c00426a5d18595e5e0c2534",
- "e74f03f5e56d5a9926c6f6351fd8131242a84ef1",
- "573b84daad0e7149c3b128f65d75120095a1d3c5",
- "5facae19039c0444d188729f5eeaa58440b55d7a",
- "e617e14b9abc583b5e31b9ee315217cf52e7053f",
- "62bbd3fc168a7bbd4703fb1778d72214115dc200",
- "f9fc375d30b5626eced981d4ba80d2fcf6fba368",
- "01227f21040de0e7be4979604d23aaeb2d220d50",
- "1e53d5126a6f21a5cd9945ce4ae79a856d1c2aa6",
- "def7d9867c9ed2bcf49984cbe78066456175afa2",
- "2e1fc20df269fd7c6894c61c01f6fe0518029d38",
- "5d6c196729f7c0eb0850bd9093d0a018b62168ba",
- "062b7865763fd8cd0ad6079ec51a97c1bc35f88c",
- "4630931b71697d8ffbe6154c45be34251811e205",
- "a09166918a47fbda6c96df9a83f2e3b0df9057dd",
- "036e1c39411e8eb6fa3d616fcad19f92188de807",
- "8e6aee80cbffd0c0a3895a29bb029f57e1d76aec",
- "483a716335fd7a07acb9a8fdf759add85cd55ffb",
- "b1b1d87b55275de0f3b9c1a759ec6b543282cd5b",
- "cded9ffcab1c2fc873af9650ae35004160b39410",
- "37cc453cada7173368bfd3ed7c86c053557e5926",
- "8538eda858022257c393f2b7d72291b2a133f452",
- "d68841c1696583e487cc09a4e01a27afc4753bb9",
- "c29fa22be5cbc683d781ce42d325830b4337a62f",
- "28863c5a458f53c87559603b6bdb2e890ff002da",
- "5e4e15446aeee7ea6989e2502b20b1278ee81768",
- "25cf8915d7e4510f14f83d5317e6535d6e473bfb",
- "3e602c716c72f31569c1ead4ca6b8781d15f9866",
- "67e03a7960ccb911c4394671aec77d22f07cb495",
- "e2b3f1d1f69d2b555083899700cadb4a971349b5",
- "6c423e4662e730b3885e3375ee6d914612d5867e",
- "1694013c7d8caf3b3c577c8024ef1c58f94b7955",
- "91630edf6358ff0411a23f0a95ffa693bae1323b",
- "028454e0ff1e27ebd16cae59b2da633d377204c7",
- "0d07cb105767718dcaf998f307d4a97a38b35dea",
- "23c3569fc657d3a4b1bdde834df0c8f6ffacab11",
- "73c30d2754cfd13d6ac47ef28af974bfb021a121",
- "055890aeb6273f7a6ab5176722418048a03d3461",
- "3b89112c4fdc7e3fb8dded5157ae95c6afb68da3",
- "7cb3cfae1db1575b52d02afd3d12f27fbfd6b56c",
- "a310e3d7c808c74a9a2dd611d0bd6eda1f5f5340",
- "f329178028da5004aabd83549936ea9728326736",
- "5578dbecf4f35c97fc8762721ae16e010e42330a",
- "14020d1fc290f5a4c1feb06d970b395aa2d60518",
- "a1b2ffe5722b3d68d3dfbd1d3135c98681f1b480",
- "f3b3996a94517365815ba8bfd31306483c453afb",
- "cba0a45d7202f78c1e1ec5f150a1361df0565553",
- "dbe1feeba6cebaa82465ff34ac85324eb99bbd96",
- "067fac1d8369638e135bebaa5fc24648efe539a4",
- "18983e0eba9f797a5602dacb9e3a1fdb1b0e5b8c",
- "9f5445a4bbfd237564917d8749986798d61964c1",
- "79025990785dd192d5732f072e29a37728a05109",
- "a7caf5831836aef6ac5e6726a05f807ac20bbebb",
- "23027cde1334d6db48868b8dadb94cd027b9b7bb",
- "d0b280d64748bfc59a7da25bf640aa2d5462266e",
- "8a9c5dac4ddf028916e6feef81ec0cb670f1e713",
- "3790e9a57245215e68c06879cfb3d49ddf511f11",
- "a5004ed91303ead3670260a0e682726c42cee57c",
- "23e829a6706142d16305cc8f7f8c8b9bd8ffc040",
- "7e592d0d2c566b32b7c1e44b3413354cfae15e4e",
- "2e7a1685959b20ba75ddbce3db38798fc18becab",
- "82218944dfd3501a3d4705c5132ad06506372a0f",
- "ef4930e12ae3838d6059cf4990c8a0c2f6669c59",
- "574f7a6ca7a130635f84701294f347ce26d2d586",
- "5c91c2f83ca9daa19786263acd958bff2c79ca44",
- "65d838dfb75cda0055db5fb03f12008ede246a3f",
- "3c29ee4da5392eb1bdc9eb39068ab6a870d0c16a",
- "f17a673f3438bc7d8e0b0b22ccf20e4b868f0ad7",
- "653bf84319d61c7b41ad67b7648c8ee8571b6a16",
- "3187b6d0e15a37687fa6a8683d54e2fc5c3a13da",
- "4c29e4987613d1b30fdeff0a6af7a91b3be543f2",
- "ee68df44ba84a65ec112d289100ecf978485c7d0",
- "59283ef51d65bf7f7b7f430059aea19533f780b4",
- "7694f04e3be4bea0e35f95d4728fd65cc9ef46a7",
- "dcca8b27811f93142ec2bc14762593193ea69147",
- "20115938f5b50616fca15cc1816b28423c2e016b",
- "07b7e2a3f9733cbff1035533d0f2ba66008266b6",
- "cd2d04dd8bd78ac250a2adebede35802ad117110",
- "06e86e3d4a3f735c915a770fdff73ca8bc610476",
- "3014039565f5e568630f7e463c35475bdbe697c9",
- "eb729c4de8839c4123d0eb24d1d35886286ffff0",
- "c990f68c512ecc7c23ec6ff428d51300d6425dc2",
- "f3df0f4508b4cfe7e720f830f560c4e10f900703",
- "43ff171136ab1855eb37721075a9208c1de3ad20",
- "5d487b6bd25daa126e8edcb23f70a87ce4f7a27f",
- "84f6f72a57317242849131eb3c6aac28cb01abd3",
- "fd583ad477087f488eacd4ca243f1c93f5dac09b",
- "ef3cb487cb03dfde3a33b592c24dff439ce9b783",
- "7bd47a7efc8448f750163b07c812654bfadbe91d",
- "b9de6e1facedee977ccd4b30aea8fe957a0ae09a",
- "4ae009c0577ce4d0c87dcd743de9039ef050210f",
- "04280ea8afacc8b46982710da67a835b92275625",
- "ba7939b877ef0c1f066f0f6944b8c834f96fb67c",
- "bd735f759f8c653a215f2e9d2cc1d8a248a25567",
- "e9c70b7ab18d0b07580b80f2d92c43b11be5f71e",
- "795c10dada7dd963603073be205325324a1dc205",
- "8802f1d217906250585b75187b1ebfbb5c6cbcae"
-};
-
-const char *SHA256_sums[] = {
- "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
- "e632b7095b0bf32c260fa4c539e9fd7b852d0de454e9be26f24d0d6f91d069d3",
- "3bff939c10f4d9bc21c6944606bcb81901cbad80fc6801b257fd8aa127881687",
- "b344d80e24a3679999fa964450b34bc24d1578a35509f934c1418b0a20d21a67",
- "103c5169871d49be7a2ebf9e6fe4720244cbf1fdbccdbfaca489898ea069504c",
- "5845d549b3465df3c1fe755ccd99a9252858b448fa85fbd29139c3a33418a9ba",
- "2363ecd70a265e2233d2b8b0a703bcd6aa71dbf47a8716fcdb4b35ac4fded6c7",
- "883dbdc815a382a8ac863a990b4a33b601acfce6286df588b1e10416ca9934c1",
- "10ae0f24c936bc39be215f80c343c6e870f640fd56b0aeb842c3cd49a4e6dfa3",
- "3ba62773d07dd21b5712a1c221207bf2f46e459d862e7b7062b3b9e0073bbb1e",
- "1a90011d5a17cbd702ea49cddd28190439dfeec1710e0efe52315e034ef449bc",
- "030b6b1f71e51020e7b34f753d26741e7ed7c5cac3324b4fb237bf7f190326a1",
- "a83b8899ae591254330a059b8c5c5a0d61b8a5cb1e20cd43cf62ea950861a108",
- "8536a46b036db54a1f68389081f4c5dfb36c005ca655c0d005ade052e074fefc",
- "3b6052bcafcb593a2b44229d6418f3638a1040ede220a06186948e0bc2378e10",
- "9bc94b608c3636f6dbd12a7a08e586f2529c1910465cf764e5a2a16260a15c3b",
- "1b0b70a113cd4065b095bae73fba840f3b93912e89dd535f7f795912e9b307d6",
- "33a753c1d23f6a539b55c5c35dc0174ae048bbe517c701f3959495d509b862c1",
- "99159403f98a4d80adb6234c336029f32c17efdc70f1d412b7e6008d6623f3fd",
- "5cac4f980fedc3d3f1f99b4be3472c9b30d56523e632d151237ec9309048bda9",
- "b29d66e56ed90cce9b0165c43fedec612b60a071974d8be4513e18580d55b5bd",
- "60985d1eccaf8f3b95df873307d4727bc7af67dedaca6ea3d00d7e80dbb9d95c",
- "0ec4cdc3ab31a48025746379b070b1af6b152e6dd1eefe8a16d1855c85711d72",
- "76169b1e79ed4d640a78d664fdaced5035e7e0f116d7f044169763763a73d6b2",
- "cebf42910d175773a31cd23fc7c08eaddba11c267105e51688728efd6152f798",
- "8df831769cd51e4f57808343603e97c1ea44fcab46bb595a5000b9ad1d03bd70",
- "4e866f068eb39bb4465a3185badc58f8be565b3cbe0d8e79d0c893dd92ca99ae",
- "4a7b18fd0454f18d0ad320d8cf874e0466490e327bc3ca3beb13b1cb0fb01fff",
- "a5e86ccb68457b2e8e5591e3c132ed5f824480ab3b34e8b798b1b4e955cc2bad",
- "6c007ec72ab6d8bd1e7e2b90ab06095d38d042c172100b5364687985cccb71d5",
- "588f6b03a29d124ef050bc1e46bb60cd983e3d75bff45b6f1438cb58baaf1a9b",
- "ce32c090e5e13b6e5967e71e0d0025ca61fb6bcd54502221e354535ee7504fbe",
- "5f48828a7ecafc69180e8e9607b277b3dd17e53acc043412a06d8f170711c74b",
- "2d79fab9bb7d5b49e4c7eb28c14334f9d014129ce43d1252636b23ecaa569771",
- "acbe47d52e08dc6ae67b0bc249c6fe92c2fea7cb5d168d089bdb4e5f012a70dd",
- "177264d66f016c32fc7a4bf3d6a18fe64f3b92aa25dee9c3b84e6e2d3dba2467",
- "41555a329cd561031b7f79aa7ffe614aa341fa4c8f67be9d3169ca02ac513951",
- "6c450daf0a44317b850ab800b2986e3bfa19b118d82de07331c59b4461e08bb4",
- "72a0280b4079082c4823f72d5847038ca4b3d689b8d4de7f4b8565ca5cc59ad0",
- "e79df309e6b0e98a1b677e5d47765063170fd0fbe136d305230dca2ca1ade525",
- "119ef8154ecb9f78200ab9a95930877811261da37f9cad9e533ad34a57275fad",
- "fd535438ba7bc96dc5aae8b19059fc4307c0e2df4b252dd0d4d10dedd3116fd9",
- "677b9fdbe2bd79af033c224b32803a77dd284885f8655aff914ac63fb65c0a70",
- "d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592",
- "ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c",
- "88e197dce3e2562b9fb62bfdfb92c525328742af370fa2cd7c7bafaefb38f09c",
- "6e186b825513e046ba1d030f5bd31caa27a486bab8933e3799e8fc8c7a0be919",
- "ffe66f70564e2ef5b55cc4083aa1bbc24169c799a624d98182f99b8a7c950a82",
- "381ba8d74f62ef53fe4d22511c9d7c9f182d719e8073a5ab0201f91676a2ee86",
- "0147a26010960f5db71fcfa15c6f9278f2556905aa9fce122bbd5fe787e3d934",
- "fb736023fbce2dd88d6eeffa02dc975f5b3cfa0d2c0641382ace3cf92975bda8",
- "7c17ff3bf15c19d9a78f5c3f60dc38fab533ece520c8b8c73fcb0fba670c76b3",
- "e32271566d6a71b90285b5d00447d1f27737d56bc14b17efea026c78e27af416",
- "6867916bb6e48ee4f3b3a9eb4630233ec89fcf3722ea429ef300139d74f1f18a",
- "5a0e44a7c154b01f19a6cf5d83d8ea556d17ba1ffeb05bfcacdb7c477dd1c912",
- "0e9bc14d279f681c01eca319b7c22bf6e313186865a4d2111712f29ecc0223bf",
- "1be2cb604f04f8538e1ab595dcceccf0b838041e72a4dfde8df53d84fc841828",
- "0415d70cae1ca48b070e789748e8f3982a209a0c4b8070e2d3a26f729f04b0a6",
- "0e29d748b4cca4b372d587ab8164361aa127664635f956fbbdf076c36ffb0c9b",
- "8b0ccd3d72a10e396b16b67980f31823972b7114059d0d780b7c6c1d11aaab73",
- "7105f8ae45fcb1a1829053f98681b526616e1d6028d1f72a6a0cea1e079c2aaf",
- "5ab206331d14b2216b02eb0a58388e8209ffb396bc54eb22a47634cf236a03b9",
- "71daf2e02b4b542a8064567793b62fed41f2241dd284163b15d02d279910e1d6",
- "795a664f3ecfa5003b7d18e8ac44d88ed49a8ad731238e381f76cc72451e5d49",
- "0d01316239b68e707e8079f02588bba156906aa0a8b328a2103f3dbe79464272",
- "53798a699aaf9b5992322e27a7c48802ff41d04acc52c1e6657fdee037f9c0b0",
- "250676ab47b392eaeb3bd8f7640c676e5a9fcfed22dc08948601c68d7eb867e5",
- "c8c295b3179d555b5e04c82f8834b031d4dcb5df9409081e6e9b23be4d1aeb93",
- "a6265afb2182630750a70887a35072908c048d5f9c831a2155da1887f1dd7709",
- "78ba265740cc1335d27530a52dc456668c9475250d83f3e1c3041ab3d0856338",
- "490b607d2009507689d5ce40f964e9b5c56ee54d13d99666eec256439a5d7691",
- "012c3b2137fbb69e1b1457499923622d7a6639c3fcfd0c1889de9f1ae9a5224c",
- "47f57d4c0eef68f4b14a02295da342bba8be6ddf901ed4ae1eaf7c3306672593",
- "33eea677868305f597087e15be83723efd51e1f55342dac47afb604579fa0f74",
- "f9aab1fa5ed80cd385cf625ec808339d819bd1faee979c3ee008db68db19e6bc",
- "1e6279781c1a757c9cd3aaf2665c0c1d235e514065f57dff455256896313c5ae",
- "fcad8c2b8ab78e1eb313f9a77b85e29ed86d4468d78e845fe7b197cff28889a0",
- "0cc46a7fba1d7b1e7a7c6c438352fdde342c573550eac5a177e38d0cfd854b91",
- "7d64ff1a21b7194e2a34f718bf536f4fbb636ea2d50b9de9423c1a64da67a566",
- "624097dd2a64d12dbd7a9d15d58b6a31a8c11e0be67f20afd388e61ab316d6d5",
- "c10ed525d528079a6ac6e6ebc51bb439a48df167c6860da2dcd8ef5a101a4bf9",
- "b9ce9b34346f2d83dc60927231c14d1af0b1a915514d610cbdd69a8928ae1b57",
- "4a3194983f551da64720e60b91e0bfcca2c5f7277b97ceb813b6665cbecf5078",
- "cac95b35edebc00cb109d4726befb06adbadec365e102f8c9c024fec2efedd93",
- "bd284ce312ff8f71a8fffd5737733c72dee0199eb5d9dea29875b02fe7dec138",
- "888f4d527281b7ca77fb63651ea8c28850d62f38d6918a178bc7de7ecd61aca1",
- "50839952e08506f523696a35e758eed06d7fce0a8e4c079242bd15b476dc2632",
- "ce6b0b2e2494ba591909f5971d4a326c395f47d45ab2389fc5980a8d7c160373",
- "328524b5f7c5de2b6fda754cd634480d2ae9953514e208d93c7b0493de3c376f",
- "00e6bbca7e9f230b903d0029a603831688e37e141d283a88ff65f8a8de711214",
- "e9419c75509f476ecd71c0ce5de42b13b70665182d470dc6b9389992e71ca610",
- "bc93bf4ac98f5e62a180219b7cae5fe4b1a33700d1abd8769310f1b9c458052e",
- "b59cbe76a3a993a8a5e93e7fae2277a99c52b27570f8cec0fc27c6407b87a863",
- "7b977d99df79f3c123a551339a3584e1dbf8c6b220489c94e8b5ef241a2f4f32",
- "42da1a65ef28c00d30b63128ad839782daf8437da50eaedf9e40c05daa324030",
- "27b7b244d0a284afc02b21ddf8818d4934bf7d4a96db6c9be02b9a29f1d3e877",
- "69e8ebc88995bfb9af4938fac297e7cc87f516d91ee3db9c385051aa67bfa291",
- "e97ec334ea0e600801845a004cf943282716e537d2fb41edd3252ecc604cb868",
- "61ddc6c83fcded7492a0b4e6682a2ec54ea79bd832ffacebd13eec490ae9c513",
- "b1b2e4d6d5f02ab694d8be129dbf9f7fb345190927fd2732ab24e395ef877a95",
- "036d3ac977186da97d849ae8706f573bae36822a83a8b820b0b09bfa7a4fde52",
- "244dd1e7818cc1fc0b1790e5bdd79df79720b5ca4b30ddfbc6e03d2fa80edf24",
- "025dd4c8ae7d9f3aec6b2e3014eda38ec54898c67de9ee68578ec7cc8254c345",
- "e29858f925c90e19c49336f52a8acf57e7a0f10fbf1b0254ec9926afc77d34dd",
- "e6ece3c684d5874497b83f6b486f0dddef4377f914e19ea717b82426d6ca37e3",
- "952c6da8834e0c4c127269a6e69c59a23af9e35ed70577715979075324776eb0",
- "675a0a83882910ca29d9a4b72e278afa307a2661bee3f28dee7faa7db73dde73",
- "4102eada32bbc31c13f1fbf2f039bb7a46bdb3589e9bb3915046de72c0c2ead1",
- "305793f522114ca65e243f80b82199425286a07585deff0d132223506c54c48a",
- "c666ec59da13eae8361c08bae009f114641bb3bed6f6c88c69c888ab9b9bd2d7",
- "115ad98815bdfbc2e9aa0922a63c530f2f49bb36bf339345694b6cfadc5a25bd",
- "1186297e299b427c8ce24e20670156fe85eb9102f8ed7104154fbd10ad28b49a",
- "2d02d02abca735d371fa9fbe2ec1fcf5c02a8eb5186140b849d13d5667c8588b",
- "c8357ae61f0c6107d48ffd35b791f2a96c36d9004acbf97a7a6fe1941096e74c",
- "e2f783571644ff40bb649ee1a6c7481e288eae50bd9621c638102c1222f02695",
- "b057d8b05d77dfd016c7820ee32b3dcf8c0af73f79a003a68f7b344bff5f9489",
- "f98a7811608e9f78df7c1dcc6765ad672d907ab49e3ab756b6ad2ff392ae3cb0",
- "06727bbca9d6e47cbd4e2f61b313627cf0489c5f84850dfb45cb496f11e0d880",
- "62e011d19bbb328c57808bb4dcb1fd25551a642df179615559a654e91b233afb",
- "18811c3a1798f207c75d895a6deb4b2ee05a27749e5d4dab02f5299f8f62e43a",
- "a2eec6a9e819ca9ae6accd714273210cad3a98ea104661b841b8b18fd695115a",
- "b745658efb45b83211abaffe3af0e5fd3769866d154194c9078da9491f793bae",
- "bef6454bcf2dd622f73ab849166a95f56be540ff05cc2b79412f40c60cfec3b3",
- "13f42a4a6df75f6b09a53eff4a92b824b8212ce99b54169774958debe92ba00f",
- "f6addf5f0a754434e6767535ee8cd12a57d3c78eb5925d421e43870ddc0c4b02",
- "abbd74e4444bcf0a33da28cd9b74483d19c07c0c84c7a217ed1d8d143da44c4c",
- "18c5fb1bfd33fc27a0b7799eb14d502e8b59acd5da0be6f9a7fbabd96608c61d",
- "91a32360bd0152180990285fd7cb3145207d33f866c9d99e7f8bb7331a12d03a",
- "3324ebb8bfd51c9ac3f3994a56b7e0c0106d9d938c147edb391a4bf812d6afb1",
- "914e88337910ee43d63f77d91502eebb35ae38ac6138bd7af4d879dbb730ac85",
- "bc73865737be6195981507338ef06ec2a5f34d3f12580b4f89d5e28ef8283969",
- "0b41f57008120081011a2ba580d8cff17f9c1f3b2e811359cd3ecfa9b36dc5e9",
- "a1702789897f4e641bf00d505549c6dc9df9daf904f3267e0cb583c7fb49e832",
- "70737787a53182c78152e845e0d803171d27105c7ef9407b48ae51280b0b1ed3",
- "683a017524f641b4c38c26db0df5046fbc38e30fbbe7fb7a6804e2e039c9d353",
- "8bbd8c3f3c6911a3e73ba7a480f902a95fdf4c8a7c554b68e7330e4914481f15",
- "66e62f07828e8a8a6ce821cb29fe34f2ec551d4422b593380e5209ee4a3a3e57",
- "2aa054e91da4874329ac8946922323c8d5b114b4ddd714f54cb1fb069dc56646",
- "47db1856215834b20d70031695491a4a90416bac8d231646bba8754585f67d08",
- "eab539981a22c36e481b71d2c828b848b9b127963d7b5eb56c4903f5cf004296",
- "cf43ef0749885e4108f8fc2774a840264980e4f2be51d1c803bbb90965745034",
- "fd6847b7d5ea924beb8e7d43d0e87d4866f9744629f2768cf32e7f37efd23253",
- "1c3d53f1a7fe78c34a4c33331126375e57f4f8f732d39e0ff550fb717e683724",
- "f03b454c7bf5ddfe083798a85ac46bc671ef76b381b969ab4f333c74397693ab",
- "0c7255ee15ceac49e1281447b159ed1ccb8fa09d3d002fe3337c80f75a247b86",
- "4c69c21e1afa642423a660359e058c8d6a2dae61c1083b7dea46471ebf24f0da",
- "b984e785026dabfa52ece12495df98bf80ba831ea316c08fc4b39c5fc00b50ed",
- "40b33b1a89820917e19e95bf5abae2121b8f200c826a3559440010d2863a5acd",
- "053de20a192f3205f46e3f68d8b9926abcf64df55d01cf166e7f8e8c8d042487",
- "ababd9164d854d8a7b56fc4e6980dbafcd5aa017f5e2b5777a6e6e47460fc716",
- "f3982fa10d2353163d644ab33e2c5af7264c0c9c8b14cd88d91331b5d01ae3c7",
- "0d7c2df609dc5c44677d62b8839576b98ec78fa8b5913add17b7e9cfaa6aa75d",
- "3b86e1a3a4e3cf19734b693cc3d9b24d4173b5e8ace1be3daa303755ce8d5737",
- "dfcdb86a6ec326f0f4c8b167b5945979a5cf3a2ef20970c47b46ddd47f8fd6d1",
- "e2a696a14922cdeb99abe04a66576e65142be3b0e53cf0c0f05c86acf63bc83a",
- "780646dc52688aead41076d4906e17b42eb5593565f179a6bb5135143d40d03d",
- "847ed344db2cdbfb7f69f9b2c9a5359e13df72c2485345a80fa9b114ec7c8c03",
- "a4f5b2a505437424c3382e2d534ed2fdb55af631c5b211871f2e62acb5dd722f",
- "e6e8883f5c8d840d7895afac181c6d9fb154672fb2c7ba9757ca8528242bef64",
- "c89e7de64979fcbf929148c7b44322047e820219854600e88f7a7ce805971c38",
- "591555d8d3936620ebb6be7549ea9eaafa9e6a562b9ebbbf4c04eb4f926d5060",
- "2ec1da3a8252e21834db7c90077b12547f70890b853b5b269a38f74b421f3a4f",
- "3b05f141c3855409941c6596a92ea7a3ab59764bda3cdcc6812060a5e5d1f48c",
- "82b21ff095df092358450698e7a534453105014f3b227a210cb5d523191570e8",
- "229da5c29efe0885663587fe0080862ef52e7504ca64f5d6ff1c26f5a7b1c0c7",
- "cd3c1d86961be993a150c1126a958ef14a3e47ef21507492ffdee8b089774505",
- "e346ecc2f3e8cbcbbead67341edb971f2a9e152f8c1e086693dce431d9e14335",
- "5e5c06dc93c409e935b87373f2647f57a951118851b226f908751bcafb496b2a",
- "2f5ded0589de3ef9f5e5b05df0a19b02fcee0e686900c5eb9e3153ba3ccdf685",
- "6a0335f78e0fea8e4cdf747d6464f2de78e659b9de5be37ccf8f81f1e775ca79",
- "8adfeb35e7d07f4aece0f8b4b282a303e45b11c9b4f9b1798cbcf8cf0dc5f48a",
- "94dc98b89a5b498d7c7eb0fb0524af296d0181e7a4dac82c3bd7ce147019b52d",
- "4b2dae26d837294c81e00c6c28692235a9ea046bc8038ea78ce1819cb5f54be4",
- "77d9e99e3a956c9b52742b498b8811cb721ad798866d36d269b4b554a707e63a",
- "652082a8998da5439cb5e695104febfa81d3d3a0bb4dfd49120b82e350b48f6f",
- "43bf07481f0bc237e1ed2ce2b0b3cca1989f9bdbbc7cf1e78879984ff927b3e1",
- "648f7216f324f0a46648d757a21dc25c9382c64a095ea95b62aed37596bdf842",
- "34c3d02b75da5d2739bb8d4916110469e1b854a8104aeec7ccfef52a02f234e1",
- "0d0b8d475cb50a40e2cb999757106f4576c5b69176df4c30e1c4659de1468ff8",
- "63d7e84cef1bc8c74ebdf53fe795766f0fd32a9c6246586f8217010db1c2c9f5",
- "99525cf2ec889a1628576099f34ece6d60de03fa85ade70a3d0913033934dc1f",
- "8aa3e3cd4d678c9623caebac79ecd62fdcd15de5960c7fbffc3ab8e77788109a",
- "c71259d6ad975ada31990fb7b3aa958248bd88d3563b581959acf4f18310f266",
- "df3a0c35d5345d6d792415c1310bd4589cdf68bac96ed599d6bb0c1545ffc86c"
-};
-
-static void
-test_checksum (GChecksumType checksum_type,
- const gchar *type,
- const gchar *sum,
- int length)
-{
- GChecksum *checksum;
- const char *p;
- int chunk_length;
-
- for (chunk_length = MIN (length, 1); chunk_length < length; chunk_length++)
- {
- checksum = g_checksum_new (checksum_type);
- for (p = FIXED_STR; p < FIXED_STR + length; p += chunk_length)
- {
- g_checksum_update (checksum, (const guchar *)p,
- MIN (chunk_length, length - (p - FIXED_STR)));
- }
-
- if (strcmp (g_checksum_get_string (checksum), sum) != 0)
- {
- g_print ("Invalid %s checksum for `%.*s' (length %d) counting by %d:\n"
- "%s (expecting: %s)\n",
- type,
- length, FIXED_STR,
- length, chunk_length,
- g_checksum_get_string (checksum),
- sum);
- exit (1);
- }
-
- g_checksum_free (checksum);
- }
-}
-
-static void
-test_checksum_string (GChecksumType checksum_type,
- const gchar *type,
- const gchar **sums)
-{
- int length;
-
- for (length = 0; length <= FIXED_LEN; length++)
- {
- const char *expected = sums[length];
- char *checksum;
-
- checksum = g_compute_checksum_for_string (checksum_type,
- FIXED_STR,
- length);
- if (strcmp (checksum, expected) != 0)
- {
- g_print ("Invalid %s checksum for `%.*s' (length %d):\n"
- "%s (expecting: %s)\n",
- type,
- length, FIXED_STR, length,
- checksum,
- expected);
- exit (1);
- }
-
- g_free (checksum);
- }
-}
-
-#define test(type, length) test_checksum (G_CHECKSUM_##type, \
- #type, \
- type##_sums[length], \
- length)
-
-#define test_string(type) test_checksum_string (G_CHECKSUM_##type, \
- #type, \
- type##_sums)
-
-int
-main (int argc, char *argv[])
-{
- int length;
-
- for (length = 0; length <= FIXED_LEN; length++)
- {
- test (MD5, length);
- test (SHA1, length);
- test (SHA256, length);
- }
-
- test_string (MD5);
- test_string (SHA1);
- test_string (SHA256);
-
- return EXIT_SUCCESS;
-}
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#include <string.h>
-
-#include <glib.h>
-
-/* Bug 311337 */
-static void
-test_iconv_state (void)
-{
- gchar *in = "\xf4\xe5\xf8\xe5\xed";
- gchar *expected = "\xd7\xa4\xd7\x95\xd7\xa8\xd7\x95\xd7\x9d";
- gchar *out;
- gsize bytes_read = 0;
- gsize bytes_written = 0;
- GError *error = NULL;
-
- out = g_convert (in, -1, "UTF-8", "CP1255",
- &bytes_read, &bytes_written, &error);
-
- if (error && error->code == G_CONVERT_ERROR_NO_CONVERSION)
- return; /* silently skip if CP1255 is not supported, see bug 467707 */
-
- g_assert_no_error (error);
- g_assert (bytes_read == 5);
- g_assert (bytes_written == 10);
- g_assert (strcmp (out, expected) == 0);
- g_free (out);
-}
-
-/* some tests involving "vulgar fraction one half" */
-static void
-test_one_half (void)
-{
- gchar *in = "\xc2\xbd";
- gchar *out;
- gsize bytes_read = 0;
- gsize bytes_written = 0;
- GError *error = NULL;
-
- out = g_convert (in, -1,
- "ISO-8859-1", "UTF-8",
- &bytes_read, &bytes_written,
- &error);
-
- g_assert_no_error (error);
- g_assert (bytes_read == 2);
- g_assert (bytes_written == 1);
- g_assert (strcmp (out, "\xbd") == 0);
- g_free (out);
-
- out = g_convert (in, -1,
- "ISO-8859-15", "UTF-8",
- &bytes_read, &bytes_written,
- &error);
-
- g_assert_error (error, G_CONVERT_ERROR, G_CONVERT_ERROR_ILLEGAL_SEQUENCE);
- g_assert (bytes_read == 0);
- g_assert (bytes_written == 0);
- g_assert (out == NULL);
- g_clear_error (&error);
- g_free (out);
-
- out = g_convert_with_fallback (in, -1,
- "ISO8859-15", "UTF-8",
- "a",
- &bytes_read, &bytes_written,
- &error);
-
- g_assert_no_error (error);
- g_assert (bytes_read == 2);
- g_assert (bytes_written == 1);
- g_assert (strcmp (out, "a") == 0);
- g_free (out);
-}
-
-static void
-test_byte_order (void)
-{
- gchar in_be[4] = { 0xfe, 0xff, 0x03, 0x93}; /* capital gamma */
- gchar in_le[4] = { 0xff, 0xfe, 0x93, 0x03};
- gchar *expected = "\xce\x93";
- gchar *out;
- gsize bytes_read = 0;
- gsize bytes_written = 0;
- GError *error = NULL;
-
- out = g_convert (in_be, sizeof (in_be),
- "UTF-8", "UTF-16",
- &bytes_read, &bytes_written,
- &error);
-
- g_assert_no_error (error);
- g_assert (bytes_read == 4);
- g_assert (bytes_written == 2);
- g_assert (strcmp (out, expected) == 0);
- g_free (out);
-
- out = g_convert (in_le, sizeof (in_le),
- "UTF-8", "UTF-16",
- &bytes_read, &bytes_written,
- &error);
-
- g_assert_no_error (error);
- g_assert (bytes_read == 4);
- g_assert (bytes_written == 2);
- g_assert (strcmp (out, expected) == 0);
- g_free (out);
-}
-
-static void
-check_utf8_to_ucs4 (const char *utf8,
- glong utf8_len,
- const gunichar *ucs4,
- glong ucs4_len,
- glong error_pos)
-{
- gunichar *result, *result2, *result3;
- glong items_read, items_read2;
- glong items_written, items_written2;
- GError *error, *error2, *error3;
- gint i;
-
- if (!error_pos)
- {
- /* check the fast conversion */
- result = g_utf8_to_ucs4_fast (utf8, utf8_len, &items_written);
-
- g_assert (items_written == ucs4_len);
- g_assert (result);
- for (i = 0; i <= items_written; i++)
- g_assert (result[i] == ucs4[i]);
-
- g_free (result);
- }
-
- error = NULL;
- result = g_utf8_to_ucs4 (utf8, utf8_len, &items_read, &items_written, &error);
-
- if (utf8_len == strlen (utf8))
- {
- /* check that len == -1 yields identical results */
- error2 = NULL;
- result2 = g_utf8_to_ucs4 (utf8, -1, &items_read2, &items_written2, &error2);
- g_assert (error || items_read2 == items_read);
- g_assert (error || items_written2 == items_written2);
- g_assert (!!result == !!result2);
- g_assert (!!error == !!error2);
- if (result)
- for (i = 0; i <= items_written; i++)
- g_assert (result[i] == result2[i]);
-
- g_free (result2);
- if (error2)
- g_error_free (error2);
- }
-
- error3 = NULL;
- result3 = g_utf8_to_ucs4 (utf8, utf8_len, NULL, NULL, &error3);
-
- if (error3 && error3->code == G_CONVERT_ERROR_PARTIAL_INPUT)
- {
- g_assert_no_error (error);
- g_assert (items_read == error_pos);
- g_assert (items_written == ucs4_len);
- g_assert (result);
- for (i = 0; i <= items_written; i++)
- g_assert (result[i] == ucs4[i]);
- }
- else if (error_pos)
- {
- g_assert (error != NULL);
- g_assert (result == NULL);
- g_assert (items_read == error_pos);
- g_error_free (error);
-
- g_assert (error3 != NULL);
- g_assert (result3 == NULL);
- g_error_free (error3);
- }
- else
- {
- g_assert_no_error (error);
- g_assert (items_read == utf8_len);
- g_assert (items_written == ucs4_len);
- g_assert (result);
- for (i = 0; i <= items_written; i++)
- g_assert (result[i] == ucs4[i]);
-
- g_assert_no_error (error3);
- g_assert (result3);
- for (i = 0; i <= ucs4_len; i++)
- g_assert (result3[i] == ucs4[i]);
- }
-
- g_free (result);
- g_free (result3);
-}
-
-static void
-check_ucs4_to_utf8 (const gunichar *ucs4,
- glong ucs4_len,
- const char *utf8,
- glong utf8_len,
- glong error_pos)
-{
- gchar *result, *result2, *result3;
- glong items_read, items_read2;
- glong items_written, items_written2;
- GError *error, *error2, *error3;
-
- error = NULL;
- result = g_ucs4_to_utf8 (ucs4, ucs4_len, &items_read, &items_written, &error);
-
- if (ucs4[ucs4_len] == 0)
- {
- /* check that len == -1 yields identical results */
- error2 = NULL;
- result2 = g_ucs4_to_utf8 (ucs4, -1, &items_read2, &items_written2, &error2);
-
- g_assert (error || items_read2 == items_read);
- g_assert (error || items_written2 == items_written);
- g_assert (!!result == !!result2);
- g_assert (!!error == !!error2);
- if (result)
- g_assert (strcmp (result, result2) == 0);
-
- g_free (result2);
- if (error2)
- g_error_free (error2);
- }
-
- error3 = NULL;
- result3 = g_ucs4_to_utf8 (ucs4, ucs4_len, NULL, NULL, &error3);
-
- if (error_pos)
- {
- g_assert (error != NULL);
- g_assert (result == NULL);
- g_assert (items_read == error_pos);
- g_error_free (error);
-
- g_assert (error3 != NULL);
- g_assert (result3 == NULL);
- g_error_free (error3);
- }
- else
- {
- g_assert_no_error (error);
- g_assert (items_read == ucs4_len);
- g_assert (items_written == utf8_len);
- g_assert (result);
- g_assert (strcmp (result, utf8) == 0);
-
- g_assert_no_error (error3);
- g_assert (result3);
- g_assert (strcmp (result3, utf8) == 0);
- }
-
- g_free (result);
- g_free (result3);
-}
-
-static void
-check_utf8_to_utf16 (const char *utf8,
- glong utf8_len,
- const gunichar2 *utf16,
- glong utf16_len,
- glong error_pos)
-{
- gunichar2 *result, *result2, *result3;
- glong items_read, items_read2;
- glong items_written, items_written2;
- GError *error, *error2, *error3;
- gint i;
-
- error = NULL;
- result = g_utf8_to_utf16 (utf8, utf8_len, &items_read, &items_written, &error);
-
- if (utf8_len == strlen (utf8))
- {
- /* check that len == -1 yields identical results */
- error2 = NULL;
- result2 = g_utf8_to_utf16 (utf8, -1, &items_read2, &items_written2, &error2);
- g_assert (error || items_read2 == items_read);
- g_assert (error || items_written2 == items_written2);
- g_assert (!!result == !!result2);
- g_assert (!!error == !!error2);
- if (result)
- for (i = 0; i <= items_written; i++)
- g_assert (result[i] == result2[i]);
-
- g_free (result2);
- if (error2)
- g_error_free (error2);
- }
-
- error3 = NULL;
- result3 = g_utf8_to_utf16 (utf8, utf8_len, NULL, NULL, &error3);
-
- if (error3 && error3->code == G_CONVERT_ERROR_PARTIAL_INPUT)
- {
- g_assert_no_error (error);
- g_assert (items_read == error_pos);
- g_assert (items_written == utf16_len);
- g_assert (result);
- for (i = 0; i <= items_written; i++)
- g_assert (result[i] == utf16[i]);
- }
- else if (error_pos)
- {
- g_assert (error != NULL);
- g_assert (result == NULL);
- g_assert (items_read == error_pos);
- g_error_free (error);
-
- g_assert (error3 != NULL);
- g_assert (result3 == NULL);
- g_error_free (error3);
- }
- else
- {
- g_assert_no_error (error);
- g_assert (items_read == utf8_len);
- g_assert (items_written == utf16_len);
- g_assert (result);
- for (i = 0; i <= items_written; i++)
- g_assert (result[i] == utf16[i]);
-
- g_assert_no_error (error3);
- g_assert (result3);
- for (i = 0; i <= utf16_len; i++)
- g_assert (result3[i] == utf16[i]);
- }
-
- g_free (result);
- g_free (result3);
-}
-
-static void
-check_utf16_to_utf8 (const gunichar2 *utf16,
- glong utf16_len,
- const char *utf8,
- glong utf8_len,
- glong error_pos)
-{
- gchar *result, *result2, *result3;
- glong items_read, items_read2;
- glong items_written, items_written2;
- GError *error, *error2, *error3;
-
- error = NULL;
- result = g_utf16_to_utf8 (utf16, utf16_len, &items_read, &items_written, &error);
- if (utf16[utf16_len] == 0)
- {
- /* check that len == -1 yields identical results */
- error2 = NULL;
- result2 = g_utf16_to_utf8 (utf16, -1, &items_read2, &items_written2, &error2);
-
- g_assert (error || items_read2 == items_read);
- g_assert (error || items_written2 == items_written);
- g_assert (!!result == !!result2);
- g_assert (!!error == !!error2);
- if (result)
- g_assert (strcmp (result, result2) == 0);
-
- g_free (result2);
- if (error2)
- g_error_free (error2);
- }
-
- error3 = NULL;
- result3 = g_utf16_to_utf8 (utf16, utf16_len, NULL, NULL, &error3);
-
- if (error3 && error3->code == G_CONVERT_ERROR_PARTIAL_INPUT)
- {
- g_assert_no_error (error);
- g_assert (items_read == error_pos);
- g_assert (items_read + 1 == utf16_len);
- g_assert (items_written == utf8_len);
- g_assert (result);
- g_assert (strcmp (result, utf8) == 0);
- }
- else if (error_pos)
- {
- g_assert (error != NULL);
- g_assert (result == NULL);
- g_assert (items_read == error_pos);
- g_error_free (error);
-
- g_assert (error3 != NULL);
- g_assert (result3 == NULL);
- g_error_free (error3);
- }
- else
- {
- g_assert_no_error (error);
- g_assert (items_read == utf16_len);
- g_assert (items_written == utf8_len);
- g_assert (result);
- g_assert (strcmp (result, utf8) == 0);
-
- g_assert_no_error (error3);
- g_assert (result3);
- g_assert (strcmp (result3, utf8) == 0);
- }
-
- g_free (result);
- g_free (result3);
-}
-
-static void
-check_ucs4_to_utf16 (const gunichar *ucs4,
- glong ucs4_len,
- const gunichar2 *utf16,
- glong utf16_len,
- glong error_pos)
-{
- gunichar2 *result, *result2, *result3;
- glong items_read, items_read2;
- glong items_written, items_written2;
- GError *error, *error2, *error3;
- gint i;
-
- error = NULL;
- result = g_ucs4_to_utf16 (ucs4, ucs4_len, &items_read, &items_written, &error);
-
- if (ucs4[ucs4_len] == 0)
- {
- /* check that len == -1 yields identical results */
- error2 = NULL;
- result2 = g_ucs4_to_utf16 (ucs4, -1, &items_read2, &items_written2, &error2);
-
- g_assert (error || items_read2 == items_read);
- g_assert (error || items_written2 == items_written);
- g_assert (!!result == !!result2);
- g_assert (!!error == !!error2);
- if (result)
- for (i = 0; i <= utf16_len; i++)
- g_assert (result[i] == result2[i]);
-
- g_free (result2);
- if (error2)
- g_error_free (error2);
- }
-
- error3 = NULL;
- result3 = g_ucs4_to_utf16 (ucs4, -1, NULL, NULL, &error3);
-
- if (error_pos)
- {
- g_assert (error != NULL);
- g_assert (result == NULL);
- g_assert (items_read == error_pos);
- g_error_free (error);
-
- g_assert (error3 != NULL);
- g_assert (result3 == NULL);
- g_error_free (error3);
- }
- else
- {
- g_assert_no_error (error);
- g_assert (items_read == ucs4_len);
- g_assert (items_written == utf16_len);
- g_assert (result);
- for (i = 0; i <= utf16_len; i++)
- g_assert (result[i] == utf16[i]);
-
- g_assert_no_error (error3);
- g_assert (result3);
- for (i = 0; i <= utf16_len; i++)
- g_assert (result3[i] == utf16[i]);
- }
-
- g_free (result);
- g_free (result3);
-}
-
-static void
-check_utf16_to_ucs4 (const gunichar2 *utf16,
- glong utf16_len,
- const gunichar *ucs4,
- glong ucs4_len,
- glong error_pos)
-{
- gunichar *result, *result2, *result3;
- glong items_read, items_read2;
- glong items_written, items_written2;
- GError *error, *error2, *error3;
- gint i;
-
- error = NULL;
- result = g_utf16_to_ucs4 (utf16, utf16_len, &items_read, &items_written, &error);
- if (utf16[utf16_len] == 0)
- {
- /* check that len == -1 yields identical results */
- error2 = NULL;
- result2 = g_utf16_to_ucs4 (utf16, -1, &items_read2, &items_written2, &error2);
- g_assert (error || items_read2 == items_read);
- g_assert (error || items_written2 == items_written2);
- g_assert (!!result == !!result2);
- g_assert (!!error == !!error2);
- if (result)
- for (i = 0; i <= items_written; i++)
- g_assert (result[i] == result2[i]);
-
- g_free (result2);
- if (error2)
- g_error_free (error2);
- }
-
- error3 = NULL;
- result3 = g_utf16_to_ucs4 (utf16, utf16_len, NULL, NULL, &error3);
-
- if (error3 && error3->code == G_CONVERT_ERROR_PARTIAL_INPUT)
- {
- g_assert_no_error (error);
- g_assert (items_read == error_pos);
- g_assert (items_read + 1 == utf16_len);
- g_assert (items_written == ucs4_len);
- g_assert (result);
- for (i = 0; i <= items_written; i++)
- g_assert (result[i] == ucs4[i]);
- }
- else if (error_pos)
- {
- g_assert (error != NULL);
- g_assert (result == NULL);
- g_assert (items_read == error_pos);
- g_error_free (error);
-
- g_assert (error3 != NULL);
- g_assert (result3 == NULL);
- g_error_free (error3);
- }
- else
- {
- g_assert_no_error (error);
- g_assert (items_read == utf16_len);
- g_assert (items_written == ucs4_len);
- g_assert (result);
- for (i = 0; i <= ucs4_len; i++)
- g_assert (result[i] == ucs4[i]);
-
- g_assert_no_error (error3);
- g_assert (result3);
- for (i = 0; i <= ucs4_len; i++)
- g_assert (result3[i] == ucs4[i]);
- }
-
- g_free (result);
- g_free (result3);
-}
-
-static void
-test_unicode_conversions (void)
-{
- char *utf8;
- gunichar ucs4[100];
- gunichar2 utf16[100];
-
- utf8 = "abc";
- ucs4[0] = 0x61; ucs4[1] = 0x62; ucs4[2] = 0x63; ucs4[3] = 0;
- utf16[0] = 0x61; utf16[1] = 0x62; utf16[2] = 0x63; utf16[3] = 0;
-
- check_utf8_to_ucs4 (utf8, 3, ucs4, 3, 0);
- check_ucs4_to_utf8 (ucs4, 3, utf8, 3, 0);
- check_utf8_to_utf16 (utf8, 3, utf16, 3, 0);
- check_utf16_to_utf8 (utf16, 3, utf8, 3, 0);
- check_ucs4_to_utf16 (ucs4, 3, utf16, 3, 0);
- check_utf16_to_ucs4 (utf16, 3, ucs4, 3, 0);
-
- utf8 = "\316\261\316\262\316\263";
- ucs4[0] = 0x03b1; ucs4[1] = 0x03b2; ucs4[2] = 0x03b3; ucs4[3] = 0;
- utf16[0] = 0x03b1; utf16[1] = 0x03b2; utf16[2] = 0x03b3; utf16[3] = 0;
-
- check_utf8_to_ucs4 (utf8, 6, ucs4, 3, 0);
- check_ucs4_to_utf8 (ucs4, 3, utf8, 6, 0);
- check_utf8_to_utf16 (utf8, 6, utf16, 3, 0);
- check_utf16_to_utf8 (utf16, 3, utf8, 6, 0);
- check_ucs4_to_utf16 (ucs4, 3, utf16, 3, 0);
- check_utf16_to_ucs4 (utf16, 3, ucs4, 3, 0);
-
- /* partial utf8 character */
- utf8 = "abc\316";
- ucs4[0] = 0x61; ucs4[1] = 0x62; ucs4[2] = 0x63; ucs4[3] = 0;
- utf16[0] = 0x61; utf16[1] = 0x62; utf16[2] = 0x63; utf16[3] = 0;
-
- check_utf8_to_ucs4 (utf8, 4, ucs4, 3, 3);
- check_utf8_to_utf16 (utf8, 4, utf16, 3, 3);
-
- /* invalid utf8 */
- utf8 = "abc\316\316";
- ucs4[0] = 0;
- utf16[0] = 0;
-
- check_utf8_to_ucs4 (utf8, 5, ucs4, 0, 3);
- check_utf8_to_utf16 (utf8, 5, utf16, 0, 3);
-
- /* partial utf16 character */
- utf8 = "ab";
- ucs4[0] = 0x61; ucs4[1] = 0x62; ucs4[2] = 0;
- utf16[0] = 0x61; utf16[1] = 0x62; utf16[2] = 0xd801; utf16[3] = 0;
-
- check_utf16_to_utf8 (utf16, 3, utf8, 2, 2);
- check_utf16_to_ucs4 (utf16, 3, ucs4, 2, 2);
-
- /* invalid utf16 */
- utf8 = NULL;
- ucs4[0] = 0;
- utf16[0] = 0x61; utf16[1] = 0x62; utf16[2] = 0xdc01; utf16[3] = 0;
-
- check_utf16_to_utf8 (utf16, 3, utf8, 0, 2);
- check_utf16_to_ucs4 (utf16, 3, ucs4, 0, 2);
-
- /* invalid ucs4 */
- utf8 = NULL;
- ucs4[0] = 0x61; ucs4[1] = 0x62; ucs4[2] = 0x80000000; ucs4[3] = 0;
- utf16[0] = 0;
-
- check_ucs4_to_utf8 (ucs4, 3, utf8, 0, 2);
- check_ucs4_to_utf16 (ucs4, 3, utf16, 0, 2);
-}
-
-int
-main (int argc, char *argv[])
-{
- test_iconv_state ();
- test_one_half ();
- test_byte_order ();
- test_unicode_conversions ();
-
- return 0;
-}
+++ /dev/null
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#include "glib.h"
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <locale.h>
-#include <time.h>
-
-gboolean failed = FALSE;
-guint32 passed = 0;
-guint32 notpassed = 0;
-
-#define TEST(m,cond) G_STMT_START { failed = !(cond); \
-if (failed) \
- exit(1); \
-} G_STMT_END
-
-void g_date_debug_print(GDate* d)
-{
-}
-
-void g_print_dummy(const char *format, ...)
-{
-}
-
-void fflush_dummy (FILE *f)
-{
-}
-
-
-#define g_print g_print_dummy
-#define fflush fflush_dummy
-
-int main(int argc, char** argv)
-{
- GDate* d;
- guint32 j;
- GDateMonth m;
- GDateYear y, prev_y;
- GDateDay day;
- gchar buf[101];
- gchar* loc;
-
- /* Try to get all the leap year cases. */
- GDateYear check_years[] = {
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 98, 99, 100, 101, 102, 103, 397,
- 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 1598, 1599, 1600, 1601, 1602, 1650, 1651,
- 1897, 1898, 1899, 1900, 1901, 1902, 1903,
- 1961, 1962, 1963, 1964, 1965, 1967,
- 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976,
- 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985,
- 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
- 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
- 3000, 3001, 3002, 3998, 3999, 4000, 4001, 4002, 4003
- };
-
- guint n_check_years = sizeof(check_years)/sizeof(GDateYear);
-
- guint i = 0;
- gboolean discontinuity = FALSE;
-
- g_print("checking GDate...");
-
- TEST("sizeof(GDate) is not more than 8 bytes on this platform", sizeof(GDate) < 9);
-
- d = g_date_new();
-
- TEST("Empty constructor produces invalid date", !g_date_valid(d));
-
- g_date_free(d);
-
- d = g_date_new_dmy(1,1,1);
-
- TEST("January 1, Year 1 created and valid", g_date_valid(d));
-
- j = g_date_get_julian(d);
-
- TEST("January 1, Year 1 is Julian date 1", j == 1);
-
- TEST("Returned month is January", g_date_get_month(d) == G_DATE_JANUARY);
- TEST("Returned day is 1", g_date_get_day(d) == 1);
- TEST("Returned year is 1", g_date_get_year(d) == 1);
-
- TEST("Bad month is invalid", !g_date_valid_month(G_DATE_BAD_MONTH));
- TEST("Month 13 is invalid", !g_date_valid_month(13));
- TEST("Bad day is invalid", !g_date_valid_day(G_DATE_BAD_DAY));
- TEST("Day 32 is invalid", !g_date_valid_day(32));
- TEST("Bad year is invalid", !g_date_valid_year(G_DATE_BAD_YEAR));
- TEST("Bad julian is invalid", !g_date_valid_julian(G_DATE_BAD_JULIAN));
- TEST("Bad weekday is invalid", !g_date_valid_weekday(G_DATE_BAD_WEEKDAY));
- TEST("Year 2000 is a leap year", g_date_is_leap_year(2000));
- TEST("Year 1999 is not a leap year", !g_date_is_leap_year(1999));
- TEST("Year 1996 is a leap year", g_date_is_leap_year(1996));
- TEST("Year 1600 is a leap year", g_date_is_leap_year(1600));
- TEST("Year 2100 is not a leap year", !g_date_is_leap_year(2100));
- TEST("Year 1800 is not a leap year", !g_date_is_leap_year(1800));
-
- g_date_free(d);
-
- loc = setlocale(LC_ALL,"");
- if (loc)
- g_print("\nLocale set to %s\n", loc);
- else
- g_print("\nLocale unchanged\n");
-
- d = g_date_new();
- g_date_set_time(d, time(NULL));
- TEST("Today is valid", g_date_valid(d));
-
- g_date_strftime(buf,100,"Today is a %A, %x\n", d);
- g_print("%s", buf);
-
- g_date_set_time(d, 1);
- TEST("Beginning of Unix epoch is valid", g_date_valid(d));
-
- g_date_strftime(buf,100,"1 second into the Unix epoch it was a %A, in the month of %B, %x\n", d);
- g_print("%s", buf);
-
- g_date_set_julian(d, 1);
- TEST("GDate's \"Julian\" epoch's first day is valid", g_date_valid(d));
-
- g_date_strftime(buf,100,"Our \"Julian\" epoch begins on a %A, in the month of %B, %x\n",
- d);
- g_print("%s", buf);
-
- g_date_set_dmy(d, 10, 1, 2000);
-
- g_date_strftime(buf,100,"%x", d);
-
- g_date_set_parse(d, buf);
- /* Note: this test will hopefully work, but no promises. */
- TEST("Successfully parsed a %x-formatted string",
- g_date_valid(d) &&
- g_date_get_month(d) == 1 &&
- g_date_get_day(d) == 10 &&
- g_date_get_year(d) == 2000);
- if (failed)
- g_date_debug_print(d);
-
- g_date_free(d);
-
- j = G_DATE_BAD_JULIAN;
-
- i = 0;
- discontinuity = TRUE;
- y = check_years[0];
- prev_y = G_DATE_BAD_YEAR;
- while (i < n_check_years)
- {
- guint32 first_day_of_year = G_DATE_BAD_JULIAN;
- guint16 days_in_year = g_date_is_leap_year(y) ? 366 : 365;
- guint sunday_week_of_year = 0;
- guint sunday_weeks_in_year = g_date_get_sunday_weeks_in_year(y);
- guint monday_week_of_year = 0;
- guint monday_weeks_in_year = g_date_get_monday_weeks_in_year(y);
- guint iso8601_week_of_year = 0;
-
- if (discontinuity)
- g_print(" (Break in sequence of requested years to check)\n");
-
- g_print("Checking year %u", y);
-
- TEST("Year is valid", g_date_valid_year(y));
-
- TEST("Number of Sunday weeks in year is 52 or 53",
- sunday_weeks_in_year == 52 || sunday_weeks_in_year == 53);
-
- TEST("Number of Monday weeks in year is 52 or 53",
- monday_weeks_in_year == 52 || monday_weeks_in_year == 53);
-
- m = 1;
- while (m < 13)
- {
- guint8 dim = g_date_get_days_in_month(m,y);
- GDate days[31]; /* This is the fast way, no allocation */
-
- TEST("Sensible number of days in month", (dim > 0 && dim < 32));
-
- TEST("Month between 1 and 12 is valid", g_date_valid_month(m));
-
- day = 1;
-
- g_date_clear(days, 31);
-
- while (day <= dim)
- {
- guint i;
- GDate tmp;
-
- TEST("DMY triplet is valid", g_date_valid_dmy(day,m,y));
-
- /* Create GDate with triplet */
-
- d = &days[day-1];
-
- TEST("Cleared day is invalid", !g_date_valid(d));
-
- g_date_set_dmy(d,day,m,y);
-
- TEST("Set day is valid", g_date_valid(d));
-
- if (m == G_DATE_JANUARY && day == 1)
- {
- first_day_of_year = g_date_get_julian(d);
- }
-
- g_assert(first_day_of_year != G_DATE_BAD_JULIAN);
-
- TEST("Date with DMY triplet is valid", g_date_valid(d));
- TEST("Month accessor works", g_date_get_month(d) == m);
- TEST("Year accessor works", g_date_get_year(d) == y);
- TEST("Day of month accessor works", g_date_get_day(d) == day);
-
- TEST("Day of year is consistent with Julian dates",
- ((g_date_get_julian(d) + 1 - first_day_of_year) ==
- (g_date_get_day_of_year(d))));
-
- if (failed)
- {
- g_print("first day: %u this day: %u day of year: %u\n",
- first_day_of_year,
- g_date_get_julian(d),
- g_date_get_day_of_year(d));
- }
-
- if (m == G_DATE_DECEMBER && day == 31)
- {
- TEST("Last day of year equals number of days in year",
- g_date_get_day_of_year(d) == days_in_year);
- if (failed)
- {
- g_print("last day: %u days in year: %u\n",
- g_date_get_day_of_year(d), days_in_year);
- }
- }
-
- TEST("Day of year is not more than number of days in the year",
- g_date_get_day_of_year(d) <= days_in_year);
-
- TEST("Monday week of year is not more than number of weeks in the year",
- g_date_get_monday_week_of_year(d) <= monday_weeks_in_year);
- if (failed)
- {
- g_print("Weeks in year: %u\n", monday_weeks_in_year);
- g_date_debug_print(d);
- }
- TEST("Monday week of year is >= than last week of year",
- g_date_get_monday_week_of_year(d) >= monday_week_of_year);
-
- if (g_date_get_weekday(d) == G_DATE_MONDAY)
- {
-
- TEST("Monday week of year on Monday 1 more than previous day's week of year",
- (g_date_get_monday_week_of_year(d) - monday_week_of_year) == 1);
- if ((m == G_DATE_JANUARY && day <= 4) ||
- (m == G_DATE_DECEMBER && day >= 29)) {
- TEST("ISO 8601 week of year on Monday Dec 29 - Jan 4 is 1",
- (g_date_get_iso8601_week_of_year(d) == 1));
- } else {
- TEST("ISO 8601 week of year on Monday 1 more than previous day's week of year",
- (g_date_get_iso8601_week_of_year(d) - iso8601_week_of_year) == 1);
- }
- }
- else
- {
- TEST("Monday week of year on non-Monday 0 more than previous day's week of year",
- (g_date_get_monday_week_of_year(d) - monday_week_of_year) == 0);
- if (!(day == 1 && m == G_DATE_JANUARY)) {
- TEST("ISO 8601 week of year on non-Monday 0 more than previous day's week of year (",
- (g_date_get_iso8601_week_of_year(d) - iso8601_week_of_year) == 0);
- }
- }
-
-
- monday_week_of_year = g_date_get_monday_week_of_year(d);
- iso8601_week_of_year = g_date_get_iso8601_week_of_year(d);
-
-
- TEST("Sunday week of year is not more than number of weeks in the year",
- g_date_get_sunday_week_of_year(d) <= sunday_weeks_in_year);
- if (failed)
- {
- g_date_debug_print(d);
- }
- TEST("Sunday week of year is >= than last week of year",
- g_date_get_sunday_week_of_year(d) >= sunday_week_of_year);
-
- if (g_date_get_weekday(d) == G_DATE_SUNDAY)
- {
- TEST("Sunday week of year on Sunday 1 more than previous day's week of year",
- (g_date_get_sunday_week_of_year(d) - sunday_week_of_year) == 1);
- }
- else
- {
- TEST("Sunday week of year on non-Sunday 0 more than previous day's week of year",
- (g_date_get_sunday_week_of_year(d) - sunday_week_of_year) == 0);
- }
-
- sunday_week_of_year = g_date_get_sunday_week_of_year(d);
-
- TEST("Date is equal to itself",
- g_date_compare(d,d) == 0);
-
-
- /*************** Increments ***********/
-
- i = 1;
- while (i < 402) /* Need to get 400 year increments in */
- {
-
- /***** Days ******/
- tmp = *d;
- g_date_add_days(d, i);
-
- TEST("Adding days gives a value greater than previous",
- g_date_compare(d, &tmp) > 0);
-
- g_date_subtract_days(d, i);
- TEST("Forward days then backward days returns us to current day",
- g_date_get_day(d) == day);
-
- if (failed)
- {
- g_print(" (increment %u, dmy %u %u %u) ", i, day, m, y);
- g_date_debug_print(d);
- }
-
- TEST("Forward days then backward days returns us to current month",
- g_date_get_month(d) == m);
-
- if (failed)
- {
- g_print(" (increment %u, dmy %u %u %u) ", i, day, m, y);
- g_date_debug_print(d);
- }
-
- TEST("Forward days then backward days returns us to current year",
- g_date_get_year(d) == y);
-
- if (failed)
- {
- g_print(" (increment %u, dmy %u %u %u) ", i, day, m, y);
- g_date_debug_print(d);
- }
-
- /******* Months ********/
-
- tmp = *d;
- g_date_add_months(d, i);
- TEST("Adding months gives a larger value",
- g_date_compare(d, &tmp) > 0);
- g_date_subtract_months(d, i);
-
- TEST("Forward months then backward months returns us to current month",
- g_date_get_month(d) == m);
-
- if (failed)
- {
- g_print(" (increment %u, dmy %u %u %u) ", i, day, m, y);
- g_date_debug_print(d);
- }
-
- TEST("Forward months then backward months returns us to current year",
- g_date_get_year(d) == y);
-
- if (failed)
- {
- g_print(" (increment %u, dmy %u %u %u) ", i, day, m, y);
- g_date_debug_print(d);
- }
-
-
- if (day < 29)
- {
- /* Day should be unchanged */
-
- TEST("Forward months then backward months returns us to current day",
- g_date_get_day(d) == day);
-
- if (failed)
- {
- g_print(" (increment %u, dmy %u %u %u) ", i, day, m, y);
- g_date_debug_print(d);
- }
- }
- else
- {
- /* reset the day for later tests */
- g_date_set_day(d, day);
- }
-
- /******* Years ********/
-
- tmp = *d;
- g_date_add_years(d, i);
-
- TEST("Adding years gives a larger value",
- g_date_compare(d,&tmp) > 0);
-
- g_date_subtract_years(d, i);
-
- TEST("Forward years then backward years returns us to current month",
- g_date_get_month(d) == m);
-
- if (failed)
- {
- g_print(" (increment %u, dmy %u %u %u) ", i, day, m, y);
- g_date_debug_print(d);
- }
-
- TEST("Forward years then backward years returns us to current year",
- g_date_get_year(d) == y);
-
- if (failed)
- {
- g_print(" (increment %u, dmy %u %u %u) ", i, day, m, y);
- g_date_debug_print(d);
- }
-
- if (m != 2 && day != 29)
- {
- TEST("Forward years then backward years returns us to current day",
- g_date_get_day(d) == day);
-
- if (failed)
- {
- g_print(" (increment %u, dmy %u %u %u) ", i, day, m, y);
- g_date_debug_print(d);
- }
- }
- else
- {
- g_date_set_day(d, day); /* reset */
- }
-
- i += 10;
- }
-
- /***** increment test relative to our local Julian count */
-
- if (!discontinuity) {
-
- /* We can only run sequence tests between sequential years */
-
- TEST("Julians are sequential with increment 1",
- j+1 == g_date_get_julian(d));
- if (failed)
- {
- g_print("Out of sequence, prev: %u expected: %u got: %u\n",
- j, j+1, g_date_get_julian(d));
- }
-
- g_date_add_days(d,1);
- TEST("Next day has julian 1 higher",
- g_date_get_julian(d) == j + 2);
- g_date_subtract_days(d, 1);
-
- if (j != G_DATE_BAD_JULIAN)
- {
- g_date_subtract_days(d, 1);
-
- TEST("Previous day has julian 1 lower",
- g_date_get_julian(d) == j);
-
- g_date_add_days(d, 1); /* back to original */
- }
- }
- discontinuity = FALSE; /* goes away now */
-
- fflush(stdout);
- fflush(stderr);
-
- j = g_date_get_julian(d); /* inc current julian */
-
- ++day;
- }
- ++m;
- }
- g_print(" done\n");
- ++i;
- prev_y = y;
- y = check_years[i];
- if (prev_y == G_DATE_BAD_YEAR ||
- (prev_y + 1) != y) discontinuity = TRUE;
- }
-
-
- g_print("\n%u tests passed, %u failed\n",passed, notpassed);
-
- return 0;
-}
-
-
+++ /dev/null
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-#define G_ERRORCHECK_MUTEXES
-
-#include <glib.h>
-#include <stdio.h>
-#include <string.h>
-
-static gpointer
-locking_thread (gpointer mutex)
-{
- g_mutex_lock ((GMutex*)mutex);
-
- return NULL;
-}
-
-static void
-lock_locked_mutex (void)
-{
- GMutex* mutex = g_mutex_new ();
- g_mutex_lock (mutex);
- g_mutex_lock (mutex);
-}
-
-static void
-trylock_locked_mutex (void)
-{
- GMutex* mutex = g_mutex_new ();
- g_mutex_lock (mutex);
- g_mutex_trylock (mutex);
-}
-
-static void
-unlock_unlocked_mutex (void)
-{
- GMutex* mutex = g_mutex_new ();
- g_mutex_lock (mutex);
- g_mutex_unlock (mutex);
- g_mutex_unlock (mutex);
-}
-
-static void
-free_locked_mutex (void)
-{
- GMutex* mutex = g_mutex_new ();
- g_mutex_lock (mutex);
- g_mutex_free (mutex);
-}
-
-static void
-wait_on_unlocked_mutex (void)
-{
- GMutex* mutex = g_mutex_new ();
- GCond* cond = g_cond_new ();
- g_cond_wait (cond, mutex);
-}
-
-static void
-wait_on_otherwise_locked_mutex (void)
-{
- GMutex* mutex = g_mutex_new ();
- GCond* cond = g_cond_new ();
- GThread* thread = g_thread_create (locking_thread, mutex, TRUE, NULL);
- g_assert (thread != NULL);
- g_usleep (G_USEC_PER_SEC);
- g_cond_wait (cond, mutex);
-}
-
-static void
-timed_wait_on_unlocked_mutex (void)
-{
- GMutex* mutex = g_mutex_new ();
- GCond* cond = g_cond_new ();
- g_cond_timed_wait (cond, mutex, NULL);
-}
-
-static void
-timed_wait_on_otherwise_locked_mutex (void)
-{
- GMutex* mutex = g_mutex_new ();
- GCond* cond = g_cond_new ();
- GThread* thread = g_thread_create (locking_thread, mutex, TRUE, NULL);
- g_assert (thread != NULL);
- g_usleep (G_USEC_PER_SEC);
- g_cond_timed_wait (cond, mutex, NULL);
-}
-
-struct
-{
- char *name;
- void (*func)();
-} func_table[] =
-{
- {"lock_locked_mutex", lock_locked_mutex},
- {"trylock_locked_mutex", trylock_locked_mutex},
- {"unlock_unlocked_mutex", unlock_unlocked_mutex},
- {"free_locked_mutex", free_locked_mutex},
- {"wait_on_unlocked_mutex", wait_on_unlocked_mutex},
- {"wait_on_otherwise_locked_mutex", wait_on_otherwise_locked_mutex},
- {"timed_wait_on_unlocked_mutex", timed_wait_on_unlocked_mutex},
- {"timed_wait_on_otherwise_locked_mutex",
- timed_wait_on_otherwise_locked_mutex}
-};
-
-int
-main (int argc, char* argv[])
-{
- int i;
-
- if (argc == 2)
- {
- for (i = 0; i < G_N_ELEMENTS (func_table); i++)
- {
- if (strcmp (func_table[i].name, argv[1]) == 0)
- {
- g_thread_init (NULL);
- func_table[i].func ();
- g_assert_not_reached ();
- }
- }
- }
-
- fprintf (stderr, "Usage: errorcheck-mutex-test [TEST]\n\n");
- fprintf (stderr, " where TEST can be one of:\n\n");
- for (i = 0; i < G_N_ELEMENTS (func_table); i++)
- {
- fprintf (stderr, " %s\n", func_table[i].name);
- }
-
- return 0;
-}
+++ /dev/null
-/* GObject - GLib Type, Object, Parameter and Signal Library
- * Copyright (C) 2001, 2003 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#undef G_LOG_DOMAIN
-#define G_LOG_DOMAIN "TestIfaceProperties"
-
-#undef G_DISABLE_ASSERT
-#undef G_DISABLE_CHECKS
-#undef G_DISABLE_CAST_CHECKS
-
-#include <string.h>
-
-#include <glib-object.h>
-
-#include "testcommon.h"
-
-/* This test tests interface properties, implementing interface
- * properties and #GParamSpecOverride.
- *
- * Four properties are tested:
- *
- * prop1: Defined in TestIface, Implemented in BaseObject with a GParamSpecOverride
- * prop2: Defined in TestIface, Implemented in BaseObject with a new property
- * prop3: Defined in TestIface, Implemented in BaseObject, Overridden in DerivedObject
- * prop4: Defined in BaseObject, Overridden in DerivedObject
- */
-
-static GType base_object_get_type ();
-static GType derived_object_get_type ();
-
-enum {
- BASE_PROP_0,
- BASE_PROP1,
- BASE_PROP2,
- BASE_PROP3,
- BASE_PROP4
-};
-
-enum {
- DERIVED_PROP_0,
- DERIVED_PROP3,
- DERIVED_PROP4
-};
-
-/*
- * BaseObject, a parent class for DerivedObject
- */
-#define BASE_TYPE_OBJECT (base_object_get_type ())
-#define BASE_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BASE_TYPE_OBJECT, BaseObject))
-typedef struct _BaseObject BaseObject;
-typedef struct _BaseObjectClass BaseObjectClass;
-
-struct _BaseObject
-{
- GObject parent_instance;
-
- gint val1;
- gint val2;
- gint val3;
- gint val4;
-};
-struct _BaseObjectClass
-{
- GObjectClass parent_class;
-};
-
-GObjectClass *base_parent_class;
-
-/*
- * DerivedObject, the child class of DerivedObject
- */
-#define DERIVED_TYPE_OBJECT (derived_object_get_type ())
-typedef struct _DerivedObject DerivedObject;
-typedef struct _DerivedObjectClass DerivedObjectClass;
-
-struct _DerivedObject
-{
- BaseObject parent_instance;
-};
-struct _DerivedObjectClass
-{
- BaseObjectClass parent_class;
-};
-
-/*
- * The interface
- */
-typedef struct _TestIfaceClass TestIfaceClass;
-
-struct _TestIfaceClass
-{
- GTypeInterface base_iface;
-};
-
-#define TEST_TYPE_IFACE (test_iface_get_type ())
-
-/* The paramspecs installed on our interface
- */
-static GParamSpec *iface_spec1, *iface_spec2, *iface_spec3;
-
-/* The paramspecs inherited by our derived object
- */
-static GParamSpec *inherited_spec1, *inherited_spec2, *inherited_spec3, *inherited_spec4;
-
-static void
-test_iface_default_init (TestIfaceClass *iface_vtable)
-{
- inherited_spec1 = iface_spec1 = g_param_spec_int ("prop1",
- "Prop1",
- "Property 1",
- G_MININT, /* min */
- 0xFFFF, /* max */
- 42, /* default */
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
- g_object_interface_install_property (iface_vtable, iface_spec1);
-
- iface_spec2 = g_param_spec_int ("prop2",
- "Prop2",
- "Property 2",
- G_MININT, /* min */
- G_MAXINT, /* max */
- 0, /* default */
- G_PARAM_WRITABLE);
- g_object_interface_install_property (iface_vtable, iface_spec2);
-
- inherited_spec3 = iface_spec3 = g_param_spec_int ("prop3",
- "Prop3",
- "Property 3",
- G_MININT, /* min */
- G_MAXINT, /* max */
- 0, /* default */
- G_PARAM_READWRITE);
- g_object_interface_install_property (iface_vtable, iface_spec3);
-}
-
-static DEFINE_IFACE (TestIface, test_iface, NULL, test_iface_default_init)
-
-
-static GObject*
-base_object_constructor (GType type,
- guint n_construct_properties,
- GObjectConstructParam *construct_properties)
-{
- /* The constructor is the one place where a GParamSpecOverride is visible
- * to the outside world, so we do a bunch of checks here
- */
- GValue value1 = { 0, };
- GValue value2 = { 0, };
- GParamSpec *pspec;
-
- g_assert (n_construct_properties == 1);
-
- pspec = construct_properties->pspec;
-
- /* Check we got the param spec we expected
- */
- g_assert (G_IS_PARAM_SPEC_OVERRIDE (pspec));
- g_assert (pspec->param_id == BASE_PROP1);
- g_assert (strcmp (g_param_spec_get_name (pspec), "prop1") == 0);
- g_assert (g_param_spec_get_redirect_target (pspec) == iface_spec1);
-
- /* Test redirection of the nick and blurb to the redirect target
- */
- g_assert (strcmp (g_param_spec_get_nick (pspec), "Prop1") == 0);
- g_assert (strcmp (g_param_spec_get_blurb (pspec), "Property 1") == 0);
-
- /* Test forwarding of the various GParamSpec methods to the redirect target
- */
- g_value_init (&value1, G_TYPE_INT);
- g_value_init (&value2, G_TYPE_INT);
-
- g_param_value_set_default (pspec, &value1);
- g_assert (g_value_get_int (&value1) == 42);
-
- g_value_reset (&value1);
- g_value_set_int (&value1, 0x10000);
- g_assert (g_param_value_validate (pspec, &value1));
- g_assert (g_value_get_int (&value1) == 0xFFFF);
- g_assert (!g_param_value_validate (pspec, &value1));
-
- g_value_reset (&value1);
- g_value_set_int (&value1, 1);
- g_value_set_int (&value2, 2);
- g_assert (g_param_values_cmp (pspec, &value1, &value2) < 0);
- g_assert (g_param_values_cmp (pspec, &value2, &value1) > 0);
-
- g_value_unset (&value1);
- g_value_unset (&value2);
-
- return base_parent_class->constructor (type,
- n_construct_properties,
- construct_properties);
-}
-
-static void
-base_object_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- BaseObject *base_object = BASE_OBJECT (object);
-
- switch (prop_id)
- {
- case BASE_PROP1:
- g_assert (pspec == inherited_spec1);
- base_object->val1 = g_value_get_int (value);
- break;
- case BASE_PROP2:
- g_assert (pspec == inherited_spec2);
- base_object->val2 = g_value_get_int (value);
- break;
- case BASE_PROP3:
- g_assert_not_reached ();
- break;
- case BASE_PROP4:
- g_assert_not_reached ();
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-base_object_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- BaseObject *base_object = BASE_OBJECT (object);
-
- switch (prop_id)
- {
- case BASE_PROP1:
- g_assert (pspec == inherited_spec1);
- g_value_set_int (value, base_object->val1);
- break;
- case BASE_PROP2:
- g_assert (pspec == inherited_spec2);
- g_value_set_int (value, base_object->val2);
- break;
- case BASE_PROP3:
- g_assert_not_reached ();
- break;
- case BASE_PROP4:
- g_assert_not_reached ();
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-base_object_notify (GObject *object,
- GParamSpec *pspec)
-{
- /* The property passed to notify is the redirect target, not the
- * GParamSpecOverride
- */
- g_assert (pspec == inherited_spec1 ||
- pspec == inherited_spec2 ||
- pspec == inherited_spec3 ||
- pspec == inherited_spec4);
-}
-
-static void
-base_object_class_init (BaseObjectClass *class)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (class);
-
- base_parent_class= g_type_class_peek_parent (class);
-
- object_class->constructor = base_object_constructor;
- object_class->set_property = base_object_set_property;
- object_class->get_property = base_object_get_property;
- object_class->notify = base_object_notify;
-
- g_object_class_override_property (object_class, BASE_PROP1, "prop1");
-
- /* We override this one using a real property, not GParamSpecOverride
- * We change the flags from READONLY to READWRITE to show that we
- * can make the flags less restrictive
- */
- inherited_spec2 = g_param_spec_int ("prop2",
- "Prop2",
- "Property 2",
- G_MININT, /* min */
- G_MAXINT, /* max */
- 0, /* default */
- G_PARAM_READWRITE);
- g_object_class_install_property (object_class, BASE_PROP2, inherited_spec2);
-
- g_object_class_override_property (object_class, BASE_PROP3, "prop3");
-
- inherited_spec4 = g_param_spec_int ("prop4",
- "Prop4",
- "Property 4",
- G_MININT, /* min */
- G_MAXINT, /* max */
- 0, /* default */
- G_PARAM_READWRITE);
- g_object_class_install_property (object_class, BASE_PROP4, inherited_spec4);
-}
-
-static void
-base_object_init (BaseObject *base_object)
-{
- base_object->val1 = 42;
-}
-
-static DEFINE_TYPE_FULL (BaseObject, base_object,
- base_object_class_init, NULL, base_object_init,
- G_TYPE_OBJECT,
- INTERFACE (NULL, TEST_TYPE_IFACE))
-
-static void
-derived_object_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- BaseObject *base_object = BASE_OBJECT (object);
-
- switch (prop_id)
- {
- case DERIVED_PROP3:
- g_assert (pspec == inherited_spec3);
- base_object->val3 = g_value_get_int (value);
- break;
- case DERIVED_PROP4:
- g_assert (pspec == inherited_spec4);
- base_object->val4 = g_value_get_int (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-derived_object_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- BaseObject *base_object = BASE_OBJECT (object);
-
- switch (prop_id)
- {
- case DERIVED_PROP3:
- g_assert (pspec == inherited_spec3);
- g_value_set_int (value, base_object->val3);
- break;
- case DERIVED_PROP4:
- g_assert (pspec == inherited_spec4);
- g_value_set_int (value, base_object->val4);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-derived_object_class_init (DerivedObjectClass *class)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (class);
-
- object_class->set_property = derived_object_set_property;
- object_class->get_property = derived_object_get_property;
-
- /* Overriding a property that is itself overridding an interface property */
- g_object_class_override_property (object_class, DERIVED_PROP3, "prop3");
-
- /* Overriding a property not from an interface */
- g_object_class_override_property (object_class, DERIVED_PROP4, "prop4");
-}
-
-static DEFINE_TYPE (DerivedObject, derived_object,
- derived_object_class_init, NULL, NULL,
- BASE_TYPE_OBJECT)
-
-/* Helper function for testing ...list_properties()
- */
-static void
-assert_in_properties (GParamSpec *param_spec,
- GParamSpec **properties,
- gint n_properties)
-{
- gint i;
- gboolean found = FALSE;
-
- for (i = 0; i < n_properties; i++)
- {
- if (properties[i] == param_spec)
- found = TRUE;
- }
-
- g_assert (found);
-}
-
-int
-main (gint argc,
- gchar *argv[])
-{
- BaseObject *object;
- GObjectClass *object_class;
- TestIfaceClass *iface_vtable;
- GParamSpec **properties;
- gint n_properties;
-
- gint val1, val2, val3, val4;
-
- g_log_set_always_fatal (g_log_set_always_fatal (G_LOG_FATAL_MASK) |
- G_LOG_LEVEL_WARNING |
- G_LOG_LEVEL_CRITICAL);
- g_type_init ();
-
- object = g_object_new (DERIVED_TYPE_OBJECT, NULL);
-
- /* Test setting and getting the properties
- */
- g_object_set (object,
- "prop1", 0x0101,
- "prop2", 0x0202,
- "prop3", 0x0303,
- "prop4", 0x0404,
- NULL);
- g_object_get (object,
- "prop1", &val1,
- "prop2", &val2,
- "prop3", &val3,
- "prop4", &val4,
- NULL);
-
- g_assert (val1 == 0x0101);
- g_assert (val2 == 0x0202);
- g_assert (val3 == 0x0303);
- g_assert (val4 == 0x0404);
-
- /* Test that the right spec is passed on explicit notifications
- */
- g_object_freeze_notify (G_OBJECT (object));
- g_object_notify (G_OBJECT (object), "prop1");
- g_object_notify (G_OBJECT (object), "prop2");
- g_object_notify (G_OBJECT (object), "prop3");
- g_object_notify (G_OBJECT (object), "prop4");
- g_object_thaw_notify (G_OBJECT (object));
-
- /* Test g_object_class_find_property() for overridden properties
- */
- object_class = G_OBJECT_GET_CLASS (object);
-
- g_assert (g_object_class_find_property (object_class, "prop1") == inherited_spec1);
- g_assert (g_object_class_find_property (object_class, "prop2") == inherited_spec2);
- g_assert (g_object_class_find_property (object_class, "prop3") == inherited_spec3);
- g_assert (g_object_class_find_property (object_class, "prop4") == inherited_spec4);
-
- /* Test g_object_class_list_properties() for overridden properties
- */
- properties = g_object_class_list_properties (object_class, &n_properties);
- g_assert (n_properties == 4);
- assert_in_properties (inherited_spec1, properties, n_properties);
- assert_in_properties (inherited_spec2, properties, n_properties);
- assert_in_properties (inherited_spec3, properties, n_properties);
- assert_in_properties (inherited_spec4, properties, n_properties);
- g_free (properties);
-
- /* Test g_object_interface_find_property()
- */
- iface_vtable = g_type_default_interface_peek (TEST_TYPE_IFACE);
-
- g_assert (g_object_interface_find_property (iface_vtable, "prop1") == iface_spec1);
- g_assert (g_object_interface_find_property (iface_vtable, "prop2") == iface_spec2);
- g_assert (g_object_interface_find_property (iface_vtable, "prop3") == iface_spec3);
-
- /* Test g_object_interface_list_properties()
- */
- properties = g_object_interface_list_properties (iface_vtable, &n_properties);
- g_assert (n_properties == 3);
- assert_in_properties (iface_spec1, properties, n_properties);
- assert_in_properties (iface_spec2, properties, n_properties);
- assert_in_properties (iface_spec3, properties, n_properties);
- g_free (properties);
-
- g_object_unref (object);
-
- return 0;
-}
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- * Copyright (C) 1999 The Free Software Foundation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if STDC_HEADERS
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#endif
-
-#include <glib.h>
-
-
-
-int array[10000];
-
-static void
-fill_hash_table_and_array (GHashTable *hash_table)
-{
- int i;
-
- for (i = 0; i < 10000; i++)
- {
- array[i] = i;
- g_hash_table_insert (hash_table, &array[i], &array[i]);
- }
-}
-
-static void
-init_result_array (int result_array[10000])
-{
- int i;
-
- for (i = 0; i < 10000; i++)
- result_array[i] = -1;
-}
-
-static void
-verify_result_array (int array[10000])
-{
- int i;
-
- for (i = 0; i < 10000; i++)
- g_assert (array[i] == i);
-}
-
-static void
-handle_pair (gpointer key, gpointer value, int result_array[10000])
-{
- int n;
-
- g_assert (key == value);
-
- n = *((int *) value);
-
- g_assert (n >= 0 && n < 10000);
- g_assert (result_array[n] == -1);
-
- result_array[n] = n;
-}
-
-static gboolean
-my_hash_callback_remove (gpointer key,
- gpointer value,
- gpointer user_data)
-{
- int *d = value;
-
- if ((*d) % 2)
- return TRUE;
-
- return FALSE;
-}
-
-static void
-my_hash_callback_remove_test (gpointer key,
- gpointer value,
- gpointer user_data)
-{
- int *d = value;
-
- if ((*d) % 2)
- g_assert_not_reached ();
-}
-
-static void
-my_hash_callback (gpointer key,
- gpointer value,
- gpointer user_data)
-{
- handle_pair (key, value, user_data);
-}
-
-static guint
-my_hash (gconstpointer key)
-{
- return (guint) *((const gint*) key);
-}
-
-static gboolean
-my_hash_equal (gconstpointer a,
- gconstpointer b)
-{
- return *((const gint*) a) == *((const gint*) b);
-}
-
-
-
-/*
- * This is a simplified version of the pathalias hashing function.
- * Thanks to Steve Belovin and Peter Honeyman
- *
- * hash a string into a long int. 31 bit crc (from andrew appel).
- * the crc table is computed at run time by crcinit() -- we could
- * precompute, but it takes 1 clock tick on a 750.
- *
- * This fast table calculation works only if POLY is a prime polynomial
- * in the field of integers modulo 2. Since the coefficients of a
- * 32-bit polynomial won't fit in a 32-bit word, the high-order bit is
- * implicit. IT MUST ALSO BE THE CASE that the coefficients of orders
- * 31 down to 25 are zero. Happily, we have candidates, from
- * E. J. Watson, "Primitive Polynomials (Mod 2)", Math. Comp. 16 (1962):
- * x^32 + x^7 + x^5 + x^3 + x^2 + x^1 + x^0
- * x^31 + x^3 + x^0
- *
- * We reverse the bits to get:
- * 111101010000000000000000000000001 but drop the last 1
- * f 5 0 0 0 0 0 0
- * 010010000000000000000000000000001 ditto, for 31-bit crc
- * 4 8 0 0 0 0 0 0
- */
-
-#define POLY 0x48000000L /* 31-bit polynomial (avoids sign problems) */
-
-static guint CrcTable[128];
-
-/*
- - crcinit - initialize tables for hash function
- */
-static void crcinit(void)
-{
- int i, j;
- guint sum;
-
- for (i = 0; i < 128; ++i) {
- sum = 0L;
- for (j = 7 - 1; j >= 0; --j)
- if (i & (1 << j))
- sum ^= POLY >> j;
- CrcTable[i] = sum;
- }
-}
-
-/*
- - hash - Honeyman's nice hashing function
- */
-static guint honeyman_hash(gconstpointer key)
-{
- const gchar *name = (const gchar *) key;
- gint size;
- guint sum = 0;
-
- g_assert (name != NULL);
- g_assert (*name != 0);
-
- size = strlen(name);
-
- while (size--) {
- sum = (sum >> 7) ^ CrcTable[(sum ^ (*name++)) & 0x7f];
- }
-
- return(sum);
-}
-
-
-static gboolean second_hash_cmp (gconstpointer a, gconstpointer b)
-{
- return (strcmp (a, b) == 0);
-}
-
-
-
-static guint one_hash(gconstpointer key)
-{
- return 1;
-}
-
-
-static void not_even_foreach (gpointer key,
- gpointer value,
- gpointer user_data)
-{
- const char *_key = (const char *) key;
- const char *_value = (const char *) value;
- int i;
- char val [20];
-
- g_assert (_key != NULL);
- g_assert (*_key != 0);
- g_assert (_value != NULL);
- g_assert (*_value != 0);
-
- i = atoi (_key);
-
- sprintf (val, "%d value", i);
- g_assert (strcmp (_value, val) == 0);
-
- g_assert ((i % 2) != 0);
- g_assert (i != 3);
-}
-
-
-static gboolean remove_even_foreach (gpointer key,
- gpointer value,
- gpointer user_data)
-{
- const char *_key = (const char *) key;
- const char *_value = (const char *) value;
- int i;
- char val [20];
-
- g_assert (_key != NULL);
- g_assert (*_key != 0);
- g_assert (_value != NULL);
- g_assert (*_value != 0);
-
- i = atoi (_key);
-
- sprintf (val, "%d value", i);
- g_assert (strcmp (_value, val) == 0);
-
- return ((i % 2) == 0) ? TRUE : FALSE;
-}
-
-
-
-
-static void second_hash_test (gboolean simple_hash)
-{
- int i;
- char key[20] = "", val[20]="", *v, *orig_key, *orig_val;
- GHashTable *h;
- gboolean found;
-
- crcinit ();
-
- h = g_hash_table_new_full (simple_hash ? one_hash : honeyman_hash,
- second_hash_cmp,
- g_free, g_free);
- g_assert (h != NULL);
- for (i=0; i<20; i++)
- {
- sprintf (key, "%d", i);
- g_assert (atoi (key) == i);
-
- sprintf (val, "%d value", i);
- g_assert (atoi (val) == i);
-
- g_hash_table_insert (h, g_strdup (key), g_strdup (val));
- }
-
- g_assert (g_hash_table_size (h) == 20);
-
- for (i=0; i<20; i++)
- {
- sprintf (key, "%d", i);
- g_assert (atoi(key) == i);
-
- v = (char *) g_hash_table_lookup (h, key);
-
- g_assert (v != NULL);
- g_assert (*v != 0);
- g_assert (atoi (v) == i);
- }
-
- sprintf (key, "%d", 3);
- g_hash_table_remove (h, key);
- g_assert (g_hash_table_size (h) == 19);
- g_hash_table_foreach_remove (h, remove_even_foreach, NULL);
- g_assert (g_hash_table_size (h) == 9);
- g_hash_table_foreach (h, not_even_foreach, NULL);
-
- for (i=0; i<20; i++)
- {
- sprintf (key, "%d", i);
- g_assert (atoi(key) == i);
-
- sprintf (val, "%d value", i);
- g_assert (atoi (val) == i);
-
- orig_key = orig_val = NULL;
- found = g_hash_table_lookup_extended (h, key,
- (gpointer)&orig_key,
- (gpointer)&orig_val);
- if ((i % 2) == 0 || i == 3)
- {
- g_assert (!found);
- continue;
- }
-
- g_assert (found);
-
- g_assert (orig_key != NULL);
- g_assert (strcmp (key, orig_key) == 0);
-
- g_assert (orig_val != NULL);
- g_assert (strcmp (val, orig_val) == 0);
- }
-
- g_hash_table_destroy (h);
-}
-
-static gboolean find_first (gpointer key,
- gpointer value,
- gpointer user_data)
-{
- gint *v = value;
- gint *test = user_data;
- return (*v == *test);
-}
-
-
-static void direct_hash_test (void)
-{
- gint i, rc;
- GHashTable *h;
-
- h = g_hash_table_new (NULL, NULL);
- g_assert (h != NULL);
- for (i=1; i<=20; i++)
- {
- g_hash_table_insert (h, GINT_TO_POINTER (i),
- GINT_TO_POINTER (i + 42));
- }
-
- g_assert (g_hash_table_size (h) == 20);
-
- for (i=1; i<=20; i++)
- {
- rc = GPOINTER_TO_INT (
- g_hash_table_lookup (h, GINT_TO_POINTER (i)));
-
- g_assert (rc != 0);
- g_assert ((rc - 42) == i);
- }
-
- g_hash_table_destroy (h);
-}
-
-
-
-int
-main (int argc,
- char *argv[])
-{
- GHashTable *hash_table;
- gint i;
- gint value = 120;
- gint *pvalue;
- GList *keys, *values;
- gint keys_len, values_len;
- GHashTableIter iter;
- gpointer ikey, ivalue;
- int result_array[10000];
-
- hash_table = g_hash_table_new (my_hash, my_hash_equal);
- fill_hash_table_and_array (hash_table);
- pvalue = g_hash_table_find (hash_table, find_first, &value);
- if (!pvalue || *pvalue != value)
- g_assert_not_reached();
-
- keys = g_hash_table_get_keys (hash_table);
- if (!keys)
- g_assert_not_reached ();
-
- values = g_hash_table_get_values (hash_table);
- if (!values)
- g_assert_not_reached ();
-
- keys_len = g_list_length (keys);
- values_len = g_list_length (values);
- if (values_len != keys_len && keys_len != g_hash_table_size (hash_table))
- g_assert_not_reached ();
-
- g_list_free (keys);
- g_list_free (values);
-
- init_result_array (result_array);
- g_hash_table_iter_init (&iter, hash_table);
- for (i = 0; i < 10000; i++)
- {
- g_assert (g_hash_table_iter_next (&iter, &ikey, &ivalue));
-
- handle_pair (ikey, ivalue, result_array);
-
- if (i % 2)
- g_hash_table_iter_remove (&iter);
- }
- g_assert (! g_hash_table_iter_next (&iter, &ikey, &ivalue));
- g_assert (g_hash_table_size (hash_table) == 5000);
- verify_result_array (result_array);
-
- fill_hash_table_and_array (hash_table);
-
- init_result_array (result_array);
- g_hash_table_foreach (hash_table, my_hash_callback, result_array);
- verify_result_array (result_array);
-
- for (i = 0; i < 10000; i++)
- g_hash_table_remove (hash_table, &array[i]);
-
- fill_hash_table_and_array (hash_table);
-
- if (g_hash_table_foreach_remove (hash_table, my_hash_callback_remove, NULL) != 5000 ||
- g_hash_table_size (hash_table) != 5000)
- g_assert_not_reached();
-
- g_hash_table_foreach (hash_table, my_hash_callback_remove_test, NULL);
-
-
- g_hash_table_destroy (hash_table);
-
- second_hash_test (TRUE);
- second_hash_test (FALSE);
- direct_hash_test ();
-
- return 0;
-
-}
+++ /dev/null
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#include <glib.h>
-
-#define DEBUG_MSG(args)
-/* #define DEBUG_MSG(args) g_printerr args ; g_printerr ("\n"); */
-#define PRINT_MSG(args)
-/* #define PRINT_MSG(args) g_print args ; g_print ("\n"); */
-
-#define SIZE 50
-#define NUMBER_MIN 0000
-#define NUMBER_MAX 9999
-
-
-static guint32 array[SIZE];
-
-
-static gint
-sort (gconstpointer p1, gconstpointer p2)
-{
- gint32 a, b;
-
- a = GPOINTER_TO_INT (p1);
- b = GPOINTER_TO_INT (p2);
-
- return (a > b ? +1 : a == b ? 0 : -1);
-}
-
-/*
- * glist sort tests
- */
-static void
-test_list_sort (void)
-{
- GList *list = NULL;
- gint i;
-
- PRINT_MSG (("testing g_list_sort()"));
-
- for (i = 0; i < SIZE; i++) {
- list = g_list_append (list, GINT_TO_POINTER (array[i]));
- }
-
- list = g_list_sort (list, sort);
- for (i = 0; i < SIZE - 1; i++) {
- gpointer p1, p2;
-
- p1 = g_list_nth_data (list, i);
- p2 = g_list_nth_data (list, i+1);
-
- g_assert (GPOINTER_TO_INT (p1) <= GPOINTER_TO_INT (p2));
- DEBUG_MSG (("list_sort #%3.3d ---> %d", i, GPOINTER_TO_INT (p1)));
- }
-
- g_list_free (list);
-}
-
-static void
-test_list_sort_with_data (void)
-{
- GList *list = NULL;
- gint i;
-
- PRINT_MSG (("testing g_list_sort_with_data()"));
-
- for (i = 0; i < SIZE; i++) {
- list = g_list_append (list, GINT_TO_POINTER (array[i]));
- }
-
- list = g_list_sort_with_data (list, (GCompareDataFunc)sort, NULL);
- for (i = 0; i < SIZE - 1; i++) {
- gpointer p1, p2;
-
- p1 = g_list_nth_data (list, i);
- p2 = g_list_nth_data (list, i+1);
-
- g_assert (GPOINTER_TO_INT (p1) <= GPOINTER_TO_INT (p2));
- DEBUG_MSG (("list_sort_with_data #%3.3d ---> %d", i, GPOINTER_TO_INT (p1)));
- }
-
- g_list_free (list);
-}
-
-static void
-test_list_insert_sorted (void)
-{
- GList *list = NULL;
- gint i;
-
- PRINT_MSG (("testing g_list_insert_sorted()"));
-
- for (i = 0; i < SIZE; i++) {
- list = g_list_insert_sorted (list, GINT_TO_POINTER (array[i]), sort);
- }
-
- for (i = 0; i < SIZE - 1; i++) {
- gpointer p1, p2;
-
- p1 = g_list_nth_data (list, i);
- p2 = g_list_nth_data (list, i+1);
-
- g_assert (GPOINTER_TO_INT (p1) <= GPOINTER_TO_INT (p2));
- DEBUG_MSG (("list_insert_sorted #%3.3d ---> %d", i, GPOINTER_TO_INT (p1)));
- }
-
- g_list_free (list);
-}
-
-static void
-test_list_insert_sorted_with_data (void)
-{
- GList *list = NULL;
- gint i;
-
- PRINT_MSG (("testing g_list_insert_sorted_with_data()"));
-
- for (i = 0; i < SIZE; i++) {
- list = g_list_insert_sorted_with_data (list,
- GINT_TO_POINTER (array[i]),
- (GCompareDataFunc)sort,
- NULL);
- }
-
- for (i = 0; i < SIZE - 1; i++) {
- gpointer p1, p2;
-
- p1 = g_list_nth_data (list, i);
- p2 = g_list_nth_data (list, i+1);
-
- g_assert (GPOINTER_TO_INT (p1) <= GPOINTER_TO_INT (p2));
- DEBUG_MSG (("list_insert_sorted_with_data #%3.3d ---> %d", i, GPOINTER_TO_INT (p1)));
- }
-
- g_list_free (list);
-}
-
-static void
-test_list_reverse (void)
-{
- GList *list = NULL;
- GList *st;
- gint nums[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
- gint i;
-
- PRINT_MSG (("testing g_list_reverse()"));
-
- for (i = 0; i < 10; i++) {
- list = g_list_append (list, &nums[i]);
- }
-
- list = g_list_reverse (list);
-
- for (i = 0; i < 10; i++) {
- st = g_list_nth (list, i);
- g_assert (*((gint*) st->data) == (9 - i));
- }
-
- g_list_free (list);
-}
-
-static void
-test_list_nth (void)
-{
- GList *list = NULL;
- GList *st;
- gint nums[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
- gint i;
-
- PRINT_MSG (("testing g_list_nth()"));
-
- for (i = 0; i < 10; i++) {
- list = g_list_append (list, &nums[i]);
- }
-
- for (i = 0; i < 10; i++) {
- st = g_list_nth (list, i);
- g_assert (*((gint*) st->data) == i);
- }
-
- g_list_free (list);
-}
-
-int
-main (int argc, char *argv[])
-{
- gint i;
-
- DEBUG_MSG (("debugging messages turned on"));
-
- DEBUG_MSG (("creating %d random numbers", SIZE));
-
- /* Create an array of random numbers. */
- for (i = 0; i < SIZE; i++) {
- array[i] = g_random_int_range (NUMBER_MIN, NUMBER_MAX);
- DEBUG_MSG (("number #%3.3d ---> %d", i, array[i]));
- }
-
- /* Start tests. */
- test_list_sort ();
- test_list_sort_with_data ();
-
- test_list_insert_sorted ();
- test_list_insert_sorted_with_data ();
-
- test_list_reverse ();
- test_list_nth ();
-
- PRINT_MSG (("testing finished"));
-
- return 0;
-}
+++ /dev/null
-/*
- * Copyright © 2007 Ryan Lortie
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * See the included COPYING file for more information.
- */
-
-#include <string.h>
-#include <glib.h>
-
-static void
-start (GMarkupParseContext *context,
- const char *element_name,
- const char **attribute_names,
- const char **attribute_values,
- gpointer user_data,
- GError **error)
-{
- GString *string = user_data;
- gboolean result;
-
-#define collect(...) \
- g_markup_collect_attributes (element_name, attribute_names, \
- attribute_values, error, __VA_ARGS__, \
- G_MARKUP_COLLECT_INVALID)
-#define BOOL G_MARKUP_COLLECT_BOOLEAN
-#define OPTBOOL G_MARKUP_COLLECT_BOOLEAN | G_MARKUP_COLLECT_OPTIONAL
-#define TRI G_MARKUP_COLLECT_TRISTATE
-#define STR G_MARKUP_COLLECT_STRING
-#define STRDUP G_MARKUP_COLLECT_STRDUP
-#define OPTSTR G_MARKUP_COLLECT_STRING | G_MARKUP_COLLECT_OPTIONAL
-#define OPTDUP G_MARKUP_COLLECT_STRDUP | G_MARKUP_COLLECT_OPTIONAL
-#define n(x) ((x)?(x):"(null)")
-
- if (strcmp (element_name, "bool") == 0)
- {
- gboolean mb = 2, ob = 2, tri = 2;
-
- result = collect (BOOL, "mb", &mb,
- OPTBOOL, "ob", &ob,
- TRI, "tri", &tri);
-
- g_assert (result ||
- (mb == FALSE && ob == FALSE && tri != TRUE && tri != FALSE));
-
- if (tri != FALSE && tri != TRUE)
- tri = -1;
-
- g_string_append_printf (string, "<bool(%d) %d %d %d>",
- result, mb, ob, tri);
- }
-
- else if (strcmp (element_name, "str") == 0)
- {
- const char *cm, *co;
- char *am, *ao;
-
- result = collect (STR, "cm", &cm,
- STRDUP, "am", &am,
- OPTDUP, "ao", &ao,
- OPTSTR, "co", &co);
-
- g_assert (result ||
- (cm == NULL && am == NULL && ao == NULL && co == NULL));
-
- g_string_append_printf (string, "<str(%d) %s %s %s %s>",
- result, n (cm), n (am), n (ao), n (co));
-
- g_free (am);
- g_free (ao);
- }
-}
-
-static GMarkupParser parser = { start };
-
-struct test
-{
- const char *document;
- const char *result;
- GMarkupError error_code;
- const char *error_info;
-};
-
-static struct test tests[] =
-{
- { "<bool mb='y'>", "<bool(1) 1 0 -1>",
- G_MARKUP_ERROR_PARSE, "'bool'" },
-
- { "<bool mb='false'/>", "<bool(1) 0 0 -1>" },
- { "<bool mb='true'/>", "<bool(1) 1 0 -1>" },
- { "<bool mb='t' ob='f' tri='1'/>", "<bool(1) 1 0 1>" },
- { "<bool mb='y' ob='n' tri='0'/>", "<bool(1) 1 0 0>" },
-
- { "<bool ob='y'/>", "<bool(0) 0 0 -1>",
- G_MARKUP_ERROR_MISSING_ATTRIBUTE, "'mb'" },
-
- { "<bool mb='y' mb='y'/>", "<bool(0) 0 0 -1>",
- G_MARKUP_ERROR_INVALID_CONTENT, "'mb'" },
-
- { "<bool mb='y' tri='y' tri='n'/>", "<bool(0) 0 0 -1>",
- G_MARKUP_ERROR_INVALID_CONTENT, "'tri'" },
-
- { "<str cm='x' am='y'/>", "<str(1) x y (null) (null)>" },
-
- { "<str am='x' co='y'/>", "<str(0) (null) (null) (null) (null)>",
- G_MARKUP_ERROR_MISSING_ATTRIBUTE, "'cm'" },
-
- { "<str am='x'/>", "<str(0) (null) (null) (null) (null)>",
- G_MARKUP_ERROR_MISSING_ATTRIBUTE, "'cm'" },
-
- { "<str am='x' cm='x' am='y'/>", "<str(0) (null) (null) (null) (null)>",
- G_MARKUP_ERROR_INVALID_CONTENT, "'am'" },
-
- { "<str am='x' qm='y' cm='x'/>", "<str(0) (null) (null) (null) (null)>",
- G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, "'qm'" },
-
- { "<str am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' cm='x'/>", "<str(0) (null) (null) (null) (null)>",
- G_MARKUP_ERROR_INVALID_CONTENT, "'am'" },
-
- { "<str cm='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x' am='x'/>", "<str(0) (null) (null) (null) (null)>",
- G_MARKUP_ERROR_INVALID_CONTENT, "'am'" },
-
- { "<str a='x' b='x' c='x' d='x' e='x' f='x' g='x' h='x' i='x' j='x' k='x' l='x' m='x' n='x' o='x' p='x' q='x' r='x' s='x' t='x' u='x' v='x' w='x' x='x' y='x' z='x' aa='x' bb='x' cc='x' dd='x' ee='x' ff='x' gg='x' hh='x' ii='x' jj='x' kk='x' ll='x' mm='x' nn='x' oo='x' pp='x' qq='x' rr='x' ss='x' tt='x' uu='x' vv='x' ww='x' xx='x' yy='x' zz='x' am='x' cm='x'/>",
- "<str(0) (null) (null) (null) (null)>",
- G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE, "'a'" },
-
- { "<bool mb='ja'/>", "<bool(0) 0 0 -1>",
- G_MARKUP_ERROR_INVALID_CONTENT, "'mb'" },
-
- { "<bool mb='nein'/>", "<bool(0) 0 0 -1>",
- G_MARKUP_ERROR_INVALID_CONTENT, "'mb'" }
-};
-
-int
-main (int argc, char **argv)
-{
- gboolean verbose = FALSE;
- int i;
-
- if (argc > 1)
- {
- if (argc != 2 || strcmp (argv[1], "-v") != 0)
- {
- g_print ("error: call with no arguments or '-v' for verbose\n");
- return 1;
- }
-
- verbose = TRUE;
- }
-
- for (i = 0; i < G_N_ELEMENTS (tests); i++)
- {
- GMarkupParseContext *ctx;
- GError *error = NULL;
- GString *string;
- gboolean result;
-
- string = g_string_new ("");
- ctx = g_markup_parse_context_new (&parser, 0, string, NULL);
- result = g_markup_parse_context_parse (ctx,
- tests[i].document,
- -1, &error);
- if (result)
- result = g_markup_parse_context_end_parse (ctx, &error);
-
- if (verbose)
- g_print ("%d: %s:\n (error %d, \"%s\")\n %s\n\n",
- i, tests[i].document,
- error ? error->code : 0,
- error ? error->message : "(no error)",
- string->str);
-
- if (result)
- {
- if (error != NULL)
- g_error ("parser successful but error is set: "
- "%s(%d) '%s'", g_quark_to_string (error->domain),
- error->code, error->message);
-
- if (tests[i].error_code != 0)
- g_error ("parser succeeded on test %d ('%s') but "
- "we expected a failure with code %d\n", i,
- tests[i].document, tests[i].error_code);
- }
- else
- {
- if (error->domain != G_MARKUP_ERROR)
- g_error ("error occured on test %d ('%s') but is not in "
- "the GMarkupError domain, but rather '%s'", i,
- tests[i].document, g_quark_to_string (error->domain));
-
- if (error->code != tests[i].error_code)
- g_error ("failure expected with test %d ('%s') but it "
- "has error code %d (we expected code %d)", i,
- tests[i].document, error->code, tests[i].error_code);
-
- if (strstr (error->message, tests[i].error_info) == NULL)
- g_error ("failure message on test %d ('%s') fails "
- "to mention '%s' in the error message", i,
- tests[i].document, tests[i].error_info);
- }
-
- if (strcmp (tests[i].result, string->str) != 0)
- g_error ("result on test %d ('%s') expected to be '%s' "
- "but came out as '%s'", i, tests[i].document,
- tests[i].result, string->str);
-
- g_markup_parse_context_free (ctx);
- g_string_free (string, TRUE);
- g_clear_error (&error);
- }
-
- if (verbose)
- g_print ("\n*** all tests passed ***\n\n");
-
- return 0;
-}
+++ /dev/null
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#include <stdarg.h>
-#include <string.h>
-#include <glib.h>
-
-static void test_format (const gchar *format,
- const gchar *expected, ...) G_GNUC_PRINTF (1, 3);
-
-static gboolean error = FALSE;
-
-static void
-test (const gchar *original,
- const gchar *expected)
-{
- gchar *result = g_markup_escape_text (original, -1);
-
- if (strcmp (result, expected) != 0)
- {
- g_printerr ("g_markup_escape_text(): expected '%s', got '%s'\n",
- expected, result);
- error = TRUE;
- }
-
- g_free (result);
-}
-
-static void
-test_unichar (gunichar c,
- gboolean entity)
-{
- gint len;
- gchar outbuf[7], expected[12];
-
- len = g_unichar_to_utf8 (c, outbuf);
- outbuf[len] = 0;
-
- if (entity)
- g_snprintf (expected, 12, "&#x%x;", c);
- else
- strcpy (expected, outbuf);
-
- test (outbuf, expected);
-}
-
-static void
-test_format (const gchar *format,
- const gchar *expected,
- ...)
-{
- gchar *result;
-
- va_list args;
-
- va_start (args, expected);
- result = g_markup_vprintf_escaped (format, args);
- va_end (args);
-
- if (strcmp (result, expected) != 0)
- {
- g_printerr ("g_markup_printf_escaped(): expected '%s', got '%s'\n",
- expected, result);
- error = TRUE;
- }
-
- g_free (result);
-}
-
-int main (int argc, char **argv)
-{
- /* Tests for g_markup_escape_text() */
- test ("&", "&");
- test ("<", "<");
- test (">", ">");
- test ("'", "'");
- test ("\"", """);
-
- test ("", "");
- test ("A", "A");
- test ("A&", "A&");
- test ("&A", "&A");
- test ("A&A", "A&A");
- test ("&&A", "&&A");
- test ("A&&", "A&&");
- test ("A&&A", "A&&A");
- test ("A&A&A", "A&A&A");
- test ("AA", "A&#23;A");
- test ("A
A", "A&#xa;A");
- test_unichar (0x1, TRUE);
- test_unichar (0x8, TRUE);
- test_unichar (0x9, FALSE);
- test_unichar (0xa, FALSE);
- test_unichar (0xb, TRUE);
- test_unichar (0xc, TRUE);
- test_unichar (0xd, FALSE);
- test_unichar (0xe, TRUE);
- test_unichar (0x1f, TRUE);
- test_unichar (0x20, FALSE);
- test_unichar (0x7e, FALSE);
- test_unichar (0x7f, TRUE);
- test_unichar (0x84, TRUE);
- test_unichar (0x85, FALSE);
- test_unichar (0x86, TRUE);
- test_unichar (0x9f, TRUE);
- test_unichar (0xa0, FALSE);
-
- /* Tests for g_markup_printf_escaped() */
- test_format ("A", "A");
- test_format ("A%s", "A&", "&");
- test_format ("%sA", "&A", "&");
- test_format ("A%sA", "A&A", "&");
- test_format ("%s%sA", "&&A", "&", "&");
- test_format ("A%s%s", "A&&", "&", "&");
- test_format ("A%s%sA", "A&&A", "&", "&");
- test_format ("A%sA%sA", "A&A&A", "&", "&");
-
- test_format ("%s", "<B>&",
- "<B>&");
- test_format ("%c%c", "<&",
- '<', '&');
- test_format (".%c.%c.", ".<.&.",
- '<', '&');
- test_format ("%s", "",
- "");
- test_format ("%-5s", "A ",
- "A");
- test_format ("%2$s%1$s", "B.A.",
- "A.", "B.");
-
- return error ? 1 : 0;
-}
+++ /dev/null
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#include <stdio.h>
-#include <glib.h>
-
-static int depth = 0;
-
-static void
-indent (int extra)
-{
- int i = 0;
- while (i < depth)
- {
- fputs (" ", stdout);
- ++i;
- }
-}
-
-static void
-start_element_handler (GMarkupParseContext *context,
- const gchar *element_name,
- const gchar **attribute_names,
- const gchar **attribute_values,
- gpointer user_data,
- GError **error)
-{
- int i;
-
- indent (0);
- printf ("ELEMENT '%s'\n", element_name);
-
- i = 0;
- while (attribute_names[i] != NULL)
- {
- indent (1);
-
- printf ("%s=\"%s\"\n",
- attribute_names[i],
- attribute_values[i]);
-
- ++i;
- }
-
- ++depth;
-}
-
-static void
-end_element_handler (GMarkupParseContext *context,
- const gchar *element_name,
- gpointer user_data,
- GError **error)
-{
- --depth;
- indent (0);
- printf ("END '%s'\n", element_name);
- }
-
-static void
-text_handler (GMarkupParseContext *context,
- const gchar *text,
- gsize text_len,
- gpointer user_data,
- GError **error)
-{
- indent (0);
- printf ("TEXT '%.*s'\n", (int)text_len, text);
-}
-
-
-static void
-passthrough_handler (GMarkupParseContext *context,
- const gchar *passthrough_text,
- gsize text_len,
- gpointer user_data,
- GError **error)
-{
- indent (0);
-
- printf ("PASS '%.*s'\n", (int)text_len, passthrough_text);
-}
-
-static void
-error_handler (GMarkupParseContext *context,
- GError *error,
- gpointer user_data)
-{
- fprintf (stderr, " %s\n", error->message);
-}
-
-static const GMarkupParser parser = {
- start_element_handler,
- end_element_handler,
- text_handler,
- passthrough_handler,
- error_handler
-};
-
-static const GMarkupParser silent_parser = {
- NULL,
- NULL,
- NULL,
- NULL,
- error_handler
-};
-
-static int
-test_in_chunks (const gchar *contents,
- gint length,
- gint chunk_size)
-{
- GMarkupParseContext *context;
- int i = 0;
-
- context = g_markup_parse_context_new (&silent_parser, 0, NULL, NULL);
-
- while (i < length)
- {
- int this_chunk = MIN (length - i, chunk_size);
-
- if (!g_markup_parse_context_parse (context,
- contents + i,
- this_chunk,
- NULL))
- {
- g_markup_parse_context_free (context);
- return 1;
- }
-
- i += this_chunk;
- }
-
- if (!g_markup_parse_context_end_parse (context, NULL))
- {
- g_markup_parse_context_free (context);
- return 1;
- }
-
- g_markup_parse_context_free (context);
-
- return 0;
-}
-
-static int
-test_file (const gchar *filename)
-{
- gchar *contents;
- gsize length;
- GError *error;
- GMarkupParseContext *context;
-
- error = NULL;
- if (!g_file_get_contents (filename,
- &contents,
- &length,
- &error))
- {
- fprintf (stderr, "%s\n", error->message);
- g_error_free (error);
- return 1;
- }
-
- context = g_markup_parse_context_new (&parser, 0, NULL, NULL);
-
- if (!g_markup_parse_context_parse (context, contents, length, NULL))
- {
- g_markup_parse_context_free (context);
- return 1;
- }
-
- if (!g_markup_parse_context_end_parse (context, NULL))
- {
- g_markup_parse_context_free (context);
- return 1;
- }
-
- g_markup_parse_context_free (context);
-
- /* A byte at a time */
- if (test_in_chunks (contents, length, 1) != 0)
- return 1;
-
- /* 2 bytes */
- if (test_in_chunks (contents, length, 2) != 0)
- return 1;
-
- /*5 bytes */
- if (test_in_chunks (contents, length, 5) != 0)
- return 1;
-
- /* 12 bytes */
- if (test_in_chunks (contents, length, 12) != 0)
- return 1;
-
- /* 1024 bytes */
- if (test_in_chunks (contents, length, 1024) != 0)
- return 1;
-
- return 0;
-}
-
-int
-main (int argc,
- char *argv[])
-{
- if (argc > 1)
- return test_file (argv[1]);
- else
- {
- fprintf (stderr, "Give a markup file on the command line\n");
- return 1;
- }
-}
-
+++ /dev/null
-PASS '<!-- Comment -->'
-PASS '<?PI ?>'
-ELEMENT 'foobar'
- TEXT '
-'
- ELEMENT 'e1'
- TEXT 'Hi & this is some text inside an element Two 'E' chars as character refs: E E and some 'J': J J'
- END 'e1'
- TEXT '
-'
- ELEMENT 'e2:foo'
- TEXT ' Text '
- ELEMENT 'childfree'
- END 'childfree'
- TEXT ' with some '
- ELEMENT 'nested'
- TEXT 'nested elements'
- END 'nested'
- TEXT ' and entities "& < >> ' and whitespace '
- END 'e2:foo'
- TEXT '
-'
- ELEMENT 'tag'
- ab="fo<o"
- bar="foo"
- baz="blah"
- TEXT 'This element has attributes'
- END 'tag'
- TEXT '
-'
- ELEMENT 'nochildren'
- a="b"
- xyz="qrs"
- END 'nochildren'
- TEXT '
-'
-END 'foobar'
+++ /dev/null
-ELEMENT 'foo'
-bar="baz"
-bar2="baz2"
-bar3="baz3"
- TEXT 'data'
-END 'foo'
+++ /dev/null
-ELEMENT 'foo'
- TEXT 'data'
-END 'foo'
+++ /dev/null
-ELEMENT 'foobar'
- TEXT '
-Παν語
-
-This is a list of ways to say hello in various languages. Its purpose is to illustrate a number of scripts.
-
-(Converted into UTF-8)
-
----------------------------------------------------------
-Arabic السلام عليكم
-Czech (česky) Dobrý den
-Danish (Dansk) Hej, Goddag
-English Hello
-Esperanto Saluton
-Estonian Tere, Tervist
-FORTRAN PROGRAM
-Finnish (Suomi) Hei
-French (Français) Bonjour, Salut
-German (Deutsch Nord) Guten Tag
-German (Deutsch Süd) Grüß Gott
-Greek (Ελληνικά) Γειά σας
-Hebrew שלום
-Hindi नमस्ते, नमस्कार।
-Italiano Ciao, Buon giorno
-Maltese Ċaw, Saħħa
-Nederlands, Vlaams Hallo, Dag
-Norwegian (Norsk) Hei, God dag
-Polish Dzień dobry, Hej
-Russian (Русский) Здравствуйте!
-Slovak Dobrý deň
-Spanish (Español) ¡Hola!
-Swedish (Svenska) Hej, Goddag
-Thai (ภาษาไทย) สวัสดีครับ, สวัสดีค่ะ
-Turkish (Türkçe) Merhaba
-Vietnamese (Tiếng Việt) Xin Chào
-Yiddish (ײַדישע) דאָס הײַזעלע
-
-Japanese (日本語) こんにちは, コンニチハ
-Chinese (中文,普通话,汉语) 你好
-Cantonese (粵語,廣東話) 早晨, 你好
-Korean (한글) 안녕하세요, 안녕하십니까
-
-Difference among chinese characters in GB, JIS, KSC, BIG5:
- GB -- 元气 开发
- JIS -- 元気 開発
- KSC -- 元氣 開發
- BIG5 -- 元氣 開發
-
-
-'
-END 'foobar'
+++ /dev/null
-ELEMENT 'foo'
- TEXT '
-'
- ELEMENT 'bar'
- a="1"
- END 'bar'
- TEXT '
-'
- ELEMENT 'bar'
- a="1"
- b="2"
- END 'bar'
- TEXT '
-'
- ELEMENT 'bar'
- a="1"
- b="2"
- c="3"
- END 'bar'
- TEXT '
-'
- ELEMENT 'bar'
- a="1"
- b="2"
- c="3"
- d="4"
- END 'bar'
- TEXT '
-'
- ELEMENT 'bar'
- a="1"
- b="2"
- c="3"
- d="4"
- e="5"
- END 'bar'
- TEXT '
-'
- ELEMENT 'bar'
- a="1"
- b="2"
- c="3"
- d="4"
- e="5"
- f="6"
- END 'bar'
- TEXT '
-'
- ELEMENT 'bar'
- a="1"
- b="2"
- c="3"
- END 'bar'
- TEXT '
-'
- ELEMENT 'bar'
- a="1"
- END 'bar'
- TEXT '
-'
-END 'foo'
+++ /dev/null
-ELEMENT 'foo'
- TEXT '
-'
- ELEMENT 'bar'
- a="1"
- END 'bar'
- TEXT '
-'
- ELEMENT 'bar'
- a="2"
- END 'bar'
- TEXT '
-'
- ELEMENT 'bar'
- a="3""
- END 'bar'
- TEXT '
-'
- ELEMENT 'bar'
- a="4'"
- END 'bar'
- TEXT '
-'
- ELEMENT 'bar'
- a="5''''"
- END 'bar'
- TEXT '
-'
-END 'foo'
+++ /dev/null
-PASS '<?xml version="1.0" ?>'
-ELEMENT 'foo'
- TEXT ''
-END 'foo'
+++ /dev/null
-PASS '<!DOCTYPE foo "foo" [
-<!ELEMENT foo ANY >
-]>'
-ELEMENT 'foo'
- TEXT ''
-END 'foo'
+++ /dev/null
-PASS '<!-- a comment -->'
-ELEMENT 'foo'
- TEXT ''
-END 'foo'
+++ /dev/null
-ELEMENT 'foo'
- TEXT ''
- PASS '<![CDATA[ some <<<<>>>> CDATA ]]>'
- TEXT ''
-END 'foo'
+++ /dev/null
-ELEMENT 'foo'
- TEXT 'data'
-END 'foo'
+++ /dev/null
-<foo>
-</|foo>
\ No newline at end of file
+++ /dev/null
-<foo>
-<bar>
-</foo>
-</bar>
\ No newline at end of file
+++ /dev/null
-</foo>
\ No newline at end of file
+++ /dev/null
-</foo|>
\ No newline at end of file
+++ /dev/null
-<foo>
-<
\ No newline at end of file
+++ /dev/null
-<foo>
-<bar>
-</bar>
\ No newline at end of file
+++ /dev/null
-<foo/
\ No newline at end of file
+++ /dev/null
-<fo
\ No newline at end of file
+++ /dev/null
-<foo bar
\ No newline at end of file
+++ /dev/null
-<foo
\ No newline at end of file
+++ /dev/null
-<foo bar=
\ No newline at end of file
+++ /dev/null
-<foo bar="fdsf
\ No newline at end of file
+++ /dev/null
-<foo>
\ No newline at end of file
+++ /dev/null
-<foo>
-<fo
\ No newline at end of file
+++ /dev/null
-<!-- dfklsjdf;kljsdf;ljk document ends here
\ No newline at end of file
+++ /dev/null
-<? document ending unexpectedly
\ No newline at end of file
+++ /dev/null
-<foo>&;</foo>
\ No newline at end of file
+++ /dev/null
-<foo>&|;</foo>
\ No newline at end of file
+++ /dev/null
-<foo>&am|;</foo>
\ No newline at end of file
+++ /dev/null
-<foo>&bar;</foo>
\ No newline at end of file
+++ /dev/null
-<foobar>
-Παν語
-
-This is a list of ways to say hello in various languages. Its purpose is to illustrate a number of scripts.
-
-(Converted into UTF-8)
-
----------------------------------------------------------
-Arabic السلام عليكم
-Czech (česky) Dobrý den
-Danish (Dansk) Hej, Goddag
-English Hello
-Esperanto Saluton
-Estonian Tere, Tervist
-FORTRAN PROGRAM
-Finnish (Suomi) Hei
-French (Français) Bonjour, Salut
-German (Deutsch Nord) Guten Tag
-German (Deutsch Süd) Grüß Gott
-Greek (Ελληνικά) Γειά σας
-Hebrew שלום
-Hindi नमसà¥\8dतà¥\87, à¨à¤®à¤¸à¥\8dà¤\95ार।
-Italiano Ciao, Buon giorno
-Maltese Ċaw, Saħħa
-Nederlands, Vlaams Hallo, Dag
-Norwegian (Norsk) Hei, God dag
-Polish Dzień dobry, Hej
-Russian (Русский) Здравствуйте!
-Slovak Dobrý deň
-Spanish (Español) ¡Hola!
-Swedish (Svenska) Hej, Goddag
-Thai (ภาษาไทย) สวัสดีครับ, สวัสดีค่ะ
-Turkish (Türkçe) Merhaba
-Vietnamese (Tiếng Việt) Xin Chào
-Yiddish (ײַדישע) דאָס הײַזעלע
-
-Japanese (日本語) こんにちは, コンニチハ
-Chinese (中文,普通话,汉语) 你好
-Cantonese (粵語,廣東話) 早晨, 你好
-Korean (한글) 안녕하세요, 안녕하십니까
-
-Difference among chinese characters in GB, JIS, KSC, BIG5:
- GB -- 元气 开发
- JIS -- 元気 開発
- KSC -- 元氣 開發
- BIG5 -- 元氣 開發
-
-
-</foobar>
\ No newline at end of file
+++ /dev/null
-<foo>&sdfkljsdsdfsdfsdfsdf</foo>
+++ /dev/null
-<foo>�</foo>
\ No newline at end of file
+++ /dev/null
-<foo>�</foo>
+++ /dev/null
-<foo>&#;</foo>
\ No newline at end of file
+++ /dev/null
-<foo>𹋺</foo>
\ No newline at end of file
+++ /dev/null
-<foo>gedit&</foo>
+++ /dev/null
-<foo>�</foo><^$non-carriage-null-fail|>
+++ /dev/null
-<foo>data< /foo>
+++ /dev/null
-<foo>data</ foo>
+++ /dev/null
-foo
\ No newline at end of file
+++ /dev/null
-<bla>&unknownentityname;</bla>
+++ /dev/null
-<|foo>
-</|foo>
+++ /dev/null
-<foo|>
-</foo>
\ No newline at end of file
+++ /dev/null
-<foo bar}"baz">
-</foo>
\ No newline at end of file
+++ /dev/null
-<foo/}>
-</foo>
\ No newline at end of file
+++ /dev/null
-<foo bar={baz">
-</foo>
\ No newline at end of file
+++ /dev/null
- <!-- Comment -->
-<?PI ?>
-<foobar>
-<e1>Hi & this is some text inside an element Two 'E' chars as character refs: E E and some 'J': J J</e1>
-<e2:foo> Text <childfree/> with some <nested>nested elements</nested> and entities "& < >> ' and whitespace </e2:foo>
-<tag ab="fo<o" bar="foo" baz="blah">This element has attributes</tag>
-<nochildren a="b" xyz="qrs"/>
-</foobar>
-
\ No newline at end of file
+++ /dev/null
-<foo
- bar="baz"
-bar2 = "baz2"
-bar3 =
-"baz3"
->data</foo>
+++ /dev/null
-<foo
->data</foo>
+++ /dev/null
-<foobar>
-Παν語
-
-This is a list of ways to say hello in various languages. Its purpose is to illustrate a number of scripts.
-
-(Converted into UTF-8)
-
----------------------------------------------------------
-Arabic السلام عليكم
-Czech (česky) Dobrý den
-Danish (Dansk) Hej, Goddag
-English Hello
-Esperanto Saluton
-Estonian Tere, Tervist
-FORTRAN PROGRAM
-Finnish (Suomi) Hei
-French (Français) Bonjour, Salut
-German (Deutsch Nord) Guten Tag
-German (Deutsch Süd) Grüß Gott
-Greek (Ελληνικά) Γειά σας
-Hebrew שלום
-Hindi नमस्ते, नमस्कार।
-Italiano Ciao, Buon giorno
-Maltese Ċaw, Saħħa
-Nederlands, Vlaams Hallo, Dag
-Norwegian (Norsk) Hei, God dag
-Polish Dzień dobry, Hej
-Russian (Русский) Здравствуйте!
-Slovak Dobrý deň
-Spanish (Español) ¡Hola!
-Swedish (Svenska) Hej, Goddag
-Thai (ภาษาไทย) สวัสดีครับ, สวัสดีค่ะ
-Turkish (Türkçe) Merhaba
-Vietnamese (Tiếng Việt) Xin Chào
-Yiddish (ײַדישע) דאָס הײַזעלע
-
-Japanese (日本語) こんにちは, コンニチハ
-Chinese (中文,普通话,汉语) 你好
-Cantonese (粵語,廣東話) 早晨, 你好
-Korean (한글) 안녕하세요, 안녕하십니까
-
-Difference among chinese characters in GB, JIS, KSC, BIG5:
- GB -- 元气 开发
- JIS -- 元気 開発
- KSC -- 元氣 開發
- BIG5 -- 元氣 開發
-
-
-</foobar>
\ No newline at end of file
+++ /dev/null
-<foo>
-<bar a="1"/>
-<bar a="1" b="2"/>
-<bar a="1" b="2" c="3"/>
-<bar a="1" b="2" c="3" d="4"/>
-<bar a="1" b="2" c="3" d="4" e="5"/>
-<bar a="1" b="2" c="3" d="4" e="5" f="6"/>
-<bar a="1" b="2" c="3"/>
-<bar a="1"/>
-</foo>
+++ /dev/null
-<foo>
-<bar a='1'/>
-<bar a="2"/>
-<bar a='3"'/>
-<bar a="4'"/>
-<bar a="5''''"/>
-</foo>
-
+++ /dev/null
-<?xml version="1.0" ?>
-<foo></foo>
+++ /dev/null
-<!DOCTYPE foo "foo" [
-<!ELEMENT foo ANY >
-]>
-<foo></foo>
+++ /dev/null
-<!-- a comment -->
-<foo></foo>
+++ /dev/null
-<foo><![CDATA[ some <<<<>>>> CDATA ]]></foo>
+++ /dev/null
-<foo>data</foo
->
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#include "glib.h"
-
-int array[10000];
-gboolean failed = FALSE;
-
-#define TEST(m,cond) G_STMT_START { failed = !(cond); \
-if (failed) \
- { if (!m) \
- g_print ("\n(%s:%d) failed for: %s\n", __FILE__, __LINE__, ( # cond )); \
- else \
- g_print ("\n(%s:%d) failed for: %s: (%s)\n", __FILE__, __LINE__, ( # cond ), (gchar*)m); \
- exit(1); \
- } \
-} G_STMT_END
-
-#define C2P(c) ((gpointer) ((long) (c)))
-#define P2C(p) ((gchar) ((long) (p)))
-
-#define GLIB_TEST_STRING "el dorado "
-#define GLIB_TEST_STRING_5 "el do"
-
-typedef struct {
- guint age;
- gchar name[40];
-} GlibTestInfo;
-
-static gboolean
-node_build_string (GNode *node,
- gpointer data)
-{
- gchar **p = data;
- gchar *string;
- gchar c[2] = "_";
-
- c[0] = P2C (node->data);
-
- string = g_strconcat (*p ? *p : "", c, NULL);
- g_free (*p);
- *p = string;
-
- return FALSE;
-}
-
-static void
-g_node_test (void)
-{
- GNode *root;
- GNode *node;
- GNode *node_B;
- GNode *node_D;
- GNode *node_F;
- GNode *node_G;
- GNode *node_J;
- guint i;
- gchar *tstring;
-
- failed = FALSE;
-
- root = g_node_new (C2P ('A'));
- TEST (NULL, g_node_depth (root) == 1 && g_node_max_height (root) == 1);
-
- node_B = g_node_new (C2P ('B'));
- g_node_append (root, node_B);
- TEST (NULL, root->children == node_B);
-
- g_node_append_data (node_B, C2P ('E'));
- g_node_prepend_data (node_B, C2P ('C'));
- node_D = g_node_new (C2P ('D'));
- g_node_insert (node_B, 1, node_D);
-
- node_F = g_node_new (C2P ('F'));
- g_node_append (root, node_F);
- TEST (NULL, root->children->next == node_F);
-
- node_G = g_node_new (C2P ('G'));
- g_node_append (node_F, node_G);
- node_J = g_node_new (C2P ('J'));
- g_node_prepend (node_G, node_J);
- g_node_insert (node_G, 42, g_node_new (C2P ('K')));
- g_node_insert_data (node_G, 0, C2P ('H'));
- g_node_insert (node_G, 1, g_node_new (C2P ('I')));
-
- TEST (NULL, g_node_depth (root) == 1);
- TEST (NULL, g_node_max_height (root) == 4);
- TEST (NULL, g_node_depth (node_G->children->next) == 4);
- TEST (NULL, g_node_n_nodes (root, G_TRAVERSE_LEAFS) == 7);
- TEST (NULL, g_node_n_nodes (root, G_TRAVERSE_NON_LEAFS) == 4);
- TEST (NULL, g_node_n_nodes (root, G_TRAVERSE_ALL) == 11);
- TEST (NULL, g_node_max_height (node_F) == 3);
- TEST (NULL, g_node_n_children (node_G) == 4);
- TEST (NULL, g_node_find_child (root, G_TRAVERSE_ALL, C2P ('F')) == node_F);
- TEST (NULL, g_node_find (root, G_LEVEL_ORDER, G_TRAVERSE_NON_LEAFS, C2P ('I')) == NULL);
- TEST (NULL, g_node_find (root, G_IN_ORDER, G_TRAVERSE_LEAFS, C2P ('J')) == node_J);
-
- for (i = 0; i < g_node_n_children (node_B); i++)
- {
- node = g_node_nth_child (node_B, i);
- TEST (NULL, P2C (node->data) == ('C' + i));
- }
-
- for (i = 0; i < g_node_n_children (node_G); i++)
- TEST (NULL, g_node_child_position (node_G, g_node_nth_child (node_G, i)) == i);
-
- /* we have built: A
- * / \
- * B F
- * / | \ \
- * C D E G
- * / /\ \
- * H I J K
- *
- * for in-order traversal, 'G' is considered to be the "left"
- * child of 'F', which will cause 'F' to be the last node visited.
- */
-
- tstring = NULL;
- g_node_traverse (root, G_PRE_ORDER, G_TRAVERSE_ALL, -1, node_build_string, &tstring);
- TEST (tstring, strcmp (tstring, "ABCDEFGHIJK") == 0);
- g_free (tstring); tstring = NULL;
- g_node_traverse (root, G_POST_ORDER, G_TRAVERSE_ALL, -1, node_build_string, &tstring);
- TEST (tstring, strcmp (tstring, "CDEBHIJKGFA") == 0);
- g_free (tstring); tstring = NULL;
- g_node_traverse (root, G_IN_ORDER, G_TRAVERSE_ALL, -1, node_build_string, &tstring);
- TEST (tstring, strcmp (tstring, "CBDEAHGIJKF") == 0);
- g_free (tstring); tstring = NULL;
- g_node_traverse (root, G_LEVEL_ORDER, G_TRAVERSE_ALL, -1, node_build_string, &tstring);
- TEST (tstring, strcmp (tstring, "ABFCDEGHIJK") == 0);
- g_free (tstring); tstring = NULL;
-
- g_node_traverse (root, G_LEVEL_ORDER, G_TRAVERSE_LEAFS, -1, node_build_string, &tstring);
- TEST (tstring, strcmp (tstring, "CDEHIJK") == 0);
- g_free (tstring); tstring = NULL;
- g_node_traverse (root, G_PRE_ORDER, G_TRAVERSE_NON_LEAFS, -1, node_build_string, &tstring);
- TEST (tstring, strcmp (tstring, "ABFG") == 0);
- g_free (tstring); tstring = NULL;
-
- g_node_reverse_children (node_B);
- g_node_reverse_children (node_G);
-
- g_node_traverse (root, G_LEVEL_ORDER, G_TRAVERSE_ALL, -1, node_build_string, &tstring);
- TEST (tstring, strcmp (tstring, "ABFEDCGKJIH") == 0);
- g_free (tstring); tstring = NULL;
-
- g_node_append (node_D, g_node_new (C2P ('L')));
- g_node_append (node_D, g_node_new (C2P ('M')));
-
- g_node_traverse (root, G_LEVEL_ORDER, G_TRAVERSE_ALL, -1, node_build_string, &tstring);
- TEST (tstring, strcmp (tstring, "ABFEDCGLMKJIH") == 0);
- g_free (tstring); tstring = NULL;
-
- g_node_destroy (root);
-
- /* allocation tests */
-
- root = g_node_new (NULL);
- node = root;
-
- for (i = 0; i < 2048; i++)
- {
- g_node_append (node, g_node_new (NULL));
- if ((i%5) == 4)
- node = node->children->next;
- }
- TEST (NULL, g_node_max_height (root) > 100);
- TEST (NULL, g_node_n_nodes (root, G_TRAVERSE_ALL) == 1 + 2048);
-
- g_node_destroy (root);
-
- if (failed)
- exit(1);
-}
-
-
-int
-main (int argc,
- char *argv[])
-{
- g_node_test ();
-
- return 0;
-}
-
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 2001 Matthias Clasen <matthiasc@poet.de>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#include <string.h>
-#include <glib.h>
-
-static gboolean noisy = FALSE;
-
-static void
-verbose (const gchar *format, ...)
-{
- gchar *msg;
- va_list args;
-
- va_start (args, format);
- msg = g_strdup_vprintf (format, args);
- va_end (args);
-
- if (noisy)
- g_print (msg);
- g_free (msg);
-}
-
-/* keep enum and structure of gpattern.c and patterntest.c in sync */
-typedef enum
-{
- G_MATCH_ALL, /* "*A?A*" */
- G_MATCH_ALL_TAIL, /* "*A?AA" */
- G_MATCH_HEAD, /* "AAAA*" */
- G_MATCH_TAIL, /* "*AAAA" */
- G_MATCH_EXACT, /* "AAAAA" */
- G_MATCH_LAST
-} GMatchType;
-
-struct _GPatternSpec
-{
- GMatchType match_type;
- guint pattern_length;
- guint min_length;
- guint max_length;
- gchar *pattern;
-};
-
-
-static gchar *
-match_type_name (GMatchType match_type)
-{
- switch (match_type)
- {
- case G_MATCH_ALL:
- return "G_MATCH_ALL";
- break;
- case G_MATCH_ALL_TAIL:
- return "G_MATCH_ALL_TAIL";
- break;
- case G_MATCH_HEAD:
- return "G_MATCH_HEAD";
- break;
- case G_MATCH_TAIL:
- return "G_MATCH_TAIL";
- break;
- case G_MATCH_EXACT:
- return "G_MATCH_EXACT";
- break;
- default:
- return "unknown GMatchType";
- break;
- }
-}
-
-static gboolean
-test_compilation (gchar *src,
- GMatchType match_type,
- gchar *pattern,
- guint min)
-{
- GPatternSpec *spec;
-
- verbose ("compiling \"%s\" \t", src);
- spec = g_pattern_spec_new (src);
-
- if (spec->match_type != match_type)
- {
- g_print ("failed \t(match_type: %s, expected %s)\n",
- match_type_name (spec->match_type),
- match_type_name (match_type));
- g_pattern_spec_free (spec);
- return FALSE;
- }
-
- if (strcmp (spec->pattern, pattern) != 0)
- {
- g_print ("failed \t(pattern: \"%s\", expected \"%s\")\n",
- spec->pattern,
- pattern);
- g_pattern_spec_free (spec);
- return FALSE;
- }
-
- if (spec->pattern_length != strlen (spec->pattern))
- {
- g_print ("failed \t(pattern_length: %d, expected %d)\n",
- spec->pattern_length,
- (gint)strlen (spec->pattern));
- g_pattern_spec_free (spec);
- return FALSE;
- }
-
- if (spec->min_length != min)
- {
- g_print ("failed \t(min_length: %d, expected %d)\n",
- spec->min_length,
- min);
- g_pattern_spec_free (spec);
- return FALSE;
- }
-
- verbose ("passed (%s: \"%s\")\n",
- match_type_name (spec->match_type),
- spec->pattern);
-
- g_pattern_spec_free (spec);
-
- return TRUE;
-}
-
-static gboolean
-test_match (gchar *pattern,
- gchar *string,
- gboolean match)
-{
- verbose ("matching \"%s\" against \"%s\" \t", string, pattern);
-
- if (g_pattern_match_simple (pattern, string) != match)
- {
- g_print ("failed \t(unexpected %s)\n", (match ? "mismatch" : "match"));
- return FALSE;
- }
-
- verbose ("passed (%s)\n", match ? "match" : "nomatch");
-
- return TRUE;
-}
-
-static gboolean
-test_equal (gchar *pattern1,
- gchar *pattern2,
- gboolean expected)
-{
- GPatternSpec *p1 = g_pattern_spec_new (pattern1);
- GPatternSpec *p2 = g_pattern_spec_new (pattern2);
- gboolean equal = g_pattern_spec_equal (p1, p2);
-
- verbose ("comparing \"%s\" with \"%s\" \t", pattern1, pattern2);
-
- if (expected != equal)
- {
- g_print ("failed \t{%s, %u, \"%s\"} %s {%s, %u, \"%s\"}\n",
- match_type_name (p1->match_type), p1->pattern_length, p1->pattern,
- expected ? "!=" : "==",
- match_type_name (p2->match_type), p2->pattern_length, p2->pattern);
- }
- else
- verbose ("passed (%s)\n", equal ? "equal" : "unequal");
-
- g_pattern_spec_free (p1);
- g_pattern_spec_free (p2);
-
- return expected == equal;
-}
-
-#define TEST_COMPILATION(src, type, pattern, min) { \
- total++; \
- if (test_compilation (src, type, pattern, min)) \
- passed++; \
- else \
- failed++; \
-}
-
-#define TEST_MATCH(pattern, string, match) { \
- total++; \
- if (test_match (pattern, string, match)) \
- passed++; \
- else \
- failed++; \
-}
-
-#define TEST_EQUAL(pattern1, pattern2, match) { \
- total++; \
- if (test_equal (pattern1, pattern2, match)) \
- passed++; \
- else \
- failed++; \
-}
-
-int
-main (int argc, char** argv)
-{
- gint total = 0;
- gint passed = 0;
- gint failed = 0;
- gint i;
-
- for (i = 1; i < argc; i++)
- if (strcmp ("--noisy", argv[i]) == 0)
- noisy = TRUE;
-
- TEST_COMPILATION("*A?B*", G_MATCH_ALL, "*A?B*", 3);
- TEST_COMPILATION("ABC*DEFGH", G_MATCH_ALL_TAIL, "HGFED*CBA", 8);
- TEST_COMPILATION("ABCDEF*GH", G_MATCH_ALL, "ABCDEF*GH", 8);
- TEST_COMPILATION("ABC**?***??**DEF*GH", G_MATCH_ALL, "ABC*???DEF*GH", 11);
- TEST_COMPILATION("*A?AA", G_MATCH_ALL_TAIL, "AA?A*", 4);
- TEST_COMPILATION("ABCD*", G_MATCH_HEAD, "ABCD", 4);
- TEST_COMPILATION("*ABCD", G_MATCH_TAIL, "ABCD", 4);
- TEST_COMPILATION("ABCDE", G_MATCH_EXACT, "ABCDE", 5);
- TEST_COMPILATION("A?C?E", G_MATCH_ALL, "A?C?E", 5);
- TEST_COMPILATION("*?x", G_MATCH_ALL_TAIL, "x?*", 2);
- TEST_COMPILATION("?*x", G_MATCH_ALL_TAIL, "x?*", 2);
- TEST_COMPILATION("*?*x", G_MATCH_ALL_TAIL, "x?*", 2);
- TEST_COMPILATION("x*??", G_MATCH_ALL_TAIL, "??*x", 3);
-
- TEST_EQUAL("*A?B*", "*A?B*", TRUE);
- TEST_EQUAL("A*BCD", "A*BCD", TRUE);
- TEST_EQUAL("ABCD*", "ABCD****", TRUE);
- TEST_EQUAL("A1*", "A1*", TRUE);
- TEST_EQUAL("*YZ", "*YZ", TRUE);
- TEST_EQUAL("A1x", "A1x", TRUE);
- TEST_EQUAL("AB*CD", "AB**CD", TRUE);
- TEST_EQUAL("AB*?*CD", "AB*?CD", TRUE);
- TEST_EQUAL("AB*?CD", "AB?*CD", TRUE);
- TEST_EQUAL("AB*CD", "AB*?*CD", FALSE);
- TEST_EQUAL("ABC*", "ABC?", FALSE);
-
- TEST_MATCH("*x", "x", TRUE);
- TEST_MATCH("*x", "xx", TRUE);
- TEST_MATCH("*x", "yyyx", TRUE);
- TEST_MATCH("*x", "yyxy", FALSE);
- TEST_MATCH("?x", "x", FALSE);
- TEST_MATCH("?x", "xx", TRUE);
- TEST_MATCH("?x", "yyyx", FALSE);
- TEST_MATCH("?x", "yyxy", FALSE);
- TEST_MATCH("*?x", "xx", TRUE);
- TEST_MATCH("?*x", "xx", TRUE);
- TEST_MATCH("*?x", "x", FALSE);
- TEST_MATCH("?*x", "x", FALSE);
- TEST_MATCH("*?*x", "yx", TRUE);
- TEST_MATCH("*?*x", "xxxx", TRUE);
- TEST_MATCH("x*??", "xyzw", TRUE);
- TEST_MATCH("*x", "\xc3\x84x", TRUE);
- TEST_MATCH("?x", "\xc3\x84x", TRUE);
- TEST_MATCH("??x", "\xc3\x84x", FALSE);
- TEST_MATCH("ab\xc3\xa4\xc3\xb6", "ab\xc3\xa4\xc3\xb6", TRUE);
- TEST_MATCH("ab\xc3\xa4\xc3\xb6", "abao", FALSE);
- TEST_MATCH("ab?\xc3\xb6", "ab\xc3\xa4\xc3\xb6", TRUE);
- TEST_MATCH("ab?\xc3\xb6", "abao", FALSE);
- TEST_MATCH("ab\xc3\xa4?", "ab\xc3\xa4\xc3\xb6", TRUE);
- TEST_MATCH("ab\xc3\xa4?", "abao", FALSE);
- TEST_MATCH("ab??", "ab\xc3\xa4\xc3\xb6", TRUE);
- TEST_MATCH("ab*", "ab\xc3\xa4\xc3\xb6", TRUE);
- TEST_MATCH("ab*\xc3\xb6", "ab\xc3\xa4\xc3\xb6", TRUE);
- TEST_MATCH("ab*\xc3\xb6", "aba\xc3\xb6x\xc3\xb6", TRUE);
- TEST_MATCH("", "abc", FALSE);
-
- TEST_MATCH("", "", TRUE);
- TEST_MATCH("abc", "abc", TRUE);
- TEST_MATCH("*fo1*bar", "yyyfoxfo1bar", TRUE);
- TEST_MATCH("12*fo1g*bar", "12yyyfoxfo1gbar", TRUE);
- TEST_MATCH("__________:*fo1g*bar", "__________:yyyfoxfo1gbar", TRUE);
- TEST_MATCH("*abc*cde", "abcde", FALSE);
- TEST_MATCH("*abc*cde", "abccde", TRUE);
- TEST_MATCH("*abc*cde", "abcxcde", TRUE);
- TEST_MATCH("*abc*?cde", "abccde", FALSE);
- TEST_MATCH("*abc*?cde", "abcxcde", TRUE);
- TEST_MATCH("*abc*def", "abababcdededef", TRUE);
- TEST_MATCH("*abc*def", "abcbcbcdededef", TRUE);
- TEST_MATCH("*acbc*def", "acbcbcbcdededef", TRUE);
- TEST_MATCH("*a?bc*def", "acbcbcbcdededef", TRUE);
- TEST_MATCH("*abc*def", "bcbcbcdefdef", FALSE);
- TEST_MATCH("*abc*def*ghi", "abcbcbcbcbcbcdefefdefdefghi", TRUE);
- TEST_MATCH("*abc*def*ghi", "bcbcbcbcbcbcdefdefdefdefghi", FALSE);
- TEST_MATCH("_1_2_3_4_5_6_7_8_9_0_1_2_3_4_5_*abc*def*ghi", "_1_2_3_4_5_6_7_8_9_0_1_2_3_4_5_abcbcbcbcbcbcdefefdefdefghi", TRUE);
- TEST_MATCH("fooooooo*a*bc", "fooooooo_a_bd_a_bc", TRUE);
-
- verbose ("\n%u tests passed, %u failed\n", passed, failed);
-
- return failed;
-}
-
-
+++ /dev/null
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#include <time.h>
-#include <stdlib.h>
-
-#include <glib.h>
-
-
-static gboolean verbose = FALSE;
-
-
-static void
-check_integrity (GQueue *queue)
-{
- GList *list;
- GList *last;
- GList *links;
- GList *link;
- gint n;
-
- g_assert (queue->length < 4000000000u);
-
- g_assert (g_queue_get_length (queue) == queue->length);
-
- if (!queue->head)
- g_assert (!queue->tail);
- if (!queue->tail)
- g_assert (!queue->head);
-
- n = 0;
- last = NULL;
- for (list = queue->head; list != NULL; list = list->next)
- {
- if (!list->next)
- last = list;
- ++n;
- }
- g_assert (n == queue->length);
- g_assert (last == queue->tail);
-
- n = 0;
- last = NULL;
- for (list = queue->tail; list != NULL; list = list->prev)
- {
- if (!list->prev)
- last = list;
- ++n;
- }
- g_assert (n == queue->length);
- g_assert (last == queue->head);
-
- links = NULL;
- for (list = queue->head; list != NULL; list = list->next)
- links = g_list_prepend (links, list);
-
- link = links;
- for (list = queue->tail; list != NULL; list = list->prev)
- {
- g_assert (list == link->data);
- link = link->next;
- }
- g_list_free (links);
-
- links = NULL;
- for (list = queue->tail; list != NULL; list = list->prev)
- links = g_list_prepend (links, list);
-
- link = links;
- for (list = queue->head; list != NULL; list = list->next)
- {
- g_assert (list == link->data);
- link = link->next;
- }
- g_list_free (links);
-}
-
-static gboolean
-rnd_bool (void)
-{
- return g_random_int_range (0, 2);
-}
-
-static void
-check_max (gpointer elm, gpointer user_data)
-{
- gint *best = user_data;
- gint element = GPOINTER_TO_INT (elm);
-
- if (element > *best)
- *best = element;
-}
-
-static void
-check_min (gpointer elm, gpointer user_data)
-{
- gint *best = user_data;
- gint element = GPOINTER_TO_INT (elm);
-
- if (element < *best)
- *best = element;
-}
-
-static gint
-find_min (GQueue *queue)
-{
- gint min = G_MAXINT;
-
- g_queue_foreach (queue, check_min, &min);
-
- return min;
-}
-
-static gint
-find_max (GQueue *queue)
-{
- gint max = G_MININT;
-
- g_queue_foreach (queue, check_max, &max);
-
- return max;
-}
-
-static void
-delete_elm (gpointer elm, gpointer user_data)
-{
- g_queue_remove ((GQueue *)user_data, elm);
- check_integrity ((GQueue *)user_data);
-}
-
-static void
-delete_all (GQueue *queue)
-{
- g_queue_foreach (queue, delete_elm, queue);
-}
-
-static int
-compare_int (gconstpointer a, gconstpointer b, gpointer data)
-{
- int ai = GPOINTER_TO_INT (a);
- int bi = GPOINTER_TO_INT (b);
-
- if (ai > bi)
- return 1;
- else if (ai == bi)
- return 0;
- else
- return -1;
-}
-
-static gint
-get_random_position (GQueue *queue, gboolean allow_offlist)
-{
- int n;
- enum { OFF_QUEUE, HEAD, TAIL, MIDDLE, LAST } where;
-
- if (allow_offlist)
- where = g_random_int_range (OFF_QUEUE, LAST);
- else
- where = g_random_int_range (HEAD, LAST);
-
- switch (where)
- {
- case OFF_QUEUE:
- n = g_random_int ();
- break;
-
- case HEAD:
- n = 0;
- break;
-
- case TAIL:
- if (allow_offlist)
- n = queue->length;
- else
- n = queue->length - 1;
- break;
-
- case MIDDLE:
- if (queue->length == 0)
- n = 0;
- else
- n = g_random_int_range (0, queue->length);
- break;
-
- default:
- g_assert_not_reached();
- n = 100;
- break;
-
- }
-
- return n;
-}
-
-static void
-random_test (int seed)
-{
- typedef enum {
- IS_EMPTY, GET_LENGTH, REVERSE, COPY,
- FOREACH, FIND, FIND_CUSTOM, SORT,
- PUSH_HEAD, PUSH_TAIL, PUSH_NTH, POP_HEAD,
- POP_TAIL, POP_NTH, PEEK_HEAD, PEEK_TAIL,
- PEEK_NTH, INDEX, REMOVE, REMOVE_ALL,
- INSERT_BEFORE, INSERT_AFTER, INSERT_SORTED, PUSH_HEAD_LINK,
- PUSH_TAIL_LINK, PUSH_NTH_LINK, POP_HEAD_LINK, POP_TAIL_LINK,
- POP_NTH_LINK, PEEK_HEAD_LINK, PEEK_TAIL_LINK, PEEK_NTH_LINK,
- LINK_INDEX, UNLINK, DELETE_LINK, LAST_OP
- } QueueOp;
-
-#define N_ITERATIONS 500000
-#define N_QUEUES 3
-
-#define RANDOM_QUEUE() &(queues[g_random_int_range(0, N_QUEUES)])
-
- typedef struct QueueInfo QueueInfo;
- struct QueueInfo
- {
- GQueue *queue;
- GList *tail;
- GList *head;
- guint length;
- };
-
- gint i;
- QueueOp op;
- QueueInfo queues[N_QUEUES];
-
- if (verbose)
- g_print ("seed: %d\n", seed);
-
- g_random_set_seed (seed);
-
- for (i = 0; i < N_QUEUES; ++i)
- {
- queues[i].queue = g_queue_new ();
- queues[i].head = NULL;
- queues[i].tail = NULL;
- queues[i].length = 0;
- }
-
- for (i = 0; i < N_ITERATIONS; ++i)
- {
- int j;
- QueueInfo *qinf = RANDOM_QUEUE();
- GQueue *q = qinf->queue;
- op = g_random_int_range (IS_EMPTY, LAST_OP);
-
- g_assert (qinf->head == q->head);
- g_assert (qinf->tail == q->tail);
- g_assert (qinf->length == q->length);
-
- switch (op)
- {
- case IS_EMPTY:
- {
- if (g_queue_is_empty (qinf->queue))
- {
- g_assert (q->head == NULL);
- g_assert (q->tail == NULL);
- g_assert (q->length == 0);
- }
- else
- {
- g_assert (q->head);
- g_assert (q->tail);
- g_assert (q->length > 0);
- }
- }
- break;
- case GET_LENGTH:
- {
- int l;
-
- l = g_queue_get_length (q);
-
- g_assert (qinf->length == q->length);
- g_assert (qinf->length == l);
- }
- break;
- case REVERSE:
- g_queue_reverse (q);
- g_assert (qinf->tail == q->head);
- g_assert (qinf->head == q->tail);
- g_assert (qinf->length == q->length);
- qinf->tail = q->tail;
- qinf->head = q->head;
- break;
- case COPY:
- {
- QueueInfo *random_queue = RANDOM_QUEUE();
- GQueue *new_queue = g_queue_copy (random_queue->queue);
-
- g_queue_free (qinf->queue);
- q = qinf->queue = new_queue;
- qinf->head = new_queue->head;
- qinf->tail = g_list_last (new_queue->head);
- qinf->length = new_queue->length;
- }
- break;
- case FOREACH:
- delete_all (q);
- qinf->head = NULL;
- qinf->tail = NULL;
- qinf->length = 0;
- break;
- case FIND:
- {
- gboolean find_existing = rnd_bool ();
- int first = find_max (q);
- int second = find_min (q);
-
- if (q->length == 0)
- find_existing = FALSE;
-
- if (!find_existing)
- first++;
- if (!find_existing)
- second--;
-
- if (find_existing)
- {
- g_assert (g_queue_find (q, GINT_TO_POINTER (first)));
- g_assert (g_queue_find (q, GINT_TO_POINTER (second)));
- }
- else
- {
- g_assert (!g_queue_find (q, GINT_TO_POINTER (first)));
- g_assert (!g_queue_find (q, GINT_TO_POINTER (second)));
- }
- }
- break;
- case FIND_CUSTOM:
- break;
- case SORT:
- {
- if (!g_queue_is_empty (q))
- {
- int max = find_max (q);
- int min = find_min (q);
- g_queue_remove_all (q, GINT_TO_POINTER (max));
- check_integrity (q);
- g_queue_remove_all (q, GINT_TO_POINTER (min));
- check_integrity (q);
- g_queue_push_head (q, GINT_TO_POINTER (max));
- if (max != min)
- g_queue_push_head (q, GINT_TO_POINTER (min));
- qinf->length = q->length;
- }
-
- check_integrity (q);
-
- g_queue_sort (q, compare_int, NULL);
-
- check_integrity (q);
-
- qinf->head = g_queue_find (q, GINT_TO_POINTER (find_min(q)));
- qinf->tail = g_queue_find (q, GINT_TO_POINTER (find_max(q)));
-
- g_assert (qinf->tail == q->tail);
- }
- break;
- case PUSH_HEAD:
- {
- int x = g_random_int_range (0, 435435);
- g_queue_push_head (q, GINT_TO_POINTER (x));
- if (!qinf->head)
- qinf->tail = qinf->head = q->head;
- else
- qinf->head = qinf->head->prev;
- qinf->length++;
- }
- break;
- case PUSH_TAIL:
- {
- int x = g_random_int_range (0, 236546);
- g_queue_push_tail (q, GINT_TO_POINTER (x));
- if (!qinf->tail)
- qinf->tail = qinf->head = q->head;
- else
- qinf->tail = qinf->tail->next;
- qinf->length++;
- }
- break;
- case PUSH_NTH:
- {
- int pos = get_random_position (q, TRUE);
- int x = g_random_int_range (0, 236546);
- g_queue_push_nth (q, GINT_TO_POINTER (x), pos);
- if (qinf->head && qinf->head->prev)
- qinf->head = qinf->head->prev;
- else
- qinf->head = q->head;
- if (qinf->tail && qinf->tail->next)
- qinf->tail = qinf->tail->next;
- else
- qinf->tail = g_list_last (qinf->head);
- qinf->length++;
- }
- break;
- case POP_HEAD:
- if (qinf->head)
- qinf->head = qinf->head->next;
- if (!qinf->head)
- qinf->tail = NULL;
- qinf->length = (qinf->length == 0)? 0 : qinf->length - 1;
- g_queue_pop_head (q);
- break;
- case POP_TAIL:
- if (qinf->tail)
- qinf->tail = qinf->tail->prev;
- if (!qinf->tail)
- qinf->head = NULL;
- qinf->length = (qinf->length == 0)? 0 : qinf->length - 1;
- g_queue_pop_tail (q);
- break;
- case POP_NTH:
- if (!g_queue_is_empty (q))
- {
- int n = get_random_position (q, TRUE);
- gpointer elm = g_queue_peek_nth (q, n);
-
- if (n == q->length - 1)
- qinf->tail = qinf->tail->prev;
-
- if (n == 0)
- qinf->head = qinf->head->next;
-
- if (n >= 0 && n < q->length)
- qinf->length--;
-
- g_assert (elm == g_queue_pop_nth (q, n));
- }
- break;
- case PEEK_HEAD:
- if (qinf->head)
- g_assert (qinf->head->data == g_queue_peek_head (q));
- else
- g_assert (g_queue_peek_head (q) == NULL);
- break;
- case PEEK_TAIL:
- if (qinf->head)
- g_assert (qinf->tail->data == g_queue_peek_tail (q));
- else
- g_assert (g_queue_peek_tail (q) == NULL);
- break;
- case PEEK_NTH:
- if (g_queue_is_empty (q))
- {
- for (j = -10; j < 10; ++j)
- g_assert (g_queue_peek_nth (q, j) == NULL);
- }
- else
- {
- GList *list;
- int n = get_random_position (q, TRUE);
- if (n < 0 || n >= q->length)
- {
- g_assert (g_queue_peek_nth (q, n) == NULL);
- }
- else
- {
- list = qinf->head;
- for (j = 0; j < n; ++j)
- list = list->next;
-
- g_assert (list->data == g_queue_peek_nth (q, n));
- }
- }
- break;
- case INDEX:
- case LINK_INDEX:
- {
- int x = g_random_int_range (0, 386538);
- int n;
- GList *list;
-
- g_queue_remove_all (q, GINT_TO_POINTER (x));
- check_integrity (q);
- g_queue_push_tail (q, GINT_TO_POINTER (x));
- check_integrity (q);
- g_queue_sort (q, compare_int, NULL);
- check_integrity (q);
-
- n = 0;
- for (list = q->head; list != NULL; list = list->next)
- {
- if (list->data == GINT_TO_POINTER (x))
- break;
- n++;
- }
- g_assert (list);
- g_assert (g_queue_index (q, GINT_TO_POINTER (x)) ==
- g_queue_link_index (q, list));
- g_assert (g_queue_link_index (q, list) == n);
-
- qinf->head = q->head;
- qinf->tail = q->tail;
- qinf->length = q->length;
- }
- break;
- case REMOVE:
- if (!g_queue_is_empty (q))
- g_queue_remove (q, qinf->tail->data);
- if (!g_queue_is_empty (q))
- g_queue_remove (q, qinf->head->data);
- if (!g_queue_is_empty (q))
- g_queue_remove (q, g_queue_peek_nth (q, get_random_position (q, TRUE)));
-
- qinf->head = q->head;
- qinf->tail = q->tail;
- qinf->length = q->length;
- break;
- case REMOVE_ALL:
- if (!g_queue_is_empty (q))
- g_queue_remove_all (q, qinf->tail->data);
- if (!g_queue_is_empty (q))
- g_queue_remove_all (q, qinf->head->data);
- if (!g_queue_is_empty (q))
- g_queue_remove_all (q, g_queue_peek_nth (q, get_random_position (q, TRUE)));
-
- qinf->head = q->head;
- qinf->tail = q->tail;
- qinf->length = q->length;
- break;
- case INSERT_BEFORE:
- if (!g_queue_is_empty (q))
- {
- gpointer x = GINT_TO_POINTER (g_random_int_range (0, 386538));
-
- g_queue_insert_before (q, qinf->tail, x);
- g_queue_insert_before (q, qinf->head, x);
- g_queue_insert_before (q, g_queue_find (q, x), x);
- }
- qinf->head = q->head;
- qinf->tail = q->tail;
- qinf->length = q->length;
- break;
- case INSERT_AFTER:
- if (!g_queue_is_empty (q))
- {
- gpointer x = GINT_TO_POINTER (g_random_int_range (0, 386538));
-
- g_queue_insert_after (q, qinf->tail, x);
- g_queue_insert_after (q, qinf->head, x);
- g_queue_insert_after (q, g_queue_find (q, x), x);
- }
- qinf->head = q->head;
- qinf->tail = q->tail;
- qinf->length = q->length;
- break;
- case INSERT_SORTED:
- {
- int max = find_max (q);
- int min = find_min (q);
-
- if (g_queue_is_empty (q))
- {
- max = 345;
- min = -12;
- }
-
- g_queue_sort (q, compare_int, NULL);
- check_integrity (q);
- g_queue_insert_sorted (q, GINT_TO_POINTER (max + 1), compare_int, NULL);
- check_integrity (q);
- g_assert (GPOINTER_TO_INT (q->tail->data) == max + 1);
- g_queue_insert_sorted (q, GINT_TO_POINTER (min - 1), compare_int, NULL);
- check_integrity (q);
- g_assert (GPOINTER_TO_INT (q->head->data) == min - 1);
- qinf->head = q->head;
- qinf->tail = q->tail;
- qinf->length = q->length;
- }
- break;
- case PUSH_HEAD_LINK:
- {
- GList *link = g_list_prepend (NULL, GINT_TO_POINTER (i));
- g_queue_push_head_link (q, link);
- if (!qinf->tail)
- qinf->tail = link;
- qinf->head = link;
- qinf->length++;
- }
- break;
- case PUSH_TAIL_LINK:
- {
- GList *link = g_list_prepend (NULL, GINT_TO_POINTER (i));
- g_queue_push_tail_link (q, link);
- if (!qinf->head)
- qinf->head = link;
- qinf->tail = link;
- qinf->length++;
- }
- break;
- case PUSH_NTH_LINK:
- {
- GList *link = g_list_prepend (NULL, GINT_TO_POINTER (i));
- gint n = get_random_position (q, TRUE);
- g_queue_push_nth_link (q, n, link);
-
- if (qinf->head && qinf->head->prev)
- qinf->head = qinf->head->prev;
- else
- qinf->head = q->head;
- if (qinf->tail && qinf->tail->next)
- qinf->tail = qinf->tail->next;
- else
- qinf->tail = g_list_last (qinf->head);
- qinf->length++;
- }
- break;
- case POP_HEAD_LINK:
- if (!g_queue_is_empty (q))
- {
- qinf->head = qinf->head->next;
- if (!qinf->head)
- qinf->tail = NULL;
- qinf->length--;
- g_list_free (g_queue_pop_head_link (q));
- }
- break;
- case POP_TAIL_LINK:
- if (!g_queue_is_empty (q))
- {
- qinf->tail = qinf->tail->prev;
- if (!qinf->tail)
- qinf->head = NULL;
- qinf->length--;
- g_list_free (g_queue_pop_tail_link (q));
- }
- break;
- case POP_NTH_LINK:
- if (g_queue_is_empty (q))
- g_assert (g_queue_pop_nth_link (q, 200) == NULL);
- else
- {
- int n = get_random_position (q, FALSE);
-
- if (n == g_queue_get_length (q) - 1)
- qinf->tail = qinf->tail->prev;
-
- if (n == 0)
- qinf->head = qinf->head->next;
-
- qinf->length--;
-
- g_list_free (g_queue_pop_nth_link (q, n));
- }
- break;
- case PEEK_HEAD_LINK:
- if (g_queue_is_empty (q))
- g_assert (g_queue_peek_head_link (q) == NULL);
- else
- g_assert (g_queue_peek_head_link (q) == qinf->head);
- break;
- case PEEK_TAIL_LINK:
- if (g_queue_is_empty (q))
- g_assert (g_queue_peek_tail_link (q) == NULL);
- else
- g_assert (g_queue_peek_tail_link (q) == qinf->tail);
- break;
- case PEEK_NTH_LINK:
- if (g_queue_is_empty(q))
- g_assert (g_queue_peek_nth_link (q, 1000) == NULL);
- else
- {
- gint n = get_random_position (q, FALSE);
- GList *link;
-
- link = q->head;
- for (j = 0; j < n; ++j)
- link = link->next;
-
- g_assert (g_queue_peek_nth_link (q, n) == link);
- }
- break;
- case UNLINK:
- if (!g_queue_is_empty (q))
- {
- gint n = g_random_int_range (0, g_queue_get_length (q));
- GList *link;
-
- link = q->head;
- for (j = 0; j < n; ++j)
- link = link->next;
-
- g_queue_unlink (q, link);
- check_integrity (q);
-
- g_list_free (link);
-
- qinf->head = q->head;
- qinf->tail = q->tail;
- qinf->length--;
- }
- break;
- case DELETE_LINK:
- if (!g_queue_is_empty (q))
- {
- gint n = g_random_int_range (0, g_queue_get_length (q));
- GList *link;
-
- link = q->head;
- for (j = 0; j < n; ++j)
- link = link->next;
-
- g_queue_delete_link (q, link);
- check_integrity (q);
-
- qinf->head = q->head;
- qinf->tail = q->tail;
- qinf->length--;
- }
- break;
- case LAST_OP:
- default:
- g_assert_not_reached();
- break;
- }
-
- if (qinf->head != q->head ||
- qinf->tail != q->tail ||
- qinf->length != q->length)
- g_print ("op: %d\n", op);
-
- g_assert (qinf->head == q->head);
- g_assert (qinf->tail == q->tail);
- g_assert (qinf->length == q->length);
-
- for (j = 0; j < N_QUEUES; ++j)
- check_integrity (queues[j].queue);
- }
-
- for (i = 0; i < N_QUEUES; ++i)
- g_queue_free (queues[i].queue);
-}
-
-static void
-remove_item (gpointer data, gpointer q)
-{
- GQueue *queue = q;
-
- g_queue_remove (queue, data);
-}
-
-int main(int argc, gchar *args[])
-{
- GQueue *q, *q2;
- GList *node;
- gpointer data;
- int i;
-
- if (argc > 1 && args[1][0] == '-' && args[1][1] == 'v')
- verbose = TRUE;
-
- q = g_queue_new ();
-
- g_assert (g_queue_is_empty (q) == TRUE);
-
- g_queue_push_head (q, GINT_TO_POINTER (2));
- check_integrity (q);
- g_assert (g_queue_peek_head (q) == GINT_TO_POINTER (2));
- check_integrity (q);
- g_assert (g_queue_is_empty (q) == FALSE);
- check_integrity (q);
- g_assert (g_list_length (q->head) == 1);
- g_assert (q->head == q->tail);
- g_queue_push_head (q, GINT_TO_POINTER (1));
- check_integrity (q);
- g_assert (q->head->next == q->tail);
- g_assert (q->tail->prev == q->head);
- g_assert (g_list_length (q->head) == 2);
- check_integrity (q);
- g_assert (q->tail->data == GINT_TO_POINTER (2));
- g_assert (q->head->data == GINT_TO_POINTER (1));
- check_integrity (q);
- g_queue_push_tail (q, GINT_TO_POINTER (3));
- g_assert (g_list_length (q->head) == 3);
- g_assert (q->head->data == GINT_TO_POINTER (1));
- g_assert (q->head->next->data == GINT_TO_POINTER (2));
- g_assert (q->head->next->next == q->tail);
- g_assert (q->head->next == q->tail->prev);
- g_assert (q->tail->data == GINT_TO_POINTER (3));
- g_queue_push_tail (q, GINT_TO_POINTER (4));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 4);
- g_assert (q->head->data == GINT_TO_POINTER (1));
- g_assert (g_queue_peek_tail (q) == GINT_TO_POINTER (4));
- g_queue_push_tail (q, GINT_TO_POINTER (5));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 5);
-
- g_assert (g_queue_is_empty (q) == FALSE);
- check_integrity (q);
-
- g_assert (q->length == 5);
- g_assert (q->head->prev == NULL);
- g_assert (q->head->data == GINT_TO_POINTER (1));
- g_assert (q->head->next->data == GINT_TO_POINTER (2));
- g_assert (q->head->next->next->data == GINT_TO_POINTER (3));
- g_assert (q->head->next->next->next->data == GINT_TO_POINTER (4));
- g_assert (q->head->next->next->next->next->data == GINT_TO_POINTER (5));
- g_assert (q->head->next->next->next->next->next == NULL);
- g_assert (q->head->next->next->next->next == q->tail);
- g_assert (q->tail->data == GINT_TO_POINTER (5));
- g_assert (q->tail->prev->data == GINT_TO_POINTER (4));
- g_assert (q->tail->prev->prev->data == GINT_TO_POINTER (3));
- g_assert (q->tail->prev->prev->prev->data == GINT_TO_POINTER (2));
- g_assert (q->tail->prev->prev->prev->prev->data == GINT_TO_POINTER (1));
- g_assert (q->tail->prev->prev->prev->prev->prev == NULL);
- g_assert (q->tail->prev->prev->prev->prev == q->head);
- g_assert (g_queue_peek_tail (q) == GINT_TO_POINTER (5));
- g_assert (g_queue_peek_head (q) == GINT_TO_POINTER (1));
-
- g_assert (g_queue_pop_head (q) == GINT_TO_POINTER (1));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 4 && q->length == 4);
- g_assert (g_queue_pop_tail (q) == GINT_TO_POINTER (5));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 3);
- g_assert (g_queue_pop_head_link (q)->data == GINT_TO_POINTER (2));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 2);
- g_assert (g_queue_pop_tail (q) == GINT_TO_POINTER (4));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 1);
- g_assert (g_queue_pop_head_link (q)->data == GINT_TO_POINTER (3));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 0);
- g_assert (g_queue_pop_tail (q) == NULL);
- check_integrity (q);
- g_assert (g_list_length (q->head) == 0);
- g_assert (g_queue_pop_head (q) == NULL);
- check_integrity (q);
- g_assert (g_list_length (q->head) == 0);
-
- g_assert (g_queue_is_empty (q) == TRUE);
- check_integrity (q);
-
- /************************/
-
- g_queue_push_head (q, GINT_TO_POINTER (1));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 1 && 1 == q->length);
- g_queue_push_head (q, GINT_TO_POINTER (2));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 2 && 2 == q->length);
- g_queue_push_head (q, GINT_TO_POINTER (3));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 3 && 3 == q->length);
- g_queue_push_head (q, GINT_TO_POINTER (4));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 4 && 4 == q->length);
- g_queue_push_head (q, GINT_TO_POINTER (5));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 5 && 5 == q->length);
-
- g_assert (g_queue_pop_head (q) == GINT_TO_POINTER (5));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 4);
- node = q->tail;
- g_assert (node == g_queue_pop_tail_link (q));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 3);
- data = q->head->data;
- g_assert (data == g_queue_pop_head (q));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 2);
- g_assert (g_queue_pop_tail (q) == GINT_TO_POINTER (2));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 1);
- g_assert (q->head == q->tail);
- g_assert (g_queue_pop_tail (q) == GINT_TO_POINTER (3));
- check_integrity (q);
- g_assert (g_list_length (q->head) == 0);
- g_assert (g_queue_pop_head (q) == NULL);
- check_integrity (q);
- g_assert (g_queue_pop_head_link (q) == NULL);
- check_integrity (q);
- g_assert (g_list_length (q->head) == 0);
- g_assert (g_queue_pop_tail_link (q) == NULL);
- check_integrity (q);
- g_assert (g_list_length (q->head) == 0);
-
- /* */
- g_queue_reverse (q);
- check_integrity (q);
- g_assert (g_list_length (q->head) == 0);
-
- q2 = g_queue_copy (q);
- check_integrity (q);
- check_integrity (q2);
- g_assert (g_list_length (q->head) == 0);
- g_assert (g_list_length (q2->head) == 0);
- g_queue_sort (q, compare_int, NULL);
- check_integrity (q2);
- check_integrity (q);
- g_queue_sort (q2, compare_int, NULL);
- check_integrity (q2);
- check_integrity (q);
-
- for (i = 0; i < 200; ++i)
- {
- g_queue_push_nth (q, GINT_TO_POINTER (i), i);
- g_assert (g_queue_find (q, GINT_TO_POINTER (i)));
- check_integrity (q);
- check_integrity (q2);
- }
-
- for (i = 0; i < 200; ++i)
- {
- g_queue_remove (q, GINT_TO_POINTER (i));
- check_integrity (q);
- check_integrity (q2);
- }
-
- for (i = 0; i < 200; ++i)
- {
- GList *l = g_list_prepend (NULL, GINT_TO_POINTER (i));
-
- g_queue_push_nth_link (q, i, l);
- check_integrity (q);
- check_integrity (q2);
- g_queue_reverse (q);
- check_integrity (q);
- check_integrity (q2);
- }
-
- g_queue_free (q2);
- q2 = g_queue_copy (q);
-
- g_queue_foreach (q2, remove_item, q2);
- check_integrity (q2);
- check_integrity (q);
-
- /* some checks for off by one errors */
- g_queue_push_tail (q, GINT_TO_POINTER (1234));
- check_integrity (q);
- node = g_queue_peek_tail_link (q);
- g_assert (node != NULL && node->data == GINT_TO_POINTER (1234));
- node = g_queue_peek_nth_link (q, g_queue_get_length (q));
- g_assert (node == NULL);
- node = g_queue_peek_nth_link (q, g_queue_get_length (q) - 1);
- g_assert (node->data == GINT_TO_POINTER (1234));
- node = g_queue_pop_nth_link (q, g_queue_get_length (q));
- g_assert (node == NULL);
- node = g_queue_pop_nth_link (q, g_queue_get_length (q) - 1);
- g_assert (node != NULL && node->data == GINT_TO_POINTER (1234));
-
- g_queue_free (q);
-
- if (argc > 2 && args[1][0] == '-' && args[1][1] == 'v')
- random_test (strtol (args[2], NULL, 0));
- if (argc > 1)
- random_test (strtol (args[1], NULL, 0));
- else
- random_test (time (0));
-
- return 0;
-}
-
+++ /dev/null
-/*
- * Copyright (C) 2005 - 2006, Marco Barisione <marco@barisione.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#include "config.h"
-
-#include <string.h>
-#include <locale.h>
-#include "glib.h"
-
-#ifdef ENABLE_REGEX
-
-/* U+20AC EURO SIGN (symbol, currency) */
-#define EURO "\xe2\x82\xac"
-/* U+00E0 LATIN SMALL LETTER A WITH GRAVE (letter, lowercase) */
-#define AGRAVE "\xc3\xa0"
-/* U+00C0 LATIN CAPITAL LETTER A WITH GRAVE (letter, uppercase) */
-#define AGRAVE_UPPER "\xc3\x80"
-/* U+00E8 LATIN SMALL LETTER E WITH GRAVE (letter, lowercase) */
-#define EGRAVE "\xc3\xa8"
-/* U+00F2 LATIN SMALL LETTER O WITH GRAVE (letter, lowercase) */
-#define OGRAVE "\xc3\xb2"
-/* U+014B LATIN SMALL LETTER ENG (letter, lowercase) */
-#define ENG "\xc5\x8b"
-/* U+0127 LATIN SMALL LETTER H WITH STROKE (letter, lowercase) */
-#define HSTROKE "\xc4\xa7"
-/* U+0634 ARABIC LETTER SHEEN (letter, other) */
-#define SHEEN "\xd8\xb4"
-/* U+1374 ETHIOPIC NUMBER THIRTY (number, other) */
-#define ETH30 "\xe1\x8d\xb4"
-
-/* A random value use to mark untouched integer variables. */
-#define UNTOUCHED -559038737
-
-static gboolean noisy = FALSE;
-static gboolean abort_on_fail = FALSE;
-
-#define PASS passed++
-#define FAIL \
- G_STMT_START \
- { \
- failed++; \
- if (abort_on_fail) \
- goto end; \
- } \
- G_STMT_END
-
-/* A replacement for strcmp that doesn't crash with null pointers. */
-static gboolean
-streq (const gchar *s1, const gchar *s2)
-{
- if (s1 == NULL && s2 == NULL)
- return TRUE;
- else if (s1 == NULL)
- return FALSE;
- else if (s2 == NULL)
- return FALSE;
- else
- return strcmp (s1, s2) == 0;
-}
-
-static void
-verbose (const gchar *format, ...)
-{
- /* Function copied from glib/tests/patterntest.c by Matthias Clasen. */
- gchar *msg;
- va_list args;
-
- va_start (args, format);
- msg = g_strdup_vprintf (format, args);
- va_end (args);
-
- if (noisy)
- g_print ("%s", msg);
- g_free (msg);
-}
-
-static gboolean
-test_new (const gchar *pattern,
- GRegexCompileFlags compile_opts,
- GRegexMatchFlags match_opts)
-{
- GRegex *regex;
-
- verbose ("compiling \"%s\" \t", pattern);
-
- regex = g_regex_new (pattern, compile_opts, match_opts, NULL);
- if (regex == NULL)
- {
- g_print ("failed \t(pattern: \"%s\", compile: %d, match %d)\n",
- pattern, compile_opts, match_opts);
- return FALSE;
- }
-
- if (!streq (g_regex_get_pattern (regex), pattern))
- {
- g_print ("failed \t(pattern: \"%s\")\n",
- pattern);
- g_regex_unref (regex);
- return FALSE;
- }
-
- g_regex_unref (regex);
-
- verbose ("passed\n");
- return TRUE;
-}
-
-#define TEST_NEW(pattern, compile_opts, match_opts) { \
- total++; \
- if (test_new (pattern, compile_opts, match_opts)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_new_fail (const gchar *pattern,
- GRegexCompileFlags compile_opts,
- GRegexError expected_error)
-{
- GRegex *regex;
- GError *error = NULL;
-
- verbose ("compiling \"%s\" (expected a failure) \t", pattern);
-
- regex = g_regex_new (pattern, compile_opts, 0, &error);
-
- if (regex != NULL)
- {
- g_print ("failed \t(pattern: \"%s\", compile: %d)\n",
- pattern, compile_opts);
- g_regex_unref (regex);
- return FALSE;
- }
-
- if (error->code != expected_error)
- {
- g_print ("failed \t(pattern: \"%s\", compile: %d, got error: %d, "
- "expected error: %d)\n",
- pattern, compile_opts, error->code, expected_error);
- g_error_free (error);
- return FALSE;
- }
-
- verbose ("passed\n");
- return TRUE;
-}
-
-#define TEST_NEW_FAIL(pattern, compile_opts, expected_error) { \
- total++; \
- if (test_new_fail (pattern, compile_opts, expected_error)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_match_simple (const gchar *pattern,
- const gchar *string,
- GRegexCompileFlags compile_opts,
- GRegexMatchFlags match_opts,
- gboolean expected)
-{
- gboolean match;
-
- verbose ("matching \"%s\" against \"%s\" \t", string, pattern);
-
- match = g_regex_match_simple (pattern, string, compile_opts, match_opts);
- if (match != expected)
- {
- g_print ("failed \t(unexpected %s)\n", match ? "match" : "mismatch");
- return FALSE;
- }
- else
- {
- verbose ("passed (%s)\n", match ? "match" : "nomatch");
- return TRUE;
- }
-}
-
-#define TEST_MATCH_SIMPLE(pattern, string, compile_opts, match_opts, expected) { \
- total++; \
- if (test_match_simple (pattern, string, compile_opts, match_opts, expected)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_match (const gchar *pattern,
- GRegexCompileFlags compile_opts,
- GRegexMatchFlags match_opts,
- const gchar *string,
- gssize string_len,
- gint start_position,
- GRegexMatchFlags match_opts2,
- gboolean expected)
-{
- GRegex *regex;
- gboolean match;
-
- verbose ("matching \"%s\" against \"%s\" (start: %d, len: %d) \t",
- string, pattern, start_position, string_len);
-
- regex = g_regex_new (pattern, compile_opts, match_opts, NULL);
- match = g_regex_match_full (regex, string, string_len,
- start_position, match_opts2, NULL, NULL);
- if (match != expected)
- {
- gchar *e1 = g_strescape (pattern, NULL);
- gchar *e2 = g_strescape (string, NULL);
- g_print ("failed \t(unexpected %s) '%s' against '%s'\n", match ? "match" : "mismatch", e1, e2);
- g_free (e1);
- g_free (e2);
- g_regex_unref (regex);
- return FALSE;
- }
-
- if (string_len == -1 && start_position == 0)
- {
- match = g_regex_match (regex, string, match_opts2, NULL);
- if (match != expected)
- {
- g_print ("failed \t(pattern: \"%s\", string: \"%s\")\n",
- pattern, string);
- g_regex_unref (regex);
- return FALSE;
- }
- }
-
- g_regex_unref (regex);
-
- verbose ("passed (%s)\n", match ? "match" : "nomatch");
- return TRUE;
-}
-
-#define TEST_MATCH(pattern, compile_opts, match_opts, string, \
- string_len, start_position, match_opts2, expected) { \
- total++; \
- if (test_match (pattern, compile_opts, match_opts, string, \
- string_len, start_position, match_opts2, expected)) \
- PASS; \
- else \
- FAIL; \
-}
-
-struct _Match
-{
- gchar *string;
- gint start, end;
-};
-typedef struct _Match Match;
-
-static void
-free_match (gpointer data, gpointer user_data)
-{
- Match *match = data;
- if (match == NULL)
- return;
- g_free (match->string);
- g_free (match);
-}
-
-static gboolean
-test_match_next (const gchar *pattern,
- const gchar *string,
- gssize string_len,
- gint start_position,
- ...)
-{
- GRegex *regex;
- GMatchInfo *match_info;
- va_list args;
- GSList *matches = NULL;
- GSList *expected = NULL;
- GSList *l_exp, *l_match;
- gboolean ret = TRUE;
-
- verbose ("matching \"%s\" against \"%s\" (start: %d, len: %d) \t",
- string, pattern, start_position, string_len);
-
- /* The va_list is a NULL-terminated sequence of: extected matched string,
- * expected start and expected end. */
- va_start (args, start_position);
- while (TRUE)
- {
- Match *match;
- const gchar *expected_string = va_arg (args, const gchar *);
- if (expected_string == NULL)
- break;
- match = g_new0 (Match, 1);
- match->string = g_strdup (expected_string);
- match->start = va_arg (args, gint);
- match->end = va_arg (args, gint);
- expected = g_slist_prepend (expected, match);
- }
- expected = g_slist_reverse (expected);
- va_end (args);
-
- regex = g_regex_new (pattern, 0, 0, NULL);
-
- g_regex_match_full (regex, string, string_len,
- start_position, 0, &match_info, NULL);
- while (g_match_info_matches (match_info))
- {
- Match *match = g_new0 (Match, 1);
- match->string = g_match_info_fetch (match_info, 0);
- match->start = UNTOUCHED;
- match->end = UNTOUCHED;
- g_match_info_fetch_pos (match_info, 0, &match->start, &match->end);
- matches = g_slist_prepend (matches, match);
- g_match_info_next (match_info, NULL);
- }
- g_assert (regex == g_match_info_get_regex (match_info));
- g_assert (string == g_match_info_get_string (match_info));
- g_match_info_free (match_info);
- matches = g_slist_reverse (matches);
-
- if (g_slist_length (matches) != g_slist_length (expected))
- {
- gint match_count = g_slist_length (matches);
- g_print ("failed \t(got %d %s, expected %d)\n", match_count,
- match_count == 1 ? "match" : "matches",
- g_slist_length (expected));
- ret = FALSE;
- goto exit;
- }
-
- l_exp = expected;
- l_match = matches;
- while (l_exp != NULL)
- {
- Match *exp = l_exp->data;
- Match *match = l_match->data;
-
- if (!streq(exp->string, match->string))
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n",
- match->string, exp->string);
- ret = FALSE;
- goto exit;
- }
-
- if (exp->start != match->start || exp->end != match->end)
- {
- g_print ("failed \t(got [%d, %d], expected [%d, %d])\n",
- match->start, match->end, exp->start, exp->end);
- ret = FALSE;
- goto exit;
- }
-
- l_exp = g_slist_next (l_exp);
- l_match = g_slist_next (l_match);
- }
-
-exit:
- if (ret)
- {
- gint count = g_slist_length (matches);
- verbose ("passed (%d %s)\n", count, count == 1 ? "match" : "matches");
- }
-
- g_regex_unref (regex);
- g_slist_foreach (expected, free_match, NULL);
- g_slist_free (expected);
- g_slist_foreach (matches, free_match, NULL);
- g_slist_free (matches);
-
- return ret;
-}
-
-#define TEST_MATCH_NEXT0(pattern, string, string_len, start_position) { \
- total++; \
- if (test_match_next (pattern, string, string_len, start_position, NULL)) \
- PASS; \
- else \
- FAIL; \
-}
-
-#define TEST_MATCH_NEXT1(pattern, string, string_len, start_position, \
- t1, s1, e1) { \
- total++; \
- if (test_match_next (pattern, string, string_len, start_position, \
- t1, s1, e1, NULL)) \
- PASS; \
- else \
- FAIL; \
-}
-
-#define TEST_MATCH_NEXT2(pattern, string, string_len, start_position, \
- t1, s1, e1, t2, s2, e2) { \
- total++; \
- if (test_match_next (pattern, string, string_len, start_position, \
- t1, s1, e1, t2, s2, e2, NULL)) \
- PASS; \
- else \
- FAIL; \
-}
-
-#define TEST_MATCH_NEXT3(pattern, string, string_len, start_position, \
- t1, s1, e1, t2, s2, e2, t3, s3, e3) { \
- total++; \
- if (test_match_next (pattern, string, string_len, start_position, \
- t1, s1, e1, t2, s2, e2, t3, s3, e3, NULL)) \
- PASS; \
- else \
- FAIL; \
-}
-
-#define TEST_MATCH_NEXT4(pattern, string, string_len, start_position, \
- t1, s1, e1, t2, s2, e2, t3, s3, e3, t4, s4, e4) { \
- total++; \
- if (test_match_next (pattern, string, string_len, start_position, \
- t1, s1, e1, t2, s2, e2, t3, s3, e3, t4, s4, e4, NULL)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_match_count (const gchar *pattern,
- const gchar *string,
- gint start_position,
- GRegexMatchFlags match_opts,
- gint expected_count)
-{
- GRegex *regex;
- GMatchInfo *match_info;
- gint count;
-
- verbose ("fetching match count (string: \"%s\", pattern: \"%s\", start: %d) \t",
- string, pattern, start_position);
-
- regex = g_regex_new (pattern, 0, 0, NULL);
-
- g_regex_match_full (regex, string, -1, start_position,
- match_opts, &match_info, NULL);
- count = g_match_info_get_match_count (match_info);
-
- if (count != expected_count)
- {
- g_print ("failed \t(got %d, expected: %d)\n", count, expected_count);
- return FALSE;
- }
-
- g_match_info_free (match_info);
- g_regex_unref (regex);
-
- verbose ("passed\n");
- return TRUE;
-}
-
-#define TEST_MATCH_COUNT(pattern, string, start_position, match_opts, expected_count) { \
- total++; \
- if (test_match_count (pattern, string, start_position, match_opts, expected_count)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_partial (const gchar *pattern,
- const gchar *string,
- gboolean expected)
-{
- GRegex *regex;
- GMatchInfo *match_info;
-
- verbose ("partial matching (string: \"%s\", pattern: \"%s\") \t",
- string, pattern);
-
- regex = g_regex_new (pattern, 0, 0, NULL);
-
- g_regex_match (regex, string, G_REGEX_MATCH_PARTIAL, &match_info);
- if (expected != g_match_info_is_partial_match (match_info))
- {
- g_print ("failed \t(got %d, expected: %d)\n", !expected, expected);
- g_regex_unref (regex);
- return FALSE;
- }
-
- if (expected && g_match_info_fetch_pos (match_info, 0, NULL, NULL))
- {
- g_print ("failed \t(got sub-pattern 0)\n");
- g_regex_unref (regex);
- return FALSE;
- }
-
- if (expected && g_match_info_fetch_pos (match_info, 1, NULL, NULL))
- {
- g_print ("failed \t(got sub-pattern 1)\n");
- g_regex_unref (regex);
- return FALSE;
- }
-
- g_match_info_free (match_info);
- g_regex_unref (regex);
-
- verbose ("passed\n");
- return TRUE;
-}
-
-#define TEST_PARTIAL(pattern, string, expected) { \
- total++; \
- if (test_partial (pattern, string, expected)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_sub_pattern (const gchar *pattern,
- const gchar *string,
- gint start_position,
- gint sub_n,
- const gchar *expected_sub,
- gint expected_start,
- gint expected_end)
-{
- GRegex *regex;
- GMatchInfo *match_info;
- gchar *sub_expr;
- gint start = UNTOUCHED, end = UNTOUCHED;
-
- verbose ("fetching sub-pattern %d from \"%s\" (pattern: \"%s\") \t",
- sub_n, string, pattern);
-
- regex = g_regex_new (pattern, 0, 0, NULL);
- g_regex_match_full (regex, string, -1, start_position, 0, &match_info, NULL);
-
- sub_expr = g_match_info_fetch (match_info, sub_n);
- if (!streq(sub_expr, expected_sub))
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n",
- sub_expr, expected_sub);
- g_free (sub_expr);
- g_regex_unref (regex);
- return FALSE;
- }
- g_free (sub_expr);
-
- g_match_info_fetch_pos (match_info, sub_n, &start, &end);
- if (start != expected_start || end != expected_end)
- {
- g_print ("failed \t(got [%d, %d], expected [%d, %d])\n",
- start, end, expected_start, expected_end);
- g_regex_unref (regex);
- return FALSE;
- }
-
- g_match_info_free (match_info);
- g_regex_unref (regex);
-
- verbose ("passed\n");
- return TRUE;
-}
-
-#define TEST_SUB_PATTERN(pattern, string, start_position, sub_n, expected_sub, \
- expected_start, expected_end) { \
- total++; \
- if (test_sub_pattern (pattern, string, start_position, sub_n, expected_sub, \
- expected_start, expected_end)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_named_sub_pattern (const gchar *pattern,
- GRegexCompileFlags flags,
- const gchar *string,
- gint start_position,
- const gchar *sub_name,
- const gchar *expected_sub,
- gint expected_start,
- gint expected_end)
-{
- GRegex *regex;
- GMatchInfo *match_info;
- gint start = UNTOUCHED, end = UNTOUCHED;
- gchar *sub_expr;
-
- verbose ("fetching sub-pattern \"%s\" from \"%s\" (pattern: \"%s\") \t",
- sub_name, string, pattern);
-
- regex = g_regex_new (pattern, flags, 0, NULL);
-
- g_regex_match_full (regex, string, -1, start_position, 0, &match_info, NULL);
- sub_expr = g_match_info_fetch_named (match_info, sub_name);
- if (!streq (sub_expr, expected_sub))
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n",
- sub_expr, expected_sub);
- g_free (sub_expr);
- g_regex_unref (regex);
- return FALSE;
- }
- g_free (sub_expr);
-
- g_match_info_fetch_named_pos (match_info, sub_name, &start, &end);
- if (start != expected_start || end != expected_end)
- {
- g_print ("failed \t(got [%d, %d], expected [%d, %d])\n",
- start, end, expected_start, expected_end);
- g_regex_unref (regex);
- return FALSE;
- }
-
- g_match_info_free (match_info);
- g_regex_unref (regex);
-
- verbose ("passed\n");
- return TRUE;
-}
-
-#define TEST_NAMED_SUB_PATTERN(pattern, string, start_position, sub_name, \
- expected_sub, expected_start, expected_end) { \
- total++; \
- if (test_named_sub_pattern (pattern, 0, string, start_position, sub_name, \
- expected_sub, expected_start, expected_end)) \
- PASS; \
- else \
- FAIL; \
-}
-
-#define TEST_NAMED_SUB_PATTERN_DUPNAMES(pattern, string, start_position, sub_name, \
- expected_sub, expected_start, expected_end) { \
- total++; \
- if (test_named_sub_pattern (pattern, G_REGEX_DUPNAMES, string, start_position, \
- sub_name, expected_sub, expected_start, expected_end)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_fetch_all (const gchar *pattern,
- const gchar *string,
- ...)
-{
- GRegex *regex;
- GMatchInfo *match_info;
- va_list args;
- GSList *expected = NULL;
- GSList *l_exp;
- gchar **matches;
- gint match_count;
- gboolean ret = TRUE;
- gint i;
-
- verbose ("fetching all sub-patterns from \"%s\" (pattern: \"%s\") \t",
- string, pattern);
-
- /* The va_list is a NULL-terminated sequence of extected strings. */
- va_start (args, string);
- while (TRUE)
- {
- gchar *expected_string = va_arg (args, gchar *);
- if (expected_string == NULL)
- break;
- else
- expected = g_slist_prepend (expected, g_strdup (expected_string));
- }
- expected = g_slist_reverse (expected);
- va_end (args);
-
- regex = g_regex_new (pattern, 0, 0, NULL);
- g_regex_match (regex, string, 0, &match_info);
- matches = g_match_info_fetch_all (match_info);
- if (matches)
- match_count = g_strv_length (matches);
- else
- match_count = 0;
-
- if (match_count != g_slist_length (expected))
- {
- g_print ("failed \t(got %d %s, expected %d)\n", match_count,
- match_count == 1 ? "match" : "matches",
- g_slist_length (expected));
- ret = FALSE;
- goto exit;
- }
-
- l_exp = expected;
- for (i = 0; l_exp != NULL; i++, l_exp = g_slist_next (l_exp))
- {
- if (!streq(l_exp->data, matches [i]))
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n",
- matches [i], (gchar *)l_exp->data);
- ret = FALSE;
- goto exit;
- }
- }
-
- verbose ("passed (%d %s)\n", match_count,
- match_count == 1 ? "match" : "matches");
-
-exit:
- g_match_info_free (match_info);
- g_regex_unref (regex);
- g_slist_foreach (expected, (GFunc)g_free, NULL);
- g_slist_free (expected);
- g_strfreev (matches);
-
- return ret;
-}
-
-#define TEST_FETCH_ALL0(pattern, string) { \
- total++; \
- if (test_fetch_all (pattern, string, NULL)) \
- PASS; \
- else \
- FAIL; \
-}
-
-#define TEST_FETCH_ALL1(pattern, string, e1) { \
- total++; \
- if (test_fetch_all (pattern, string, e1, NULL)) \
- PASS; \
- else \
- FAIL; \
-}
-
-#define TEST_FETCH_ALL2(pattern, string, e1, e2) { \
- total++; \
- if (test_fetch_all (pattern, string, e1, e2, NULL)) \
- PASS; \
- else \
- FAIL; \
-}
-
-#define TEST_FETCH_ALL3(pattern, string, e1, e2, e3) { \
- total++; \
- if (test_fetch_all (pattern, string, e1, e2, e3, NULL)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_split_simple (const gchar *pattern,
- const gchar *string,
- ...)
-{
- va_list args;
- GSList *expected = NULL;
- GSList *l_exp;
- gchar **tokens;
- gint token_count;
- gboolean ret = TRUE;
- gint i;
-
- verbose ("splitting \"%s\" against \"%s\" \t", string, pattern);
-
- /* The va_list is a NULL-terminated sequence of extected strings. */
- va_start (args, string);
- while (TRUE)
- {
- gchar *expected_string = va_arg (args, gchar *);
- if (expected_string == NULL)
- break;
- else
- expected = g_slist_prepend (expected, g_strdup (expected_string));
- }
- expected = g_slist_reverse (expected);
- va_end (args);
-
- tokens = g_regex_split_simple (pattern, string, 0, 0);
- if (tokens)
- token_count = g_strv_length (tokens);
- else
- token_count = 0;
-
- if (token_count != g_slist_length (expected))
- {
- g_print ("failed \t(got %d %s, expected %d)\n", token_count,
- token_count == 1 ? "match" : "matches",
- g_slist_length (expected));
- ret = FALSE;
- goto exit;
- }
-
- l_exp = expected;
- for (i = 0; l_exp != NULL; i++, l_exp = g_slist_next (l_exp))
- {
- if (!streq(l_exp->data, tokens [i]))
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n",
- tokens[i], (gchar *)l_exp->data);
- ret = FALSE;
- goto exit;
- }
- }
-
- verbose ("passed (%d %s)\n", token_count,
- token_count == 1 ? "token" : "tokens");
-
-exit:
- g_slist_foreach (expected, (GFunc)g_free, NULL);
- g_slist_free (expected);
- g_strfreev (tokens);
-
- return ret;
-}
-
-#define TEST_SPLIT_SIMPLE0(pattern, string) { \
- total++; \
- if (test_split_simple (pattern, string, NULL)) \
- PASS; \
- else \
- FAIL; \
-}
-
-#define TEST_SPLIT_SIMPLE1(pattern, string, e1) { \
- total++; \
- if (test_split_simple (pattern, string, e1, NULL)) \
- PASS; \
- else \
- FAIL; \
-}
-
-#define TEST_SPLIT_SIMPLE2(pattern, string, e1, e2) { \
- total++; \
- if (test_split_simple (pattern, string, e1, e2, NULL)) \
- PASS; \
- else \
- FAIL; \
-}
-
-#define TEST_SPLIT_SIMPLE3(pattern, string, e1, e2, e3) { \
- total++; \
- if (test_split_simple (pattern, string, e1, e2, e3, NULL)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_split_full (const gchar *pattern,
- const gchar *string,
- gint start_position,
- gint max_tokens,
- ...)
-{
- GRegex *regex;
- va_list args;
- GSList *expected = NULL;
- GSList *l_exp;
- gchar **tokens;
- gint token_count;
- gboolean ret = TRUE;
- gint i;
-
- verbose ("splitting \"%s\" against \"%s\" (start: %d, max: %d) \t",
- string, pattern, start_position, max_tokens);
-
- /* The va_list is a NULL-terminated sequence of extected strings. */
- va_start (args, max_tokens);
- while (TRUE)
- {
- gchar *expected_string = va_arg (args, gchar *);
- if (expected_string == NULL)
- break;
- else
- expected = g_slist_prepend (expected, g_strdup (expected_string));
- }
- expected = g_slist_reverse (expected);
- va_end (args);
-
- regex = g_regex_new (pattern, 0, 0, NULL);
- tokens = g_regex_split_full (regex, string, -1, start_position,
- 0, max_tokens, NULL);
- if (tokens)
- token_count = g_strv_length (tokens);
- else
- token_count = 0;
-
- if (token_count != g_slist_length (expected))
- {
- g_print ("failed \t(got %d %s, expected %d)\n", token_count,
- token_count == 1 ? "match" : "matches",
- g_slist_length (expected));
- ret = FALSE;
- goto exit;
- }
-
- l_exp = expected;
- for (i = 0; l_exp != NULL; i++, l_exp = g_slist_next (l_exp))
- {
- if (!streq(l_exp->data, tokens [i]))
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n",
- tokens[i], (gchar *)l_exp->data);
- ret = FALSE;
- goto exit;
- }
- }
-
- verbose ("passed (%d %s)\n", token_count,
- token_count == 1 ? "token" : "tokens");
-
-exit:
- g_regex_unref (regex);
- g_slist_foreach (expected, (GFunc)g_free, NULL);
- g_slist_free (expected);
- g_strfreev (tokens);
-
- return ret;
-}
-
-static gboolean
-test_split (const gchar *pattern,
- const gchar *string,
- ...)
-{
- GRegex *regex;
- va_list args;
- GSList *expected = NULL;
- GSList *l_exp;
- gchar **tokens;
- gint token_count;
- gboolean ret = TRUE;
- gint i;
-
- verbose ("splitting \"%s\" against \"%s\" \t", string, pattern);
-
- /* The va_list is a NULL-terminated sequence of extected strings. */
- va_start (args, string);
- while (TRUE)
- {
- gchar *expected_string = va_arg (args, gchar *);
- if (expected_string == NULL)
- break;
- else
- expected = g_slist_prepend (expected, g_strdup (expected_string));
- }
- expected = g_slist_reverse (expected);
- va_end (args);
-
- regex = g_regex_new (pattern, 0, 0, NULL);
- tokens = g_regex_split (regex, string, 0);
- if (tokens)
- token_count = g_strv_length (tokens);
- else
- token_count = 0;
-
- if (token_count != g_slist_length (expected))
- {
- g_print ("failed \t(got %d %s, expected %d)\n", token_count,
- token_count == 1 ? "match" : "matches",
- g_slist_length (expected));
- ret = FALSE;
- goto exit;
- }
-
- l_exp = expected;
- for (i = 0; l_exp != NULL; i++, l_exp = g_slist_next (l_exp))
- {
- if (!streq(l_exp->data, tokens [i]))
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n",
- tokens[i], (gchar *)l_exp->data);
- ret = FALSE;
- goto exit;
- }
- }
-
- verbose ("passed (%d %s)\n", token_count,
- token_count == 1 ? "token" : "tokens");
-
-exit:
- g_regex_unref (regex);
- g_slist_foreach (expected, (GFunc)g_free, NULL);
- g_slist_free (expected);
- g_strfreev (tokens);
-
- return ret;
-}
-
-#define TEST_SPLIT0(pattern, string, start_position, max_tokens) { \
- total++; \
- if (test_split_full (pattern, string, start_position, max_tokens, NULL)) \
- PASS; \
- else \
- FAIL; \
- if (start_position == 0 && max_tokens <= 0) \
- { \
- total++; \
- if (test_split (pattern, string, NULL)) \
- PASS; \
- else \
- FAIL; \
- } \
-}
-
-#define TEST_SPLIT1(pattern, string, start_position, max_tokens, e1) { \
- total++; \
- if (test_split_full (pattern, string, start_position, max_tokens, e1, NULL)) \
- PASS; \
- else \
- FAIL; \
- if (start_position == 0 && max_tokens <= 0) \
- { \
- total++; \
- if (test_split (pattern, string, e1, NULL)) \
- PASS; \
- else \
- FAIL; \
- } \
-}
-
-#define TEST_SPLIT2(pattern, string, start_position, max_tokens, e1, e2) { \
- total++; \
- if (test_split_full (pattern, string, start_position, max_tokens, e1, e2, NULL)) \
- PASS; \
- else \
- FAIL; \
- if (start_position == 0 && max_tokens <= 0) \
- { \
- total++; \
- if (test_split (pattern, string, e1, e2, NULL)) \
- PASS; \
- else \
- FAIL; \
- } \
-}
-
-#define TEST_SPLIT3(pattern, string, start_position, max_tokens, e1, e2, e3) { \
- total++; \
- if (test_split_full (pattern, string, start_position, max_tokens, e1, e2, e3, NULL)) \
- PASS; \
- else \
- FAIL; \
- if (start_position == 0 && max_tokens <= 0) \
- { \
- total++; \
- if (test_split (pattern, string, e1, e2, e3, NULL)) \
- PASS; \
- else \
- FAIL; \
- } \
-}
-
-static gboolean
-test_check_replacement (const gchar *string_to_expand,
- gboolean expected,
- gboolean expected_refs)
-{
- gboolean result;
- gboolean has_refs;
-
- verbose ("checking replacement string \"%s\" \t", string_to_expand);
-
- result = g_regex_check_replacement (string_to_expand, &has_refs, NULL);
- if (expected != result)
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n",
- result ? "TRUE" : "FALSE",
- expected ? "TRUE" : "FALSE");
- return FALSE;
- }
-
- if (expected && expected_refs != has_refs)
- {
- g_print ("failed \t(got has_references \"%s\", expected \"%s\")\n",
- has_refs ? "TRUE" : "FALSE",
- expected_refs ? "TRUE" : "FALSE");
- return FALSE;
- }
-
- verbose ("passed\n");
- return TRUE;
-}
-
-#define TEST_CHECK_REPLACEMENT(string_to_expand, expected, expected_refs) { \
- total++; \
- if (test_check_replacement (string_to_expand, expected, expected_refs)) \
- PASS; \
- else \
- FAIL; \
-}
-static gboolean
-test_expand (const gchar *pattern,
- const gchar *string,
- const gchar *string_to_expand,
- gboolean raw,
- const gchar *expected)
-{
- GRegex *regex = NULL;
- GMatchInfo *match_info = NULL;
- gchar *res;
-
- verbose ("expanding the references in \"%s\" (pattern: \"%s\", string: \"%s\") \t",
- string_to_expand,
- pattern ? pattern : "(null)",
- string ? string : "(null)");
-
- if (pattern)
- {
- regex = g_regex_new (pattern, raw ? G_REGEX_RAW : 0, 0, NULL);
- g_regex_match (regex, string, 0, &match_info);
- }
-
- res = g_match_info_expand_references (match_info, string_to_expand, NULL);
- if (!streq (res, expected))
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n", res, expected);
- g_free (res);
- g_match_info_free (match_info);
- g_regex_unref (regex);
- return FALSE;
- }
-
- g_free (res);
- g_match_info_free (match_info);
- if (regex)
- g_regex_unref (regex);
-
- verbose ("passed\n");
- return TRUE;
-}
-
-#define TEST_EXPAND(pattern, string, string_to_expand, raw, expected) { \
- total++; \
- if (test_expand (pattern, string, string_to_expand, raw, expected)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_replace (const gchar *pattern,
- const gchar *string,
- gint start_position,
- const gchar *replacement,
- const gchar *expected)
-{
- GRegex *regex;
- gchar *res;
-
- verbose ("replacing \"%s\" in \"%s\" (pattern: \"%s\", start: %d) \t",
- replacement, string, pattern, start_position);
-
- regex = g_regex_new (pattern, 0, 0, NULL);
- res = g_regex_replace (regex, string, -1, start_position, replacement, 0, NULL);
- if (!streq (res, expected))
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n", res, expected);
- g_free (res);
- g_regex_unref (regex);
- return FALSE;
- }
-
- g_free (res);
- g_regex_unref (regex);
-
- verbose ("passed\n");
- return TRUE;
-}
-
-#define TEST_REPLACE(pattern, string, start_position, replacement, expected) { \
- total++; \
- if (test_replace (pattern, string, start_position, replacement, expected)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_replace_lit (const gchar *pattern,
- const gchar *string,
- gint start_position,
- const gchar *replacement,
- const gchar *expected)
-{
- GRegex *regex;
- gchar *res;
-
- verbose ("replacing literally \"%s\" in \"%s\" (pattern: \"%s\", start: %d) \t",
- replacement, string, pattern, start_position);
-
- regex = g_regex_new (pattern, 0, 0, NULL);
- res = g_regex_replace_literal (regex, string, -1, start_position,
- replacement, 0, NULL);
- if (!streq (res, expected))
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n", res, expected);
- g_free (res);
- g_regex_unref (regex);
- return FALSE;
- }
-
- g_free (res);
- g_regex_unref (regex);
-
- verbose ("passed\n");
- return TRUE;
-}
-
-#define TEST_REPLACE_LIT(pattern, string, start_position, replacement, expected) { \
- total++; \
- if (test_replace_lit (pattern, string, start_position, replacement, expected)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_get_string_number (const gchar *pattern,
- const gchar *name,
- gint expected_num)
-{
- GRegex *regex;
- gint num;
-
- verbose ("getting the number of \"%s\" (pattern: \"%s\") \t",
- name, pattern);
-
- regex = g_regex_new (pattern, 0, 0, NULL);
- num = g_regex_get_string_number (regex, name);
- g_regex_unref (regex);
-
- if (num != expected_num)
- {
- g_print ("failed \t(got %d, expected %d)\n", num, expected_num);
- return FALSE;
- }
- else
- {
- verbose ("passed\n");
- return TRUE;
- }
-}
-
-#define TEST_GET_STRING_NUMBER(pattern, name, expected_num) { \
- total++; \
- if (test_get_string_number (pattern, name, expected_num)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_escape (const gchar *string,
- gint length,
- const gchar *expected)
-{
- gchar *escaped;
-
- verbose ("escaping \"%s\" (len: %d) \t", string, length);
-
- escaped = g_regex_escape_string (string, length);
-
- if (!streq (escaped, expected))
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n", escaped, expected);
- g_free (escaped);
- return FALSE;
- }
-
- g_free (escaped);
-
- verbose ("passed\n");
- return TRUE;
-}
-
-#define TEST_ESCAPE(string, length, expected) { \
- total++; \
- if (test_escape (string, length, expected)) \
- PASS; \
- else \
- FAIL; \
-}
-
-static gboolean
-test_match_all_full (const gchar *pattern,
- const gchar *string,
- gssize string_len,
- gint start_position,
- ...)
-{
- GRegex *regex;
- GMatchInfo *match_info;
- va_list args;
- GSList *expected = NULL;
- GSList *l_exp;
- gboolean match_ok;
- gboolean ret = TRUE;
- gint match_count;
- gint i;
-
- verbose ("matching all in \"%s\" against \"%s\" (start: %d, len: %d) \t",
- string, pattern, start_position, string_len);
-
- /* The va_list is a NULL-terminated sequence of: extected matched string,
- * expected start and expected end. */
- va_start (args, start_position);
- while (TRUE)
- {
- Match *match;
- const gchar *expected_string = va_arg (args, const gchar *);
- if (expected_string == NULL)
- break;
- match = g_new0 (Match, 1);
- match->string = g_strdup (expected_string);
- match->start = va_arg (args, gint);
- match->end = va_arg (args, gint);
- expected = g_slist_prepend (expected, match);
- }
- expected = g_slist_reverse (expected);
- va_end (args);
-
- regex = g_regex_new (pattern, 0, 0, NULL);
- match_ok = g_regex_match_all_full (regex, string, string_len, start_position,
- 0, &match_info, NULL);
-
- if (match_ok && g_slist_length (expected) == 0)
- {
- g_print ("failed\n");
- ret = FALSE;
- goto exit;
- }
- if (!match_ok && g_slist_length (expected) != 0)
- {
- g_print ("failed\n");
- ret = FALSE;
- goto exit;
- }
-
- match_count = g_match_info_get_match_count (match_info);
- if (match_count != g_slist_length (expected))
- {
- g_print ("failed \t(got %d %s, expected %d)\n", match_count,
- match_count == 1 ? "match" : "matches",
- g_slist_length (expected));
- ret = FALSE;
- goto exit;
- }
-
- l_exp = expected;
- for (i = 0; i < match_count; i++)
- {
- gint start, end;
- gchar *matched_string;
- Match *exp = l_exp->data;
-
- matched_string = g_match_info_fetch (match_info, i);
- g_match_info_fetch_pos (match_info, i, &start, &end);
-
- if (!streq(exp->string, matched_string))
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n",
- matched_string, exp->string);
- g_free (matched_string);
- ret = FALSE;
- goto exit;
- }
- g_free (matched_string);
-
- if (exp->start != start || exp->end != end)
- {
- g_print ("failed \t(got [%d, %d], expected [%d, %d])\n",
- start, end, exp->start, exp->end);
- ret = FALSE;
- goto exit;
- }
-
- l_exp = g_slist_next (l_exp);
- }
-
-exit:
- if (ret)
- {
- verbose ("passed (%d %s)\n", match_count, match_count == 1 ? "match" : "matches");
- }
-
- g_match_info_free (match_info);
- g_regex_unref (regex);
- g_slist_foreach (expected, free_match, NULL);
- g_slist_free (expected);
-
- return ret;
-}
-
-static gboolean
-test_match_all (const gchar *pattern,
- const gchar *string,
- ...)
-{
- GRegex *regex;
- GMatchInfo *match_info;
- va_list args;
- GSList *expected = NULL;
- GSList *l_exp;
- gboolean match_ok;
- gboolean ret = TRUE;
- gint match_count;
- gint i;
-
- verbose ("matching all in \"%s\" against \"%s\" \t", string, pattern);
-
- /* The va_list is a NULL-terminated sequence of: extected matched string,
- * expected start and expected end. */
- va_start (args, string);
- while (TRUE)
- {
- Match *match;
- const gchar *expected_string = va_arg (args, const gchar *);
- if (expected_string == NULL)
- break;
- match = g_new0 (Match, 1);
- match->string = g_strdup (expected_string);
- match->start = va_arg (args, gint);
- match->end = va_arg (args, gint);
- expected = g_slist_prepend (expected, match);
- }
- expected = g_slist_reverse (expected);
- va_end (args);
-
- regex = g_regex_new (pattern, 0, 0, NULL);
- match_ok = g_regex_match_all (regex, string, 0, &match_info);
-
- if (match_ok && g_slist_length (expected) == 0)
- {
- g_print ("failed\n");
- ret = FALSE;
- goto exit;
- }
- if (!match_ok && g_slist_length (expected) != 0)
- {
- g_print ("failed\n");
- ret = FALSE;
- goto exit;
- }
-
- match_count = g_match_info_get_match_count (match_info);
- if (match_count != g_slist_length (expected))
- {
- g_print ("failed \t(got %d %s, expected %d)\n", match_count,
- match_count == 1 ? "match" : "matches",
- g_slist_length (expected));
- ret = FALSE;
- goto exit;
- }
-
- l_exp = expected;
- for (i = 0; i < match_count; i++)
- {
- gint start, end;
- gchar *matched_string;
- Match *exp = l_exp->data;
-
- matched_string = g_match_info_fetch (match_info, i);
- g_match_info_fetch_pos (match_info, i, &start, &end);
-
- if (!streq(exp->string, matched_string))
- {
- g_print ("failed \t(got \"%s\", expected \"%s\")\n",
- matched_string, exp->string);
- g_free (matched_string);
- ret = FALSE;
- goto exit;
- }
- g_free (matched_string);
-
- if (exp->start != start || exp->end != end)
- {
- g_print ("failed \t(got [%d, %d], expected [%d, %d])\n",
- start, end, exp->start, exp->end);
- ret = FALSE;
- goto exit;
- }
-
- l_exp = g_slist_next (l_exp);
- }
-
-exit:
- if (ret)
- {
- verbose ("passed (%d %s)\n", match_count, match_count == 1 ? "match" : "matches");
- }
-
- g_match_info_free (match_info);
- g_regex_unref (regex);
- g_slist_foreach (expected, free_match, NULL);
- g_slist_free (expected);
-
- return ret;
-}
-
-#define TEST_MATCH_ALL0(pattern, string, string_len, start_position) { \
- total++; \
- if (test_match_all_full (pattern, string, string_len, start_position, NULL)) \
- PASS; \
- else \
- FAIL; \
- if (string_len == -1 && start_position == 0) \
- { \
- total++; \
- if (test_match_all (pattern, string, NULL)) \
- PASS; \
- else \
- FAIL; \
- } \
-}
-
-#define TEST_MATCH_ALL1(pattern, string, string_len, start_position, \
- t1, s1, e1) { \
- total++; \
- if (test_match_all_full (pattern, string, string_len, start_position, \
- t1, s1, e1, NULL)) \
- PASS; \
- else \
- FAIL; \
- if (string_len == -1 && start_position == 0) \
- { \
- total++; \
- if (test_match_all (pattern, string, t1, s1, e1, NULL)) \
- PASS; \
- else \
- FAIL; \
- } \
-}
-
-#define TEST_MATCH_ALL2(pattern, string, string_len, start_position, \
- t1, s1, e1, t2, s2, e2) { \
- total++; \
- if (test_match_all_full (pattern, string, string_len, start_position, \
- t1, s1, e1, t2, s2, e2, NULL)) \
- PASS; \
- else \
- FAIL; \
- if (string_len == -1 && start_position == 0) \
- { \
- total++; \
- if (test_match_all (pattern, string, t1, s1, e1, t2, s2, e2, NULL)) \
- PASS; \
- else \
- FAIL; \
- } \
-}
-
-#define TEST_MATCH_ALL3(pattern, string, string_len, start_position, \
- t1, s1, e1, t2, s2, e2, t3, s3, e3) { \
- total++; \
- if (test_match_all_full (pattern, string, string_len, start_position, \
- t1, s1, e1, t2, s2, e2, t3, s3, e3, NULL)) \
- PASS; \
- else \
- FAIL; \
- if (string_len == -1 && start_position == 0) \
- { \
- total++; \
- if (test_match_all (pattern, string, t1, s1, e1, t2, s2, e2, t3, s3, e3, NULL)) \
- PASS; \
- else \
- FAIL; \
- } \
-}
-
-int
-main (int argc, char *argv[])
-{
- gint total = 0;
- gint passed = 0;
- gint failed = 0;
- gint i = 0;
-
- setlocale (LC_ALL, "");
-
- for (i = 1; i < argc; i++)
- {
- if (streq ("--noisy", argv[i]))
- noisy = TRUE;
- else if (streq ("--abort", argv[i]))
- abort_on_fail = TRUE;
- }
-
- g_setenv ("G_DEBUG", "fatal_warnings", TRUE);
-
- /* TEST_NEW(pattern, compile_opts, match_opts) */
- TEST_NEW("", 0, 0);
- TEST_NEW(".*", 0, 0);
- TEST_NEW(".*", G_REGEX_OPTIMIZE, 0);
- TEST_NEW(".*", G_REGEX_MULTILINE, 0);
- TEST_NEW(".*", G_REGEX_DOTALL, 0);
- TEST_NEW(".*", G_REGEX_DOTALL, G_REGEX_MATCH_NOTBOL);
- TEST_NEW("(123\\d*)[a-zA-Z]+(?P<hello>.*)", 0, 0);
- TEST_NEW("(123\\d*)[a-zA-Z]+(?P<hello>.*)", G_REGEX_CASELESS, 0);
- TEST_NEW("(123\\d*)[a-zA-Z]+(?P<hello>.*)", G_REGEX_CASELESS | G_REGEX_OPTIMIZE, 0);
- TEST_NEW("(?P<A>x)|(?P<A>y)", G_REGEX_DUPNAMES, 0);
- TEST_NEW("(?P<A>x)|(?P<A>y)", G_REGEX_DUPNAMES | G_REGEX_OPTIMIZE, 0);
- /* This gives "internal error: code overflow" with pcre 6.0 */
- TEST_NEW("(?i)(?-i)", 0, 0);
-
- /* TEST_NEW_FAIL(pattern, compile_opts, expected_error) */
- TEST_NEW_FAIL("(", 0, G_REGEX_ERROR_UNMATCHED_PARENTHESIS);
- TEST_NEW_FAIL(")", 0, G_REGEX_ERROR_UNMATCHED_PARENTHESIS);
- TEST_NEW_FAIL("[", 0, G_REGEX_ERROR_UNTERMINATED_CHARACTER_CLASS);
- TEST_NEW_FAIL("*", 0, G_REGEX_ERROR_NOTHING_TO_REPEAT);
- TEST_NEW_FAIL("?", 0, G_REGEX_ERROR_NOTHING_TO_REPEAT);
- TEST_NEW_FAIL("(?P<A>x)|(?P<A>y)", 0, G_REGEX_ERROR_DUPLICATE_SUBPATTERN_NAME);
-
- /* TEST_MATCH_SIMPLE(pattern, string, compile_opts, match_opts, expected) */
- TEST_MATCH_SIMPLE("a", "", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("a", "a", 0, 0, TRUE);
- TEST_MATCH_SIMPLE("a", "ba", 0, 0, TRUE);
- TEST_MATCH_SIMPLE("^a", "ba", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("a", "ba", G_REGEX_ANCHORED, 0, FALSE);
- TEST_MATCH_SIMPLE("a", "ba", 0, G_REGEX_MATCH_ANCHORED, FALSE);
- TEST_MATCH_SIMPLE("a", "ab", G_REGEX_ANCHORED, 0, TRUE);
- TEST_MATCH_SIMPLE("a", "ab", 0, G_REGEX_MATCH_ANCHORED, TRUE);
- TEST_MATCH_SIMPLE("a", "a", G_REGEX_CASELESS, 0, TRUE);
- TEST_MATCH_SIMPLE("a", "A", G_REGEX_CASELESS, 0, TRUE);
- /* These are needed to test extended properties. */
- TEST_MATCH_SIMPLE(AGRAVE, AGRAVE, G_REGEX_CASELESS, 0, TRUE);
- TEST_MATCH_SIMPLE(AGRAVE, AGRAVE_UPPER, G_REGEX_CASELESS, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{L}", "a", 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{L}", "1", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{L}", AGRAVE, 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{L}", AGRAVE_UPPER, 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{L}", SHEEN, 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{L}", ETH30, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Ll}", "a", 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{Ll}", AGRAVE, 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{Ll}", AGRAVE_UPPER, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Ll}", ETH30, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Sc}", AGRAVE, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Sc}", EURO, 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{Sc}", ETH30, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{N}", "a", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{N}", "1", 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{N}", AGRAVE, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{N}", AGRAVE_UPPER, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{N}", SHEEN, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{N}", ETH30, 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{Nd}", "a", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Nd}", "1", 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{Nd}", AGRAVE, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Nd}", AGRAVE_UPPER, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Nd}", SHEEN, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Nd}", ETH30, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Common}", SHEEN, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Common}", "a", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Common}", AGRAVE, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Common}", AGRAVE_UPPER, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Common}", ETH30, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Common}", "%", 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{Common}", "1", 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{Arabic}", SHEEN, 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{Arabic}", "a", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Arabic}", AGRAVE, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Arabic}", AGRAVE_UPPER, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Arabic}", ETH30, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Arabic}", "%", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Arabic}", "1", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Latin}", SHEEN, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Latin}", "a", 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{Latin}", AGRAVE, 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{Latin}", AGRAVE_UPPER, 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{Latin}", ETH30, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Latin}", "%", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Latin}", "1", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Ethiopic}", SHEEN, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Ethiopic}", "a", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Ethiopic}", AGRAVE, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Ethiopic}", AGRAVE_UPPER, 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Ethiopic}", ETH30, 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{Ethiopic}", "%", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{Ethiopic}", "1", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("\\p{L}(?<=\\p{Arabic})", SHEEN, 0, 0, TRUE);
- TEST_MATCH_SIMPLE("\\p{L}(?<=\\p{Latin})", SHEEN, 0, 0, FALSE);
- /* Invalid patterns. */
- TEST_MATCH_SIMPLE("\\", "a", 0, 0, FALSE);
- TEST_MATCH_SIMPLE("[", "", 0, 0, FALSE);
-
- /* TEST_MATCH(pattern, compile_opts, match_opts, string,
- * string_len, start_position, match_opts2, expected) */
- TEST_MATCH("a", 0, 0, "a", -1, 0, 0, TRUE);
- TEST_MATCH("a", 0, 0, "A", -1, 0, 0, FALSE);
- TEST_MATCH("a", G_REGEX_CASELESS, 0, "A", -1, 0, 0, TRUE);
- TEST_MATCH("a", 0, 0, "ab", -1, 1, 0, FALSE);
- TEST_MATCH("a", 0, 0, "ba", 1, 0, 0, FALSE);
- TEST_MATCH("a", 0, 0, "bab", -1, 0, 0, TRUE);
- TEST_MATCH("a", 0, 0, "b", -1, 0, 0, FALSE);
- TEST_MATCH("a", 0, G_REGEX_ANCHORED, "a", -1, 0, 0, TRUE);
- TEST_MATCH("a", 0, G_REGEX_ANCHORED, "ab", -1, 1, 0, FALSE);
- TEST_MATCH("a", 0, G_REGEX_ANCHORED, "ba", 1, 0, 0, FALSE);
- TEST_MATCH("a", 0, G_REGEX_ANCHORED, "bab", -1, 0, 0, FALSE);
- TEST_MATCH("a", 0, G_REGEX_ANCHORED, "b", -1, 0, 0, FALSE);
- TEST_MATCH("a", 0, 0, "a", -1, 0, G_REGEX_ANCHORED, TRUE);
- TEST_MATCH("a", 0, 0, "ab", -1, 1, G_REGEX_ANCHORED, FALSE);
- TEST_MATCH("a", 0, 0, "ba", 1, 0, G_REGEX_ANCHORED, FALSE);
- TEST_MATCH("a", 0, 0, "bab", -1, 0, G_REGEX_ANCHORED, FALSE);
- TEST_MATCH("a", 0, 0, "b", -1, 0, G_REGEX_ANCHORED, FALSE);
- TEST_MATCH("a|b", 0, 0, "a", -1, 0, 0, TRUE);
- TEST_MATCH("\\d", 0, 0, EURO, -1, 0, 0, FALSE);
- TEST_MATCH("^.$", 0, 0, EURO, -1, 0, 0, TRUE);
- TEST_MATCH("^.{3}$", 0, 0, EURO, -1, 0, 0, FALSE);
- TEST_MATCH("^.$", G_REGEX_RAW, 0, EURO, -1, 0, 0, FALSE);
- TEST_MATCH("^.{3}$", G_REGEX_RAW, 0, EURO, -1, 0, 0, TRUE);
- TEST_MATCH(AGRAVE, G_REGEX_CASELESS, 0, AGRAVE_UPPER, -1, 0, 0, TRUE);
-
- /* New lines handling. */
- TEST_MATCH("^a\\Rb$", 0, 0, "a\r\nb", -1, 0, 0, TRUE);
- TEST_MATCH("^a\\Rb$", 0, 0, "a\nb", -1, 0, 0, TRUE);
- TEST_MATCH("^a\\Rb$", 0, 0, "a\rb", -1, 0, 0, TRUE);
- TEST_MATCH("^a\\Rb$", 0, 0, "a\n\rb", -1, 0, 0, FALSE);
- TEST_MATCH("^a\\R\\Rb$", 0, 0, "a\n\rb", -1, 0, 0, TRUE);
- TEST_MATCH("^a\\nb$", 0, 0, "a\r\nb", -1, 0, 0, FALSE);
- TEST_MATCH("^a\\r\\nb$", 0, 0, "a\r\nb", -1, 0, 0, TRUE);
-
- TEST_MATCH("^b$", 0, 0, "a\nb\nc", -1, 0, 0, FALSE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE, 0, "a\nb\nc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE, 0, "a\r\nb\r\nc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE, 0, "a\rb\rc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_CR, 0, "a\nb\nc", -1, 0, 0, FALSE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_LF, 0, "a\nb\nc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_CRLF, 0, "a\nb\nc", -1, 0, 0, FALSE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_CR, 0, "a\r\nb\r\nc", -1, 0, 0, FALSE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_LF, 0, "a\r\nb\r\nc", -1, 0, 0, FALSE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_CRLF, 0, "a\r\nb\r\nc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_CR, 0, "a\rb\rc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_LF, 0, "a\rb\rc", -1, 0, 0, FALSE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_CRLF, 0, "a\rb\rc", -1, 0, 0, FALSE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE, G_REGEX_MATCH_NEWLINE_CR, "a\nb\nc", -1, 0, 0, FALSE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE, G_REGEX_MATCH_NEWLINE_LF, "a\nb\nc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE, G_REGEX_MATCH_NEWLINE_CRLF, "a\nb\nc", -1, 0, 0, FALSE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE, G_REGEX_MATCH_NEWLINE_CR, "a\r\nb\r\nc", -1, 0, 0, FALSE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE, G_REGEX_MATCH_NEWLINE_LF, "a\r\nb\r\nc", -1, 0, 0, FALSE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE, G_REGEX_MATCH_NEWLINE_CRLF, "a\r\nb\r\nc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE, G_REGEX_MATCH_NEWLINE_CR, "a\rb\rc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE, G_REGEX_MATCH_NEWLINE_LF, "a\rb\rc", -1, 0, 0, FALSE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE, G_REGEX_MATCH_NEWLINE_CRLF, "a\rb\rc", -1, 0, 0, FALSE);
-
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_CR, G_REGEX_MATCH_NEWLINE_ANY, "a\nb\nc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_CR, G_REGEX_MATCH_NEWLINE_ANY, "a\rb\rc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_CR, G_REGEX_MATCH_NEWLINE_ANY, "a\r\nb\r\nc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_CR, G_REGEX_MATCH_NEWLINE_LF, "a\nb\nc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_CR, G_REGEX_MATCH_NEWLINE_LF, "a\rb\rc", -1, 0, 0, FALSE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_CR, G_REGEX_MATCH_NEWLINE_CRLF, "a\r\nb\r\nc", -1, 0, 0, TRUE);
- TEST_MATCH("^b$", G_REGEX_MULTILINE | G_REGEX_NEWLINE_CR, G_REGEX_MATCH_NEWLINE_CRLF, "a\rb\rc", -1, 0, 0, FALSE);
-
- TEST_MATCH("a#\nb", G_REGEX_EXTENDED, 0, "a", -1, 0, 0, FALSE);
- TEST_MATCH("a#\r\nb", G_REGEX_EXTENDED, 0, "a", -1, 0, 0, FALSE);
- TEST_MATCH("a#\rb", G_REGEX_EXTENDED, 0, "a", -1, 0, 0, FALSE);
- TEST_MATCH("a#\nb", G_REGEX_EXTENDED, G_REGEX_MATCH_NEWLINE_CR, "a", -1, 0, 0, FALSE);
- TEST_MATCH("a#\nb", G_REGEX_EXTENDED | G_REGEX_NEWLINE_CR, 0, "a", -1, 0, 0, TRUE);
-
- /* TEST_MATCH_NEXT#(pattern, string, string_len, start_position, ...) */
- TEST_MATCH_NEXT0("a", "x", -1, 0);
- TEST_MATCH_NEXT0("a", "ax", -1, 1);
- TEST_MATCH_NEXT0("a", "xa", 1, 0);
- TEST_MATCH_NEXT0("a", "axa", 1, 2);
- TEST_MATCH_NEXT1("a", "a", -1, 0, "a", 0, 1);
- TEST_MATCH_NEXT1("a", "xax", -1, 0, "a", 1, 2);
- TEST_MATCH_NEXT1(EURO, ENG EURO, -1, 0, EURO, 2, 5);
- TEST_MATCH_NEXT1("a*", "", -1, 0, "", 0, 0);
- TEST_MATCH_NEXT2("a*", "aa", -1, 0, "aa", 0, 2, "", 2, 2);
- TEST_MATCH_NEXT2(EURO "*", EURO EURO, -1, 0, EURO EURO, 0, 6, "", 6, 6);
- TEST_MATCH_NEXT2("a", "axa", -1, 0, "a", 0, 1, "a", 2, 3);
- TEST_MATCH_NEXT2("a+", "aaxa", -1, 0, "aa", 0, 2, "a", 3, 4);
- TEST_MATCH_NEXT2("a", "aa", -1, 0, "a", 0, 1, "a", 1, 2);
- TEST_MATCH_NEXT2("a", "ababa", -1, 2, "a", 2, 3, "a", 4, 5);
- TEST_MATCH_NEXT2(EURO "+", EURO "-" EURO, -1, 0, EURO, 0, 3, EURO, 4, 7);
- TEST_MATCH_NEXT3("", "ab", -1, 0, "", 0, 0, "", 1, 1, "", 2, 2);
- TEST_MATCH_NEXT3("", AGRAVE "b", -1, 0, "", 0, 0, "", 2, 2, "", 3, 3);
- TEST_MATCH_NEXT3("a", "aaxa", -1, 0, "a", 0, 1, "a", 1, 2, "a", 3, 4);
- TEST_MATCH_NEXT3("a", "aa" OGRAVE "a", -1, 0, "a", 0, 1, "a", 1, 2, "a", 4, 5);
- TEST_MATCH_NEXT3("a*", "aax", -1, 0, "aa", 0, 2, "", 2, 2, "", 3, 3);
- TEST_MATCH_NEXT3("(?=[A-Z0-9])", "RegExTest", -1, 0, "", 0, 0, "", 3, 3, "", 5, 5);
- TEST_MATCH_NEXT4("a*", "aaxa", -1, 0, "aa", 0, 2, "", 2, 2, "a", 3, 4, "", 4, 4);
-
- /* TEST_MATCH_COUNT(pattern, string, start_position, match_opts, expected_count) */
- TEST_MATCH_COUNT("a", "", 0, 0, 0);
- TEST_MATCH_COUNT("a", "a", 0, 0, 1);
- TEST_MATCH_COUNT("a", "a", 1, 0, 0);
- TEST_MATCH_COUNT("(.)", "a", 0, 0, 2);
- TEST_MATCH_COUNT("(.)", EURO, 0, 0, 2);
- TEST_MATCH_COUNT("(?:.)", "a", 0, 0, 1);
- TEST_MATCH_COUNT("(?P<A>.)", "a", 0, 0, 2);
- TEST_MATCH_COUNT("a$", "a", 0, G_REGEX_MATCH_NOTEOL, 0);
- TEST_MATCH_COUNT("(a)?(b)", "b", 0, 0, 3);
- TEST_MATCH_COUNT("(a)?(b)", "ab", 0, 0, 3);
-
- /* TEST_PARTIAL(pattern, string, expected) */
- TEST_PARTIAL("^ab", "a", TRUE);
- TEST_PARTIAL("^ab", "xa", FALSE);
- TEST_PARTIAL("ab", "xa", TRUE);
- TEST_PARTIAL("ab", "ab", FALSE); /* normal match. */
- TEST_PARTIAL("a+b", "aa", FALSE); /* PCRE_ERROR_BAD_PARTIAL */
- TEST_PARTIAL("(a)+b", "aa", TRUE);
- TEST_PARTIAL("a?b", "a", TRUE);
-
- /* TEST_SUB_PATTERN(pattern, string, start_position, sub_n, expected_sub,
- * expected_start, expected_end) */
- TEST_SUB_PATTERN("a", "a", 0, 0, "a", 0, 1);
- TEST_SUB_PATTERN("a(.)", "ab", 0, 1, "b", 1, 2);
- TEST_SUB_PATTERN("a(.)", "a" EURO, 0, 1, EURO, 1, 4);
- TEST_SUB_PATTERN("(?:.*)(a)(.)", "xxa" ENG, 0, 2, ENG, 3, 5);
- TEST_SUB_PATTERN("(" HSTROKE ")", "a" HSTROKE ENG, 0, 1, HSTROKE, 1, 3);
- TEST_SUB_PATTERN("a", "a", 0, 1, NULL, UNTOUCHED, UNTOUCHED);
- TEST_SUB_PATTERN("a", "a", 0, 1, NULL, UNTOUCHED, UNTOUCHED);
- TEST_SUB_PATTERN("(a)?(b)", "b", 0, 0, "b", 0, 1);
- TEST_SUB_PATTERN("(a)?(b)", "b", 0, 1, "", -1, -1);
- TEST_SUB_PATTERN("(a)?(b)", "b", 0, 2, "b", 0, 1);
-
- /* TEST_NAMED_SUB_PATTERN(pattern, string, start_position, sub_name,
- * expected_sub, expected_start, expected_end) */
- TEST_NAMED_SUB_PATTERN("a(?P<A>.)(?P<B>.)?", "ab", 0, "A", "b", 1, 2);
- TEST_NAMED_SUB_PATTERN("a(?P<A>.)(?P<B>.)?", "aab", 1, "A", "b", 2, 3);
- TEST_NAMED_SUB_PATTERN("a(?P<A>.)(?P<B>.)?", EURO "ab", 0, "A", "b", 4, 5);
- TEST_NAMED_SUB_PATTERN("a(?P<A>.)(?P<B>.)?", EURO "ab", 0, "B", NULL, UNTOUCHED, UNTOUCHED);
- TEST_NAMED_SUB_PATTERN("a(?P<A>.)(?P<B>.)?", EURO "ab", 0, "C", NULL, UNTOUCHED, UNTOUCHED);
- TEST_NAMED_SUB_PATTERN("a(?P<A>.)(?P<B>.)?", "a" EGRAVE "x", 0, "A", EGRAVE, 1, 3);
- TEST_NAMED_SUB_PATTERN("a(?P<A>.)(?P<B>.)?", "a" EGRAVE "x", 0, "B", "x", 3, 4);
- TEST_NAMED_SUB_PATTERN("(?P<A>a)?(?P<B>b)", "b", 0, "A", "", -1, -1);
- TEST_NAMED_SUB_PATTERN("(?P<A>a)?(?P<B>b)", "b", 0, "B", "b", 0, 1);
-
- /* TEST_NAMED_SUB_PATTERN_DUPNAMES(pattern, string, start_position, sub_name,
- * expected_sub, expected_start, expected_end) */
- TEST_NAMED_SUB_PATTERN_DUPNAMES("(?P<N>a)|(?P<N>b)", "ab", 0, "N", "a", 0, 1);
- TEST_NAMED_SUB_PATTERN_DUPNAMES("(?P<N>aa)|(?P<N>a)", "aa", 0, "N", "aa", 0, 2);
- TEST_NAMED_SUB_PATTERN_DUPNAMES("(?P<N>aa)(?P<N>a)", "aaa", 0, "N", "aa", 0, 2);
- TEST_NAMED_SUB_PATTERN_DUPNAMES("(?P<N>x)|(?P<N>a)", "a", 0, "N", "a", 0, 1);
- TEST_NAMED_SUB_PATTERN_DUPNAMES("(?P<N>x)y|(?P<N>a)b", "ab", 0, "N", "a", 0, 1);
-
- /* DUPNAMES option inside the pattern */
- TEST_NAMED_SUB_PATTERN("(?J)(?P<N>a)|(?P<N>b)", "ab", 0, "N", "a", 0, 1);
- TEST_NAMED_SUB_PATTERN("(?J)(?P<N>aa)|(?P<N>a)", "aa", 0, "N", "aa", 0, 2);
- TEST_NAMED_SUB_PATTERN("(?J)(?P<N>aa)(?P<N>a)", "aaa", 0, "N", "aa", 0, 2);
- TEST_NAMED_SUB_PATTERN("(?J)(?P<N>x)|(?P<N>a)", "a", 0, "N", "a", 0, 1);
- TEST_NAMED_SUB_PATTERN("(?J)(?P<N>x)y|(?P<N>a)b", "ab", 0, "N", "a", 0, 1);
-
- /* TEST_FETCH_ALL#(pattern, string, ...) */
- TEST_FETCH_ALL0("a", "");
- TEST_FETCH_ALL0("a", "b");
- TEST_FETCH_ALL1("a", "a", "a");
- TEST_FETCH_ALL1("a+", "aa", "aa");
- TEST_FETCH_ALL1("(?:a)", "a", "a");
- TEST_FETCH_ALL2("(a)", "a", "a", "a");
- TEST_FETCH_ALL2("a(.)", "ab", "ab", "b");
- TEST_FETCH_ALL2("a(.)", "a" HSTROKE, "a" HSTROKE, HSTROKE);
- TEST_FETCH_ALL3("(?:.*)(a)(.)", "xyazk", "xyaz", "a", "z");
- TEST_FETCH_ALL3("(?P<A>.)(a)", "xa", "xa", "x", "a");
- TEST_FETCH_ALL3("(?P<A>.)(a)", ENG "a", ENG "a", ENG, "a");
- TEST_FETCH_ALL3("(a)?(b)", "b", "b", "", "b");
- TEST_FETCH_ALL3("(a)?(b)", "ab", "ab", "a", "b");
-
- /* TEST_SPLIT_SIMPLE#(pattern, string, ...) */
- TEST_SPLIT_SIMPLE0("", "");
- TEST_SPLIT_SIMPLE0("a", "");
- TEST_SPLIT_SIMPLE1(",", "a", "a");
- TEST_SPLIT_SIMPLE1("(,)\\s*", "a", "a");
- TEST_SPLIT_SIMPLE2(",", "a,b", "a", "b");
- TEST_SPLIT_SIMPLE3(",", "a,b,c", "a", "b", "c");
- TEST_SPLIT_SIMPLE3(",\\s*", "a,b,c", "a", "b", "c");
- TEST_SPLIT_SIMPLE3(",\\s*", "a, b, c", "a", "b", "c");
- TEST_SPLIT_SIMPLE3("(,)\\s*", "a,b", "a", ",", "b");
- TEST_SPLIT_SIMPLE3("(,)\\s*", "a, b", "a", ",", "b");
- /* Not matched sub-strings. */
- TEST_SPLIT_SIMPLE2("a|(b)", "xay", "x", "y");
- TEST_SPLIT_SIMPLE3("a|(b)", "xby", "x", "b", "y");
- /* Empty matches. */
- TEST_SPLIT_SIMPLE3("", "abc", "a", "b", "c");
- TEST_SPLIT_SIMPLE3(" *", "ab c", "a", "b", "c");
- /* Invalid patterns. */
- TEST_SPLIT_SIMPLE0("\\", "");
- TEST_SPLIT_SIMPLE0("[", "");
-
- /* TEST_SPLIT#(pattern, string, start_position, max_tokens, ...) */
- TEST_SPLIT0("", "", 0, 0);
- TEST_SPLIT0("a", "", 0, 0);
- TEST_SPLIT0("a", "", 0, 1);
- TEST_SPLIT0("a", "", 0, 2);
- TEST_SPLIT0("a", "a", 1, 0);
- TEST_SPLIT1(",", "a", 0, 0, "a");
- TEST_SPLIT1(",", "a,b", 0, 1, "a,b");
- TEST_SPLIT1("(,)\\s*", "a", 0, 0, "a");
- TEST_SPLIT1(",", "a,b", 2, 0, "b");
- TEST_SPLIT2(",", "a,b", 0, 0, "a", "b");
- TEST_SPLIT2(",", "a,b,c", 0, 2, "a", "b,c");
- TEST_SPLIT2(",", "a,b", 1, 0, "", "b");
- TEST_SPLIT2(",", "a,", 0, 0, "a", "");
- TEST_SPLIT3(",", "a,b,c", 0, 0, "a", "b", "c");
- TEST_SPLIT3(",\\s*", "a,b,c", 0, 0, "a", "b", "c");
- TEST_SPLIT3(",\\s*", "a, b, c", 0, 0, "a", "b", "c");
- TEST_SPLIT3("(,)\\s*", "a,b", 0, 0, "a", ",", "b");
- TEST_SPLIT3("(,)\\s*", "a, b", 0, 0, "a", ",", "b");
- /* Not matched sub-strings. */
- TEST_SPLIT2("a|(b)", "xay", 0, 0, "x", "y");
- TEST_SPLIT3("a|(b)", "xby", 0, -1, "x", "b", "y");
- /* Empty matches. */
- TEST_SPLIT2(" *", "ab c", 1, 0, "b", "c");
- TEST_SPLIT3("", "abc", 0, 0, "a", "b", "c");
- TEST_SPLIT3(" *", "ab c", 0, 0, "a", "b", "c");
- TEST_SPLIT1(" *", "ab c", 0, 1, "ab c");
- TEST_SPLIT2(" *", "ab c", 0, 2, "a", "b c");
- TEST_SPLIT3(" *", "ab c", 0, 3, "a", "b", "c");
- TEST_SPLIT3(" *", "ab c", 0, 4, "a", "b", "c");
-
- /* TEST_CHECK_REPLACEMENT(string_to_expand, expected, expected_refs) */
- TEST_CHECK_REPLACEMENT("", TRUE, FALSE);
- TEST_CHECK_REPLACEMENT("a", TRUE, FALSE);
- TEST_CHECK_REPLACEMENT("\\t\\n\\v\\r\\f\\a\\b\\\\\\x{61}", TRUE, FALSE);
- TEST_CHECK_REPLACEMENT("\\0", TRUE, TRUE);
- TEST_CHECK_REPLACEMENT("\\n\\2", TRUE, TRUE);
- TEST_CHECK_REPLACEMENT("\\g<foo>", TRUE, TRUE);
- /* Invalid strings */
- TEST_CHECK_REPLACEMENT("\\Q", FALSE, FALSE);
- TEST_CHECK_REPLACEMENT("x\\Ay", FALSE, FALSE);
-
- /* TEST_EXPAND(pattern, string, string_to_expand, raw, expected) */
- TEST_EXPAND("a", "a", "", FALSE, "");
- TEST_EXPAND("a", "a", "\\0", FALSE, "a");
- TEST_EXPAND("a", "a", "\\1", FALSE, "");
- TEST_EXPAND("(a)", "ab", "\\1", FALSE, "a");
- TEST_EXPAND("(a)", "a", "\\1", FALSE, "a");
- TEST_EXPAND("(a)", "a", "\\g<1>", FALSE, "a");
- TEST_EXPAND("a", "a", "\\0130", FALSE, "X");
- TEST_EXPAND("a", "a", "\\\\\\0", FALSE, "\\a");
- TEST_EXPAND("a(?P<G>.)c", "xabcy", "X\\g<G>X", FALSE, "XbX");
- TEST_EXPAND("(.)(?P<1>.)", "ab", "\\1", FALSE, "a");
- TEST_EXPAND("(.)(?P<1>.)", "ab", "\\g<1>", FALSE, "a");
- TEST_EXPAND(".", EURO, "\\0", FALSE, EURO);
- TEST_EXPAND("(.)", EURO, "\\1", FALSE, EURO);
- TEST_EXPAND("(?P<G>.)", EURO, "\\g<G>", FALSE, EURO);
- TEST_EXPAND(".", "a", EURO, FALSE, EURO);
- TEST_EXPAND(".", "a", EURO "\\0", FALSE, EURO "a");
- TEST_EXPAND(".", "", "\\Lab\\Ec", FALSE, "abc");
- TEST_EXPAND(".", "", "\\LaB\\EC", FALSE, "abC");
- TEST_EXPAND(".", "", "\\Uab\\Ec", FALSE, "ABc");
- TEST_EXPAND(".", "", "a\\ubc", FALSE, "aBc");
- TEST_EXPAND(".", "", "a\\lbc", FALSE, "abc");
- TEST_EXPAND(".", "", "A\\uBC", FALSE, "ABC");
- TEST_EXPAND(".", "", "A\\lBC", FALSE, "AbC");
- TEST_EXPAND(".", "", "A\\l\\\\BC", FALSE, "A\\BC");
- TEST_EXPAND(".", "", "\\L" AGRAVE "\\E", FALSE, AGRAVE);
- TEST_EXPAND(".", "", "\\U" AGRAVE "\\E", FALSE, AGRAVE_UPPER);
- TEST_EXPAND(".", "", "\\u" AGRAVE "a", FALSE, AGRAVE_UPPER "a");
- TEST_EXPAND(".", "ab", "x\\U\\0y\\Ez", FALSE, "xAYz");
- TEST_EXPAND(".(.)", "AB", "x\\L\\1y\\Ez", FALSE, "xbyz");
- TEST_EXPAND(".", "ab", "x\\u\\0y\\Ez", FALSE, "xAyz");
- TEST_EXPAND(".(.)", "AB", "x\\l\\1y\\Ez", FALSE, "xbyz");
- TEST_EXPAND(".(.)", "a" AGRAVE_UPPER, "x\\l\\1y", FALSE, "x" AGRAVE "y");
- TEST_EXPAND("a", "bab", "\\x{61}", FALSE, "a");
- TEST_EXPAND("a", "bab", "\\x61", FALSE, "a");
- TEST_EXPAND("a", "bab", "\\x5a", FALSE, "Z");
- TEST_EXPAND("a", "bab", "\\0\\x5A", FALSE, "aZ");
- TEST_EXPAND("a", "bab", "\\1\\x{5A}", FALSE, "Z");
- TEST_EXPAND("a", "bab", "\\x{00E0}", FALSE, AGRAVE);
- TEST_EXPAND("", "bab", "\\x{0634}", FALSE, SHEEN);
- TEST_EXPAND("", "bab", "\\x{634}", FALSE, SHEEN);
- TEST_EXPAND("", "", "\\t", FALSE, "\t");
- TEST_EXPAND("", "", "\\v", FALSE, "\v");
- TEST_EXPAND("", "", "\\r", FALSE, "\r");
- TEST_EXPAND("", "", "\\n", FALSE, "\n");
- TEST_EXPAND("", "", "\\f", FALSE, "\f");
- TEST_EXPAND("", "", "\\a", FALSE, "\a");
- TEST_EXPAND("", "", "\\b", FALSE, "\b");
- TEST_EXPAND("a(.)", "abc", "\\0\\b\\1", FALSE, "ab\bb");
- TEST_EXPAND("a(.)", "abc", "\\0141", FALSE, "a");
- TEST_EXPAND("a(.)", "abc", "\\078", FALSE, "\a8");
- TEST_EXPAND("a(.)", "abc", "\\077", FALSE, "?");
- TEST_EXPAND("a(.)", "abc", "\\0778", FALSE, "?8");
- TEST_EXPAND("a(.)", "a" AGRAVE "b", "\\1", FALSE, AGRAVE);
- TEST_EXPAND("a(.)", "a" AGRAVE "b", "\\1", TRUE, "\xc3");
- TEST_EXPAND("a(.)", "a" AGRAVE "b", "\\0", TRUE, "a\xc3");
- /* Invalid strings. */
- TEST_EXPAND("", "", "\\Q", FALSE, NULL);
- TEST_EXPAND("", "", "x\\Ay", FALSE, NULL);
- TEST_EXPAND("", "", "\\g<", FALSE, NULL);
- TEST_EXPAND("", "", "\\g<>", FALSE, NULL);
- TEST_EXPAND("", "", "\\g<1a>", FALSE, NULL);
- TEST_EXPAND("", "", "\\g<a$>", FALSE, NULL);
- TEST_EXPAND("", "", "\\", FALSE, NULL);
- TEST_EXPAND("a", "a", "\\x{61", FALSE, NULL);
- TEST_EXPAND("a", "a", "\\x6X", FALSE, NULL);
- /* Pattern-less. */
- TEST_EXPAND(NULL, NULL, "", FALSE, "");
- TEST_EXPAND(NULL, NULL, "\\n", FALSE, "\n");
- /* Invalid strings */
- TEST_EXPAND(NULL, NULL, "\\Q", FALSE, NULL);
- TEST_EXPAND(NULL, NULL, "x\\Ay", FALSE, NULL);
-
- /* TEST_REPLACE(pattern, string, start_position, replacement, expected) */
- TEST_REPLACE("a", "ababa", 0, "A", "AbAbA");
- TEST_REPLACE("a", "ababa", 1, "A", "abAbA");
- TEST_REPLACE("a", "ababa", 2, "A", "abAbA");
- TEST_REPLACE("a", "ababa", 3, "A", "ababA");
- TEST_REPLACE("a", "ababa", 4, "A", "ababA");
- TEST_REPLACE("a", "ababa", 5, "A", "ababa");
- TEST_REPLACE("a", "ababa", 6, "A", "ababa");
- TEST_REPLACE("a", "abababa", 2, "A", "abAbAbA");
- TEST_REPLACE("a", "abab", 0, "A", "AbAb");
- TEST_REPLACE("a", "baba", 0, "A", "bAbA");
- TEST_REPLACE("a", "bab", 0, "A", "bAb");
- TEST_REPLACE("$^", "abc", 0, "X", "abc");
- TEST_REPLACE("(.)a", "ciao", 0, "a\\1", "caio");
- TEST_REPLACE("a.", "abc", 0, "\\0\\0", "ababc");
- TEST_REPLACE("a", "asd", 0, "\\0101", "Asd");
- TEST_REPLACE("(a).\\1", "aba cda", 0, "\\1\\n", "a\n cda");
- TEST_REPLACE("a" AGRAVE "a", "a" AGRAVE "a", 0, "x", "x");
- TEST_REPLACE("a" AGRAVE "a", "a" AGRAVE "a", 0, OGRAVE, OGRAVE);
- TEST_REPLACE("[^-]", "-" EURO "-x-" HSTROKE, 0, "a", "-a-a-a");
- TEST_REPLACE("[^-]", "-" EURO "-" HSTROKE, 0, "a\\g<0>a", "-a" EURO "a-a" HSTROKE "a");
- TEST_REPLACE("-", "-" EURO "-" HSTROKE, 0, "", EURO HSTROKE);
- TEST_REPLACE(".*", "hello", 0, "\\U\\0\\E", "HELLO");
- TEST_REPLACE(".*", "hello", 0, "\\u\\0", "Hello");
- TEST_REPLACE("\\S+", "hello world", 0, "\\U-\\0-", "-HELLO- -WORLD-");
- TEST_REPLACE(".", "a", 0, "\\A", NULL);
- TEST_REPLACE(".", "a", 0, "\\g", NULL);
-
- /* TEST_REPLACE_LIT(pattern, string, start_position, replacement, expected) */
- TEST_REPLACE_LIT("a", "ababa", 0, "A", "AbAbA");
- TEST_REPLACE_LIT("a", "ababa", 1, "A", "abAbA");
- TEST_REPLACE_LIT("a", "ababa", 2, "A", "abAbA");
- TEST_REPLACE_LIT("a", "ababa", 3, "A", "ababA");
- TEST_REPLACE_LIT("a", "ababa", 4, "A", "ababA");
- TEST_REPLACE_LIT("a", "ababa", 5, "A", "ababa");
- TEST_REPLACE_LIT("a", "ababa", 6, "A", "ababa");
- TEST_REPLACE_LIT("a", "abababa", 2, "A", "abAbAbA");
- TEST_REPLACE_LIT("a", "abcadaa", 0, "A", "AbcAdAA");
- TEST_REPLACE_LIT("$^", "abc", 0, "X", "abc");
- TEST_REPLACE_LIT("(.)a", "ciao", 0, "a\\1", "ca\\1o");
- TEST_REPLACE_LIT("a.", "abc", 0, "\\0\\0\\n", "\\0\\0\\nc");
- TEST_REPLACE_LIT("a" AGRAVE "a", "a" AGRAVE "a", 0, "x", "x");
- TEST_REPLACE_LIT("a" AGRAVE "a", "a" AGRAVE "a", 0, OGRAVE, OGRAVE);
- TEST_REPLACE_LIT(AGRAVE, "-" AGRAVE "-" HSTROKE, 0, "a" ENG "a", "-a" ENG "a-" HSTROKE);
- TEST_REPLACE_LIT("[^-]", "-" EURO "-" AGRAVE "-" HSTROKE, 0, "a", "-a-a-a");
- TEST_REPLACE_LIT("[^-]", "-" EURO "-" AGRAVE, 0, "a\\g<0>a", "-a\\g<0>a-a\\g<0>a");
- TEST_REPLACE_LIT("-", "-" EURO "-" AGRAVE "-" HSTROKE, 0, "", EURO AGRAVE HSTROKE);
- TEST_REPLACE_LIT("(?=[A-Z0-9])", "RegExTest", 0, "_", "_Reg_Ex_Test");
- TEST_REPLACE_LIT("(?=[A-Z0-9])", "RegExTest", 1, "_", "Reg_Ex_Test");
-
- /* TEST_GET_STRING_NUMBER(pattern, name, expected_num) */
- TEST_GET_STRING_NUMBER("", "A", -1);
- TEST_GET_STRING_NUMBER("(?P<A>.)", "A", 1);
- TEST_GET_STRING_NUMBER("(?P<A>.)", "B", -1);
- TEST_GET_STRING_NUMBER("(?P<A>.)(?P<B>a)", "A", 1);
- TEST_GET_STRING_NUMBER("(?P<A>.)(?P<B>a)", "B", 2);
- TEST_GET_STRING_NUMBER("(?P<A>.)(?P<B>a)", "C", -1);
- TEST_GET_STRING_NUMBER("(?P<A>.)(.)(?P<B>a)", "A", 1);
- TEST_GET_STRING_NUMBER("(?P<A>.)(.)(?P<B>a)", "B", 3);
- TEST_GET_STRING_NUMBER("(?P<A>.)(.)(?P<B>a)", "C", -1);
- TEST_GET_STRING_NUMBER("(?:a)(?P<A>.)", "A", 1);
- TEST_GET_STRING_NUMBER("(?:a)(?P<A>.)", "B", -1);
-
- /* TEST_ESCAPE(string, length, expected) */
- TEST_ESCAPE("hello world", -1, "hello world");
- TEST_ESCAPE("hello world", 5, "hello");
- TEST_ESCAPE("hello.world", -1, "hello\\.world");
- TEST_ESCAPE("a(b\\b.$", -1, "a\\(b\\\\b\\.\\$");
- TEST_ESCAPE("hello\0world", -1, "hello");
- TEST_ESCAPE("hello\0world", 11, "hello\\0world");
- TEST_ESCAPE(EURO "*" ENG, -1, EURO "\\*" ENG);
- TEST_ESCAPE("a$", -1, "a\\$");
- TEST_ESCAPE("$a", -1, "\\$a");
- TEST_ESCAPE("a$a", -1, "a\\$a");
- TEST_ESCAPE("$a$", -1, "\\$a\\$");
- TEST_ESCAPE("$a$", 0, "");
- TEST_ESCAPE("$a$", 1, "\\$");
- TEST_ESCAPE("$a$", 2, "\\$a");
- TEST_ESCAPE("$a$", 3, "\\$a\\$");
- TEST_ESCAPE("$a$", 4, "\\$a\\$\\0");
- TEST_ESCAPE("|()[]{}^$*+?.", -1, "\\|\\(\\)\\[\\]\\{\\}\\^\\$\\*\\+\\?\\.");
- TEST_ESCAPE("a|a(a)a[a]a{a}a^a$a*a+a?a.a", -1,
- "a\\|a\\(a\\)a\\[a\\]a\\{a\\}a\\^a\\$a\\*a\\+a\\?a\\.a");
-
- /* TEST_MATCH_ALL#(pattern, string, string_len, start_position, ...) */
- TEST_MATCH_ALL0("<.*>", "", -1, 0);
- TEST_MATCH_ALL0("a+", "", -1, 0);
- TEST_MATCH_ALL0("a+", "a", 0, 0);
- TEST_MATCH_ALL0("a+", "a", -1, 1);
- TEST_MATCH_ALL1("<.*>", "<a>", -1, 0, "<a>", 0, 3);
- TEST_MATCH_ALL1("a+", "a", -1, 0, "a", 0, 1);
- TEST_MATCH_ALL1("a+", "aa", 1, 0, "a", 0, 1);
- TEST_MATCH_ALL1("a+", "aa", -1, 1, "a", 1, 2);
- TEST_MATCH_ALL1("a+", "aa", 2, 1, "a", 1, 2);
- TEST_MATCH_ALL1(".+", ENG, -1, 0, ENG, 0, 2);
- TEST_MATCH_ALL2("<.*>", "<a><b>", -1, 0, "<a><b>", 0, 6, "<a>", 0, 3);
- TEST_MATCH_ALL2("a+", "aa", -1, 0, "aa", 0, 2, "a", 0, 1);
- TEST_MATCH_ALL2(".+", ENG EURO, -1, 0, ENG EURO, 0, 5, ENG, 0, 2);
- TEST_MATCH_ALL3("<.*>", "<a><b><c>", -1, 0, "<a><b><c>", 0, 9,
- "<a><b>", 0, 6, "<a>", 0, 3);
- TEST_MATCH_ALL3("a+", "aaa", -1, 0, "aaa", 0, 3, "aa", 0, 2, "a", 0, 1);
-
-end: /* if abort_on_fail is TRUE the flow passes to this label. */
- verbose ("\n%u tests passed, %u failed\n", passed, failed);
- return failed;
-}
-
-#else /* ENABLE_REGEX false */
-
-int
-main (int argc, char *argv[])
-{
- g_print ("GRegex is disabled.\n");
- return 0;
-}
-
-#endif /* ENABLE_REGEX */
+++ /dev/null
-#! /bin/sh
-
-fail ()
-{
- echo "Test failed: $*"
- exit 1
-}
-
-echo_v ()
-{
- if [ "$verbose" = "1" ]; then
- echo "$*"
- fi
-}
-
-error_out=/dev/null
-if [ "$1" = "-v" ]; then
- verbose=1
- error_out=/dev/stderr
-fi
-for I in ${srcdir:-.}/bookmarks/fail-*.xbel; do
- echo_v "Parsing $I, should fail"
- ./bookmarkfile-test $I > /dev/null 2> $error_out && fail "failed to generate error on $I"
- if test "$?" != "1"; then
- fail "unexpected error on $I"
- fi
-done
-
-for I in ${srcdir:-.}/bookmarks/valid-*.xbel; do
- echo_v "Parsing $I, should succeed"
- ./bookmarkfile-test $I > /dev/null 2> $error_out || fail "failed on $I"
-done
-
-echo_v "All tests passed."
+++ /dev/null
-#! /bin/sh
-
-fail ()
-{
- echo "Test failed: $*"
- exit 1
-}
-
-echo_v ()
-{
- if [ "$verbose" = "1" ]; then
- echo "$*"
- fi
-}
-
-error_out=/dev/null
-if [ "$1" = "-v" ]; then
- verbose=1
- error_out=/dev/stderr
-fi
-for I in ${srcdir:-.}/markups/fail-*.gmarkup; do
- echo_v "Parsing $I, should fail"
- ./markup-test $I > /dev/null 2> $error_out && fail "failed to generate error on $I"
- if test "$?" != "1"; then
- fail "unexpected error on $I"
- fi
-done
-
-I=1
-while test $I -lt 100 ; do
- F=${srcdir:-.}/markups/valid-$I.gmarkup
- if [ -f $F ] ; then
- echo_v "Parsing $F, should succeed"
- ./markup-test $F > actual 2> $error_out || fail "failed on $F"
- diff ${srcdir:-.}/markups/expected-$I actual || fail "unexpected output on $F"
- rm actual
- fi
- I=`expr $I + 1`
-done
-
-echo_v "All tests passed."
+++ /dev/null
-/* Gtk+ object tests
- * Copyright (C) 2007 Patrick Hulin
- * Copyright (C) 2007 Imendio AB
- * Authors: Tim Janik
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-#include <glib.h>
-#include <string.h>
-#include <stdlib.h>
-
-
-/* GScanner fixture */
-typedef struct {
- GScanner *scanner;
-} ScannerFixture;
-static void
-scanner_fixture_setup (ScannerFixture *fix,
- gconstpointer test_data)
-{
- fix->scanner = g_scanner_new (NULL);
- g_assert (fix->scanner != NULL);
-}
-static void
-scanner_fixture_teardown (ScannerFixture *fix,
- gconstpointer test_data)
-{
- g_assert (fix->scanner != NULL);
- g_scanner_destroy (fix->scanner);
-}
-
-static void
-scanner_msg_func (GScanner *scanner,
- gchar *message,
- gboolean error)
-{
- g_assert_cmpstr (message, ==, "test");
-}
-
-static void
-test_scanner_warn (ScannerFixture *fix,
- gconstpointer test_data)
-{
- fix->scanner->msg_handler = scanner_msg_func;
- g_scanner_warn (fix->scanner, "test");
-}
-
-static void
-test_scanner_error (ScannerFixture *fix,
- gconstpointer test_data)
-{
- if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR))
- {
- int pe = fix->scanner->parse_errors;
- g_scanner_error (fix->scanner, "scanner-error-message-test");
- g_assert_cmpint (fix->scanner->parse_errors, ==, pe + 1);
- exit (0);
- }
- g_test_trap_assert_passed();
- g_test_trap_assert_stderr ("*scanner-error-message-test*");
-}
-
-static void
-check_keys (gpointer key,
- gpointer value,
- gpointer user_data)
-{
- g_assert_cmpint (GPOINTER_TO_INT (value), ==, g_ascii_strtoull (key, NULL, 0));
-}
-
-static void
-test_scanner_symbols (ScannerFixture *fix,
- gconstpointer test_data)
-{
- gint i;
- gchar buf[2];
-
- g_scanner_set_scope (fix->scanner, 1);
-
- for (i = 0; i < 10; i++)
- g_scanner_scope_add_symbol (fix->scanner,
- 1,
- g_ascii_dtostr (buf, 2, (gdouble)i),
- GINT_TO_POINTER (i));
- g_scanner_scope_foreach_symbol (fix->scanner, 1, check_keys, NULL);
- g_scanner_scope_remove_symbol (fix->scanner, 1, "5");
- g_assert_cmpint (GPOINTER_TO_INT (g_scanner_scope_lookup_symbol (fix->scanner, 1, "4")), ==, 4);
- g_assert_cmpint (GPOINTER_TO_INT (g_scanner_scope_lookup_symbol (fix->scanner, 1, "5")), ==, 0);
-}
-
-static void
-test_scanner_tokens (ScannerFixture *fix,
- gconstpointer test_data)
-{
- gchar buf[] = "(\t\n\r\\){}";
- const gint buflen = strlen (buf);
- gchar tokbuf[] = "(\\){}";
- const gint tokbuflen = strlen (tokbuf);
- guint i;
-
- g_scanner_input_text (fix->scanner, buf, buflen);
-
- g_assert_cmpint (g_scanner_cur_token (fix->scanner), ==, G_TOKEN_NONE);
- g_scanner_get_next_token (fix->scanner);
- g_assert_cmpint (g_scanner_cur_token (fix->scanner), ==, tokbuf[0]);
- g_assert_cmpint (g_scanner_cur_line (fix->scanner), ==, 1);
-
- for (i = 1; i < tokbuflen; i++)
- g_assert_cmpint (g_scanner_get_next_token (fix->scanner), ==, tokbuf[i]);
- g_assert_cmpint (g_scanner_get_next_token (fix->scanner), ==, G_TOKEN_EOF);
- return;
-}
-
-int
-main (int argc,
- char *argv[])
-{
- g_test_init (&argc, &argv, NULL);
-
- g_test_add ("/scanner/warn", ScannerFixture, 0, scanner_fixture_setup, test_scanner_warn, scanner_fixture_teardown);
- g_test_add ("/scanner/error", ScannerFixture, 0, scanner_fixture_setup, test_scanner_error, scanner_fixture_teardown);
- g_test_add ("/scanner/symbols", ScannerFixture, 0, scanner_fixture_setup, test_scanner_symbols, scanner_fixture_teardown);
- g_test_add ("/scanner/tokens", ScannerFixture, 0, scanner_fixture_setup, test_scanner_tokens, scanner_fixture_teardown);
-
- return g_test_run();
-}
+++ /dev/null
-#include <stdio.h>
-#include <glib.h>
-#include <stdlib.h>
-
-/* Keep this in sync with gsequence.c !!! */
-typedef struct _GSequenceNode GSequenceNode;
-
-struct _GSequence
-{
- GSequenceNode * end_node;
- GDestroyNotify data_destroy_notify;
- gboolean access_prohibited;
- GSequence * real_sequence;
-};
-
-struct _GSequenceNode
-{
- gint n_nodes;
- GSequenceNode * parent;
- GSequenceNode * left;
- GSequenceNode * right;
- gpointer data;
-};
-
-static guint
-get_priority (GSequenceNode *node)
-{
- guint key = GPOINTER_TO_UINT (node);
-
- key = (key << 15) - key - 1;
- key = key ^ (key >> 12);
- key = key + (key << 2);
- key = key ^ (key >> 4);
- key = key + (key << 3) + (key << 11);
- key = key ^ (key >> 16);
-
- return key? key : 1;
-}
-
-static void
-check_node (GSequenceNode *node)
-{
- if (node)
- {
- g_assert (node->parent != node);
- if (node->parent)
- g_assert (node->parent->left == node || node->parent->right == node);
- g_assert (node->n_nodes == 1 + (node->left ? node->left->n_nodes : 0) + (node->right ? node->right->n_nodes : 0));
- if (node->left)
- g_assert (get_priority (node) >= get_priority (node->left));
- if (node->right)
- g_assert (get_priority (node) >= get_priority (node->right));
- check_node (node->left);
- check_node (node->right);
- }
-}
-
-void
-g_sequence_check (GSequence *seq)
-{
- GSequenceNode *node = seq->end_node;
-
- while (node->parent)
- node = node->parent;
-
- check_node (node);
-
- while (node->right)
- node = node->right;
-
- g_assert (seq->end_node == node);
- g_assert (node->data == seq);
-
-}
-
-
-enum {
- NEW, FREE, GET_LENGTH, FOREACH, FOREACH_RANGE, SORT, SORT_ITER,
-
- /* Getting iters */
- GET_BEGIN_ITER, GET_END_ITER, GET_ITER_AT_POS, APPEND, PREPEND,
- INSERT_BEFORE, MOVE, SWAP, INSERT_SORTED, INSERT_SORTED_ITER, SORT_CHANGED,
- SORT_CHANGED_ITER, REMOVE, REMOVE_RANGE, MOVE_RANGE, SEARCH, SEARCH_ITER,
-
- /* dereferencing */
- GET, SET,
-
- /* operations on GSequenceIter * */
- ITER_IS_BEGIN, ITER_IS_END, ITER_NEXT, ITER_PREV, ITER_GET_POSITION,
- ITER_MOVE, ITER_GET_SEQUENCE,
-
- /* search */
- ITER_COMPARE, RANGE_GET_MIDPOINT,
- N_OPS
-};
-
-typedef struct SequenceInfo
-{
- GQueue * queue;
- GSequence * sequence;
- int n_items;
-} SequenceInfo;
-
-typedef struct
-{
- SequenceInfo *seq;
- int number;
-} Item;
-
-void g_sequence_check (GSequence *sequence);
-
-static Item *
-fix_pointer (gconstpointer data)
-{
- return (Item *)((char *)data - 1);
-}
-
-static Item *
-get_item (GSequenceIter *iter)
-{
- return fix_pointer (g_sequence_get (iter));
-}
-
-static void
-check_integrity (SequenceInfo *info)
-{
- GList *list;
- GSequenceIter *iter;
- int i;
-
- g_sequence_check (info->sequence);
-
- if (g_sequence_get_length (info->sequence) != info->n_items)
- g_print ("%d %d\n",
- g_sequence_get_length (info->sequence), info->n_items);
- g_assert (info->n_items == g_queue_get_length (info->queue));
- g_assert (g_sequence_get_length (info->sequence) == info->n_items);
-
- iter = g_sequence_get_begin_iter (info->sequence);
- list = info->queue->head;
- i = 0;
- while (iter != g_sequence_get_end_iter (info->sequence))
- {
- Item *item;
- g_assert (list->data == iter);
- item = get_item (list->data);
- g_assert (item->seq == info);
-
- iter = g_sequence_iter_next (iter);
- list = list->next;
- i++;
- }
-
- g_assert (info->n_items == g_queue_get_length (info->queue));
- g_assert (g_sequence_get_length (info->sequence) == info->n_items);
-}
-
-static gpointer
-new_item (SequenceInfo *seq)
-{
- Item *item = g_new (Item, 1);
- seq->n_items++;
- item->seq = seq;
- item->number = g_random_int ();
-
- /* There have been bugs in the past where the GSequence would
- * dereference the user pointers. This will make sure such
- * behavior causes crashes
- */
- return ((char *)item + 1);
-}
-
-static void
-free_item (gpointer data)
-{
- Item *item = fix_pointer (data);
- item->seq->n_items--;
- g_free (item);
-}
-
-static void
-seq_foreach (gpointer data,
- gpointer user_data)
-{
- Item *item = fix_pointer (data);
- GList **link = user_data;
- GSequenceIter *iter;
-
- g_assert (*link != NULL);
-
- iter = (*link)->data;
-
- g_assert (get_item (iter) == item);
-
- item->number = g_random_int();
-
- *link = (*link)->next;
-}
-
-static gint
-compare_items (gconstpointer a,
- gconstpointer b,
- gpointer data)
-{
- const Item *item_a = fix_pointer (a);
- const Item *item_b = fix_pointer (b);
-
- if (item_a->number < item_b->number)
- {
- return -1;
- }
- else if (item_a->number == item_b->number)
- {
- /* Force an arbitrary order on the items
- * We have to do this, since g_queue_insert_sorted() and
- * g_sequence_insert_sorted() do not agree on the exact
- * position the item is inserted if the new item is
- * equal to an existing one.
- */
- if (item_a < item_b)
- return -1;
- else if (item_a == item_b)
- return 0;
- else
- return 1;
- }
- else
- {
- return 1;
- }
-}
-
-static void
-check_sorted (SequenceInfo *info)
-{
- GList *list;
- int last;
- GSequenceIter *last_iter;
-
- check_integrity (info);
-
- last = G_MININT;
- last_iter = NULL;
- for (list = info->queue->head; list != NULL; list = list->next)
- {
- GSequenceIter *iter = list->data;
- Item *item = get_item (iter);
-
- g_assert (item->number >= last);
- /* Check that the ordering is the same as that of the queue,
- * ie. that the sort is stable
- */
- if (last_iter)
- g_assert (iter == g_sequence_iter_next (last_iter));
-
- last = item->number;
- last_iter = iter;
- }
-}
-
-static gint
-compare_iters (gconstpointer a,
- gconstpointer b,
- gpointer data)
-{
- GSequence *seq = data;
- GSequenceIter *iter_a = (GSequenceIter *)a;
- GSequenceIter *iter_b = (GSequenceIter *)b;
- /* compare_items() will fix up the pointers */
- Item *item_a = g_sequence_get (iter_a);
- Item *item_b = g_sequence_get (iter_b);
-
- if (seq)
- {
- g_assert (g_sequence_iter_get_sequence (iter_a) == seq);
- g_assert (g_sequence_iter_get_sequence (iter_b) == seq);
- }
-
- return compare_items (item_a, item_b, data);
-}
-
-/* A version of g_queue_link_index() that treats NULL as just
- * beyond the queue
- */
-static int
-queue_link_index (SequenceInfo *seq, GList *link)
-{
- if (link)
- return g_queue_link_index (seq->queue, link);
- else
- return g_queue_get_length (seq->queue);
-}
-
-static void
-get_random_range (SequenceInfo *seq,
- GSequenceIter **begin_iter,
- GSequenceIter **end_iter,
- GList **begin_link,
- GList **end_link)
-{
- int length = g_queue_get_length (seq->queue);
- int b = g_random_int_range (0, length + 1);
- int e = g_random_int_range (b, length + 1);
-
- g_assert (length == g_sequence_get_length (seq->sequence));
-
- if (begin_iter)
- *begin_iter = g_sequence_get_iter_at_pos (seq->sequence, b);
- if (end_iter)
- *end_iter = g_sequence_get_iter_at_pos (seq->sequence, e);
- if (begin_link)
- *begin_link = g_queue_peek_nth_link (seq->queue, b);
- if (end_link)
- *end_link = g_queue_peek_nth_link (seq->queue, e);
- if (begin_iter && begin_link)
- {
- g_assert (
- queue_link_index (seq, *begin_link) ==
- g_sequence_iter_get_position (*begin_iter));
- }
- if (end_iter && end_link)
- {
- g_assert (
- queue_link_index (seq, *end_link) ==
- g_sequence_iter_get_position (*end_iter));
- }
-}
-
-static gint
-get_random_position (SequenceInfo *seq)
-{
- int length = g_queue_get_length (seq->queue);
-
- g_assert (length == g_sequence_get_length (seq->sequence));
-
- return g_random_int_range (-2, length + 5);
-}
-
-static GSequenceIter *
-get_random_iter (SequenceInfo *seq,
- GList **link)
-{
- GSequenceIter *iter;
- int pos = get_random_position (seq);
- if (link)
- *link = g_queue_peek_nth_link (seq->queue, pos);
- iter = g_sequence_get_iter_at_pos (seq->sequence, pos);
- if (link)
- g_assert (queue_link_index (seq, *link) == g_sequence_iter_get_position (iter));
- return iter;
-}
-
-static void
-dump_info (SequenceInfo *seq)
-{
-#if 0
- GSequenceIter *iter;
- GList *list;
-
- iter = g_sequence_get_begin_iter (seq->sequence);
- list = seq->queue->head;
-
- while (iter != g_sequence_get_end_iter (seq->sequence))
- {
- Item *item = get_item (iter);
- g_print ("%p %p %d\n", list->data, iter, item->number);
-
- iter = g_sequence_iter_next (iter);
- list = list->next;
- }
-#endif
-}
-
-/* A version of g_queue_insert_before() that appends if link is NULL */
-static void
-queue_insert_before (SequenceInfo *seq, GList *link, gpointer data)
-{
- if (link)
- g_queue_insert_before (seq->queue, link, data);
- else
- g_queue_push_tail (seq->queue, data);
-}
-
-static void
-run_random_tests (guint32 seed)
-{
-#define N_ITERATIONS 60000
-#define N_SEQUENCES 8
-#define N_TIMES 24
-
- SequenceInfo sequences[N_SEQUENCES];
- int k;
-
- g_print (" seed: %u\n", seed);
-
- g_random_set_seed (seed);
-
- for (k = 0; k < N_SEQUENCES; ++k)
- {
- sequences[k].queue = g_queue_new ();
- sequences[k].sequence = g_sequence_new (free_item);
- sequences[k].n_items = 0;
- }
-
-#define RANDOM_SEQUENCE() &(sequences[g_random_int_range (0, N_SEQUENCES)])
-
- for (k = 0; k < N_ITERATIONS; ++k)
- {
- int i;
- SequenceInfo *seq = RANDOM_SEQUENCE();
- int op = g_random_int_range (0, N_OPS);
-
-#if 0
- g_print ("%d on %p\n", op, seq);
-#endif
-
- switch (op)
- {
- case NEW:
- case FREE:
- {
- g_queue_free (seq->queue);
- g_sequence_free (seq->sequence);
-
- g_assert (seq->n_items == 0);
-
- seq->queue = g_queue_new ();
- seq->sequence = g_sequence_new (free_item);
-
- check_integrity (seq);
- }
- break;
- case GET_LENGTH:
- {
- int slen = g_sequence_get_length (seq->sequence);
- int qlen = g_queue_get_length (seq->queue);
-
- g_assert (slen == qlen);
- }
- break;
- case FOREACH:
- {
- GList *link = seq->queue->head;
- g_sequence_foreach (seq->sequence, seq_foreach, &link);
- g_assert (link == NULL);
- }
- break;
- case FOREACH_RANGE:
- {
- GSequenceIter *begin_iter, *end_iter;
- GList *begin_link, *end_link;
-
- get_random_range (seq, &begin_iter, &end_iter, &begin_link, &end_link);
-
- check_integrity (seq);
-
- g_sequence_foreach_range (begin_iter, end_iter, seq_foreach, &begin_link);
-
- g_assert (begin_link == end_link);
- }
- break;
- case SORT:
- {
- dump_info (seq);
-
- g_sequence_sort (seq->sequence, compare_items, NULL);
- g_queue_sort (seq->queue, compare_iters, NULL);
-
- check_sorted (seq);
-
- dump_info (seq);
- }
- break;
- case SORT_ITER:
- {
- check_integrity (seq);
- g_sequence_sort_iter (seq->sequence,
- (GSequenceIterCompareFunc)compare_iters, seq->sequence);
- g_queue_sort (seq->queue, compare_iters, NULL);
- check_sorted (seq);
- }
- break;
-
- /* Getting iters */
- case GET_END_ITER:
- case GET_BEGIN_ITER:
- {
- GSequenceIter *begin_iter;
- GSequenceIter *end_iter;
- GSequenceIter *penultimate_iter;
-
- begin_iter = g_sequence_get_begin_iter (seq->sequence);
- check_integrity (seq);
-
- end_iter = g_sequence_get_end_iter (seq->sequence);
- check_integrity (seq);
-
- penultimate_iter = g_sequence_iter_prev (end_iter);
- check_integrity (seq);
-
- if (g_sequence_get_length (seq->sequence) > 0)
- {
- g_assert (seq->queue->head);
- g_assert (seq->queue->head->data == begin_iter);
- g_assert (seq->queue->tail);
- g_assert (seq->queue->tail->data == penultimate_iter);
- }
- else
- {
- g_assert (penultimate_iter == end_iter);
- g_assert (begin_iter == end_iter);
- g_assert (penultimate_iter == begin_iter);
- g_assert (seq->queue->head == NULL);
- g_assert (seq->queue->tail == NULL);
- }
- }
- break;
- case GET_ITER_AT_POS:
- {
- int i;
-
- g_assert (g_queue_get_length (seq->queue) == g_sequence_get_length (seq->sequence));
-
- for (i = 0; i < 10; ++i)
- {
- int pos = get_random_position (seq);
- GSequenceIter *iter = g_sequence_get_iter_at_pos (seq->sequence, pos);
- GList *link = g_queue_peek_nth_link (seq->queue, pos);
- check_integrity (seq);
- if (pos >= g_sequence_get_length (seq->sequence) || pos < 0)
- {
- g_assert (iter == g_sequence_get_end_iter (seq->sequence));
- g_assert (link == NULL);
- }
- else
- {
- g_assert (link);
- g_assert (link->data == iter);
- }
- }
- }
- break;
- case APPEND:
- {
- for (i = 0; i < 10; ++i)
- {
- GSequenceIter *iter = g_sequence_append (seq->sequence, new_item (seq));
- g_queue_push_tail (seq->queue, iter);
- }
- }
- break;
- case PREPEND:
- {
- for (i = 0; i < 10; ++i)
- {
- GSequenceIter *iter = g_sequence_prepend (seq->sequence, new_item (seq));
- g_queue_push_head (seq->queue, iter);
- }
- }
- break;
- case INSERT_BEFORE:
- {
- for (i = 0; i < 10; ++i)
- {
- GList *link;
- GSequenceIter *iter = get_random_iter (seq, &link);
- GSequenceIter *new_iter;
- check_integrity (seq);
-
- new_iter = g_sequence_insert_before (iter, new_item (seq));
-
- queue_insert_before (seq, link, new_iter);
- }
- }
- break;
- case MOVE:
- {
- GList *link1, *link2;
- SequenceInfo *seq1 = RANDOM_SEQUENCE();
- SequenceInfo *seq2 = RANDOM_SEQUENCE();
- GSequenceIter *iter1 = get_random_iter (seq1, &link1);
- GSequenceIter *iter2 = get_random_iter (seq2, &link2);
-
- if (!g_sequence_iter_is_end (iter1))
- {
- g_sequence_move (iter1, iter2);
-
- if (!link2)
- g_assert (g_sequence_iter_is_end (iter2));
-
- queue_insert_before (seq2, link2, link1->data);
-
- g_queue_delete_link (seq1->queue, link1);
-
- get_item (iter1)->seq = seq2;
-
- seq1->n_items--;
- seq2->n_items++;
- }
-
- check_integrity (seq);
-
- iter1 = get_random_iter (seq, NULL);
-
- /* Moving an iter to itself should have no effect */
- if (!g_sequence_iter_is_end (iter1))
- g_sequence_move (iter1, iter1);
- }
- break;
- case SWAP:
- {
- GList *link1, *link2;
- SequenceInfo *seq1 = RANDOM_SEQUENCE();
- SequenceInfo *seq2 = RANDOM_SEQUENCE();
- GSequenceIter *iter1 = get_random_iter (seq1, &link1);
- GSequenceIter *iter2 = get_random_iter (seq2, &link2);
-
- if (!g_sequence_iter_is_end (iter1) &&
- !g_sequence_iter_is_end (iter2))
- {
- gpointer tmp;
-
- g_sequence_swap (iter1, iter2);
-
- get_item (iter1)->seq = seq2;
- get_item (iter2)->seq = seq1;
-
- tmp = link1->data;
- link1->data = link2->data;
- link2->data = tmp;
- }
- }
- break;
- case INSERT_SORTED:
- {
- int i;
- dump_info (seq);
-
- g_sequence_sort (seq->sequence, compare_items, NULL);
- g_queue_sort (seq->queue, compare_iters, NULL);
-
- check_sorted (seq);
-
- for (i = 0; i < N_TIMES; ++i)
- {
- GSequenceIter *iter =
- g_sequence_insert_sorted (seq->sequence, new_item(seq), compare_items, NULL);
-
- g_queue_insert_sorted (seq->queue, iter, compare_iters, NULL);
- }
-
- check_sorted (seq);
-
- dump_info (seq);
- }
- break;
- case INSERT_SORTED_ITER:
- {
- int i;
- dump_info (seq);
-
- g_sequence_sort (seq->sequence, compare_items, NULL);
- g_queue_sort (seq->queue, compare_iters, NULL);
-
- check_sorted (seq);
-
- for (i = 0; i < N_TIMES; ++i)
- {
- GSequenceIter *iter;
-
- iter = g_sequence_insert_sorted_iter (seq->sequence,
- new_item (seq),
- (GSequenceIterCompareFunc)compare_iters,
- seq->sequence);
-
- g_queue_insert_sorted (seq->queue, iter, compare_iters, NULL);
- }
-
- check_sorted (seq);
-
- dump_info (seq);
- }
- break;
- case SORT_CHANGED:
- {
- int i;
-
- g_sequence_sort (seq->sequence, compare_items, NULL);
- g_queue_sort (seq->queue, compare_iters, NULL);
-
- check_sorted (seq);
-
- for (i = 0; i < N_TIMES; ++i)
- {
- GList *link;
- GSequenceIter *iter = get_random_iter (seq, &link);
-
- if (!g_sequence_iter_is_end (iter))
- {
- g_sequence_set (iter, new_item (seq));
- g_sequence_sort_changed (iter, compare_items, NULL);
-
- g_queue_delete_link (seq->queue, link);
- g_queue_insert_sorted (seq->queue, iter, compare_iters, NULL);
- }
-
- check_sorted (seq);
- }
- }
- break;
- case SORT_CHANGED_ITER:
- {
- int i;
-
- g_sequence_sort (seq->sequence, compare_items, NULL);
- g_queue_sort (seq->queue, compare_iters, NULL);
-
- check_sorted (seq);
-
- for (i = 0; i < N_TIMES; ++i)
- {
- GList *link;
- GSequenceIter *iter = get_random_iter (seq, &link);
-
- if (!g_sequence_iter_is_end (iter))
- {
- g_sequence_set (iter, new_item (seq));
- g_sequence_sort_changed_iter (iter,
- (GSequenceIterCompareFunc)compare_iters, seq->sequence);
-
- g_queue_delete_link (seq->queue, link);
- g_queue_insert_sorted (seq->queue, iter, compare_iters, NULL);
- }
-
- check_sorted (seq);
- }
- }
- break;
- case REMOVE:
- {
- int i;
-
- for (i = 0; i < N_TIMES; ++i)
- {
- GList *link;
- GSequenceIter *iter = get_random_iter (seq, &link);
-
- if (!g_sequence_iter_is_end (iter))
- {
- g_sequence_remove (iter);
- g_queue_delete_link (seq->queue, link);
- }
- }
- }
- break;
- case REMOVE_RANGE:
- {
- GSequenceIter *begin_iter, *end_iter;
- GList *begin_link, *end_link;
- GList *list;
-
- get_random_range (seq, &begin_iter, &end_iter, &begin_link, &end_link);
-
- g_sequence_remove_range (begin_iter, end_iter);
-
- list = begin_link;
- while (list != end_link)
- {
- GList *next = list->next;
-
- g_queue_delete_link (seq->queue, list);
-
- list = next;
- }
- }
- break;
- case MOVE_RANGE:
- {
- SequenceInfo *src = RANDOM_SEQUENCE();
- SequenceInfo *dst = RANDOM_SEQUENCE();
-
- GSequenceIter *begin_iter, *end_iter;
- GList *begin_link, *end_link;
-
- GSequenceIter *dst_iter;
- GList *dst_link;
-
- GList *list;
-
- g_assert (src->queue);
- g_assert (dst->queue);
-
- get_random_range (src, &begin_iter, &end_iter, &begin_link, &end_link);
- dst_iter = get_random_iter (dst, &dst_link);
-
- g_sequence_move_range (dst_iter, begin_iter, end_iter);
-
- if (dst_link == begin_link || (src == dst && dst_link == end_link))
- {
- check_integrity (src);
- check_integrity (dst);
- break;
- }
-
- if (queue_link_index (src, begin_link) >=
- queue_link_index (src, end_link))
- {
- break;
- }
-
- if (src == dst &&
- queue_link_index (src, dst_link) >= queue_link_index (src, begin_link) &&
- queue_link_index (src, dst_link) <= queue_link_index (src, end_link))
- {
- break;
- }
-
- list = begin_link;
- while (list != end_link)
- {
- GList *next = list->next;
- Item *item = get_item (list->data);
-
- g_assert (dst->queue);
- queue_insert_before (dst, dst_link, list->data);
- g_queue_delete_link (src->queue, list);
-
- g_assert (item->seq == src);
-
- src->n_items--;
- dst->n_items++;
- item->seq = dst;
-
- list = next;
- }
- }
- break;
- case SEARCH:
- {
- Item *item;
- GSequenceIter *search_iter;
- GSequenceIter *insert_iter;
-
- g_sequence_sort (seq->sequence, compare_items, NULL);
- g_queue_sort (seq->queue, compare_iters, NULL);
-
- check_sorted (seq);
-
- item = new_item (seq);
- search_iter = g_sequence_search (seq->sequence, item, compare_items, NULL);
-
- insert_iter = g_sequence_insert_sorted (seq->sequence, item, compare_items, NULL);
-
- g_assert (search_iter == g_sequence_iter_next (insert_iter));
-
- g_queue_insert_sorted (seq->queue, insert_iter, compare_iters, NULL);
- }
- break;
- case SEARCH_ITER:
- {
- Item *item;
- GSequenceIter *search_iter;
- GSequenceIter *insert_iter;
-
- g_sequence_sort (seq->sequence, compare_items, NULL);
- g_queue_sort (seq->queue, compare_iters, NULL);
-
- check_sorted (seq);
-
- item = new_item (seq);
- search_iter = g_sequence_search_iter (seq->sequence,
- item,
- (GSequenceIterCompareFunc)compare_iters, seq->sequence);
-
- insert_iter = g_sequence_insert_sorted (seq->sequence, item, compare_items, NULL);
-
- g_assert (search_iter == g_sequence_iter_next (insert_iter));
-
- g_queue_insert_sorted (seq->queue, insert_iter, compare_iters, NULL);
- }
- break;
-
- /* dereferencing */
- case GET:
- case SET:
- {
- GSequenceIter *iter;
- GList *link;
-
- iter = get_random_iter (seq, &link);
-
- if (!g_sequence_iter_is_end (iter))
- {
- Item *item;
- int i;
-
- check_integrity (seq);
-
- /* Test basic functionality */
- item = new_item (seq);
- g_sequence_set (iter, item);
- g_assert (g_sequence_get (iter) == item);
-
- /* Make sure that existing items are freed */
- for (i = 0; i < N_TIMES; ++i)
- g_sequence_set (iter, new_item (seq));
-
- check_integrity (seq);
-
- g_sequence_set (iter, new_item (seq));
- }
- }
- break;
-
- /* operations on GSequenceIter * */
- case ITER_IS_BEGIN:
- {
- GSequenceIter *iter;
-
- iter = g_sequence_get_iter_at_pos (seq->sequence, 0);
-
- g_assert (g_sequence_iter_is_begin (iter));
-
- check_integrity (seq);
-
- if (g_sequence_get_length (seq->sequence) > 0)
- {
- g_assert (!g_sequence_iter_is_begin (g_sequence_get_end_iter (seq->sequence)));
- }
- else
- {
- g_assert (g_sequence_iter_is_begin (g_sequence_get_end_iter (seq->sequence)));
- }
-
- g_assert (g_sequence_iter_is_begin (g_sequence_get_begin_iter (seq->sequence)));
- }
- break;
- case ITER_IS_END:
- {
- GSequenceIter *iter;
- int len = g_sequence_get_length (seq->sequence);
-
- iter = g_sequence_get_iter_at_pos (seq->sequence, len);
-
- g_assert (g_sequence_iter_is_end (iter));
-
- if (len > 0)
- {
- g_assert (!g_sequence_iter_is_end (g_sequence_get_begin_iter (seq->sequence)));
- }
- else
- {
- g_assert (g_sequence_iter_is_end (g_sequence_get_begin_iter (seq->sequence)));
- }
-
- g_assert (g_sequence_iter_is_end (g_sequence_get_end_iter (seq->sequence)));
- }
- break;
- case ITER_NEXT:
- {
- GSequenceIter *iter1, *iter2, *iter3, *end;
-
- iter1 = g_sequence_append (seq->sequence, new_item (seq));
- iter2 = g_sequence_append (seq->sequence, new_item (seq));
- iter3 = g_sequence_append (seq->sequence, new_item (seq));
-
- end = g_sequence_get_end_iter (seq->sequence);
-
- g_assert (g_sequence_iter_next (iter1) == iter2);
- g_assert (g_sequence_iter_next (iter2) == iter3);
- g_assert (g_sequence_iter_next (iter3) == end);
- g_assert (g_sequence_iter_next (end) == end);
-
- g_queue_push_tail (seq->queue, iter1);
- g_queue_push_tail (seq->queue, iter2);
- g_queue_push_tail (seq->queue, iter3);
- }
- break;
- case ITER_PREV:
- {
- GSequenceIter *iter1, *iter2, *iter3, *begin;
-
- iter1 = g_sequence_prepend (seq->sequence, new_item (seq));
- iter2 = g_sequence_prepend (seq->sequence, new_item (seq));
- iter3 = g_sequence_prepend (seq->sequence, new_item (seq));
-
- begin = g_sequence_get_begin_iter (seq->sequence);
-
- g_assert (g_sequence_iter_prev (iter1) == iter2);
- g_assert (g_sequence_iter_prev (iter2) == iter3);
- g_assert (iter3 == begin);
- g_assert (g_sequence_iter_prev (iter3) == begin);
- g_assert (g_sequence_iter_prev (begin) == begin);
-
- g_queue_push_head (seq->queue, iter1);
- g_queue_push_head (seq->queue, iter2);
- g_queue_push_head (seq->queue, iter3);
- }
- break;
- case ITER_GET_POSITION:
- {
- GList *link;
- GSequenceIter *iter = get_random_iter (seq, &link);
-
- g_assert (g_sequence_iter_get_position (iter) ==
- queue_link_index (seq, link));
- }
- break;
- case ITER_MOVE:
- {
- int len = g_sequence_get_length (seq->sequence);
- GSequenceIter *iter;
- int pos;
-
- iter = get_random_iter (seq, NULL);
- pos = g_sequence_iter_get_position (iter);
- iter = g_sequence_iter_move (iter, len - pos);
- g_assert (g_sequence_iter_is_end (iter));
-
-
- iter = get_random_iter (seq, NULL);
- pos = g_sequence_iter_get_position (iter);
- while (pos < len)
- {
- g_assert (!g_sequence_iter_is_end (iter));
- pos++;
- iter = g_sequence_iter_move (iter, 1);
- }
- g_assert (g_sequence_iter_is_end (iter));
- }
- break;
- case ITER_GET_SEQUENCE:
- {
- GSequenceIter *iter = get_random_iter (seq, NULL);
-
- g_assert (g_sequence_iter_get_sequence (iter) == seq->sequence);
- }
- break;
-
- /* search */
- case ITER_COMPARE:
- {
- GList *link1, *link2;
- GSequenceIter *iter1 = get_random_iter (seq, &link1);
- GSequenceIter *iter2 = get_random_iter (seq, &link2);
-
- int cmp = g_sequence_iter_compare (iter1, iter2);
- int pos1 = queue_link_index (seq, link1);
- int pos2 = queue_link_index (seq, link2);
-
- if (cmp == 0)
- {
- g_assert (pos1 == pos2);
- }
- else if (cmp < 0)
- {
- g_assert (pos1 < pos2);
- }
- else
- {
- g_assert (pos1 > pos2);
- }
- }
- break;
- case RANGE_GET_MIDPOINT:
- {
- GSequenceIter *iter1 = get_random_iter (seq, NULL);
- GSequenceIter *iter2 = get_random_iter (seq, NULL);
- GSequenceIter *iter3;
- int cmp;
-
- cmp = g_sequence_iter_compare (iter1, iter2);
-
- if (cmp > 0)
- {
- GSequenceIter *tmp;
-
- tmp = iter1;
- iter1 = iter2;
- iter2 = tmp;
- }
-
- iter3 = g_sequence_range_get_midpoint (iter1, iter2);
-
- if (cmp == 0)
- {
- g_assert (iter3 == iter1);
- g_assert (iter3 == iter2);
- }
-
- g_assert (g_sequence_iter_get_position (iter3) >=
- g_sequence_iter_get_position (iter1));
- g_assert (g_sequence_iter_get_position (iter2) >=
- g_sequence_iter_get_position (iter3));
- }
- break;
-
- }
-
- check_integrity (seq);
- }
-}
-
-/* Random seeds known to have failed at one point
- */
-static gulong seeds[] =
- {
- 825541564u,
- 801678400u,
- 1477639090u,
- 3369132895u,
- 1192944867u,
- 770458294u,
- 1099575817u,
- 590523467u,
- 3583571454u,
- 579241222u
- };
-
-static void standalone_tests (void);
-
-static guint32
-get_seed (int argc, char **argv)
-{
- if (argc > 1)
- {
- char *endptr;
-
- return strtol (argv[1], &endptr, 0);
- }
- else
- {
- return g_random_int();
- }
-}
-
-int
-main (int argc,
- char **argv)
-{
- guint32 seed = get_seed (argc, argv);
- int i;
-
- /* Run stand alone tests */
- g_print ("running standalone tests\n");
- standalone_tests();
-
- g_print ("running regression tests:\n");
- /* Run regression tests */
- for (i = 0; i < G_N_ELEMENTS (seeds); ++i)
- {
- run_random_tests (seeds[i]);
- }
-
- /* Run with a new random seed */
- g_print ("random seed:\n");
- run_random_tests (seed);
-
-
- return 0;
-}
-
-
-/* Single, stand-alone tests */
-
-static void
-test_out_of_range_jump (void)
-{
- GSequence *seq = g_sequence_new (NULL);
- GSequenceIter *iter = g_sequence_get_begin_iter (seq);
-
- g_sequence_iter_move (iter, 5);
-
- g_assert (g_sequence_iter_is_begin (iter));
- g_assert (g_sequence_iter_is_end (iter));
-}
-
-static int
-compare (gconstpointer a, gconstpointer b, gpointer userdata)
-{
- int ai, bi;
-
- ai = GPOINTER_TO_INT (a);
- bi = GPOINTER_TO_INT (b);
-
- if (ai < bi)
- return -1;
- else if (ai > bi)
- return 1;
- else
- return 0;
-}
-
-static int
-compare_iter (GSequenceIter *a,
- GSequenceIter *b,
- gpointer data)
-{
- return compare (g_sequence_get (a),
- g_sequence_get (b),
- data);
-}
-
-static void
-test_insert_sorted_non_pointer (void)
-{
- int i;
-
- for (i = 0; i < 10; i++)
- {
- GSequence *seq = g_sequence_new (NULL);
- int j;
-
- for (j = 0; j < 10000; j++)
- {
- g_sequence_insert_sorted (seq, GINT_TO_POINTER (g_random_int()),
- compare, NULL);
-
- g_sequence_insert_sorted_iter (seq, GINT_TO_POINTER (g_random_int()),
- compare_iter, NULL);
- }
-
- g_sequence_check (seq);
-
- g_sequence_free (seq);
- }
-}
-
-static void
-test_stable_sort (void)
-{
- int i;
- GSequence *seq = g_sequence_new (NULL);
-
-#define N_ITEMS 1000
-
- GSequenceIter *iters[N_ITEMS];
- GSequenceIter *iter;
-
- for (i = 0; i < N_ITEMS; ++i)
- {
- iters[i] = g_sequence_append (seq, GINT_TO_POINTER (3000));
- g_sequence_check (seq);
- g_assert (g_sequence_iter_get_sequence (iters[i]) == seq);
- }
-
- i = 0;
- iter = g_sequence_get_begin_iter (seq);
- g_assert (g_sequence_iter_get_sequence (iter) == seq);
- g_sequence_check (seq);
- while (!g_sequence_iter_is_end (iter))
- {
- g_assert (g_sequence_iter_get_sequence (iters[i]) == seq);
- g_assert (iters[i++] == iter);
-
- iter = g_sequence_iter_next (iter);
- g_sequence_check (seq);
- }
-
- g_sequence_sort (seq, compare, NULL);
-
- i = 0;
- iter = g_sequence_get_begin_iter (seq);
- while (!g_sequence_iter_is_end (iter))
- {
- g_assert (g_sequence_iter_get_sequence (iters[i]) == seq);
- g_assert (iters[i] == iter);
-
- iter = g_sequence_iter_next (iter);
- g_sequence_check (seq);
-
- i++;
- }
-
- for (i = N_ITEMS - 1; i >= 0; --i)
- {
- g_sequence_check (seq);
- g_assert (g_sequence_iter_get_sequence (iters[i]) == seq);
- g_assert (g_sequence_get_end_iter (seq) != iters[i]);
- g_sequence_sort_changed (iters[i], compare, NULL);
- }
-
- i = 0;
- iter = g_sequence_get_begin_iter (seq);
- while (!g_sequence_iter_is_end (iter))
- {
- g_assert (iters[i++] == iter);
-
- iter = g_sequence_iter_next (iter);
- g_sequence_check (seq);
- }
-}
-
-static void
-standalone_tests (void)
-{
- test_out_of_range_jump ();
- test_insert_sorted_non_pointer ();
- test_stable_sort ();
-}
-
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#include <glib.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-
-typedef struct _TestResult TestResult;
-
-struct _TestResult
-{
- gint argc;
- const gchar **argv;
-};
-
-static const gchar *
-test_command_lines[] =
-{
- /* 0 */ "foo bar",
- /* 1 */ "foo 'bar'",
- /* 2 */ "foo \"bar\"",
- /* 3 */ "foo '' 'bar'",
- /* 4 */ "foo \"bar\"'baz'blah'foo'\\''blah'\"boo\"",
- /* 5 */ "foo \t \tblah\tfoo\t\tbar baz",
- /* 6 */ "foo ' spaces more spaces lots of spaces in this ' \t",
- /* 7 */ "foo \\\nbar",
- /* 8 */ "foo '' ''",
- /* 9 */ "foo \\\" la la la",
- /* 10 */ "foo \\ foo woo woo\\ ",
- /* 11 */ "foo \"yada yada \\$\\\"\"",
- /* 12 */ "foo \"c:\\\\\"",
- NULL
-};
-
-static const gchar *result0[] = { "foo", "bar", NULL };
-static const gchar *result1[] = { "foo", "bar", NULL };
-static const gchar *result2[] = { "foo", "bar", NULL };
-static const gchar *result3[] = { "foo", "", "bar", NULL };
-static const gchar *result4[] = { "foo", "barbazblahfoo'blahboo", NULL };
-static const gchar *result5[] = { "foo", "blah", "foo", "bar", "baz", NULL };
-static const gchar *result6[] = { "foo", " spaces more spaces lots of spaces in this ", NULL };
-static const gchar *result7[] = { "foo", "bar", NULL };
-static const gchar *result8[] = { "foo", "", "", NULL };
-static const gchar *result9[] = { "foo", "\"", "la", "la", "la", NULL };
-static const gchar *result10[] = { "foo", " foo", "woo", "woo ", NULL };
-static const gchar *result11[] = { "foo", "yada yada $\"", NULL };
-static const gchar *result12[] = { "foo", "c:\\", NULL };
-
-static const TestResult
-correct_results[] =
-{
- { G_N_ELEMENTS (result0) - 1, result0 },
- { G_N_ELEMENTS (result1) - 1, result1 },
- { G_N_ELEMENTS (result2) - 1, result2 },
- { G_N_ELEMENTS (result3) - 1, result3 },
- { G_N_ELEMENTS (result4) - 1, result4 },
- { G_N_ELEMENTS (result5) - 1, result5 },
- { G_N_ELEMENTS (result6) - 1, result6 },
- { G_N_ELEMENTS (result7) - 1, result7 },
- { G_N_ELEMENTS (result8) - 1, result8 },
- { G_N_ELEMENTS (result9) - 1, result9 },
- { G_N_ELEMENTS (result10) - 1, result10 },
- { G_N_ELEMENTS (result11) - 1, result11 },
- { G_N_ELEMENTS (result12) - 1, result12 }
-};
-
-static void
-print_test (const gchar *cmdline, gint argc, gchar **argv,
- const TestResult *result)
-{
- gint i;
-
- fprintf (stderr, "Command line was: '%s'\n", cmdline);
-
- fprintf (stderr, "Expected result (%d args):\n", result->argc);
-
- i = 0;
- while (result->argv[i])
- {
- fprintf (stderr, " %3d '%s'\n", i, result->argv[i]);
- ++i;
- }
-
- fprintf (stderr, "Actual result (%d args):\n", argc);
-
- i = 0;
- while (argv[i])
- {
- fprintf (stderr, " %3d '%s'\n", i, argv[i]);
- ++i;
- }
-}
-
-static void
-do_argv_test (const gchar *cmdline, const TestResult *result)
-{
- gint argc;
- gchar **argv;
- GError *err;
- gint i;
-
- err = NULL;
- if (!g_shell_parse_argv (cmdline, &argc, &argv, &err))
- {
- fprintf (stderr, "Error parsing command line that should work fine: %s\n",
- err->message);
-
- exit (1);
- }
-
- if (argc != result->argc)
- {
- fprintf (stderr, "Expected and actual argc don't match\n");
- print_test (cmdline, argc, argv, result);
- exit (1);
- }
-
- i = 0;
- while (argv[i])
- {
- if (strcmp (argv[i], result->argv[i]) != 0)
- {
- fprintf (stderr, "Expected and actual arg %d do not match\n", i);
- print_test (cmdline, argc, argv, result);
- exit (1);
- }
-
- ++i;
- }
-
- if (argv[i] != NULL)
- {
- fprintf (stderr, "argv didn't get NULL-terminated\n");
- exit (1);
- }
- g_strfreev (argv);
-}
-
-static void
-run_tests (void)
-{
- gint i;
-
- i = 0;
- while (test_command_lines[i])
- {
- do_argv_test (test_command_lines[i], &correct_results[i]);
- ++i;
- }
-}
-
-static gboolean any_test_failed = FALSE;
-
-#define CHECK_STRING_RESULT(expression, expected_value) \
- check_string_result (#expression, __FILE__, __LINE__, expression, expected_value)
-
-static void
-check_string_result (const char *expression,
- const char *file_name,
- int line_number,
- char *result,
- const char *expected)
-{
- gboolean match;
-
- if (expected == NULL)
- match = result == NULL;
- else
- match = result != NULL && strcmp (result, expected) == 0;
-
- if (!match)
- {
- if (!any_test_failed)
- fprintf (stderr, "\n");
-
- fprintf (stderr, "FAIL: check failed in %s, line %d\n", file_name, line_number);
- fprintf (stderr, " evaluated: %s\n", expression);
- fprintf (stderr, " expected: %s\n", expected == NULL ? "NULL" : expected);
- fprintf (stderr, " got: %s\n", result == NULL ? "NULL" : result);
-
- any_test_failed = TRUE;
- }
-
- g_free (result);
-}
-
-static char *
-test_shell_unquote (const char *str)
-{
- char *result;
- GError *error;
-
- error = NULL;
- result = g_shell_unquote (str, &error);
- if (error == NULL)
- return result;
-
- /* Leaks the error, which is no big deal and easy to fix if we
- * decide it matters.
- */
-
- if (error->domain != G_SHELL_ERROR)
- return g_strdup ("error in domain other than G_SHELL_ERROR");
-
- /* It would be nice to check the error message too, but that's
- * localized, so it's too much of a pain.
- */
- switch (error->code)
- {
- case G_SHELL_ERROR_BAD_QUOTING:
- return g_strdup ("G_SHELL_ERROR_BAD_QUOTING");
- case G_SHELL_ERROR_EMPTY_STRING:
- return g_strdup ("G_SHELL_ERROR_EMPTY_STRING");
- case G_SHELL_ERROR_FAILED:
- return g_strdup ("G_SHELL_ERROR_FAILED");
- default:
- return g_strdup ("bad error code in G_SHELL_ERROR domain");
- }
-}
-
-int
-main (int argc,
- char *argv[])
-{
- run_tests ();
-
- CHECK_STRING_RESULT (g_shell_quote (""), "''");
- CHECK_STRING_RESULT (g_shell_quote ("a"), "'a'");
- CHECK_STRING_RESULT (g_shell_quote ("("), "'('");
- CHECK_STRING_RESULT (g_shell_quote ("'"), "''\\'''");
- CHECK_STRING_RESULT (g_shell_quote ("'a"), "''\\''a'");
- CHECK_STRING_RESULT (g_shell_quote ("a'"), "'a'\\'''");
- CHECK_STRING_RESULT (g_shell_quote ("a'a"), "'a'\\''a'");
-
- CHECK_STRING_RESULT (test_shell_unquote (""), "");
- CHECK_STRING_RESULT (test_shell_unquote ("a"), "a");
- CHECK_STRING_RESULT (test_shell_unquote ("'a'"), "a");
- CHECK_STRING_RESULT (test_shell_unquote ("'('"), "(");
- CHECK_STRING_RESULT (test_shell_unquote ("''\\'''"), "'");
- CHECK_STRING_RESULT (test_shell_unquote ("''\\''a'"), "'a");
- CHECK_STRING_RESULT (test_shell_unquote ("'a'\\'''"), "a'");
- CHECK_STRING_RESULT (test_shell_unquote ("'a'\\''a'"), "a'a");
-
- CHECK_STRING_RESULT (test_shell_unquote ("\\\\"), "\\");
- CHECK_STRING_RESULT (test_shell_unquote ("\\\n"), "");
-
- CHECK_STRING_RESULT (test_shell_unquote ("'\\''"), "G_SHELL_ERROR_BAD_QUOTING");
-
-#if defined (_MSC_VER) && (_MSC_VER <= 1200)
- /* using \x22 instead of \" to work around a msvc 5.0, 6.0 compiler bug */
- CHECK_STRING_RESULT (test_shell_unquote ("\x22\\\x22\""), "\"");
-#else
- CHECK_STRING_RESULT (test_shell_unquote ("\"\\\"\""), "\"");
-#endif
-
- CHECK_STRING_RESULT (test_shell_unquote ("\""), "G_SHELL_ERROR_BAD_QUOTING");
- CHECK_STRING_RESULT (test_shell_unquote ("'"), "G_SHELL_ERROR_BAD_QUOTING");
-
- CHECK_STRING_RESULT (test_shell_unquote ("\x22\\\\\""), "\\");
- CHECK_STRING_RESULT (test_shell_unquote ("\x22\\`\""), "`");
- CHECK_STRING_RESULT (test_shell_unquote ("\x22\\$\""), "$");
- CHECK_STRING_RESULT (test_shell_unquote ("\x22\\\n\""), "\n");
-
- CHECK_STRING_RESULT (test_shell_unquote ("\"\\'\""), "\\'");
- CHECK_STRING_RESULT (test_shell_unquote ("\x22\\\r\""), "\\\r");
- CHECK_STRING_RESULT (test_shell_unquote ("\x22\\n\""), "\\n");
-
- return any_test_failed ? 1 : 0;
-}
+++ /dev/null
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#include <glib.h>
-
-#define DEBUG_MSG(args)
-/* #define DEBUG_MSG(args) g_printerr args ; g_printerr ("\n"); */
-#define PRINT_MSG(args)
-/* #define PRINT_MSG(args) g_print args ; g_print ("\n"); */
-
-#define SIZE 50
-#define NUMBER_MIN 0000
-#define NUMBER_MAX 9999
-
-
-static guint32 array[SIZE];
-
-
-static gint
-sort (gconstpointer p1, gconstpointer p2)
-{
- gint32 a, b;
-
- a = GPOINTER_TO_INT (p1);
- b = GPOINTER_TO_INT (p2);
-
- return (a > b ? +1 : a == b ? 0 : -1);
-}
-
-/*
- * gslist sort tests
- */
-static void
-test_slist_sort (void)
-{
- GSList *slist = NULL;
- gint i;
-
- PRINT_MSG (("testing g_slist_sort()"));
-
- for (i = 0; i < SIZE; i++) {
- slist = g_slist_append (slist, GINT_TO_POINTER (array[i]));
- }
-
- slist = g_slist_sort (slist, sort);
- for (i = 0; i < SIZE - 1; i++) {
- gpointer p1, p2;
-
- p1 = g_slist_nth_data (slist, i);
- p2 = g_slist_nth_data (slist, i+1);
-
- g_assert (GPOINTER_TO_INT (p1) <= GPOINTER_TO_INT (p2));
- DEBUG_MSG (("slist_sort #%3.3d ---> %d", i, GPOINTER_TO_INT (p1)));
- }
-}
-
-static void
-test_slist_sort_with_data (void)
-{
- GSList *slist = NULL;
- gint i;
-
- PRINT_MSG (("testing g_slist_sort_with_data()"));
-
- for (i = 0; i < SIZE; i++) {
- slist = g_slist_append (slist, GINT_TO_POINTER (array[i]));
- }
-
- slist = g_slist_sort_with_data (slist, (GCompareDataFunc)sort, NULL);
- for (i = 0; i < SIZE - 1; i++) {
- gpointer p1, p2;
-
- p1 = g_slist_nth_data (slist, i);
- p2 = g_slist_nth_data (slist, i+1);
-
- g_assert (GPOINTER_TO_INT (p1) <= GPOINTER_TO_INT (p2));
- DEBUG_MSG (("slist_sort_with_data #%3.3d ---> %d", i, GPOINTER_TO_INT (p1)));
- }
-}
-
-static void
-test_slist_insert_sorted (void)
-{
- GSList *slist = NULL;
- gint i;
-
- PRINT_MSG (("testing g_slist_insert_sorted()"));
-
- for (i = 0; i < SIZE; i++) {
- slist = g_slist_insert_sorted (slist, GINT_TO_POINTER (array[i]), sort);
- }
-
- for (i = 0; i < SIZE - 1; i++) {
- gpointer p1, p2;
-
- p1 = g_slist_nth_data (slist, i);
- p2 = g_slist_nth_data (slist, i+1);
-
- g_assert (GPOINTER_TO_INT (p1) <= GPOINTER_TO_INT (p2));
- DEBUG_MSG (("slist_insert_sorted #%3.3d ---> %d", i, GPOINTER_TO_INT (p1)));
- }
-}
-
-static void
-test_slist_insert_sorted_with_data (void)
-{
- GSList *slist = NULL;
- gint i;
-
- PRINT_MSG (("testing g_slist_insert_sorted_with_data()"));
-
- for (i = 0; i < SIZE; i++) {
- slist = g_slist_insert_sorted_with_data (slist,
- GINT_TO_POINTER (array[i]),
- (GCompareDataFunc)sort,
- NULL);
- }
-
- for (i = 0; i < SIZE - 1; i++) {
- gpointer p1, p2;
-
- p1 = g_slist_nth_data (slist, i);
- p2 = g_slist_nth_data (slist, i+1);
-
- g_assert (GPOINTER_TO_INT (p1) <= GPOINTER_TO_INT (p2));
- DEBUG_MSG (("slist_insert_sorted_with_data #%3.3d ---> %d", i, GPOINTER_TO_INT (p1)));
- }
-}
-
-static void
-test_slist_reverse (void)
-{
- GSList *slist = NULL;
- GSList *st;
- gint nums[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
- gint i;
-
- PRINT_MSG (("testing g_slist_reverse()"));
-
- for (i = 0; i < 10; i++) {
- slist = g_slist_append (slist, &nums[i]);
- }
-
- slist = g_slist_reverse (slist);
-
- for (i = 0; i < 10; i++) {
- st = g_slist_nth (slist, i);
- g_assert (*((gint*) st->data) == (9 - i));
- }
-
- g_slist_free (slist);
-}
-
-static void
-test_slist_nth (void)
-{
- GSList *slist = NULL;
- GSList *st;
- gint nums[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
- gint i;
-
- PRINT_MSG (("testing g_slist_nth()"));
-
- for (i = 0; i < 10; i++) {
- slist = g_slist_append (slist, &nums[i]);
- }
-
- for (i = 0; i < 10; i++) {
- st = g_slist_nth (slist, i);
- g_assert (*((gint*) st->data) == i);
- }
-
- g_slist_free (slist);
-}
-
-int
-main (int argc, char *argv[])
-{
- gint i;
-
- DEBUG_MSG (("debugging messages turned on"));
-
- DEBUG_MSG (("creating %d random numbers", SIZE));
-
- /* Create an array of random numbers. */
- for (i = 0; i < SIZE; i++) {
- array[i] = g_random_int_range (NUMBER_MIN, NUMBER_MAX);
- DEBUG_MSG (("number #%3.3d ---> %d", i, array[i]));
- }
-
- /* Start tests. */
- test_slist_sort ();
- test_slist_sort_with_data ();
-
- test_slist_insert_sorted ();
- test_slist_insert_sorted_with_data ();
-
- test_slist_reverse ();
- test_slist_nth ();
-
- PRINT_MSG (("testing finished"));
-
- return 0;
-}
+++ /dev/null
-/* GLib testing framework examples and tests
- * Copyright (C) 2008 Asbjoern Pettersen
- *
- * This work is provided "as is"; redistribution and modification
- * in whole or in part, in any medium, physical or electronic is
- * permitted without restriction.
- *
- * This work is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * In no event shall the authors or contributors be liable for any
- * direct, indirect, incidental, special, exemplary, or consequential
- * damages (including, but not limited to, procurement of substitute
- * goods or services; loss of use, data, or profits; or business
- * interruption) however caused and on any theory of liability, whether
- * in contract, strict liability, or tort (including negligence or
- * otherwise) arising in any way out of the use of this software, even
- * if advised of the possibility of such damage.
- */
-
-#include <glib.h>
-#include <stdlib.h>
-#include <glib.h>
-#include <string.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#define DATA_SIZE 1024
-
-struct MyRawData
-{
- gint length; /* of data */
- guchar data[DATA_SIZE];
-};
-
-/* 100 pre-encoded string from data[] buffer. Data length from 1..100
- */
-static const char *ok_100_encode_strs[] = {
- "AA==",
- "AAE=",
- "AAEC",
- "AAECAw==",
- "AAECAwQ=",
- "AAECAwQF",
- "AAECAwQFBg==",
- "AAECAwQFBgc=",
- "AAECAwQFBgcI",
- "AAECAwQFBgcICQ==",
- "AAECAwQFBgcICQo=",
- "AAECAwQFBgcICQoL",
- "AAECAwQFBgcICQoLDA==",
- "AAECAwQFBgcICQoLDA0=",
- "AAECAwQFBgcICQoLDA0O",
- "AAECAwQFBgcICQoLDA0ODw==",
- "AAECAwQFBgcICQoLDA0ODxA=",
- "AAECAwQFBgcICQoLDA0ODxAR",
- "AAECAwQFBgcICQoLDA0ODxAREg==",
- "AAECAwQFBgcICQoLDA0ODxAREhM=",
- "AAECAwQFBgcICQoLDA0ODxAREhMU",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFQ==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRY=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYX",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGA==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBk=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBka",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGw==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxw=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwd",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHg==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8g",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gIQ==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISI=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJA==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCU=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUm",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJw==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJyg=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygp",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKg==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKis=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKiss",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLQ==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4v",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMA==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDE=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEy",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMw==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Ng==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OQ==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PA==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+Pw==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0A=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BB",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQg==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkM=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNE",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERQ==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUY=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZH",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSA==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSEk=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElK",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKSw==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0w=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xN",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTg==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk8=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9Q",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUQ==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVI=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJT",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVA==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFU=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVW",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWVw==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1g=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZ",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWg==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWls=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltc",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXQ==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV4=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5f",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYA==",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGE=",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFi",
- "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiYw==",
- NULL
-};
-
-static void
-generate_databuffer_for_base64 (struct MyRawData *p)
-{
- int i;
- for (i = 0; i < DATA_SIZE; i++)
- p->data[i] = i;
-}
-
-static void
-test_base64_encode (void)
-{
- int i;
- gint length = 1;
- char *text;
- struct MyRawData myraw;
-
- generate_databuffer_for_base64 (&myraw);
-
- for (i = 0; ok_100_encode_strs[i]; i++)
- {
- length = i + 1;
- text = g_base64_encode (myraw.data, length);
- g_assert_cmpstr (text, ==, ok_100_encode_strs[i]);
- /* printf ("\"%s\",\n",text); */
- g_free (text);
- }
-}
-
-
-static void
-decode_and_compare (const gchar *datap,
- const struct MyRawData *p)
-{
- guchar *data2;
- gsize len;
- int memcmp_decode;
-
- data2 = g_base64_decode (datap, &len);
- g_assert_cmpint (len, ==, p->length);
- /* g_print ("length: got %d, expected %d\n",len, length); */
- memcmp_decode = memcmp (p->data, data2, p->length);
- g_assert_cmpint (memcmp_decode, ==, 0);
- g_free (data2);
-}
-
-static void
-test_base64_decode (void)
-{
- int i;
- struct MyRawData myraw;
-
- generate_databuffer_for_base64 (&myraw);
-
- for (i = 0; ok_100_encode_strs[i]; i++)
- {
- myraw.length = i + 1;
- decode_and_compare (ok_100_encode_strs[i], &myraw);
- }
-}
-
-static void
-test_base64_encode_decode (void)
-{
- int i;
- char *text;
- struct MyRawData myraw;
-
- generate_databuffer_for_base64 (&myraw);
-
- for (i = 0; i < DATA_SIZE; i++)
- {
- myraw.length = i + 1;
- text = g_base64_encode (myraw.data, myraw.length);
-
- decode_and_compare (text, &myraw);
-
- g_free (text);
- }
-}
-
-
-int
-main (int argc,
- char *argv[])
-{
- g_test_init (&argc, &argv, NULL);
-
- g_test_add_func ("/misc/base64/encode", test_base64_encode);
- g_test_add_func ("/misc/base64/decode", test_base64_decode);
- g_test_add_func ("/misc/base64/encode_decode", test_base64_encode_decode);
-
- return g_test_run();
-}
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#include <stdio.h>
-#include <string.h>
-#include "glib.h"
-
-
-static gint
-my_compare (gconstpointer a,
- gconstpointer b)
-{
- const char *cha = a;
- const char *chb = b;
-
- return *cha - *chb;
-}
-
-static gint
-my_search (gconstpointer a,
- gconstpointer b)
-{
- return my_compare (b, a);
-}
-
-static gpointer destroyed_key = NULL;
-static gpointer destroyed_value = NULL;
-
-static void
-my_key_destroy (gpointer key)
-{
- destroyed_key = key;
-}
-
-static void
-my_value_destroy (gpointer value)
-{
- destroyed_value = value;
-}
-
-static gint
-my_traverse (gpointer key,
- gpointer value,
- gpointer data)
-{
- char *ch = key;
- g_assert ((*ch) > 0);
- return FALSE;
-}
-
-char chars[] =
- "0123456789"
- "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- "abcdefghijklmnopqrstuvwxyz";
-
-char chars2[] =
- "0123456789"
- "abcdefghijklmnopqrstuvwxyz";
-
-static gint
-check_order (gpointer key,
- gpointer value,
- gpointer data)
-{
- char **p = data;
- char *ch = key;
-
- g_assert (**p == *ch);
-
- (*p)++;
-
- return FALSE;
-}
-
-
-
-int
-main (int argc,
- char *argv[])
-{
- gint i;
- GTree *tree;
- gboolean removed;
- char c, d;
- char *p;
-
- tree = g_tree_new (my_compare);
-
- for (i = 0; chars[i]; i++)
- g_tree_insert (tree, &chars[i], &chars[i]);
-
- g_tree_foreach (tree, my_traverse, NULL);
-
- g_assert (g_tree_nnodes (tree) == strlen (chars));
- g_assert (g_tree_height (tree) == 6);
-
- p = chars;
- g_tree_foreach (tree, check_order, &p);
-
- for (i = 0; i < 26; i++)
- {
- removed = g_tree_remove (tree, &chars[i + 10]);
- g_assert (removed);
- }
-
- c = '\0';
- removed = g_tree_remove (tree, &c);
- g_assert (removed == FALSE);
-
- g_tree_foreach (tree, my_traverse, NULL);
-
- g_assert (g_tree_nnodes (tree) == strlen (chars2));
- g_assert (g_tree_height (tree) == 6);
-
- p = chars2;
- g_tree_foreach (tree, check_order, &p);
-
- for (i = 25; i >= 0; i--)
- g_tree_insert (tree, &chars[i + 10], &chars[i + 10]);
-
- p = chars;
- g_tree_foreach (tree, check_order, &p);
-
- c = '0';
- p = g_tree_lookup (tree, &c);
- g_assert (p && *p == c);
-
- c = 'A';
- p = g_tree_lookup (tree, &c);
- g_assert (p && *p == c);
-
- c = 'a';
- p = g_tree_lookup (tree, &c);
- g_assert (p && *p == c);
-
- c = 'z';
- p = g_tree_lookup (tree, &c);
- g_assert (p && *p == c);
-
- c = '!';
- p = g_tree_lookup (tree, &c);
- g_assert (p == NULL);
-
- c = '=';
- p = g_tree_lookup (tree, &c);
- g_assert (p == NULL);
-
- c = '|';
- p = g_tree_lookup (tree, &c);
- g_assert (p == NULL);
-
- c = '0';
- p = g_tree_search (tree, my_search, &c);
- g_assert (p && *p == c);
-
- c = 'A';
- p = g_tree_search (tree, my_search, &c);
- g_assert (p && *p == c);
-
- c = 'a';
- p = g_tree_search (tree, my_search, &c);
- g_assert (p &&*p == c);
-
- c = 'z';
- p = g_tree_search (tree, my_search, &c);
- g_assert (p && *p == c);
-
- c = '!';
- p = g_tree_search (tree, my_search, &c);
- g_assert (p == NULL);
-
- c = '=';
- p = g_tree_search (tree, my_search, &c);
- g_assert (p == NULL);
-
- c = '|';
- p = g_tree_search (tree, my_search, &c);
- g_assert (p == NULL);
-
-
- g_tree_destroy (tree);
-
- tree = g_tree_new_full ((GCompareDataFunc)my_compare, NULL,
- my_key_destroy,
- my_value_destroy);
-
- for (i = 0; chars[i]; i++)
- g_tree_insert (tree, &chars[i], &chars[i]);
-
- c = '0';
- g_tree_insert (tree, &c, &c);
- g_assert (destroyed_key == &c);
- g_assert (destroyed_value == &chars[0]);
- destroyed_key = NULL;
- destroyed_value = NULL;
-
- d = '1';
- g_tree_replace (tree, &d, &d);
- g_assert (destroyed_key == &chars[1]);
- g_assert (destroyed_value == &chars[1]);
- destroyed_key = NULL;
- destroyed_value = NULL;
-
- c = '2';
- removed = g_tree_remove (tree, &c);
- g_assert (removed);
- g_assert (destroyed_key == &chars[2]);
- g_assert (destroyed_value == &chars[2]);
- destroyed_key = NULL;
- destroyed_value = NULL;
-
- c = '3';
- removed = g_tree_steal (tree, &c);
- g_assert (removed);
- g_assert (destroyed_key == NULL);
- g_assert (destroyed_value == NULL);
-
- return 0;
-}
-
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#undef G_DISABLE_ASSERT
-#undef G_LOG_DOMAIN
-
-#include "config.h"
-
-#include <glib.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-typedef struct
-{
- char *filename;
- char *hostname;
- char *expected_result;
- GConvertError expected_error; /* If failed */
-} ToUriTest;
-
-ToUriTest
-to_uri_tests[] = {
- { "/etc", NULL, "file:///etc"},
- { "/etc", "", "file:///etc"},
- { "/etc", "otherhost", "file://otherhost/etc"},
-#ifdef G_OS_WIN32
- { "/etc", "localhost", "file:///etc"},
- { "c:\\windows", NULL, "file:///c:/windows"},
- { "c:\\windows", "localhost", "file:///c:/windows"},
- { "c:\\windows", "otherhost", "file://otherhost/c:/windows"},
- { "\\\\server\\share\\dir", NULL, "file:////server/share/dir"},
- { "\\\\server\\share\\dir", "localhost", "file:////server/share/dir"},
-#else
- { "/etc", "localhost", "file://localhost/etc"},
- { "c:\\windows", NULL, NULL, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH}, /* it's important to get this error on Unix */
- { "c:\\windows", "localhost", NULL, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH},
- { "c:\\windows", "otherhost", NULL, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH},
-#endif
- { "etc", "localhost", NULL, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH},
-#ifndef G_PLATFORM_WIN32
- { "/etc/\xE5\xE4\xF6", NULL, "file:///etc/%E5%E4%F6" },
- { "/etc/\xC3\xB6\xC3\xA4\xC3\xA5", NULL, "file:///etc/%C3%B6%C3%A4%C3%A5"},
-#endif
- { "/etc", "\xC3\xB6\xC3\xA4\xC3\xA5", NULL, G_CONVERT_ERROR_ILLEGAL_SEQUENCE},
- { "/etc", "\xE5\xE4\xF6", NULL, G_CONVERT_ERROR_ILLEGAL_SEQUENCE},
- { "/etc/file with #%", NULL, "file:///etc/file%20with%20%23%25"},
- { "", NULL, NULL, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH},
- { "", "", NULL, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH},
- { "", "localhost", NULL, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH},
- { "", "otherhost", NULL, G_CONVERT_ERROR_NOT_ABSOLUTE_PATH},
- { "/0123456789", NULL, "file:///0123456789"},
- { "/ABCDEFGHIJKLMNOPQRSTUVWXYZ", NULL, "file:///ABCDEFGHIJKLMNOPQRSTUVWXYZ"},
- { "/abcdefghijklmnopqrstuvwxyz", NULL, "file:///abcdefghijklmnopqrstuvwxyz"},
- { "/-_.!~*'()", NULL, "file:///-_.!~*'()"},
-#ifdef G_OS_WIN32
- /* As '\\' is a path separator on Win32, it gets turned into '/' in the URI */
- { "/\"#%<>[\\]^`{|}\x7F", NULL, "file:///%22%23%25%3C%3E%5B/%5D%5E%60%7B%7C%7D%7F"},
-#else
- /* On Unix, '\\' is a normal character in the file name */
- { "/\"#%<>[\\]^`{|}\x7F", NULL, "file:///%22%23%25%3C%3E%5B%5C%5D%5E%60%7B%7C%7D%7F"},
-#endif
- { "/;@+$,", NULL, "file:///%3B@+$,"},
- /* This and some of the following are of course as such illegal file names on Windows,
- * and would not occur in real life.
- */
- { "/:", NULL, "file:///:"},
- { "/?&=", NULL, "file:///%3F&="},
- { "/", "0123456789-", NULL, G_CONVERT_ERROR_ILLEGAL_SEQUENCE},
- { "/", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "file://ABCDEFGHIJKLMNOPQRSTUVWXYZ/"},
- { "/", "abcdefghijklmnopqrstuvwxyz", "file://abcdefghijklmnopqrstuvwxyz/"},
- { "/", "_.!~*'()", NULL, G_CONVERT_ERROR_ILLEGAL_SEQUENCE},
- { "/", "\"#%<>[\\]^`{|}\x7F", NULL, G_CONVERT_ERROR_ILLEGAL_SEQUENCE},
- { "/", ";?&=+$,", NULL, G_CONVERT_ERROR_ILLEGAL_SEQUENCE},
- { "/", "/", NULL, G_CONVERT_ERROR_ILLEGAL_SEQUENCE},
- { "/", "@:", NULL, G_CONVERT_ERROR_ILLEGAL_SEQUENCE},
- { "/", "\x80\xFF", NULL, G_CONVERT_ERROR_ILLEGAL_SEQUENCE},
- { "/", "\xC3\x80\xC3\xBF", NULL, G_CONVERT_ERROR_ILLEGAL_SEQUENCE},
-};
-
-
-typedef struct
-{
- char *uri;
- char *expected_filename;
- char *expected_hostname;
- GConvertError expected_error; /* If failed */
-} FromUriTest;
-
-FromUriTest
-from_uri_tests[] = {
- { "file:///etc", "/etc"},
- { "file:/etc", "/etc"},
-#ifdef G_OS_WIN32
- /* On Win32 we don't return "localhost" hostames, just in case
- * it isn't recognized anyway.
- */
- { "file://localhost/etc", "/etc", NULL},
- { "file://localhost/etc/%23%25%20file", "/etc/#% file", NULL},
- { "file://localhost/\xE5\xE4\xF6", "/\xe5\xe4\xf6", NULL},
- { "file://localhost/%E5%E4%F6", "/\xe5\xe4\xf6", NULL},
-#else
- { "file://localhost/etc", "/etc", "localhost"},
- { "file://localhost/etc/%23%25%20file", "/etc/#% file", "localhost"},
- { "file://localhost/\xE5\xE4\xF6", "/\xe5\xe4\xf6", "localhost"},
- { "file://localhost/%E5%E4%F6", "/\xe5\xe4\xf6", "localhost"},
-#endif
- { "file://otherhost/etc", "/etc", "otherhost"},
- { "file://otherhost/etc/%23%25%20file", "/etc/#% file", "otherhost"},
- { "file://%C3%B6%C3%A4%C3%A5/etc", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file:////etc/%C3%B6%C3%C3%C3%A5", "//etc/\xc3\xb6\xc3\xc3\xc3\xa5", NULL},
- { "file://\xE5\xE4\xF6/etc", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file://%E5%E4%F6/etc", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file:///some/file#bad", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file://some", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file:test", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "http://www.yahoo.com/", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file:////etc", "//etc"},
- { "file://///etc", "///etc"},
-#ifdef G_OS_WIN32
- /* URIs with backslashes come from some nonstandard application, but accept them anyhow */
- { "file:///c:\\foo", "c:\\foo"},
- { "file:///c:/foo\\bar", "c:\\foo\\bar"},
- /* Accept also the old Netscape drive-letter-and-vertical bar convention */
- { "file:///c|/foo", "c:\\foo"},
- { "file:////server/share/dir", "\\\\server\\share\\dir"},
- { "file://localhost//server/share/foo", "\\\\server\\share\\foo"},
- { "file://otherhost//server/share/foo", "\\\\server\\share\\foo", "otherhost"},
-#else
- { "file:///c:\\foo", "/c:\\foo"},
- { "file:///c:/foo", "/c:/foo"},
- { "file:////c:/foo", "//c:/foo"},
-#endif
- { "file://0123456789/", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file://ABCDEFGHIJKLMNOPQRSTUVWXYZ/", "/", "ABCDEFGHIJKLMNOPQRSTUVWXYZ"},
- { "file://abcdefghijklmnopqrstuvwxyz/", "/", "abcdefghijklmnopqrstuvwxyz"},
- { "file://-_.!~*'()/", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file://\"<>[\\]^`{|}\x7F/", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file://;?&=+$,/", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file://%C3%80%C3%BF/", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file://@/", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file://:/", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file://#/", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file://%23/", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
- { "file://%2F/", NULL, NULL, G_CONVERT_ERROR_BAD_URI},
-};
-
-
-static gboolean any_failed = FALSE;
-
-static void
-run_to_uri_tests (void)
-{
- int i;
- gchar *res;
- GError *error;
-
- for (i = 0; i < G_N_ELEMENTS (to_uri_tests); i++)
- {
- error = NULL;
- res = g_filename_to_uri (to_uri_tests[i].filename,
- to_uri_tests[i].hostname,
- &error);
-
- if (to_uri_tests[i].expected_result == NULL)
- {
- if (res != NULL)
- {
- g_print ("\ng_filename_to_uri() test %d failed, expected to return NULL, actual result: %s\n", i, res);
- any_failed = TRUE;
- }
- else
- {
- if (error == NULL)
- {
- g_print ("\ng_filename_to_uri() test %d failed, returned NULL, but didn't set error\n", i);
- any_failed = TRUE;
- }
- else if (error->domain != G_CONVERT_ERROR)
- {
- g_print ("\ng_filename_to_uri() test %d failed, returned NULL, set non G_CONVERT_ERROR error\n", i);
- any_failed = TRUE;
- }
- else if (error->code != to_uri_tests[i].expected_error)
- {
- g_print ("\ng_filename_to_uri() test %d failed as expected, but set wrong errorcode %d instead of expected %d \n",
- i, error->code, to_uri_tests[i].expected_error);
- any_failed = TRUE;
- }
- }
- }
- else if (res == NULL || strcmp (res, to_uri_tests[i].expected_result) != 0)
- {
- g_print ("\ng_filename_to_uri() test %d failed, expected result: %s, actual result: %s\n",
- i, to_uri_tests[i].expected_result, (res) ? res : "NULL");
- if (error)
- g_print ("Error message: %s\n", error->message);
- any_failed = TRUE;
- }
- g_free (res);
- }
-}
-
-static void
-run_from_uri_tests (void)
-{
- int i;
- gchar *res;
- gchar *hostname;
- GError *error;
-
- for (i = 0; i < G_N_ELEMENTS (from_uri_tests); i++)
- {
- error = NULL;
- res = g_filename_from_uri (from_uri_tests[i].uri,
- &hostname,
- &error);
-
- if (from_uri_tests[i].expected_filename == NULL)
- {
- if (res != NULL)
- {
- g_print ("\ng_filename_from_uri() test %d failed, expected to return NULL, actual result: %s\n", i, res);
- any_failed = TRUE;
- }
- else
- {
- if (error == NULL)
- {
- g_print ("\ng_filename_from_uri() test %d failed, returned NULL, but didn't set error\n", i);
- any_failed = TRUE;
- }
- else if (error->domain != G_CONVERT_ERROR)
- {
- g_print ("\ng_filename_from_uri() test %d failed, returned NULL, set non G_CONVERT_ERROR error\n", i);
- any_failed = TRUE;
- }
- else if (error->code != from_uri_tests[i].expected_error)
- {
- g_print ("\ng_filename_from_uri() test %d failed as expected, but set wrong errorcode %d instead of expected %d \n",
- i, error->code, from_uri_tests[i].expected_error);
- any_failed = TRUE;
- }
- }
- }
- else
- {
-#ifdef G_OS_WIN32
- gchar *slash, *p;
-
- p = from_uri_tests[i].expected_filename = g_strdup (from_uri_tests[i].expected_filename);
- while ((slash = strchr (p, '/')) != NULL)
- {
- *slash = '\\';
- p = slash + 1;
- }
-#endif
- if (res == NULL || strcmp (res, from_uri_tests[i].expected_filename) != 0)
- {
- g_print ("\ng_filename_from_uri() test %d failed, expected result: %s, actual result: %s\n",
- i, from_uri_tests[i].expected_filename, (res) ? res : "NULL");
- any_failed = TRUE;
- }
-
- if (from_uri_tests[i].expected_hostname == NULL)
- {
- if (hostname != NULL)
- {
- g_print ("\ng_filename_from_uri() test %d failed, expected no hostname, got: %s\n",
- i, hostname);
- any_failed = TRUE;
- }
- }
- else if (hostname == NULL ||
- strcmp (hostname, from_uri_tests[i].expected_hostname) != 0)
- {
- g_print ("\ng_filename_from_uri() test %d failed, expected hostname: %s, actual result: %s\n",
- i, from_uri_tests[i].expected_hostname, (hostname) ? hostname : "NULL");
- any_failed = TRUE;
- }
- }
- }
-}
-
-static gint
-safe_strcmp (const gchar *a, const gchar *b)
-{
- return strcmp (a ? a : "", b ? b : "");
-}
-
-static gint
-safe_strcmp_filename (const gchar *a, const gchar *b)
-{
-#ifndef G_OS_WIN32
- return safe_strcmp (a, b);
-#else
- if (!a || !b)
- return safe_strcmp (a, b);
- else
- {
- while (*a && *b)
- {
- if ((G_IS_DIR_SEPARATOR (*a) && G_IS_DIR_SEPARATOR (*b)) ||
- *a == *b)
- a++, b++;
- else
- return (*a - *b);
- }
- return (*a - *b);
- }
-#endif
-}
-
-static gint
-safe_strcmp_hostname (const gchar *a, const gchar *b)
-{
-#ifndef G_OS_WIN32
- return safe_strcmp (a, b);
-#else
- if (safe_strcmp (a, "localhost") == 0 && b == NULL)
- return 0;
- else
- return safe_strcmp (a, b);
-#endif
-}
-
-static void
-run_roundtrip_tests (void)
-{
- int i;
- gchar *uri, *hostname, *res;
- GError *error;
-
- for (i = 0; i < G_N_ELEMENTS (to_uri_tests); i++)
- {
- if (to_uri_tests[i].expected_error != 0)
- continue;
-
- error = NULL;
- uri = g_filename_to_uri (to_uri_tests[i].filename,
- to_uri_tests[i].hostname,
- &error);
-
- if (error != NULL)
- {
- g_print ("g_filename_to_uri failed unexpectedly: %s\n",
- error->message);
- any_failed = TRUE;
- continue;
- }
-
- error = NULL;
- res = g_filename_from_uri (uri, &hostname, &error);
- if (error != NULL)
- {
- g_print ("g_filename_from_uri failed unexpectedly: %s\n",
- error->message);
- any_failed = TRUE;
- continue;
- }
-
- if (safe_strcmp_filename (to_uri_tests[i].filename, res))
- {
- g_print ("roundtrip test %d failed, filename modified: "
- " expected \"%s\", but got \"%s\"\n",
- i, to_uri_tests[i].filename, res);
- any_failed = TRUE;
- }
-
- if (safe_strcmp_hostname (to_uri_tests[i].hostname, hostname))
- {
- g_print ("roundtrip test %d failed, hostname modified: "
- " expected \"%s\", but got \"%s\"\n",
- i, to_uri_tests[i].hostname, hostname);
- any_failed = TRUE;
- }
- }
-}
-
-static void
-run_uri_list_tests (void)
-{
- /* straight from the RFC */
- gchar *list =
- "# urn:isbn:0-201-08372-8\r\n"
- "http://www.huh.org/books/foo.html\r\n"
- "http://www.huh.org/books/foo.pdf \r\n"
- " ftp://ftp.foo.org/books/foo.txt\r\n";
- gchar *expected_uris[] = {
- "http://www.huh.org/books/foo.html",
- "http://www.huh.org/books/foo.pdf",
- "ftp://ftp.foo.org/books/foo.txt"
- };
-
- gchar **uris;
- gint j;
-
- uris = g_uri_list_extract_uris (list);
-
- if (g_strv_length (uris) != 3)
- {
- g_print ("uri list test failed: "
- " expected %d uris, but got %d\n",
- 3, g_strv_length (uris));
- any_failed = TRUE;
- }
-
- for (j = 0; j < 3; j++)
- {
- if (safe_strcmp (uris[j], expected_uris[j]))
- {
- g_print ("uri list test failed: "
- " expected \"%s\", but got \"%s\"\n",
- expected_uris[j], uris[j]);
- any_failed = TRUE;
- }
- }
-
- g_strfreev (uris);
-
- uris = g_uri_list_extract_uris ("# just hot air\r\n# more hot air");
- if (g_strv_length (uris) != 0)
- {
- g_print ("uri list test 2 failed: "
- " expected %d uris, but got %d (first is \"%s\")\n",
- 0, g_strv_length (uris), uris[0]);
- any_failed = TRUE;
- }
-
-}
-
-int
-main (int argc,
- char *argv[])
-{
-#ifdef G_OS_UNIX
-# ifdef HAVE_UNSETENV
- unsetenv ("G_BROKEN_FILENAMES");
-# else
- /* putenv with no = isn't standard, but works to unset the variable
- * on some systems
- */
- putenv ("G_BROKEN_FILENAMES");
-# endif
-#endif
-
- run_to_uri_tests ();
- run_from_uri_tests ();
- run_roundtrip_tests ();
- run_uri_list_tests ();
-
- return any_failed ? 1 : 0;
-}
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * Modified by the GLib Team and others 1997-2000. See the AUTHORS
- * file for a list of people on the GLib Team. See the ChangeLog
- * files for a list of changes. These files are distributed with
- * GLib at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#include <string.h>
-#include <glib.h>
-
-/* Test conversions between offsets and pointers */
-
-static void test_utf8 (gchar *string)
-{
- gint num_chars;
- gchar **p;
- gint i, j;
-
- g_assert (g_utf8_validate (string, -1, NULL));
-
- num_chars = g_utf8_strlen (string, -1);
-
- p = (gchar **) g_malloc (num_chars * sizeof (gchar *));
-
- p[0] = string;
- for (i = 1; i < num_chars; i++)
- p[i] = g_utf8_next_char (p[i-1]);
-
- for (i = 0; i < num_chars; i++)
- for (j = 0; j < num_chars; j++)
- {
- g_assert (g_utf8_offset_to_pointer (p[i], j - i) == p[j]);
- g_assert (g_utf8_pointer_to_offset (p[i], p[j]) == j - i);
- }
-
- g_free (p);
-}
-
-gchar *longline = "asdasdas dsaf asfd as fdasdf asfd asdf as dfas dfasdf a"
-"asd fasdf asdf asdf asd fasfd as fdasfd asdf as fdççççççççças ffsd asfd as fdASASASAs As"
-"Asfdsf sdfg sdfg dsfg dfg sdfgsdfgsdfgsdfg sdfgsdfg sdfg sdfg sdf gsdfg sdfg sd"
-"asd fasdf asdf asdf asd fasfd as fdaèèèèèèè òòòòòòòòòòòòsfd asdf as fdas ffsd asfd as fdASASASAs D"
-"Asfdsf sdfg sdfg dsfg dfg sdfgsdfgsdfgsdfg sdfgsdfg sdfgùùùùùùùùùùùùùù sdfg sdf gsdfg sdfg sd"
-"asd fasdf asdf asdf asd fasfd as fdasfd asd@@@@@@@f as fdas ffsd asfd as fdASASASAs D "
-"Asfdsf sdfg sdfg dsfg dfg sdfgsdfgsdfgsdfg sdfgsdf€€€€€€€€€€€€€€€€€€g sdfg sdfg sdf gsdfg sdfg sd"
-"asd fasdf asdf asdf asd fasfd as fdasfd asdf as fdas ffsd asfd as fdASASASAs D"
-"Asfdsf sdfg sdfg dsfg dfg sdfgsdfgsdfgsdfg sdfgsdfg sdfg sdfg sdf gsdfg sdfg sd\n\nlalala\n";
-
-static void
-test_length (void)
-{
- g_assert (g_utf8_strlen ("1234", -1) == 4);
- g_assert (g_utf8_strlen ("1234", 0) == 0);
- g_assert (g_utf8_strlen ("1234", 1) == 1);
- g_assert (g_utf8_strlen ("1234", 2) == 2);
- g_assert (g_utf8_strlen ("1234", 3) == 3);
- g_assert (g_utf8_strlen ("1234", 4) == 4);
- g_assert (g_utf8_strlen ("1234", 5) == 4);
-
- g_assert (g_utf8_strlen (longline, -1) == 762);
- g_assert (g_utf8_strlen (longline, strlen (longline)) == 762);
- g_assert (g_utf8_strlen (longline, 1024) == 762);
-
- g_assert (g_utf8_strlen (NULL, 0) == 0);
-
- g_assert (g_utf8_strlen ("a\340\250\201c", -1) == 3);
- g_assert (g_utf8_strlen ("a\340\250\201c", 1) == 1);
- g_assert (g_utf8_strlen ("a\340\250\201c", 2) == 1);
- g_assert (g_utf8_strlen ("a\340\250\201c", 3) == 1);
- g_assert (g_utf8_strlen ("a\340\250\201c", 4) == 2);
- g_assert (g_utf8_strlen ("a\340\250\201c", 5) == 3);
-}
-
-static void
-test_misc (void)
-{
- char *s;
- s = g_utf8_strreverse ("1234", -1);
- g_assert (strcmp (s, "4321") == 0);
- g_free (s);
- s = g_utf8_strreverse ("1234", 3);
- g_assert (strcmp (s, "321") == 0);
- g_free (s);
-}
-
-int main (int argc, char *argv[])
-{
- test_utf8 (longline);
- test_length ();
- test_misc ();
-
- return 0;
-}
+++ /dev/null
-/* GLIB - Library of useful routines for C programming
- * Copyright (C) 2001 Matthias Clasen <matthiasc@poet.de>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "glib.h"
-
-#define UNICODE_VALID(Char) \
- ((Char) < 0x110000 && \
- (((Char) & 0xFFFFF800) != 0xD800) && \
- ((Char) < 0xFDD0 || (Char) > 0xFDEF) && \
- ((Char) & 0xFFFE) != 0xFFFE)
-
-
-
-static gboolean any_failed = FALSE;
-
-struct {
- const gchar *text;
- gint max_len;
- gint offset;
- gboolean valid;
-} test[] = {
- /* some tests to check max_len handling */
- /* length 1 */
- { "abcde", -1, 5, TRUE },
- { "abcde", 3, 3, TRUE },
- { "abcde", 5, 5, TRUE },
- { "abcde", 7, 5, FALSE },
- /* length 2 */
- { "\xc2\xa9\xc2\xa9\xc2\xa9", -1, 6, TRUE },
- { "\xc2\xa9\xc2\xa9\xc2\xa9", 1, 0, FALSE },
- { "\xc2\xa9\xc2\xa9\xc2\xa9", 2, 2, TRUE },
- { "\xc2\xa9\xc2\xa9\xc2\xa9", 3, 2, FALSE },
- { "\xc2\xa9\xc2\xa9\xc2\xa9", 4, 4, TRUE },
- { "\xc2\xa9\xc2\xa9\xc2\xa9", 5, 4, FALSE },
- { "\xc2\xa9\xc2\xa9\xc2\xa9", 6, 6, TRUE },
- { "\xc2\xa9\xc2\xa9\xc2\xa9", 7, 6, FALSE },
- /* length 3 */
- { "\xe2\x89\xa0\xe2\x89\xa0", -1, 6, TRUE },
- { "\xe2\x89\xa0\xe2\x89\xa0", 1, 0, FALSE },
- { "\xe2\x89\xa0\xe2\x89\xa0", 2, 0, FALSE },
- { "\xe2\x89\xa0\xe2\x89\xa0", 3, 3, TRUE },
- { "\xe2\x89\xa0\xe2\x89\xa0", 4, 3, FALSE },
- { "\xe2\x89\xa0\xe2\x89\xa0", 5, 3, FALSE },
- { "\xe2\x89\xa0\xe2\x89\xa0", 6, 6, TRUE },
- { "\xe2\x89\xa0\xe2\x89\xa0", 7, 6, FALSE },
-
- /* examples from http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt */
- /* greek 'kosme' */
- { "\xce\xba\xe1\xbd\xb9\xcf\x83\xce\xbc\xce\xb5", -1, 11, TRUE },
- /* first sequence of each length */
- { "\x00", -1, 0, TRUE },
- { "\xc2\x80", -1, 2, TRUE },
- { "\xe0\xa0\x80", -1, 3, TRUE },
- { "\xf0\x90\x80\x80", -1, 4, TRUE },
- { "\xf8\x88\x80\x80\x80", -1, 0, FALSE },
- { "\xfc\x84\x80\x80\x80\x80", -1, 0, FALSE },
- /* last sequence of each length */
- { "\x7f", -1, 1, TRUE },
- { "\xdf\xbf", -1, 2, TRUE },
- { "\xef\xbf\xbf", -1, 0, FALSE },
- { "\xf7\xbf\xbf\xbf", -1, 0, FALSE },
- { "\xfb\xbf\xbf\xbf\xbf", -1, 0, FALSE },
- { "\xfd\xbf\xbf\xbf\xbf\xbf", -1, 0, FALSE },
- /* other boundary conditions */
- { "\xed\x9f\xbf", -1, 3, TRUE },
- { "\xee\x80\x80", -1, 3, TRUE },
- { "\xef\xbf\xbd", -1, 3, TRUE },
- { "\xf4\x8f\xbf\xbf", -1, 0, FALSE },
- { "\xf4\x90\x80\x80", -1, 0, FALSE },
- /* malformed sequences */
- /* continuation bytes */
- { "\x80", -1, 0, FALSE },
- { "\xbf", -1, 0, FALSE },
- { "\x80\xbf", -1, 0, FALSE },
- { "\x80\xbf\x80", -1, 0, FALSE },
- { "\x80\xbf\x80\xbf", -1, 0, FALSE },
- { "\x80\xbf\x80\xbf\x80", -1, 0, FALSE },
- { "\x80\xbf\x80\xbf\x80\xbf", -1, 0, FALSE },
- { "\x80\xbf\x80\xbf\x80\xbf\x80", -1, 0, FALSE },
-
- /* all possible continuation byte */
- { "\x80", -1, 0, FALSE },
- { "\x81", -1, 0, FALSE },
- { "\x82", -1, 0, FALSE },
- { "\x83", -1, 0, FALSE },
- { "\x84", -1, 0, FALSE },
- { "\x85", -1, 0, FALSE },
- { "\x86", -1, 0, FALSE },
- { "\x87", -1, 0, FALSE },
- { "\x88", -1, 0, FALSE },
- { "\x89", -1, 0, FALSE },
- { "\x8a", -1, 0, FALSE },
- { "\x8b", -1, 0, FALSE },
- { "\x8c", -1, 0, FALSE },
- { "\x8d", -1, 0, FALSE },
- { "\x8e", -1, 0, FALSE },
- { "\x8f", -1, 0, FALSE },
- { "\x90", -1, 0, FALSE },
- { "\x91", -1, 0, FALSE },
- { "\x92", -1, 0, FALSE },
- { "\x93", -1, 0, FALSE },
- { "\x94", -1, 0, FALSE },
- { "\x95", -1, 0, FALSE },
- { "\x96", -1, 0, FALSE },
- { "\x97", -1, 0, FALSE },
- { "\x98", -1, 0, FALSE },
- { "\x99", -1, 0, FALSE },
- { "\x9a", -1, 0, FALSE },
- { "\x9b", -1, 0, FALSE },
- { "\x9c", -1, 0, FALSE },
- { "\x9d", -1, 0, FALSE },
- { "\x9e", -1, 0, FALSE },
- { "\x9f", -1, 0, FALSE },
- { "\xa0", -1, 0, FALSE },
- { "\xa1", -1, 0, FALSE },
- { "\xa2", -1, 0, FALSE },
- { "\xa3", -1, 0, FALSE },
- { "\xa4", -1, 0, FALSE },
- { "\xa5", -1, 0, FALSE },
- { "\xa6", -1, 0, FALSE },
- { "\xa7", -1, 0, FALSE },
- { "\xa8", -1, 0, FALSE },
- { "\xa9", -1, 0, FALSE },
- { "\xaa", -1, 0, FALSE },
- { "\xab", -1, 0, FALSE },
- { "\xac", -1, 0, FALSE },
- { "\xad", -1, 0, FALSE },
- { "\xae", -1, 0, FALSE },
- { "\xaf", -1, 0, FALSE },
- { "\xb0", -1, 0, FALSE },
- { "\xb1", -1, 0, FALSE },
- { "\xb2", -1, 0, FALSE },
- { "\xb3", -1, 0, FALSE },
- { "\xb4", -1, 0, FALSE },
- { "\xb5", -1, 0, FALSE },
- { "\xb6", -1, 0, FALSE },
- { "\xb7", -1, 0, FALSE },
- { "\xb8", -1, 0, FALSE },
- { "\xb9", -1, 0, FALSE },
- { "\xba", -1, 0, FALSE },
- { "\xbb", -1, 0, FALSE },
- { "\xbc", -1, 0, FALSE },
- { "\xbd", -1, 0, FALSE },
- { "\xbe", -1, 0, FALSE },
- { "\xbf", -1, 0, FALSE },
- /* lone start characters */
- { "\xc0\x20", -1, 0, FALSE },
- { "\xc1\x20", -1, 0, FALSE },
- { "\xc2\x20", -1, 0, FALSE },
- { "\xc3\x20", -1, 0, FALSE },
- { "\xc4\x20", -1, 0, FALSE },
- { "\xc5\x20", -1, 0, FALSE },
- { "\xc6\x20", -1, 0, FALSE },
- { "\xc7\x20", -1, 0, FALSE },
- { "\xc8\x20", -1, 0, FALSE },
- { "\xc9\x20", -1, 0, FALSE },
- { "\xca\x20", -1, 0, FALSE },
- { "\xcb\x20", -1, 0, FALSE },
- { "\xcc\x20", -1, 0, FALSE },
- { "\xcd\x20", -1, 0, FALSE },
- { "\xce\x20", -1, 0, FALSE },
- { "\xcf\x20", -1, 0, FALSE },
- { "\xd0\x20", -1, 0, FALSE },
- { "\xd1\x20", -1, 0, FALSE },
- { "\xd2\x20", -1, 0, FALSE },
- { "\xd3\x20", -1, 0, FALSE },
- { "\xd4\x20", -1, 0, FALSE },
- { "\xd5\x20", -1, 0, FALSE },
- { "\xd6\x20", -1, 0, FALSE },
- { "\xd7\x20", -1, 0, FALSE },
- { "\xd8\x20", -1, 0, FALSE },
- { "\xd9\x20", -1, 0, FALSE },
- { "\xda\x20", -1, 0, FALSE },
- { "\xdb\x20", -1, 0, FALSE },
- { "\xdc\x20", -1, 0, FALSE },
- { "\xdd\x20", -1, 0, FALSE },
- { "\xde\x20", -1, 0, FALSE },
- { "\xdf\x20", -1, 0, FALSE },
- { "\xe0\x20", -1, 0, FALSE },
- { "\xe1\x20", -1, 0, FALSE },
- { "\xe2\x20", -1, 0, FALSE },
- { "\xe3\x20", -1, 0, FALSE },
- { "\xe4\x20", -1, 0, FALSE },
- { "\xe5\x20", -1, 0, FALSE },
- { "\xe6\x20", -1, 0, FALSE },
- { "\xe7\x20", -1, 0, FALSE },
- { "\xe8\x20", -1, 0, FALSE },
- { "\xe9\x20", -1, 0, FALSE },
- { "\xea\x20", -1, 0, FALSE },
- { "\xeb\x20", -1, 0, FALSE },
- { "\xec\x20", -1, 0, FALSE },
- { "\xed\x20", -1, 0, FALSE },
- { "\xee\x20", -1, 0, FALSE },
- { "\xef\x20", -1, 0, FALSE },
- { "\xf0\x20", -1, 0, FALSE },
- { "\xf1\x20", -1, 0, FALSE },
- { "\xf2\x20", -1, 0, FALSE },
- { "\xf3\x20", -1, 0, FALSE },
- { "\xf4\x20", -1, 0, FALSE },
- { "\xf5\x20", -1, 0, FALSE },
- { "\xf6\x20", -1, 0, FALSE },
- { "\xf7\x20", -1, 0, FALSE },
- { "\xf8\x20", -1, 0, FALSE },
- { "\xf9\x20", -1, 0, FALSE },
- { "\xfa\x20", -1, 0, FALSE },
- { "\xfb\x20", -1, 0, FALSE },
- { "\xfc\x20", -1, 0, FALSE },
- { "\xfd\x20", -1, 0, FALSE },
- /* missing continuation bytes */
- { "\x20\xc0", -1, 1, FALSE },
- { "\x20\xe0\x80", -1, 1, FALSE },
- { "\x20\xf0\x80\x80", -1, 1, FALSE },
- { "\x20\xf8\x80\x80\x80", -1, 1, FALSE },
- { "\x20\xfc\x80\x80\x80\x80", -1, 1, FALSE },
- { "\x20\xdf", -1, 1, FALSE },
- { "\x20\xef\xbf", -1, 1, FALSE },
- { "\x20\xf7\xbf\xbf", -1, 1, FALSE },
- { "\x20\xfb\xbf\xbf\xbf", -1, 1, FALSE },
- { "\x20\xfd\xbf\xbf\xbf\xbf", -1, 1, FALSE },
- /* impossible bytes */
- { "\x20\xfe\x20", -1, 1, FALSE },
- { "\x20\xff\x20", -1, 1, FALSE },
- /* overlong sequences */
- { "\x20\xc0\xaf\x20", -1, 1, FALSE },
- { "\x20\xe0\x80\xaf\x20", -1, 1, FALSE },
- { "\x20\xf0\x80\x80\xaf\x20", -1, 1, FALSE },
- { "\x20\xf8\x80\x80\x80\xaf\x20", -1, 1, FALSE },
- { "\x20\xfc\x80\x80\x80\x80\xaf\x20", -1, 1, FALSE },
- { "\x20\xc1\xbf\x20", -1, 1, FALSE },
- { "\x20\xe0\x9f\xbf\x20", -1, 1, FALSE },
- { "\x20\xf0\x8f\xbf\xbf\x20", -1, 1, FALSE },
- { "\x20\xf8\x87\xbf\xbf\xbf\x20", -1, 1, FALSE },
- { "\x20\xfc\x83\xbf\xbf\xbf\xbf\x20", -1, 1, FALSE },
- { "\x20\xc0\x80\x20", -1, 1, FALSE },
- { "\x20\xe0\x80\x80\x20", -1, 1, FALSE },
- { "\x20\xf0\x80\x80\x80\x20", -1, 1, FALSE },
- { "\x20\xf8\x80\x80\x80\x80\x20", -1, 1, FALSE },
- { "\x20\xfc\x80\x80\x80\x80\x80\x20", -1, 1, FALSE },
- /* illegal code positions */
- { "\x20\xed\xa0\x80\x20", -1, 1, FALSE },
- { "\x20\xed\xad\xbf\x20", -1, 1, FALSE },
- { "\x20\xed\xae\x80\x20", -1, 1, FALSE },
- { "\x20\xed\xaf\xbf\x20", -1, 1, FALSE },
- { "\x20\xed\xb0\x80\x20", -1, 1, FALSE },
- { "\x20\xed\xbe\x80\x20", -1, 1, FALSE },
- { "\x20\xed\xbf\xbf\x20", -1, 1, FALSE },
- { "\x20\xed\xa0\x80\xed\xb0\x80\x20", -1, 1, FALSE },
- { "\x20\xed\xa0\x80\xed\xbf\xbf\x20", -1, 1, FALSE },
- { "\x20\xed\xad\xbf\xed\xb0\x80\x20", -1, 1, FALSE },
- { "\x20\xed\xad\xbf\xed\xbf\xbf\x20", -1, 1, FALSE },
- { "\x20\xed\xae\x80\xed\xb0\x80\x20", -1, 1, FALSE },
- { "\x20\xed\xae\x80\xed\xbf\xbf\x20", -1, 1, FALSE },
- { "\x20\xed\xaf\xbf\xed\xb0\x80\x20", -1, 1, FALSE },
- { "\x20\xed\xaf\xbf\xed\xbf\xbf\x20", -1, 1, FALSE },
- { "\x20\xef\xbf\xbe\x20", -1, 1, FALSE },
- { "\x20\xef\xbf\xbf\x20", -1, 1, FALSE },
-
- { NULL, }
-};
-
-static void
-do_test (gint index,
- const gchar *text,
- gint max_len,
- gint offset,
- gboolean valid)
-{
- const gchar *end;
- gboolean result;
-
- result = g_utf8_validate (text, max_len, &end);
-
- if (result != valid || end - text != offset)
- {
- GString *str;
- const gchar *p;
-
- any_failed = TRUE;
-
- str = g_string_new (0);
- for (p = text; *p; p++)
- g_string_append_printf (str, "\\x%02hhx", *p);
- g_print ("%d: g_utf8_validate (\"%s\", %d) failed, "
- "expected %s %d, got %s %d\n",
- index,
- str->str, max_len,
- valid ? "TRUE" : "FALSE", offset,
- result ? "TRUE" : "FALSE", (gint) (end - text));
- g_string_free (str, FALSE);
- }
-}
-
-int
-main (int argc, char *argv[])
-{
- gint i;
-
- for (i = 0; test[i].text; i++)
- do_test (i, test[i].text, test[i].max_len,
- test[i].offset, test[i].valid);
-
- return any_failed ? 1 : 0;
-}