Split GObject docs away from the remainder of the docs.
authorOwen Taylor <otaylor@redhat.com>
Wed, 6 Sep 2000 04:32:45 +0000 (04:32 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Wed, 6 Sep 2000 04:32:45 +0000 (04:32 +0000)
Wed Sep  6 00:30:09 2000  Owen Taylor  <otaylor@redhat.com>

* glib/* gobject/*: Split GObject docs away from
the remainder of the docs.

* glib/Makefile.am gobject/Makefile.am: Rework
to have reasonable dependencies. (No dependencies
on the files actually in the source directories,
so to get it going, you have to do 'make scan',
but after that, things should work OK.)

27 files changed:
docs/reference/glib/.cvsignore [new file with mode: 0644]
docs/reference/glib/Makefile.am
docs/reference/glib/glib-decl.txt [deleted file]
docs/reference/glib/glib-docs.sgml
docs/reference/glib/glib-sections.txt
docs/reference/glib/tmpl/async_queues.sgml [new file with mode: 0644]
docs/reference/glib/tmpl/error_reporting.sgml [new file with mode: 0644]
docs/reference/glib/tmpl/numerical.sgml [new file with mode: 0644]
docs/reference/glib/tmpl/queue.sgml [new file with mode: 0644]
docs/reference/glib/tmpl/random_numbers.sgml [new file with mode: 0644]
docs/reference/glib/tmpl/thread_pools.sgml [new file with mode: 0644]
docs/reference/glib/tmpl/trash_stack.sgml [new file with mode: 0644]
docs/reference/glib/tmpl/types.sgml
docs/reference/glib/tmpl/unicode.sgml [new file with mode: 0644]
docs/reference/gobject/.cvsignore [new file with mode: 0644]
docs/reference/gobject/Makefile.am [new file with mode: 0644]
docs/reference/gobject/gobject-docs.sgml [new file with mode: 0644]
docs/reference/gobject/gobject-sections.txt [new file with mode: 0644]
docs/reference/gobject/tmpl/enumerations_flags.sgml [new file with mode: 0644]
docs/reference/gobject/tmpl/generic_values.sgml [new file with mode: 0644]
docs/reference/gobject/tmpl/gobject-unused.sgml [new file with mode: 0644]
docs/reference/gobject/tmpl/objects.sgml [new file with mode: 0644]
docs/reference/gobject/tmpl/param_specs.sgml [new file with mode: 0644]
docs/reference/gobject/tmpl/standard_params.sgml [new file with mode: 0644]
docs/reference/gobject/tmpl/types.sgml [new file with mode: 0644]
docs/reference/gobject/tmpl/value_collection.sgml [new file with mode: 0644]
docs/reference/gobject/tmpl/value_types.sgml [new file with mode: 0644]

diff --git a/docs/reference/glib/.cvsignore b/docs/reference/glib/.cvsignore
new file mode 100644 (file)
index 0000000..4a6f057
--- /dev/null
@@ -0,0 +1,5 @@
+glib-unused.txt
+glib-decl-list.txt
+glib-decl.txt
+html
+sgml
\ No newline at end of file
index 4fea547..a18fdef 100644 (file)
@@ -16,12 +16,14 @@ tmpl_sources =                              \
        tmpl/arrays.sgml                \
        tmpl/arrays_byte.sgml           \
        tmpl/arrays_pointer.sgml        \
+       tmpl/async_queues.sgml          \
        tmpl/byte_order.sgml            \
        tmpl/caches.sgml                \
        tmpl/completion.sgml            \
        tmpl/datalist.sgml              \
        tmpl/datasets.sgml              \
        tmpl/date.sgml                  \
+       tmpl/error_reporting.sgml       \
        tmpl/glib-unused.sgml           \
        tmpl/hash_tables.sgml           \
        tmpl/hooks.sgml                 \
@@ -37,41 +39,56 @@ tmpl_sources =                              \
        tmpl/messages.sgml              \
        tmpl/misc_utils.sgml            \
        tmpl/modules.sgml               \
+       tmpl/numerical.sgml             \
        tmpl/quarks.sgml                \
+       tmpl/queue.sgml                 \
+       tmpl/random_numbers.sgml        \
        tmpl/relations.sgml             \
        tmpl/scanner.sgml               \
        tmpl/string_chunks.sgml         \
        tmpl/string_utils.sgml          \
        tmpl/strings.sgml               \
+       tmpl/thread_pools.sgml          \
        tmpl/threads.sgml               \
        tmpl/timers.sgml                \
+       tmpl/trash_stack.sgml           \
        tmpl/trees-binary.sgml          \
        tmpl/trees-nary.sgml            \
        tmpl/type_conversion.sgml       \
        tmpl/types.sgml                 \
+       tmpl/unicode.sgml               \
        tmpl/warnings.sgml              \
        tmpl/windows.sgml
 
 glib_docdir = $(HTML_DIR)
 glib_doc_DATA =                                \
-       glib-decl.txt                   \
        glib-sections.txt               \
        glib-overrides.txt
 
 EXTRA_DIST =                           \
        $(glib_doc_DATA)
 
-html/book1.html: sgml/glib-doc.bottom
-       $(MAKE) html
+if ENABLE_GTK_DOC
+all-local: html/index.html
+
+glib-decl.txt: 
+       $(MAKE) scan
+
+$(tmpl_sources): glib-decl.txt glib-sections.txt glib-overrides.txt
+       $(MAKE) templates
 
-sgml/glib-doc.bottom: $(tmpl_sources)
+sgml/glib-doc.bottom: $(tmpl_sources) glib-decl.txt
        $(MAKE) sgml
 
+html/index.html: sgml/glib-doc.bottom
+       $(MAKE) html
+endif
+
 scan:
        -(cd $(srcdir) \
-       && gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="config.h gmoduleconf.h gunidecomp.h gunichartables.h glibconfig-sysdefs.h" )
+       && gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="gobject config.h gmoduleconf.h gunidecomp.h gunichartables.h glibconfig-sysdefs.h" )
 
-templates: scan
+templates: 
        cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
 
 sgml:
@@ -81,6 +98,8 @@ sgml:
 html:
        test -d $(srcdir)/html || mkdir $(srcdir)/html
        -cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+       @echo '-- Fixing Crossreferences' 
+       gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR)
 
 clean-local:
        rm -f *~ *.bak *.signals *-unused.txt
@@ -100,8 +119,6 @@ install-data-local:
          done; \
          echo '-- Installing $(srcdir)/html/index.sgml' ; \
          $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
-         echo '-- Fixing Crossreferences' ; \
-         gtkdoc-fixxref --module=$(DOC_MODULE) --html-dir=$(HTML_DIR)|| true; \
        fi)
 
 dist-hook:
diff --git a/docs/reference/glib/glib-decl.txt b/docs/reference/glib/glib-decl.txt
deleted file mode 100644 (file)
index f8dd681..0000000
+++ /dev/null
@@ -1,7420 +0,0 @@
-<STRUCT>
-<NAME>GError</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GError</NAME>
-struct GError
-{
-  GQuark       domain;
-  gint         code;
-  gchar       *message;
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_error_new</NAME>
-<RETURNS>GError *</RETURNS>
-GQuark         domain,gint           code,const gchar   *format,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_error_new_literal</NAME>
-<RETURNS>GError *</RETURNS>
-GQuark         domain,gint           code,const gchar   *message
-</FUNCTION>
-<FUNCTION>
-<NAME>g_error_free</NAME>
-<RETURNS>void  </RETURNS>
-GError        *error
-</FUNCTION>
-<FUNCTION>
-<NAME>g_error_copy</NAME>
-<RETURNS>GError *</RETURNS>
-const GError  *error
-</FUNCTION>
-<FUNCTION>
-<NAME>g_error_matches</NAME>
-<RETURNS>gboolean  </RETURNS>
-const GError  *error,GQuark         domain,gint           code
-</FUNCTION>
-<FUNCTION>
-<NAME>g_set_error</NAME>
-<RETURNS>void  </RETURNS>
-GError       **err,GQuark         domain,gint           code,const gchar   *format,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_propagate_error</NAME>
-<RETURNS>void  </RETURNS>
-GError       **dest,GError        *src
-</FUNCTION>
-<FUNCTION>
-<NAME>g_clear_error</NAME>
-<RETURNS>void  </RETURNS>
-GError       **err
-</FUNCTION>
-<MACRO>
-<NAME>G_GNUC_EXTENSION</NAME>
-#  define G_GNUC_EXTENSION __extension__
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_EXTENSION</NAME>
-#  define G_GNUC_EXTENSION
-</MACRO>
-<MACRO>
-<NAME>G_E</NAME>
-#define G_E     2.7182818284590452354E0
-</MACRO>
-<MACRO>
-<NAME>G_LN2</NAME>
-#define G_LN2   6.9314718055994530942E-1
-</MACRO>
-<MACRO>
-<NAME>G_LN10</NAME>
-#define G_LN10  2.3025850929940456840E0
-</MACRO>
-<MACRO>
-<NAME>G_PI</NAME>
-#define G_PI    3.14159265358979323846E0
-</MACRO>
-<MACRO>
-<NAME>G_PI_2</NAME>
-#define G_PI_2  1.57079632679489661923E0
-</MACRO>
-<MACRO>
-<NAME>G_PI_4</NAME>
-#define G_PI_4  0.78539816339744830962E0
-</MACRO>
-<MACRO>
-<NAME>G_SQRT2</NAME>
-#define G_SQRT2 1.4142135623730950488E0
-</MACRO>
-<MACRO>
-<NAME>G_DIR_SEPARATOR</NAME>
-#define G_DIR_SEPARATOR '\\'
-</MACRO>
-<MACRO>
-<NAME>G_DIR_SEPARATOR_S</NAME>
-#define G_DIR_SEPARATOR_S "\\"
-</MACRO>
-<MACRO>
-<NAME>G_SEARCHPATH_SEPARATOR</NAME>
-#define G_SEARCHPATH_SEPARATOR ';'
-</MACRO>
-<MACRO>
-<NAME>G_SEARCHPATH_SEPARATOR_S</NAME>
-#define G_SEARCHPATH_SEPARATOR_S ";"
-</MACRO>
-<MACRO>
-<NAME>G_DIR_SEPARATOR</NAME>
-#define G_DIR_SEPARATOR '/'
-</MACRO>
-<MACRO>
-<NAME>G_DIR_SEPARATOR_S</NAME>
-#define G_DIR_SEPARATOR_S "/"
-</MACRO>
-<MACRO>
-<NAME>G_SEARCHPATH_SEPARATOR</NAME>
-#define G_SEARCHPATH_SEPARATOR ':'
-</MACRO>
-<MACRO>
-<NAME>G_SEARCHPATH_SEPARATOR_S</NAME>
-#define G_SEARCHPATH_SEPARATOR_S ":"
-</MACRO>
-<MACRO>
-<NAME>NULL</NAME>
-#    define NULL        (0L)
-</MACRO>
-<MACRO>
-<NAME>NULL</NAME>
-#    define NULL        ((void*) 0)
-</MACRO>
-<MACRO>
-<NAME>FALSE</NAME>
-#define        FALSE   (0)
-</MACRO>
-<MACRO>
-<NAME>TRUE</NAME>
-#define        TRUE    (!FALSE)
-</MACRO>
-<MACRO>
-<NAME>MAX</NAME>
-#define MAX(a, b)  (((a) > (b)) ? (a) : (b))
-</MACRO>
-<MACRO>
-<NAME>MIN</NAME>
-#define MIN(a, b)  (((a) < (b)) ? (a) : (b))
-</MACRO>
-<MACRO>
-<NAME>ABS</NAME>
-#define ABS(a)    (((a) < 0) ? -(a) : (a))
-</MACRO>
-<MACRO>
-<NAME>CLAMP</NAME>
-#define CLAMP(x, low, high)  (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x)))
-</MACRO>
-<MACRO>
-<NAME>G_STRINGIFY</NAME>
-#define G_STRINGIFY(macro_or_string)   G_STRINGIFY_ARG (macro_or_string)
-</MACRO>
-<MACRO>
-<NAME>G_STRINGIFY_ARG</NAME>
-#define        G_STRINGIFY_ARG(contents)       #contents
-</MACRO>
-<MACRO>
-<NAME>G_STRLOC</NAME>
-#  define G_STRLOC     __FILE__ ":" G_STRINGIFY (__LINE__) ":" __PRETTY_FUNCTION__ "()"
-</MACRO>
-<MACRO>
-<NAME>G_STRLOC</NAME>
-#  define G_STRLOC     __FILE__ ":" G_STRINGIFY (__LINE__)
-</MACRO>
-<MACRO>
-<NAME>G_N_ELEMENTS</NAME>
-#define G_N_ELEMENTS(arr)              (sizeof (arr) / sizeof ((arr)[0]))
-</MACRO>
-<MACRO>
-<NAME>G_VA_COPY</NAME>
-#  define G_VA_COPY(ap1, ap2)    (*(ap1) = *(ap2))
-</MACRO>
-<MACRO>
-<NAME>G_VA_COPY</NAME>
-#  define G_VA_COPY(ap1, ap2)    g_memmove ((ap1), (ap2), sizeof (va_list))
-</MACRO>
-<MACRO>
-<NAME>G_VA_COPY</NAME>
-#  define G_VA_COPY(ap1, ap2)    ((ap1) = (ap2))
-</MACRO>
-<MACRO>
-<NAME>G_STRUCT_OFFSET</NAME>
-#define G_STRUCT_OFFSET(struct_type, member)   \
-    ((glong) ((guint8*) &((struct_type*) 0)->member))
-</MACRO>
-<MACRO>
-<NAME>G_STRUCT_MEMBER_P</NAME>
-#define G_STRUCT_MEMBER_P(struct_p, struct_offset)   \
-    ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
-</MACRO>
-<MACRO>
-<NAME>G_STRUCT_MEMBER</NAME>
-#define G_STRUCT_MEMBER(member_type, struct_p, struct_offset)   \
-    (*(member_type*) G_STRUCT_MEMBER_P ((struct_p), (struct_offset)))
-</MACRO>
-<MACRO>
-<NAME>G_CAN_INLINE</NAME>
-#  define G_CAN_INLINE 1
-</MACRO>
-<MACRO>
-<NAME>inline</NAME>
-#    define inline __inline__
-</MACRO>
-<MACRO>
-<NAME>inline</NAME>
-#    define inline __inline__
-</MACRO>
-<MACRO>
-<NAME>inline</NAME>
-#      define inline __inline
-</MACRO>
-<MACRO>
-<NAME>inline</NAME>
-#      define inline /* don't inline, then */
-</MACRO>
-<MACRO>
-<NAME>G_INLINE_FUNC</NAME>
-#      define G_INLINE_FUNC extern inline
-</MACRO>
-<MACRO>
-<NAME>G_INLINE_FUNC</NAME>
-#      define G_INLINE_FUNC extern
-</MACRO>
-<MACRO>
-<NAME>G_INLINE_FUNC</NAME>
-#      define G_INLINE_FUNC static inline
-</MACRO>
-<MACRO>
-<NAME>G_INLINE_FUNC</NAME>
-#      define G_INLINE_FUNC extern
-</MACRO>
-<MACRO>
-<NAME>G_STMT_START</NAME>
-#    define G_STMT_START       (void)(
-</MACRO>
-<MACRO>
-<NAME>G_STMT_END</NAME>
-#    define G_STMT_END         )
-</MACRO>
-<MACRO>
-<NAME>G_STMT_START</NAME>
-#      define G_STMT_START     if (1)
-</MACRO>
-<MACRO>
-<NAME>G_STMT_END</NAME>
-#      define G_STMT_END       else (void)0
-</MACRO>
-<MACRO>
-<NAME>G_STMT_START</NAME>
-#      define G_STMT_START     do
-</MACRO>
-<MACRO>
-<NAME>G_STMT_END</NAME>
-#      define G_STMT_END       while (0)
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_PRINTF</NAME>
-#define G_GNUC_PRINTF( format_idx, arg_idx )   \
-  __attribute__((format (printf, format_idx, arg_idx)))
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_SCANF</NAME>
-#define G_GNUC_SCANF( format_idx, arg_idx )    \
-  __attribute__((format (scanf, format_idx, arg_idx)))
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_FORMAT</NAME>
-#define G_GNUC_FORMAT( arg_idx )               \
-  __attribute__((format_arg (arg_idx)))
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_NORETURN</NAME>
-#define G_GNUC_NORETURN                                \
-  __attribute__((noreturn))
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_CONST</NAME>
-#define G_GNUC_CONST                           \
-  __attribute__((const))
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_UNUSED</NAME>
-#define G_GNUC_UNUSED                          \
-  __attribute__((unused))
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_PRINTF</NAME>
-#define G_GNUC_PRINTF( format_idx, arg_idx )
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_SCANF</NAME>
-#define G_GNUC_SCANF( format_idx, arg_idx )
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_FORMAT</NAME>
-#define G_GNUC_FORMAT( arg_idx )
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_NORETURN</NAME>
-#define G_GNUC_NORETURN
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_CONST</NAME>
-#define G_GNUC_CONST
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_UNUSED</NAME>
-#define        G_GNUC_UNUSED
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_FUNCTION</NAME>
-#define        G_GNUC_FUNCTION         __FUNCTION__
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_PRETTY_FUNCTION</NAME>
-#define        G_GNUC_PRETTY_FUNCTION  __PRETTY_FUNCTION__
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_FUNCTION</NAME>
-#define        G_GNUC_FUNCTION         ""
-</MACRO>
-<MACRO>
-<NAME>G_GNUC_PRETTY_FUNCTION</NAME>
-#define        G_GNUC_PRETTY_FUNCTION  ""
-</MACRO>
-<MACRO>
-<NAME>ATEXIT</NAME>
-# define ATEXIT(proc)  g_ATEXIT(proc)
-</MACRO>
-<MACRO>
-<NAME>G_NATIVE_ATEXIT</NAME>
-# define G_NATIVE_ATEXIT
-</MACRO>
-<MACRO>
-<NAME>G_BREAKPOINT</NAME>
-#define        G_BREAKPOINT()          G_STMT_START{ __asm__ __volatile__ ("int $03"); }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>G_BREAKPOINT</NAME>
-#define        G_BREAKPOINT()          G_STMT_START{ __asm__ __volatile__ ("bpt"); }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>G_BREAKPOINT</NAME>
-#define        G_BREAKPOINT()
-</MACRO>
-<MACRO>
-<NAME>g_new</NAME>
-#  define g_new(type, count)           (ALLOC (type, count))
-</MACRO>
-<MACRO>
-<NAME>g_new0</NAME>
-#  define g_new0(type, count)          (CALLOC (type, count))
-</MACRO>
-<MACRO>
-<NAME>g_renew</NAME>
-#  define g_renew(type, mem, count)    (REALLOC (mem, type, count))
-</MACRO>
-<MACRO>
-<NAME>g_new</NAME>
-#  define g_new(type, count)     \
-      ((type *) g_malloc ((unsigned) sizeof (type) * (count)))
-</MACRO>
-<MACRO>
-<NAME>g_new0</NAME>
-#  define g_new0(type, count)    \
-      ((type *) g_malloc0 ((unsigned) sizeof (type) * (count)))
-</MACRO>
-<MACRO>
-<NAME>g_renew</NAME>
-#  define g_renew(type, mem, count)      \
-      ((type *) g_realloc (mem, (unsigned) sizeof (type) * (count)))
-</MACRO>
-<MACRO>
-<NAME>g_mem_chunk_create</NAME>
-#define g_mem_chunk_create(type, pre_alloc, alloc_type)        ( \
-  g_mem_chunk_new (#type " mem chunks (" #pre_alloc ")", \
-                  sizeof (type), \
-                  sizeof (type) * (pre_alloc), \
-                  (alloc_type)) \
-)
-</MACRO>
-<MACRO>
-<NAME>g_chunk_new</NAME>
-#define g_chunk_new(type, chunk)       ( \
-  (type *) g_mem_chunk_alloc (chunk) \
-)
-</MACRO>
-<MACRO>
-<NAME>g_chunk_new0</NAME>
-#define g_chunk_new0(type, chunk)      ( \
-  (type *) g_mem_chunk_alloc0 (chunk) \
-)
-</MACRO>
-<MACRO>
-<NAME>g_chunk_free</NAME>
-#define g_chunk_free(mem, mem_chunk)   G_STMT_START { \
-  g_mem_chunk_free ((mem_chunk), (mem)); \
-} G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_assert</NAME>
-#define g_assert(expr)
-</MACRO>
-<MACRO>
-<NAME>g_assert_not_reached</NAME>
-#define g_assert_not_reached()
-</MACRO>
-<MACRO>
-<NAME>g_assert</NAME>
-#define g_assert(expr)                 G_STMT_START{           \
-     if (!(expr))                                              \
-       g_log (G_LOG_DOMAIN,                                    \
-             G_LOG_LEVEL_ERROR,                                \
-             "file %s: line %d (%s): assertion failed: (%s)",  \
-             __FILE__,                                         \
-             __LINE__,                                         \
-             __PRETTY_FUNCTION__,                              \
-             #expr);                   }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_assert_not_reached</NAME>
-#define g_assert_not_reached()         G_STMT_START{           \
-     g_log (G_LOG_DOMAIN,                                      \
-           G_LOG_LEVEL_ERROR,                                  \
-           "file %s: line %d (%s): should not be reached",     \
-           __FILE__,                                           \
-           __LINE__,                                           \
-           __PRETTY_FUNCTION__);       }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_assert</NAME>
-#define g_assert(expr)                 G_STMT_START{           \
-     if (!(expr))                                              \
-       g_log (G_LOG_DOMAIN,                                    \
-             G_LOG_LEVEL_ERROR,                                \
-             "file %s: line %d: assertion failed: (%s)",       \
-             __FILE__,                                         \
-             __LINE__,                                         \
-             #expr);                   }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_assert_not_reached</NAME>
-#define g_assert_not_reached()         G_STMT_START{   \
-     g_log (G_LOG_DOMAIN,                              \
-           G_LOG_LEVEL_ERROR,                          \
-           "file %s: line %d: should not be reached",  \
-           __FILE__,                                   \
-           __LINE__);          }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_return_if_fail</NAME>
-#define g_return_if_fail(expr)
-</MACRO>
-<MACRO>
-<NAME>g_return_val_if_fail</NAME>
-#define g_return_val_if_fail(expr,val)
-</MACRO>
-<MACRO>
-<NAME>g_return_if_reached</NAME>
-#define g_return_if_reached() return
-</MACRO>
-<MACRO>
-<NAME>g_return_val_if_reached</NAME>
-#define g_return_val_if_reached(val) return (val)
-</MACRO>
-<MACRO>
-<NAME>g_return_if_fail</NAME>
-#define g_return_if_fail(expr)         G_STMT_START{                   \
-     if (!(expr))                                                      \
-       {                                                               \
-        g_log (G_LOG_DOMAIN,                                           \
-               G_LOG_LEVEL_CRITICAL,                                   \
-               "file %s: line %d (%s): assertion `%s' failed",         \
-               __FILE__,                                               \
-               __LINE__,                                               \
-               __PRETTY_FUNCTION__,                                    \
-               #expr);                                                 \
-        return;                                                        \
-       };                              }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_return_val_if_fail</NAME>
-#define g_return_val_if_fail(expr,val) G_STMT_START{                   \
-     if (!(expr))                                                      \
-       {                                                               \
-        g_log (G_LOG_DOMAIN,                                           \
-               G_LOG_LEVEL_CRITICAL,                                   \
-               "file %s: line %d (%s): assertion `%s' failed",         \
-               __FILE__,                                               \
-               __LINE__,                                               \
-               __PRETTY_FUNCTION__,                                    \
-               #expr);                                                 \
-        return (val);                                                  \
-       };                              }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_return_if_reached</NAME>
-#define g_return_if_reached()          G_STMT_START{                   \
-     g_log (G_LOG_DOMAIN,                                              \
-           G_LOG_LEVEL_CRITICAL,                                       \
-           "file %s: line %d (%s): should not be reached",             \
-           __FILE__,                                                   \
-           __LINE__,                                                   \
-           __PRETTY_FUNCTION__);                                       \
-     return;                           }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_return_val_if_reached</NAME>
-#define g_return_val_if_reached(val)   G_STMT_START{                   \
-     g_log (G_LOG_DOMAIN,                                              \
-           G_LOG_LEVEL_CRITICAL,                                       \
-           "file %s: line %d (%s): should not be reached",             \
-           __FILE__,                                                   \
-           __LINE__,                                                   \
-           __PRETTY_FUNCTION__);                                       \
-     return (val);                     }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_return_if_fail</NAME>
-#define g_return_if_fail(expr)         G_STMT_START{           \
-     if (!(expr))                                              \
-       {                                                       \
-        g_log (G_LOG_DOMAIN,                                   \
-               G_LOG_LEVEL_CRITICAL,                           \
-               "file %s: line %d: assertion `%s' failed",      \
-               __FILE__,                                       \
-               __LINE__,                                       \
-               #expr);                                         \
-        return;                                                \
-       };                              }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_return_val_if_fail</NAME>
-#define g_return_val_if_fail(expr, val)        G_STMT_START{           \
-     if (!(expr))                                              \
-       {                                                       \
-        g_log (G_LOG_DOMAIN,                                   \
-               G_LOG_LEVEL_CRITICAL,                           \
-               "file %s: line %d: assertion `%s' failed",      \
-               __FILE__,                                       \
-               __LINE__,                                       \
-               #expr);                                         \
-        return (val);                                          \
-       };                              }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_return_if_reached</NAME>
-#define g_return_if_reached()          G_STMT_START{           \
-     g_log (G_LOG_DOMAIN,                                      \
-           G_LOG_LEVEL_CRITICAL,                               \
-           "file %s: line %d: should not be reached",          \
-           __FILE__,                                           \
-           __LINE__);                                          \
-     return;                           }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_return_val_if_reached</NAME>
-#define g_return_val_if_reached(val)   G_STMT_START{           \
-     g_log (G_LOG_DOMAIN,                                      \
-           G_LOG_LEVEL_CRITICAL,                               \
-           "file %s: line %d: should not be reached",          \
-           __FILE__,                                           \
-           __LINE__);                                          \
-     return (val);                     }G_STMT_END
-</MACRO>
-<TYPEDEF>
-<NAME>gchar</NAME>
-typedef char   gchar;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gshort</NAME>
-typedef short  gshort;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>glong</NAME>
-typedef long   glong;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gint</NAME>
-typedef int    gint;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gboolean</NAME>
-typedef gint   gboolean;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gstring</NAME>
-typedef gchar* gstring;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>guchar</NAME>
-typedef unsigned char  guchar;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gushort</NAME>
-typedef unsigned short gushort;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gulong</NAME>
-typedef unsigned long  gulong;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>guint</NAME>
-typedef unsigned int   guint;
-</TYPEDEF>
-<MACRO>
-<NAME>G_GSHORT_FORMAT</NAME>
-#define G_GSHORT_FORMAT  "hi"
-</MACRO>
-<MACRO>
-<NAME>G_GUSHORT_FORMAT</NAME>
-#define G_GUSHORT_FORMAT "hu"
-</MACRO>
-<MACRO>
-<NAME>G_GINT_FORMAT</NAME>
-#define G_GINT_FORMAT    "i"
-</MACRO>
-<MACRO>
-<NAME>G_GUINT_FORMAT</NAME>
-#define G_GUINT_FORMAT   "u"
-</MACRO>
-<MACRO>
-<NAME>G_GLONG_FORMAT</NAME>
-#define G_GLONG_FORMAT   "li"
-</MACRO>
-<MACRO>
-<NAME>G_GULONG_FORMAT</NAME>
-#define G_GULONG_FORMAT  "lu"
-</MACRO>
-<TYPEDEF>
-<NAME>gfloat</NAME>
-typedef float  gfloat;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gdouble</NAME>
-typedef double gdouble;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gldouble</NAME>
-typedef long double gldouble;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gldouble</NAME>
-typedef double gldouble;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gpointer</NAME>
-typedef void* gpointer;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gconstpointer</NAME>
-typedef const void *gconstpointer;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>GQuark</NAME>
-typedef guint32 GQuark;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>GTime</NAME>
-typedef gint32 GTime;
-</TYPEDEF>
-<MACRO>
-<NAME>G_LITTLE_ENDIAN</NAME>
-#define G_LITTLE_ENDIAN 1234
-</MACRO>
-<MACRO>
-<NAME>G_BIG_ENDIAN</NAME>
-#define G_BIG_ENDIAN    4321
-</MACRO>
-<MACRO>
-<NAME>G_PDP_ENDIAN</NAME>
-#define G_PDP_ENDIAN    3412           /* unused, need specific PDP check */   
-</MACRO>
-<MACRO>
-<NAME>GUINT16_SWAP_LE_BE_CONSTANT</NAME>
-#define GUINT16_SWAP_LE_BE_CONSTANT(val)       ((guint16) ( \
-    (((guint16) (val) & (guint16) 0x00ffU) << 8) | \
-    (((guint16) (val) & (guint16) 0xff00U) >> 8)))
-</MACRO>
-<MACRO>
-<NAME>GUINT32_SWAP_LE_BE_CONSTANT</NAME>
-#define GUINT32_SWAP_LE_BE_CONSTANT(val)       ((guint32) ( \
-    (((guint32) (val) & (guint32) 0x000000ffU) << 24) | \
-    (((guint32) (val) & (guint32) 0x0000ff00U) <<  8) | \
-    (((guint32) (val) & (guint32) 0x00ff0000U) >>  8) | \
-    (((guint32) (val) & (guint32) 0xff000000U) >> 24)))
-</MACRO>
-<MACRO>
-<NAME>GUINT16_SWAP_LE_BE_X86</NAME>
-#  define GUINT16_SWAP_LE_BE_X86(val) \
-     (__extension__                                    \
-      ({ register guint16 __v;                         \
-        if (__builtin_constant_p (val))                \
-          __v = GUINT16_SWAP_LE_BE_CONSTANT (val);     \
-        else                                           \
-          __asm__ __const__ ("rorw $8, %w0"            \
-                             : "=r" (__v)              \
-                             : "0" ((guint16) (val))); \
-       __v; }))
-</MACRO>
-<MACRO>
-<NAME>GUINT16_SWAP_LE_BE</NAME>
-#  define GUINT16_SWAP_LE_BE(val) (GUINT16_SWAP_LE_BE_X86 (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT32_SWAP_LE_BE_X86</NAME>
-#     define GUINT32_SWAP_LE_BE_X86(val) \
-        (__extension__                                         \
-         ({ register guint32 __v;                              \
-           if (__builtin_constant_p (val))                     \
-             __v = GUINT32_SWAP_LE_BE_CONSTANT (val);          \
-         else                                                  \
-           __asm__ __const__ ("rorw $8, %w0\n\t"               \
-                              "rorl $16, %0\n\t"               \
-                              "rorw $8, %w0"                   \
-                              : "=r" (__v)                     \
-                              : "0" ((guint32) (val)));        \
-       __v; }))
-</MACRO>
-<MACRO>
-<NAME>GUINT32_SWAP_LE_BE_X86</NAME>
-#     define GUINT32_SWAP_LE_BE_X86(val) \
-        (__extension__                                         \
-         ({ register guint32 __v;                              \
-           if (__builtin_constant_p (val))                     \
-             __v = GUINT32_SWAP_LE_BE_CONSTANT (val);          \
-         else                                                  \
-           __asm__ __const__ ("bswap %0"                       \
-                              : "=r" (__v)                     \
-                              : "0" ((guint32) (val)));        \
-       __v; }))
-</MACRO>
-<MACRO>
-<NAME>GUINT32_SWAP_LE_BE</NAME>
-#  define GUINT32_SWAP_LE_BE(val) (GUINT32_SWAP_LE_BE_X86 (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT16_SWAP_LE_BE</NAME>
-#  define GUINT16_SWAP_LE_BE(val) (GUINT16_SWAP_LE_BE_CONSTANT (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT32_SWAP_LE_BE</NAME>
-#  define GUINT32_SWAP_LE_BE(val) (GUINT32_SWAP_LE_BE_CONSTANT (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT64_SWAP_LE_BE_CONSTANT</NAME>
-#  define GUINT64_SWAP_LE_BE_CONSTANT(val)     ((guint64) ( \
-      (((guint64) (val) &                                              \
-       (guint64) G_GINT64_CONSTANT(0x00000000000000ffU)) << 56) |      \
-      (((guint64) (val) &                                              \
-       (guint64) G_GINT64_CONSTANT(0x000000000000ff00U)) << 40) |      \
-      (((guint64) (val) &                                              \
-       (guint64) G_GINT64_CONSTANT(0x0000000000ff0000U)) << 24) |      \
-      (((guint64) (val) &                                              \
-       (guint64) G_GINT64_CONSTANT(0x00000000ff000000U)) <<  8) |      \
-      (((guint64) (val) &                                              \
-       (guint64) G_GINT64_CONSTANT(0x000000ff00000000U)) >>  8) |      \
-      (((guint64) (val) &                                              \
-       (guint64) G_GINT64_CONSTANT(0x0000ff0000000000U)) >> 24) |      \
-      (((guint64) (val) &                                              \
-       (guint64) G_GINT64_CONSTANT(0x00ff000000000000U)) >> 40) |      \
-      (((guint64) (val) &                                              \
-       (guint64) G_GINT64_CONSTANT(0xff00000000000000U)) >> 56)))
-</MACRO>
-<MACRO>
-<NAME>GUINT64_SWAP_LE_BE_X86</NAME>
-#    define GUINT64_SWAP_LE_BE_X86(val) \
-       (__extension__                                          \
-        ({ union { guint64 __ll;                               \
-                   guint32 __l[2]; } __r;                      \
-           if (__builtin_constant_p (val))                     \
-             __r.__ll = GUINT64_SWAP_LE_BE_CONSTANT (val);     \
-           else                                                \
-             {                                                 \
-               union { guint64 __ll;                           \
-                       guint32 __l[2]; } __w;                  \
-               __w.__ll = ((guint64) val);                     \
-               __r.__l[0] = GUINT32_SWAP_LE_BE (__w.__l[1]);   \
-               __r.__l[1] = GUINT32_SWAP_LE_BE (__w.__l[0]);   \
-             }                                                 \
-         __r.__ll; }))
-</MACRO>
-<MACRO>
-<NAME>GUINT64_SWAP_LE_BE</NAME>
-#    define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_X86 (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT64_SWAP_LE_BE</NAME>
-#    define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT(val))
-</MACRO>
-<MACRO>
-<NAME>GUINT16_SWAP_LE_PDP</NAME>
-#define GUINT16_SWAP_LE_PDP(val)       ((guint16) (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT16_SWAP_BE_PDP</NAME>
-#define GUINT16_SWAP_BE_PDP(val)       (GUINT16_SWAP_LE_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT32_SWAP_LE_PDP</NAME>
-#define GUINT32_SWAP_LE_PDP(val)       ((guint32) ( \
-    (((guint32) (val) & (guint32) 0x0000ffffU) << 16) | \
-    (((guint32) (val) & (guint32) 0xffff0000U) >> 16)))
-</MACRO>
-<MACRO>
-<NAME>GUINT32_SWAP_BE_PDP</NAME>
-#define GUINT32_SWAP_BE_PDP(val)       ((guint32) ( \
-    (((guint32) (val) & (guint32) 0x00ff00ffU) << 8) | \
-    (((guint32) (val) & (guint32) 0xff00ff00U) >> 8)))
-</MACRO>
-<MACRO>
-<NAME>GINT16_FROM_LE</NAME>
-#define GINT16_FROM_LE(val)    (GINT16_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT16_FROM_LE</NAME>
-#define GUINT16_FROM_LE(val)   (GUINT16_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GINT16_FROM_BE</NAME>
-#define GINT16_FROM_BE(val)    (GINT16_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT16_FROM_BE</NAME>
-#define GUINT16_FROM_BE(val)   (GUINT16_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GINT32_FROM_LE</NAME>
-#define GINT32_FROM_LE(val)    (GINT32_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT32_FROM_LE</NAME>
-#define GUINT32_FROM_LE(val)   (GUINT32_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GINT32_FROM_BE</NAME>
-#define GINT32_FROM_BE(val)    (GINT32_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT32_FROM_BE</NAME>
-#define GUINT32_FROM_BE(val)   (GUINT32_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GINT64_FROM_LE</NAME>
-#define GINT64_FROM_LE(val)    (GINT64_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT64_FROM_LE</NAME>
-#define GUINT64_FROM_LE(val)   (GUINT64_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GINT64_FROM_BE</NAME>
-#define GINT64_FROM_BE(val)    (GINT64_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT64_FROM_BE</NAME>
-#define GUINT64_FROM_BE(val)   (GUINT64_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GLONG_FROM_LE</NAME>
-#define GLONG_FROM_LE(val)     (GLONG_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GULONG_FROM_LE</NAME>
-#define GULONG_FROM_LE(val)    (GULONG_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GLONG_FROM_BE</NAME>
-#define GLONG_FROM_BE(val)     (GLONG_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GULONG_FROM_BE</NAME>
-#define GULONG_FROM_BE(val)    (GULONG_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GINT_FROM_LE</NAME>
-#define GINT_FROM_LE(val)      (GINT_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT_FROM_LE</NAME>
-#define GUINT_FROM_LE(val)     (GUINT_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GINT_FROM_BE</NAME>
-#define GINT_FROM_BE(val)      (GINT_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT_FROM_BE</NAME>
-#define GUINT_FROM_BE(val)     (GUINT_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>g_ntohl</NAME>
-#define g_ntohl(val) (GUINT32_FROM_BE (val))
-</MACRO>
-<MACRO>
-<NAME>g_ntohs</NAME>
-#define g_ntohs(val) (GUINT16_FROM_BE (val))
-</MACRO>
-<MACRO>
-<NAME>g_htonl</NAME>
-#define g_htonl(val) (GUINT32_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>g_htons</NAME>
-#define g_htons(val) (GUINT16_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GLIB_VAR</NAME>
-#    define GLIB_VAR __declspec(dllexport)
-</MACRO>
-<MACRO>
-<NAME>GLIB_VAR</NAME>
-#    define GLIB_VAR extern __declspec(dllimport)
-</MACRO>
-<MACRO>
-<NAME>GLIB_VAR</NAME>
-#  define GLIB_VAR extern
-</MACRO>
-<MACRO>
-<NAME>GLIB_CHECK_VERSION</NAME>
-#define GLIB_CHECK_VERSION(major,minor,micro)    \
-    (GLIB_MAJOR_VERSION > (major) || \
-     (GLIB_MAJOR_VERSION == (major) && GLIB_MINOR_VERSION > (minor)) || \
-     (GLIB_MAJOR_VERSION == (major) && GLIB_MINOR_VERSION == (minor) && \
-      GLIB_MICRO_VERSION >= (micro)))
-</MACRO>
-<STRUCT>
-<NAME>GAllocator</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GArray</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GByteArray</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GCache</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GCompletion</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GData</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GDebugKey</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GHashTable</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GHook</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GHookList</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GList</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GMemChunk</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GNode</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GPtrArray</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GQueue</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GRand</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GRelation</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GScanner</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GScannerConfig</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GSList</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GString</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GStringChunk</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTimer</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTrashStack</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTree</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTuples</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GIOChannel</NAME>
-</STRUCT>
-<ENUM>
-<NAME>GTraverseFlags</NAME>
-typedef enum
-{
-  G_TRAVERSE_LEAFS     = 1 << 0,
-  G_TRAVERSE_NON_LEAFS = 1 << 1,
-  G_TRAVERSE_ALL       = G_TRAVERSE_LEAFS | G_TRAVERSE_NON_LEAFS,
-  G_TRAVERSE_MASK      = 0x03
-} GTraverseFlags;
-</ENUM>
-<ENUM>
-<NAME>GTraverseType</NAME>
-typedef enum
-{
-  G_IN_ORDER,
-  G_PRE_ORDER,
-  G_POST_ORDER,
-  G_LEVEL_ORDER
-} GTraverseType;
-</ENUM>
-<MACRO>
-<NAME>G_LOG_LEVEL_USER_SHIFT</NAME>
-#define        G_LOG_LEVEL_USER_SHIFT  (8)
-</MACRO>
-<ENUM>
-<NAME>GLogLevelFlags</NAME>
-typedef enum
-{
-  /* log flags */
-  G_LOG_FLAG_RECURSION         = 1 << 0,
-  G_LOG_FLAG_FATAL             = 1 << 1,
-  
-  /* GLib log levels */
-  G_LOG_LEVEL_ERROR            = 1 << 2,       /* always fatal */
-  G_LOG_LEVEL_CRITICAL         = 1 << 3,
-  G_LOG_LEVEL_WARNING          = 1 << 4,
-  G_LOG_LEVEL_MESSAGE          = 1 << 5,
-  G_LOG_LEVEL_INFO             = 1 << 6,
-  G_LOG_LEVEL_DEBUG            = 1 << 7,
-  
-  G_LOG_LEVEL_MASK             = ~(G_LOG_FLAG_RECURSION | G_LOG_FLAG_FATAL)
-} GLogLevelFlags;
-</ENUM>
-<MACRO>
-<NAME>G_LOG_FATAL_MASK</NAME>
-#define        G_LOG_FATAL_MASK        (G_LOG_FLAG_RECURSION | G_LOG_LEVEL_ERROR)
-</MACRO>
-<USER_FUNCTION>
-<NAME>GCacheNewFunc</NAME>
-<RETURNS>gpointer </RETURNS>
-gpointer       key
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GCacheDupFunc</NAME>
-<RETURNS>gpointer </RETURNS>
-gpointer       value
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GCacheDestroyFunc</NAME>
-<RETURNS>void </RETURNS>
-gpointer       value
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GCompareFunc</NAME>
-<RETURNS>gint </RETURNS>
-gconstpointer  a,
-                                                gconstpointer  b
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GCompletionFunc</NAME>
-<RETURNS>gchar *</RETURNS>
-gpointer
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GDestroyNotify</NAME>
-<RETURNS>void </RETURNS>
-gpointer       data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GDataForeachFunc</NAME>
-<RETURNS>void </RETURNS>
-GQuark         key_id,
-                                                gpointer       data,
-                                                gpointer       user_data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GFunc</NAME>
-<RETURNS>void </RETURNS>
-gpointer       data,
-                                                gpointer       user_data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GHashFunc</NAME>
-<RETURNS>guint </RETURNS>
-gconstpointer  key
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GFreeFunc</NAME>
-<RETURNS>void </RETURNS>
-gpointer       data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GHFunc</NAME>
-<RETURNS>void </RETURNS>
-gpointer       key,
-                                                gpointer       value,
-                                                gpointer       user_data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GHRFunc</NAME>
-<RETURNS>gboolean </RETURNS>
-gpointer       key,
-                                                gpointer       value,
-                                                gpointer       user_data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GHookCompareFunc</NAME>
-<RETURNS>gint </RETURNS>
-GHook          *new_hook,
-                                                GHook          *sibling
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GHookFindFunc</NAME>
-<RETURNS>gboolean </RETURNS>
-GHook          *hook,
-                                                gpointer        data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GHookMarshaller</NAME>
-<RETURNS>void </RETURNS>
-GHook          *hook,
-                                                gpointer        data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GHookCheckMarshaller</NAME>
-<RETURNS>gboolean </RETURNS>
-GHook          *hook,
-                                                gpointer        data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GHookFunc</NAME>
-<RETURNS>void </RETURNS>
-gpointer        data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GHookCheckFunc</NAME>
-<RETURNS>gboolean </RETURNS>
-gpointer        data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GHookFreeFunc</NAME>
-<RETURNS>void </RETURNS>
-GHookList      *hook_list,
-                                                GHook          *hook
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GLogFunc</NAME>
-<RETURNS>void </RETURNS>
-const gchar   *log_domain,
-                                                GLogLevelFlags log_level,
-                                                const gchar   *message,
-                                                gpointer       user_data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GNodeTraverseFunc</NAME>
-<RETURNS>gboolean </RETURNS>
-GNode         *node,
-                                                gpointer       data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GNodeForeachFunc</NAME>
-<RETURNS>void </RETURNS>
-GNode         *node,
-                                                gpointer       data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GScannerMsgFunc</NAME>
-<RETURNS>void </RETURNS>
-GScanner      *scanner,
-                                                gchar         *message,
-                                                gint           error
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GTraverseFunc</NAME>
-<RETURNS>gint </RETURNS>
-gpointer       key,
-                                                gpointer       value,
-                                                gpointer       data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GVoidFunc</NAME>
-<RETURNS>void </RETURNS>
-void
-</USER_FUNCTION>
-<STRUCT>
-<NAME>GArray</NAME>
-struct GArray
-{
-  gchar *data;
-  guint len;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GByteArray</NAME>
-struct GByteArray
-{
-  guint8 *data;
-  guint          len;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GDebugKey</NAME>
-struct GDebugKey
-{
-  gchar *key;
-  guint         value;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GList</NAME>
-struct GList
-{
-  gpointer data;
-  GList *next;
-  GList *prev;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GPtrArray</NAME>
-struct GPtrArray
-{
-  gpointer *pdata;
-  guint            len;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GQueue</NAME>
-struct GQueue
-{
-  GList *head;
-  GList *tail;
-  guint  length;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GSList</NAME>
-struct GSList
-{
-  gpointer data;
-  GSList *next;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GString</NAME>
-struct GString
-{
-  gchar *str;
-  gint len;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GTrashStack</NAME>
-struct GTrashStack
-{
-  GTrashStack *next;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GTuples</NAME>
-struct GTuples
-{
-  guint len;
-};
-</STRUCT>
-<MACRO>
-<NAME>G_IEEE754_FLOAT_BIAS</NAME>
-#define G_IEEE754_FLOAT_BIAS   (127)
-</MACRO>
-<MACRO>
-<NAME>G_IEEE754_DOUBLE_BIAS</NAME>
-#define G_IEEE754_DOUBLE_BIAS  (1023)
-</MACRO>
-<MACRO>
-<NAME>G_LOG_2_BASE_10</NAME>
-#define G_LOG_2_BASE_10                (0.30102999566398119521)
-</MACRO>
-<UNION>
-<NAME>GFloatIEEE754</NAME>
-union GFloatIEEE754
-{
-  gfloat v_float;
-  struct {
-    guint mantissa : 23;
-    guint biased_exponent : 8;
-    guint sign : 1;
-  } mpn;
-};
-</UNION>
-<UNION>
-<NAME>GDoubleIEEE754</NAME>
-union GDoubleIEEE754
-{
-  gdouble v_double;
-  struct {
-    guint mantissa_low : 32;
-    guint mantissa_high : 20;
-    guint biased_exponent : 11;
-    guint sign : 1;
-  } mpn;
-};
-</UNION>
-<UNION>
-<NAME>GFloatIEEE754</NAME>
-union GFloatIEEE754
-{
-  gfloat v_float;
-  struct {
-    guint sign : 1;
-    guint biased_exponent : 8;
-    guint mantissa : 23;
-  } mpn;
-};
-</UNION>
-<UNION>
-<NAME>GDoubleIEEE754</NAME>
-union GDoubleIEEE754
-{
-  gdouble v_double;
-  struct {
-    guint sign : 1;
-    guint biased_exponent : 11;
-    guint mantissa_high : 20;
-    guint mantissa_low : 32;
-  } mpn;
-};
-</UNION>
-<FUNCTION>
-<NAME>g_list_push_allocator</NAME>
-<RETURNS>void  </RETURNS>
-GAllocator     *allocator
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_pop_allocator</NAME>
-<RETURNS>void  </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_alloc</NAME>
-<RETURNS>GList *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_free</NAME>
-<RETURNS>void  </RETURNS>
-GList          *list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_free_1</NAME>
-<RETURNS>void  </RETURNS>
-GList          *list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_append</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list,gpointer   data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_prepend</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list,gpointer   data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_insert</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list,gpointer   data,gint               position
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_insert_sorted</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list,gpointer   data,GCompareFunc       func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_concat</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list1,GList            *list2
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_remove</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list,gconstpointer      data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_remove_link</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list,GList             *llink
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_delete_link</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list,GList             *link
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_reverse</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_copy</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_nth</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list,guint              n
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_find</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list,gconstpointer      data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_find_custom</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list,gconstpointer      data,GCompareFunc       func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_position</NAME>
-<RETURNS>gint  </RETURNS>
-GList          *list,GList             *llink
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_index</NAME>
-<RETURNS>gint  </RETURNS>
-GList          *list,gconstpointer      data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_last</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_first</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_length</NAME>
-<RETURNS>guint  </RETURNS>
-GList          *list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_foreach</NAME>
-<RETURNS>void  </RETURNS>
-GList          *list,GFunc              func,gpointer   user_data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_sort</NAME>
-<RETURNS>GList *</RETURNS>
-GList          *list,GCompareFunc    compare_func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_list_nth_data</NAME>
-<RETURNS>gpointer  </RETURNS>
-GList          *list,guint              n
-</FUNCTION>
-<MACRO>
-<NAME>g_list_previous</NAME>
-#define g_list_previous(list)  ((list) ? (((GList *)(list))->prev) : NULL)
-</MACRO>
-<MACRO>
-<NAME>g_list_next</NAME>
-#define g_list_next(list)      ((list) ? (((GList *)(list))->next) : NULL)
-</MACRO>
-<FUNCTION>
-<NAME>g_slist_push_allocator</NAME>
-<RETURNS>void  </RETURNS>
-GAllocator     *allocator
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_pop_allocator</NAME>
-<RETURNS>void  </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_alloc</NAME>
-<RETURNS>GSList *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_free</NAME>
-<RETURNS>void  </RETURNS>
-GSList         *list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_free_1</NAME>
-<RETURNS>void  </RETURNS>
-GSList         *list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_append</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list,gpointer   data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_prepend</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list,gpointer   data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_insert</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list,gpointer   data,gint               position
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_insert_sorted</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list,gpointer   data,GCompareFunc       func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_insert_before</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *slist,GSList         *sibling,gpointer        data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_concat</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list1,GSList           *list2
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_remove</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list,gconstpointer      data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_remove_link</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list,GSList            *link
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_delete_link</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list,GSList         *link
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_reverse</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_copy</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_nth</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list,guint              n
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_find</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list,gconstpointer      data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_find_custom</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list,gconstpointer      data,GCompareFunc       func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_position</NAME>
-<RETURNS>gint  </RETURNS>
-GSList         *list,GSList            *llink
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_index</NAME>
-<RETURNS>gint  </RETURNS>
-GSList         *list,gconstpointer      data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_last</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList         *list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_length</NAME>
-<RETURNS>guint         </RETURNS>
-GSList         *list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_foreach</NAME>
-<RETURNS>void  </RETURNS>
-GSList         *list,GFunc              func,gpointer   user_data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_sort</NAME>
-<RETURNS>GSList *</RETURNS>
-GSList          *list,GCompareFunc    compare_func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_slist_nth_data</NAME>
-<RETURNS>gpointer  </RETURNS>
-GSList         *list,guint              n
-</FUNCTION>
-<MACRO>
-<NAME>g_slist_next</NAME>
-#define  g_slist_next(slist)   ((slist) ? (((GSList *)(slist))->next) : NULL)
-</MACRO>
-<FUNCTION>
-<NAME>g_queue_new</NAME>
-<RETURNS>GQueue *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_queue_free</NAME>
-<RETURNS>void  </RETURNS>
-GQueue  *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_queue_push_head</NAME>
-<RETURNS>void  </RETURNS>
-GQueue  *queue,gpointer data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_queue_push_tail</NAME>
-<RETURNS>void  </RETURNS>
-GQueue  *queue,gpointer data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_queue_pop_head</NAME>
-<RETURNS>gpointer  </RETURNS>
-GQueue  *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_queue_pop_tail</NAME>
-<RETURNS>gpointer  </RETURNS>
-GQueue  *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_queue_is_empty</NAME>
-<RETURNS>gboolean  </RETURNS>
-GQueue  *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_queue_peek_head</NAME>
-<RETURNS>gpointer  </RETURNS>
-GQueue  *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_queue_peek_tail</NAME>
-<RETURNS>gpointer  </RETURNS>
-GQueue  *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_queue_push_head_link</NAME>
-<RETURNS>void  </RETURNS>
-GQueue  *queue,GList   *link
-</FUNCTION>
-<FUNCTION>
-<NAME>g_queue_push_tail_link</NAME>
-<RETURNS>void  </RETURNS>
-GQueue  *queue,GList   *link
-</FUNCTION>
-<FUNCTION>
-<NAME>g_queue_pop_head_link</NAME>
-<RETURNS>GList *</RETURNS>
-GQueue  *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_queue_pop_tail_link</NAME>
-<RETURNS>GList *</RETURNS>
-GQueue  *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hash_table_new</NAME>
-<RETURNS>GHashTable *</RETURNS>
-GHashFunc       hash_func,GCompareFunc  key_compare_func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hash_table_destroy</NAME>
-<RETURNS>void  </RETURNS>
-GHashTable     *hash_table
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hash_table_insert</NAME>
-<RETURNS>void  </RETURNS>
-GHashTable     *hash_table,gpointer     key,gpointer    value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hash_table_remove</NAME>
-<RETURNS>void  </RETURNS>
-GHashTable     *hash_table,gconstpointer        key
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hash_table_lookup</NAME>
-<RETURNS>gpointer  </RETURNS>
-GHashTable     *hash_table,gconstpointer        key
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hash_table_lookup_extended</NAME>
-<RETURNS>gboolean  </RETURNS>
-GHashTable     *hash_table,gconstpointer        lookup_key,gpointer    *orig_key,gpointer      *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hash_table_foreach</NAME>
-<RETURNS>void  </RETURNS>
-GHashTable     *hash_table,GHFunc               func,gpointer   user_data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hash_table_foreach_remove</NAME>
-<RETURNS>guint         </RETURNS>
-GHashTable     *hash_table,GHRFunc      func,gpointer   user_data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hash_table_size</NAME>
-<RETURNS>guint         </RETURNS>
-GHashTable     *hash_table
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hash_table_freeze</NAME>
-<RETURNS>void  </RETURNS>
-GHashTable     *hash_table
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hash_table_thaw</NAME>
-<RETURNS>void  </RETURNS>
-GHashTable     *hash_table
-</FUNCTION>
-<FUNCTION>
-<NAME>g_cache_new</NAME>
-<RETURNS>GCache *</RETURNS>
-GCacheNewFunc     value_new_func,GCacheDestroyFunc  value_destroy_func,GCacheDupFunc      key_dup_func,GCacheDestroyFunc  key_destroy_func,GHashFunc      hash_key_func,GHashFunc         hash_value_func,GCompareFunc    key_compare_func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_cache_destroy</NAME>
-<RETURNS>void  </RETURNS>
-GCache           *cache
-</FUNCTION>
-<FUNCTION>
-<NAME>g_cache_insert</NAME>
-<RETURNS>gpointer  </RETURNS>
-GCache           *cache,gpointer          key
-</FUNCTION>
-<FUNCTION>
-<NAME>g_cache_remove</NAME>
-<RETURNS>void  </RETURNS>
-GCache           *cache,gconstpointer     value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_cache_key_foreach</NAME>
-<RETURNS>void  </RETURNS>
-GCache           *cache,GHFunc            func,gpointer           user_data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_cache_value_foreach</NAME>
-<RETURNS>void  </RETURNS>
-GCache           *cache,GHFunc            func,gpointer           user_data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_tree_new</NAME>
-<RETURNS>GTree *</RETURNS>
-GCompareFunc    key_compare_func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_tree_destroy</NAME>
-<RETURNS>void  </RETURNS>
-GTree          *tree
-</FUNCTION>
-<FUNCTION>
-<NAME>g_tree_insert</NAME>
-<RETURNS>void  </RETURNS>
-GTree          *tree,gpointer   key,gpointer    value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_tree_remove</NAME>
-<RETURNS>void  </RETURNS>
-GTree          *tree,gconstpointer      key
-</FUNCTION>
-<FUNCTION>
-<NAME>g_tree_lookup</NAME>
-<RETURNS>gpointer  </RETURNS>
-GTree          *tree,gconstpointer      key
-</FUNCTION>
-<FUNCTION>
-<NAME>g_tree_traverse</NAME>
-<RETURNS>void  </RETURNS>
-GTree          *tree,GTraverseFunc      traverse_func,GTraverseType     traverse_type,gpointer  data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_tree_search</NAME>
-<RETURNS>gpointer  </RETURNS>
-GTree          *tree,GCompareFunc       search_func,gconstpointer       data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_tree_height</NAME>
-<RETURNS>gint  </RETURNS>
-GTree          *tree
-</FUNCTION>
-<FUNCTION>
-<NAME>g_tree_nnodes</NAME>
-<RETURNS>gint  </RETURNS>
-GTree          *tree
-</FUNCTION>
-<STRUCT>
-<NAME>GNode</NAME>
-struct GNode
-{
-  gpointer data;
-  GNode          *next;
-  GNode          *prev;
-  GNode          *parent;
-  GNode          *children;
-};
-</STRUCT>
-<MACRO>
-<NAME>G_NODE_IS_ROOT</NAME>
-#define         G_NODE_IS_ROOT(node)   (((GNode*) (node))->parent == NULL && \
-                                ((GNode*) (node))->prev == NULL && \
-                                ((GNode*) (node))->next == NULL)
-</MACRO>
-<MACRO>
-<NAME>G_NODE_IS_LEAF</NAME>
-#define         G_NODE_IS_LEAF(node)   (((GNode*) (node))->children == NULL)
-</MACRO>
-<FUNCTION>
-<NAME>g_node_push_allocator</NAME>
-<RETURNS>void  </RETURNS>
-GAllocator       *allocator
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_pop_allocator</NAME>
-<RETURNS>void  </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_new</NAME>
-<RETURNS>GNode *</RETURNS>
-gpointer          data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_destroy</NAME>
-<RETURNS>void  </RETURNS>
-GNode            *root
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_unlink</NAME>
-<RETURNS>void  </RETURNS>
-GNode            *node
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_copy</NAME>
-<RETURNS>GNode *</RETURNS>
-GNode            *node
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_insert</NAME>
-<RETURNS>GNode *</RETURNS>
-GNode            *parent,gint             position,GNode                 *node
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_insert_before</NAME>
-<RETURNS>GNode *</RETURNS>
-GNode            *parent,GNode           *sibling,GNode                  *node
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_prepend</NAME>
-<RETURNS>GNode *</RETURNS>
-GNode            *parent,GNode           *node
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_n_nodes</NAME>
-<RETURNS>guint         </RETURNS>
-GNode            *root,GTraverseFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_get_root</NAME>
-<RETURNS>GNode *</RETURNS>
-GNode            *node
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_is_ancestor</NAME>
-<RETURNS>gboolean  </RETURNS>
-GNode            *node,GNode             *descendant
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_depth</NAME>
-<RETURNS>guint         </RETURNS>
-GNode            *node
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_find</NAME>
-<RETURNS>GNode *</RETURNS>
-GNode            *root,GTraverseType      order,GTraverseFlags    flags,gpointer          data
-</FUNCTION>
-<MACRO>
-<NAME>g_node_append</NAME>
-#define g_node_append(parent, node)                            \
-     g_node_insert_before ((parent), NULL, (node))
-</MACRO>
-<MACRO>
-<NAME>g_node_insert_data</NAME>
-#define        g_node_insert_data(parent, position, data)              \
-     g_node_insert ((parent), (position), g_node_new (data))
-</MACRO>
-<MACRO>
-<NAME>g_node_insert_data_before</NAME>
-#define        g_node_insert_data_before(parent, sibling, data)        \
-     g_node_insert_before ((parent), (sibling), g_node_new (data))
-</MACRO>
-<MACRO>
-<NAME>g_node_prepend_data</NAME>
-#define        g_node_prepend_data(parent, data)                       \
-     g_node_prepend ((parent), g_node_new (data))
-</MACRO>
-<MACRO>
-<NAME>g_node_append_data</NAME>
-#define        g_node_append_data(parent, data)                        \
-     g_node_insert_before ((parent), NULL, g_node_new (data))
-</MACRO>
-<FUNCTION>
-<NAME>g_node_traverse</NAME>
-<RETURNS>void  </RETURNS>
-GNode            *root,GTraverseType      order,GTraverseFlags    flags,gint              max_depth,GNodeTraverseFunc func,gpointer       data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_max_height</NAME>
-<RETURNS>guint         </RETURNS>
-GNode *root
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_children_foreach</NAME>
-<RETURNS>void  </RETURNS>
-GNode            *node,GTraverseFlags   flags,GNodeForeachFunc func,gpointer      data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_reverse_children</NAME>
-<RETURNS>void  </RETURNS>
-GNode            *node
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_n_children</NAME>
-<RETURNS>guint         </RETURNS>
-GNode            *node
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_nth_child</NAME>
-<RETURNS>GNode *</RETURNS>
-GNode            *node,guint              n
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_last_child</NAME>
-<RETURNS>GNode *</RETURNS>
-GNode            *node
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_find_child</NAME>
-<RETURNS>GNode *</RETURNS>
-GNode            *node,GTraverseFlags   flags,gpointer    data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_child_position</NAME>
-<RETURNS>gint  </RETURNS>
-GNode            *node,GNode             *child
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_child_index</NAME>
-<RETURNS>gint  </RETURNS>
-GNode            *node,gpointer           data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_first_sibling</NAME>
-<RETURNS>GNode *</RETURNS>
-GNode            *node
-</FUNCTION>
-<FUNCTION>
-<NAME>g_node_last_sibling</NAME>
-<RETURNS>GNode *</RETURNS>
-GNode            *node
-</FUNCTION>
-<MACRO>
-<NAME>g_node_prev_sibling</NAME>
-#define         g_node_prev_sibling(node)      ((node) ? \
-                                        ((GNode*) (node))->prev : NULL)
-</MACRO>
-<MACRO>
-<NAME>g_node_next_sibling</NAME>
-#define         g_node_next_sibling(node)      ((node) ? \
-                                        ((GNode*) (node))->next : NULL)
-</MACRO>
-<MACRO>
-<NAME>g_node_first_child</NAME>
-#define         g_node_first_child(node)       ((node) ? \
-                                        ((GNode*) (node))->children : NULL)
-</MACRO>
-<MACRO>
-<NAME>G_HOOK_FLAG_USER_SHIFT</NAME>
-#define G_HOOK_FLAG_USER_SHIFT (4)
-</MACRO>
-<ENUM>
-<NAME>GHookFlagMask</NAME>
-typedef enum
-{
-  G_HOOK_FLAG_ACTIVE   = 1 << 0,
-  G_HOOK_FLAG_IN_CALL  = 1 << 1,
-  G_HOOK_FLAG_MASK     = 0x0f
-} GHookFlagMask;
-</ENUM>
-<MACRO>
-<NAME>G_HOOK_DEFERRED_DESTROY</NAME>
-#define        G_HOOK_DEFERRED_DESTROY ((GHookFreeFunc) 0x01)
-</MACRO>
-<STRUCT>
-<NAME>GHookList</NAME>
-struct GHookList
-{
-  guint                 seq_id;
-  guint                 hook_size;
-  guint                 is_setup : 1;
-  GHook                *hooks;
-  GMemChunk    *hook_memchunk;
-  GHookFreeFunc         hook_free; /* virtual function */
-  GHookFreeFunc         hook_destroy; /* virtual function */
-};
-</STRUCT>
-<STRUCT>
-<NAME>GHook</NAME>
-struct GHook
-{
-  gpointer      data;
-  GHook                *next;
-  GHook                *prev;
-  guint                 ref_count;
-  guint                 hook_id;
-  guint                 flags;
-  gpointer      func;
-  GDestroyNotify destroy;
-};
-</STRUCT>
-<MACRO>
-<NAME>G_HOOK_ACTIVE</NAME>
-#define        G_HOOK_ACTIVE(hook)             ((((GHook*) hook)->flags & \
-                                         G_HOOK_FLAG_ACTIVE) != 0)
-</MACRO>
-<MACRO>
-<NAME>G_HOOK_IN_CALL</NAME>
-#define        G_HOOK_IN_CALL(hook)            ((((GHook*) hook)->flags & \
-                                         G_HOOK_FLAG_IN_CALL) != 0)
-</MACRO>
-<MACRO>
-<NAME>G_HOOK_IS_VALID</NAME>
-#define G_HOOK_IS_VALID(hook)          (((GHook*) hook)->hook_id != 0 && \
-                                        G_HOOK_ACTIVE (hook))
-</MACRO>
-<MACRO>
-<NAME>G_HOOK_IS_UNLINKED</NAME>
-#define G_HOOK_IS_UNLINKED(hook)       (((GHook*) hook)->next == NULL && \
-                                        ((GHook*) hook)->prev == NULL && \
-                                        ((GHook*) hook)->hook_id == 0 && \
-                                        ((GHook*) hook)->ref_count == 0)
-</MACRO>
-<FUNCTION>
-<NAME>g_hook_list_init</NAME>
-<RETURNS>void  </RETURNS>
-GHookList              *hook_list,guint                         hook_size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_list_clear</NAME>
-<RETURNS>void  </RETURNS>
-GHookList              *hook_list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_alloc</NAME>
-<RETURNS>GHook *</RETURNS>
-GHookList              *hook_list
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_free</NAME>
-<RETURNS>void  </RETURNS>
-GHookList              *hook_list,GHook                        *hook
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_ref</NAME>
-<RETURNS>void  </RETURNS>
-GHookList              *hook_list,GHook                        *hook
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_unref</NAME>
-<RETURNS>void  </RETURNS>
-GHookList              *hook_list,GHook                        *hook
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_destroy</NAME>
-<RETURNS>gboolean  </RETURNS>
-GHookList              *hook_list,guint                         hook_id
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_destroy_link</NAME>
-<RETURNS>void  </RETURNS>
-GHookList              *hook_list,GHook                        *hook
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_prepend</NAME>
-<RETURNS>void  </RETURNS>
-GHookList              *hook_list,GHook                        *hook
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_insert_before</NAME>
-<RETURNS>void  </RETURNS>
-GHookList              *hook_list,GHook                        *sibling,GHook                  *hook
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_insert_sorted</NAME>
-<RETURNS>void  </RETURNS>
-GHookList              *hook_list,GHook                        *hook,GHookCompareFunc   func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_get</NAME>
-<RETURNS>GHook *</RETURNS>
-GHookList              *hook_list,guint                         hook_id
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_find</NAME>
-<RETURNS>GHook *</RETURNS>
-GHookList              *hook_list,gboolean              need_valids,GHookFindFunc               func,gpointer           data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_find_data</NAME>
-<RETURNS>GHook *</RETURNS>
-GHookList              *hook_list,gboolean              need_valids,gpointer            data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_find_func</NAME>
-<RETURNS>GHook *</RETURNS>
-GHookList              *hook_list,gboolean              need_valids,gpointer            func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_find_func_data</NAME>
-<RETURNS>GHook *</RETURNS>
-GHookList              *hook_list,gboolean              need_valids,gpointer            func,gpointer           data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_first_valid</NAME>
-<RETURNS>GHook *</RETURNS>
-GHookList              *hook_list,gboolean              may_be_in_call
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_next_valid</NAME>
-<RETURNS>GHook *</RETURNS>
-GHookList              *hook_list,GHook                        *hook,gboolean           may_be_in_call
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_compare_ids</NAME>
-<RETURNS>gint  </RETURNS>
-GHook                  *new_hook,GHook                 *sibling
-</FUNCTION>
-<MACRO>
-<NAME>g_hook_append</NAME>
-#define         g_hook_append( hook_list, hook )  \
-     g_hook_insert_before ((hook_list), NULL, (hook))
-</MACRO>
-<FUNCTION>
-<NAME>g_hook_list_invoke</NAME>
-<RETURNS>void  </RETURNS>
-GHookList              *hook_list,gboolean              may_recurse
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_list_invoke_check</NAME>
-<RETURNS>void  </RETURNS>
-GHookList              *hook_list,gboolean              may_recurse
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_list_marshal</NAME>
-<RETURNS>void  </RETURNS>
-GHookList              *hook_list,gboolean              may_recurse,GHookMarshaller     marshaller,gpointer             data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_hook_list_marshal_check</NAME>
-<RETURNS>void  </RETURNS>
-GHookList              *hook_list,gboolean              may_recurse,GHookCheckMarshaller        marshaller,gpointer             data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_on_error_query</NAME>
-<RETURNS>void  </RETURNS>
-const gchar *prg_name
-</FUNCTION>
-<FUNCTION>
-<NAME>g_on_error_stack_trace</NAME>
-<RETURNS>void  </RETURNS>
-const gchar *prg_name
-</FUNCTION>
-<VARIABLE>
-<NAME>g_log_domain_glib</NAME>
-extern         const gchar             *g_log_domain_glib;
-</VARIABLE>
-<FUNCTION>
-<NAME>g_log_set_handler</NAME>
-<RETURNS>guint         </RETURNS>
-const gchar    *log_domain,GLogLevelFlags       log_levels,GLogFunc     log_func,gpointer       user_data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_log_remove_handler</NAME>
-<RETURNS>void  </RETURNS>
-const gchar    *log_domain,guint                handler_id
-</FUNCTION>
-<FUNCTION>
-<NAME>g_log_default_handler</NAME>
-<RETURNS>void  </RETURNS>
-const gchar    *log_domain,GLogLevelFlags       log_level,const gchar  *message,gpointer        unused_data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_log</NAME>
-<RETURNS>void  </RETURNS>
-const gchar    *log_domain,GLogLevelFlags       log_level,const gchar  *format,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_logv</NAME>
-<RETURNS>void  </RETURNS>
-const gchar    *log_domain,GLogLevelFlags       log_level,const gchar  *format,va_list  args
-</FUNCTION>
-<FUNCTION>
-<NAME>g_log_set_fatal_mask</NAME>
-<RETURNS>GLogLevelFlags        </RETURNS>
-const gchar    *log_domain,GLogLevelFlags       fatal_mask
-</FUNCTION>
-<FUNCTION>
-<NAME>g_log_set_always_fatal</NAME>
-<RETURNS>GLogLevelFlags        </RETURNS>
-GLogLevelFlags  fatal_mask
-</FUNCTION>
-<MACRO>
-<NAME>G_LOG_DOMAIN</NAME>
-#define        G_LOG_DOMAIN    ((gchar*) 0)
-</MACRO>
-<MACRO>
-<NAME>g_error</NAME>
-#define        g_error(...)    g_log (G_LOG_DOMAIN,         \
-                              G_LOG_LEVEL_ERROR,    \
-                              __VA_ARGS__)
-</MACRO>
-<MACRO>
-<NAME>g_message</NAME>
-#define        g_message(...)  g_log (G_LOG_DOMAIN,         \
-                              G_LOG_LEVEL_MESSAGE,  \
-                              __VA_ARGS__)
-</MACRO>
-<MACRO>
-<NAME>g_critical</NAME>
-#define        g_critical(...) g_log (G_LOG_DOMAIN,         \
-                              G_LOG_LEVEL_CRITICAL, \
-                              __VA_ARGS__)
-</MACRO>
-<MACRO>
-<NAME>g_warning</NAME>
-#define        g_warning(...)  g_log (G_LOG_DOMAIN,         \
-                              G_LOG_LEVEL_WARNING,  \
-                              __VA_ARGS__)
-</MACRO>
-<MACRO>
-<NAME>g_error</NAME>
-#define        g_error(format...)      g_log (G_LOG_DOMAIN,         \
-                                      G_LOG_LEVEL_ERROR,    \
-                                      format)
-</MACRO>
-<MACRO>
-<NAME>g_message</NAME>
-#define        g_message(format...)    g_log (G_LOG_DOMAIN,         \
-                                      G_LOG_LEVEL_MESSAGE,  \
-                                      format)
-</MACRO>
-<MACRO>
-<NAME>g_critical</NAME>
-#define        g_critical(format...)   g_log (G_LOG_DOMAIN,         \
-                                      G_LOG_LEVEL_CRITICAL, \
-                                      format)
-</MACRO>
-<MACRO>
-<NAME>g_warning</NAME>
-#define        g_warning(format...)    g_log (G_LOG_DOMAIN,         \
-                                      G_LOG_LEVEL_WARNING,  \
-                                      format)
-</MACRO>
-<USER_FUNCTION>
-<NAME>GPrintFunc</NAME>
-<RETURNS>void </RETURNS>
-const gchar    *string
-</USER_FUNCTION>
-<FUNCTION>
-<NAME>g_print</NAME>
-<RETURNS>void  </RETURNS>
-const gchar    *format,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_set_print_handler</NAME>
-<RETURNS>GPrintFunc    </RETURNS>
-GPrintFunc      func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_printerr</NAME>
-<RETURNS>void  </RETURNS>
-const gchar    *format,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_set_printerr_handler</NAME>
-<RETURNS>GPrintFunc    </RETURNS>
-GPrintFunc      func
-</FUNCTION>
-<USER_FUNCTION>
-<NAME>GErrorFunc</NAME>
-<RETURNS>void </RETURNS>
-const gchar *str
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GWarningFunc</NAME>
-<RETURNS>void </RETURNS>
-const gchar *str
-</USER_FUNCTION>
-<FUNCTION>
-<NAME>g_set_error_handler</NAME>
-<RETURNS>GErrorFunc  </RETURNS>
-GErrorFunc      func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_set_warning_handler</NAME>
-<RETURNS>GWarningFunc  </RETURNS>
-GWarningFunc func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_set_message_handler</NAME>
-<RETURNS>GPrintFunc  </RETURNS>
-GPrintFunc func
-</FUNCTION>
-<MACRO>
-<NAME>g_malloc</NAME>
-#define g_malloc(size)      ((gpointer) MALLOC (size))
-</MACRO>
-<MACRO>
-<NAME>g_malloc0</NAME>
-#define g_malloc0(size)             ((gpointer) CALLOC (char, size))
-</MACRO>
-<MACRO>
-<NAME>g_realloc</NAME>
-#define g_realloc(mem,size)  ((gpointer) REALLOC (mem, char, size))
-</MACRO>
-<MACRO>
-<NAME>g_free</NAME>
-#define g_free(mem)         FREE (mem)
-</MACRO>
-<FUNCTION>
-<NAME>g_malloc</NAME>
-<RETURNS>gpointer  </RETURNS>
-gulong   size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_malloc0</NAME>
-<RETURNS>gpointer  </RETURNS>
-gulong   size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_realloc</NAME>
-<RETURNS>gpointer  </RETURNS>
-gpointer  mem,gulong     size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_free</NAME>
-<RETURNS>void  </RETURNS>
-gpointer  mem
-</FUNCTION>
-<FUNCTION>
-<NAME>g_mem_profile</NAME>
-<RETURNS>void  </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_mem_check</NAME>
-<RETURNS>void  </RETURNS>
-gpointer  mem
-</FUNCTION>
-<FUNCTION>
-<NAME>g_allocator_new</NAME>
-<RETURNS>GAllocator *</RETURNS>
-const gchar  *name,guint         n_preallocs
-</FUNCTION>
-<FUNCTION>
-<NAME>g_allocator_free</NAME>
-<RETURNS>void  </RETURNS>
-GAllocator   *allocator
-</FUNCTION>
-<MACRO>
-<NAME>G_ALLOCATOR_LIST</NAME>
-#define        G_ALLOCATOR_LIST        (1)
-</MACRO>
-<MACRO>
-<NAME>G_ALLOCATOR_SLIST</NAME>
-#define        G_ALLOCATOR_SLIST       (2)
-</MACRO>
-<MACRO>
-<NAME>G_ALLOCATOR_NODE</NAME>
-#define        G_ALLOCATOR_NODE        (3)
-</MACRO>
-<MACRO>
-<NAME>G_ALLOC_ONLY</NAME>
-#define G_ALLOC_ONLY     1
-</MACRO>
-<MACRO>
-<NAME>G_ALLOC_AND_FREE</NAME>
-#define G_ALLOC_AND_FREE  2
-</MACRO>
-<FUNCTION>
-<NAME>g_mem_chunk_new</NAME>
-<RETURNS>GMemChunk *</RETURNS>
-gchar    *name,gint       atom_size,gulong        area_size,gint          type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_mem_chunk_destroy</NAME>
-<RETURNS>void  </RETURNS>
-GMemChunk *mem_chunk
-</FUNCTION>
-<FUNCTION>
-<NAME>g_mem_chunk_alloc</NAME>
-<RETURNS>gpointer  </RETURNS>
-GMemChunk *mem_chunk
-</FUNCTION>
-<FUNCTION>
-<NAME>g_mem_chunk_alloc0</NAME>
-<RETURNS>gpointer  </RETURNS>
-GMemChunk *mem_chunk
-</FUNCTION>
-<FUNCTION>
-<NAME>g_mem_chunk_free</NAME>
-<RETURNS>void  </RETURNS>
-GMemChunk *mem_chunk,gpointer   mem
-</FUNCTION>
-<FUNCTION>
-<NAME>g_mem_chunk_clean</NAME>
-<RETURNS>void  </RETURNS>
-GMemChunk *mem_chunk
-</FUNCTION>
-<FUNCTION>
-<NAME>g_mem_chunk_reset</NAME>
-<RETURNS>void  </RETURNS>
-GMemChunk *mem_chunk
-</FUNCTION>
-<FUNCTION>
-<NAME>g_mem_chunk_print</NAME>
-<RETURNS>void  </RETURNS>
-GMemChunk *mem_chunk
-</FUNCTION>
-<FUNCTION>
-<NAME>g_mem_chunk_info</NAME>
-<RETURNS>void  </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_blow_chunks</NAME>
-<RETURNS>void  </RETURNS>
-void
-</FUNCTION>
-<MACRO>
-<NAME>G_MICROSEC</NAME>
-#define G_MICROSEC 1000000
-</MACRO>
-<FUNCTION>
-<NAME>g_timer_new</NAME>
-<RETURNS>GTimer *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_timer_destroy</NAME>
-<RETURNS>void  </RETURNS>
-GTimer  *timer
-</FUNCTION>
-<FUNCTION>
-<NAME>g_timer_start</NAME>
-<RETURNS>void  </RETURNS>
-GTimer  *timer
-</FUNCTION>
-<FUNCTION>
-<NAME>g_timer_stop</NAME>
-<RETURNS>void  </RETURNS>
-GTimer  *timer
-</FUNCTION>
-<FUNCTION>
-<NAME>g_timer_reset</NAME>
-<RETURNS>void  </RETURNS>
-GTimer  *timer
-</FUNCTION>
-<FUNCTION>
-<NAME>g_timer_elapsed</NAME>
-<RETURNS>gdouble  </RETURNS>
-GTimer  *timer,gulong   *microseconds
-</FUNCTION>
-<FUNCTION>
-<NAME>g_usleep</NAME>
-<RETURNS>void  </RETURNS>
-gulong microseconds
-</FUNCTION>
-<MACRO>
-<NAME>G_STR_DELIMITERS</NAME>
-#define         G_STR_DELIMITERS       "_-|> <."
-</MACRO>
-<FUNCTION>
-<NAME>g_strdelimit</NAME>
-<RETURNS>gchar *</RETURNS>
-gchar       *string,const gchar *delimiters,gchar            new_delimiter
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strcanon</NAME>
-<RETURNS>gchar *</RETURNS>
-gchar       *string,const gchar *valid_chars,gchar        subsitutor
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strtod</NAME>
-<RETURNS>gdouble       </RETURNS>
-const gchar *nptr,gchar            **endptr
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strerror</NAME>
-<RETURNS>gchar *</RETURNS>
-gint         errnum
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strsignal</NAME>
-<RETURNS>gchar *</RETURNS>
-gint         signum
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strcasecmp</NAME>
-<RETURNS>gint  </RETURNS>
-const gchar *s1,const gchar *s2
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strncasecmp</NAME>
-<RETURNS>gint  </RETURNS>
-const gchar *s1,const gchar *s2,guint        n
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strdown</NAME>
-<RETURNS>gchar *</RETURNS>
-gchar       *string
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strup</NAME>
-<RETURNS>gchar *</RETURNS>
-gchar       *string
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strreverse</NAME>
-<RETURNS>gchar *</RETURNS>
-gchar       *string
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strlcpy</NAME>
-<RETURNS>gsize         </RETURNS>
-gchar       *dest,const gchar *src,gsize        dest_size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strlcat</NAME>
-<RETURNS>gsize         </RETURNS>
-gchar       *dest,const gchar *src,gsize        dest_size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strchug</NAME>
-<RETURNS>gchar *</RETURNS>
-gchar        *string
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strchomp</NAME>
-<RETURNS>gchar *</RETURNS>
-gchar        *string
-</FUNCTION>
-<MACRO>
-<NAME>g_strstrip</NAME>
-#define g_strstrip( string )   g_strchomp (g_strchug (string))
-</MACRO>
-<FUNCTION>
-<NAME>g_strdup</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *str
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strdup_printf</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *format,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strdup_vprintf</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *format,va_list      args
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strndup</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *str,guint       n
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strnfill</NAME>
-<RETURNS>gchar *</RETURNS>
-guint        length,gchar            fill_char
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strconcat</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *string1,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strjoin</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar  *separator,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strcompress</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *source
-</FUNCTION>
-<FUNCTION>
-<NAME>g_filename_to_utf8</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *opsysstring
-</FUNCTION>
-<FUNCTION>
-<NAME>g_filename_from_utf8</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *utf8string
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strescape</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *source,const gchar *exceptions
-</FUNCTION>
-<FUNCTION>
-<NAME>g_memdup</NAME>
-<RETURNS>gpointer  </RETURNS>
-gconstpointer mem,guint               byte_size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strsplit</NAME>
-<RETURNS>gchar **</RETURNS>
-const gchar  *string,const gchar  *delimiter,gint          max_tokens
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strjoinv</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar  *separator,gchar       **str_array
-</FUNCTION>
-<FUNCTION>
-<NAME>g_strfreev</NAME>
-<RETURNS>void  </RETURNS>
-gchar       **str_array
-</FUNCTION>
-<FUNCTION>
-<NAME>g_printf_string_upper_bound</NAME>
-<RETURNS>guint         </RETURNS>
-const gchar* format,va_list      args
-</FUNCTION>
-<FUNCTION>
-<NAME>g_get_user_name</NAME>
-<RETURNS>gchar *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_get_real_name</NAME>
-<RETURNS>gchar *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_get_home_dir</NAME>
-<RETURNS>gchar *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_get_tmp_dir</NAME>
-<RETURNS>gchar *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_get_prgname</NAME>
-<RETURNS>gchar *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_set_prgname</NAME>
-<RETURNS>void  </RETURNS>
-const gchar *prgname
-</FUNCTION>
-<FUNCTION>
-<NAME>g_parse_debug_string</NAME>
-<RETURNS>guint         </RETURNS>
-const gchar *string,GDebugKey   *keys,guint          nkeys
-</FUNCTION>
-<FUNCTION>
-<NAME>g_snprintf</NAME>
-<RETURNS>gint  </RETURNS>
-gchar       *string,gulong           n,gchar const *format,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_vsnprintf</NAME>
-<RETURNS>gint  </RETURNS>
-gchar       *string,gulong           n,gchar const *format,va_list      args
-</FUNCTION>
-<FUNCTION>
-<NAME>g_path_is_absolute</NAME>
-<RETURNS>gboolean  </RETURNS>
-const gchar *file_name
-</FUNCTION>
-<FUNCTION>
-<NAME>g_path_skip_root</NAME>
-<RETURNS>gchar *</RETURNS>
-gchar       *file_name
-</FUNCTION>
-<FUNCTION>
-<NAME>g_basename</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *file_name
-</FUNCTION>
-<FUNCTION>
-<NAME>g_dirname</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *file_name
-</FUNCTION>
-<FUNCTION>
-<NAME>g_get_current_dir</NAME>
-<RETURNS>gchar *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_path_get_basename</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *file_name
-</FUNCTION>
-<FUNCTION>
-<NAME>g_path_get_dirname</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *file_name
-</FUNCTION>
-<FUNCTION>
-<NAME>g_getenv</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar *variable
-</FUNCTION>
-<FUNCTION>
-<NAME>g_atexit</NAME>
-<RETURNS>void  </RETURNS>
-GVoidFunc    func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_bit_nth_lsf</NAME>
-<RETURNS>gint  </RETURNS>
-guint32 mask,gint    nth_bit
-</FUNCTION>
-<FUNCTION>
-<NAME>g_bit_nth_msf</NAME>
-<RETURNS>gint  </RETURNS>
-guint32 mask,gint    nth_bit
-</FUNCTION>
-<FUNCTION>
-<NAME>g_bit_storage</NAME>
-<RETURNS>guint         </RETURNS>
-guint number
-</FUNCTION>
-<FUNCTION>
-<NAME>g_trash_stack_push</NAME>
-<RETURNS>void  </RETURNS>
-GTrashStack **stack_p,gpointer      data_p
-</FUNCTION>
-<FUNCTION>
-<NAME>g_trash_stack_pop</NAME>
-<RETURNS>gpointer      </RETURNS>
-GTrashStack **stack_p
-</FUNCTION>
-<FUNCTION>
-<NAME>g_trash_stack_peek</NAME>
-<RETURNS>gpointer      </RETURNS>
-GTrashStack **stack_p
-</FUNCTION>
-<FUNCTION>
-<NAME>g_trash_stack_height</NAME>
-<RETURNS>guint         </RETURNS>
-GTrashStack **stack_p
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_chunk_new</NAME>
-<RETURNS>GStringChunk *</RETURNS>
-gint size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_chunk_free</NAME>
-<RETURNS>void  </RETURNS>
-GStringChunk *chunk
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_chunk_insert</NAME>
-<RETURNS>gchar *</RETURNS>
-GStringChunk *chunk,const gchar         *string
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_chunk_insert_const</NAME>
-<RETURNS>gchar *</RETURNS>
-GStringChunk *chunk,const gchar         *string
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_new</NAME>
-<RETURNS>GString *</RETURNS>
-const gchar     *init
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_sized_new</NAME>
-<RETURNS>GString *</RETURNS>
-guint            dfl_size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_free</NAME>
-<RETURNS>gchar *</RETURNS>
-GString         *string,gboolean         free_segment
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_equal</NAME>
-<RETURNS>gboolean  </RETURNS>
-const GString   *v,const GString        *v2
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_hash</NAME>
-<RETURNS>guint  </RETURNS>
-const GString   *str
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_assign</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string,const gchar     *rval
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_truncate</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string,guint            len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_insert_len</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string,gint             pos,const gchar     *val,gint             len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_append</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string,const gchar     *val
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_append_len</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string,const gchar     *val,gint             len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_append_c</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string,gchar            c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_prepend</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string,const gchar     *val
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_prepend_c</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string,gchar            c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_prepend_len</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string,const gchar     *val,gint             len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_insert</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string,gint             pos,const gchar        *val
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_insert_c</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string,gint             pos,gchar               c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_erase</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string,gint             pos,gint                len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_down</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_up</NAME>
-<RETURNS>GString *</RETURNS>
-GString         *string
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_sprintf</NAME>
-<RETURNS>void  </RETURNS>
-GString         *string,const gchar     *format,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_string_sprintfa</NAME>
-<RETURNS>void  </RETURNS>
-GString         *string,const gchar     *format,...
-</FUNCTION>
-<MACRO>
-<NAME>g_array_append_val</NAME>
-#define g_array_append_val(a,v)          g_array_append_vals (a, &v, 1)
-</MACRO>
-<MACRO>
-<NAME>g_array_prepend_val</NAME>
-#define g_array_prepend_val(a,v)  g_array_prepend_vals (a, &v, 1)
-</MACRO>
-<MACRO>
-<NAME>g_array_insert_val</NAME>
-#define g_array_insert_val(a,i,v) g_array_insert_vals (a, i, &v, 1)
-</MACRO>
-<MACRO>
-<NAME>g_array_index</NAME>
-#define g_array_index(a,t,i)      (((t*) (a)->data) [(i)])
-</MACRO>
-<FUNCTION>
-<NAME>g_array_new</NAME>
-<RETURNS>GArray *</RETURNS>
-gboolean           zero_terminated,gboolean        clear,guint     element_size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_array_sized_new</NAME>
-<RETURNS>GArray *</RETURNS>
-gboolean           zero_terminated,gboolean        clear,guint     element_size,guint            reserved_size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_array_free</NAME>
-<RETURNS>gchar *</RETURNS>
-GArray    *array,gboolean          free_segment
-</FUNCTION>
-<FUNCTION>
-<NAME>g_array_append_vals</NAME>
-<RETURNS>GArray *</RETURNS>
-GArray    *array,gconstpointer    data,guint       len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_array_prepend_vals</NAME>
-<RETURNS>GArray *</RETURNS>
-GArray    *array,gconstpointer    data,guint       len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_array_insert_vals</NAME>
-<RETURNS>GArray *</RETURNS>
-GArray          *array,guint            index,gconstpointer    data,guint            len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_array_set_size</NAME>
-<RETURNS>GArray *</RETURNS>
-GArray    *array,guint     length
-</FUNCTION>
-<FUNCTION>
-<NAME>g_array_remove_index</NAME>
-<RETURNS>GArray *</RETURNS>
-GArray    *array,guint     index
-</FUNCTION>
-<FUNCTION>
-<NAME>g_array_remove_index_fast</NAME>
-<RETURNS>GArray *</RETURNS>
-GArray    *array,guint     index
-</FUNCTION>
-<MACRO>
-<NAME>g_ptr_array_index</NAME>
-#define            g_ptr_array_index(array,index) (array->pdata)[index]
-</MACRO>
-<FUNCTION>
-<NAME>g_ptr_array_new</NAME>
-<RETURNS>GPtrArray *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_ptr_array_sized_new</NAME>
-<RETURNS>GPtrArray *</RETURNS>
-guint        reserved_size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_ptr_array_free</NAME>
-<RETURNS>gpointer *</RETURNS>
-GPtrArray      *array,gboolean  free_seg
-</FUNCTION>
-<FUNCTION>
-<NAME>g_ptr_array_set_size</NAME>
-<RETURNS>void  </RETURNS>
-GPtrArray      *array,gint      length
-</FUNCTION>
-<FUNCTION>
-<NAME>g_ptr_array_remove_index</NAME>
-<RETURNS>gpointer  </RETURNS>
-GPtrArray      *array,guint     index
-</FUNCTION>
-<FUNCTION>
-<NAME>g_ptr_array_remove_index_fast</NAME>
-<RETURNS>gpointer  </RETURNS>
-GPtrArray      *array,guint     index
-</FUNCTION>
-<FUNCTION>
-<NAME>g_ptr_array_remove</NAME>
-<RETURNS>gboolean  </RETURNS>
-GPtrArray      *array,gpointer  data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_ptr_array_remove_fast</NAME>
-<RETURNS>gboolean  </RETURNS>
-GPtrArray      *array,gpointer  data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_ptr_array_add</NAME>
-<RETURNS>void  </RETURNS>
-GPtrArray      *array,gpointer  data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_byte_array_new</NAME>
-<RETURNS>GByteArray *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_byte_array_sized_new</NAME>
-<RETURNS>GByteArray *</RETURNS>
-guint        reserved_size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_byte_array_free</NAME>
-<RETURNS>guint8 *</RETURNS>
-GByteArray      *array,gboolean          free_segment
-</FUNCTION>
-<FUNCTION>
-<NAME>g_byte_array_append</NAME>
-<RETURNS>GByteArray *</RETURNS>
-GByteArray      *array,const guint8 *data,guint          len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_byte_array_prepend</NAME>
-<RETURNS>GByteArray *</RETURNS>
-GByteArray      *array,const guint8 *data,guint          len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_byte_array_set_size</NAME>
-<RETURNS>GByteArray *</RETURNS>
-GByteArray      *array,guint     length
-</FUNCTION>
-<FUNCTION>
-<NAME>g_byte_array_remove_index</NAME>
-<RETURNS>GByteArray *</RETURNS>
-GByteArray      *array,guint     index
-</FUNCTION>
-<FUNCTION>
-<NAME>g_byte_array_remove_index_fast</NAME>
-<RETURNS>GByteArray *</RETURNS>
-GByteArray      *array,guint     index
-</FUNCTION>
-<FUNCTION>
-<NAME>g_str_equal</NAME>
-<RETURNS>gboolean  </RETURNS>
-gconstpointer   v,gconstpointer   v2
-</FUNCTION>
-<FUNCTION>
-<NAME>g_str_hash</NAME>
-<RETURNS>guint         </RETURNS>
-gconstpointer   v
-</FUNCTION>
-<FUNCTION>
-<NAME>g_int_equal</NAME>
-<RETURNS>gint  </RETURNS>
-gconstpointer   v,gconstpointer   v2
-</FUNCTION>
-<FUNCTION>
-<NAME>g_int_hash</NAME>
-<RETURNS>guint         </RETURNS>
-gconstpointer   v
-</FUNCTION>
-<FUNCTION>
-<NAME>g_direct_hash</NAME>
-<RETURNS>guint  </RETURNS>
-gconstpointer v
-</FUNCTION>
-<FUNCTION>
-<NAME>g_direct_equal</NAME>
-<RETURNS>gint  </RETURNS>
-gconstpointer v,gconstpointer v2
-</FUNCTION>
-<FUNCTION>
-<NAME>g_quark_try_string</NAME>
-<RETURNS>GQuark        </RETURNS>
-const gchar    *string
-</FUNCTION>
-<FUNCTION>
-<NAME>g_quark_from_static_string</NAME>
-<RETURNS>GQuark        </RETURNS>
-const gchar    *string
-</FUNCTION>
-<FUNCTION>
-<NAME>g_quark_from_string</NAME>
-<RETURNS>GQuark        </RETURNS>
-const gchar    *string
-</FUNCTION>
-<FUNCTION>
-<NAME>g_quark_to_string</NAME>
-<RETURNS>gchar *</RETURNS>
-GQuark          quark
-</FUNCTION>
-<FUNCTION>
-<NAME>g_datalist_init</NAME>
-<RETURNS>void  </RETURNS>
-GData           **datalist
-</FUNCTION>
-<FUNCTION>
-<NAME>g_datalist_clear</NAME>
-<RETURNS>void  </RETURNS>
-GData           **datalist
-</FUNCTION>
-<FUNCTION>
-<NAME>g_datalist_id_get_data</NAME>
-<RETURNS>gpointer  </RETURNS>
-GData           **datalist,GQuark         key_id
-</FUNCTION>
-<FUNCTION>
-<NAME>g_datalist_id_set_data_full</NAME>
-<RETURNS>void  </RETURNS>
-GData           **datalist,GQuark         key_id,gpointer         data,GDestroyNotify   destroy_func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_datalist_id_remove_no_notify</NAME>
-<RETURNS>gpointer  </RETURNS>
-GData           **datalist,GQuark         key_id
-</FUNCTION>
-<FUNCTION>
-<NAME>g_datalist_foreach</NAME>
-<RETURNS>void  </RETURNS>
-GData           **datalist,GDataForeachFunc func,gpointer         user_data
-</FUNCTION>
-<MACRO>
-<NAME>g_datalist_id_set_data</NAME>
-#define          g_datalist_id_set_data(dl, q, d)      \
-     g_datalist_id_set_data_full ((dl), (q), (d), NULL)
-</MACRO>
-<MACRO>
-<NAME>g_datalist_id_remove_data</NAME>
-#define          g_datalist_id_remove_data(dl, q)      \
-     g_datalist_id_set_data ((dl), (q), NULL)
-</MACRO>
-<MACRO>
-<NAME>g_datalist_get_data</NAME>
-#define          g_datalist_get_data(dl, k)            \
-     (g_datalist_id_get_data ((dl), g_quark_try_string (k)))
-</MACRO>
-<MACRO>
-<NAME>g_datalist_set_data_full</NAME>
-#define          g_datalist_set_data_full(dl, k, d, f) \
-     g_datalist_id_set_data_full ((dl), g_quark_from_string (k), (d), (f))
-</MACRO>
-<MACRO>
-<NAME>g_datalist_remove_no_notify</NAME>
-#define          g_datalist_remove_no_notify(dl, k)    \
-     g_datalist_id_remove_no_notify ((dl), g_quark_try_string (k))
-</MACRO>
-<MACRO>
-<NAME>g_datalist_set_data</NAME>
-#define          g_datalist_set_data(dl, k, d)         \
-     g_datalist_set_data_full ((dl), (k), (d), NULL)
-</MACRO>
-<MACRO>
-<NAME>g_datalist_remove_data</NAME>
-#define          g_datalist_remove_data(dl, k)         \
-     g_datalist_id_set_data ((dl), g_quark_try_string (k), NULL)
-</MACRO>
-<FUNCTION>
-<NAME>g_dataset_destroy</NAME>
-<RETURNS>void  </RETURNS>
-gconstpointer    dataset_location
-</FUNCTION>
-<FUNCTION>
-<NAME>g_dataset_id_get_data</NAME>
-<RETURNS>gpointer  </RETURNS>
-gconstpointer    dataset_location,GQuark                 key_id
-</FUNCTION>
-<FUNCTION>
-<NAME>g_dataset_id_set_data_full</NAME>
-<RETURNS>void  </RETURNS>
-gconstpointer    dataset_location,GQuark                 key_id,gpointer         data,GDestroyNotify     destroy_func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_dataset_id_remove_no_notify</NAME>
-<RETURNS>gpointer  </RETURNS>
-gconstpointer    dataset_location,GQuark                 key_id
-</FUNCTION>
-<FUNCTION>
-<NAME>g_dataset_foreach</NAME>
-<RETURNS>void  </RETURNS>
-gconstpointer    dataset_location,GDataForeachFunc func,gpointer         user_data
-</FUNCTION>
-<MACRO>
-<NAME>g_dataset_id_set_data</NAME>
-#define          g_dataset_id_set_data(l, k, d)        \
-     g_dataset_id_set_data_full ((l), (k), (d), NULL)
-</MACRO>
-<MACRO>
-<NAME>g_dataset_id_remove_data</NAME>
-#define          g_dataset_id_remove_data(l, k)        \
-     g_dataset_id_set_data ((l), (k), NULL)
-</MACRO>
-<MACRO>
-<NAME>g_dataset_get_data</NAME>
-#define          g_dataset_get_data(l, k)              \
-     (g_dataset_id_get_data ((l), g_quark_try_string (k)))
-</MACRO>
-<MACRO>
-<NAME>g_dataset_set_data_full</NAME>
-#define          g_dataset_set_data_full(l, k, d, f)   \
-     g_dataset_id_set_data_full ((l), g_quark_from_string (k), (d), (f))
-</MACRO>
-<MACRO>
-<NAME>g_dataset_remove_no_notify</NAME>
-#define          g_dataset_remove_no_notify(l, k)      \
-     g_dataset_id_remove_no_notify ((l), g_quark_try_string (k))
-</MACRO>
-<MACRO>
-<NAME>g_dataset_set_data</NAME>
-#define          g_dataset_set_data(l, k, d)           \
-     g_dataset_set_data_full ((l), (k), (d), NULL)
-</MACRO>
-<MACRO>
-<NAME>g_dataset_remove_data</NAME>
-#define          g_dataset_remove_data(l, k)           \
-     g_dataset_id_set_data ((l), g_quark_try_string (k), NULL)
-</MACRO>
-<MACRO>
-<NAME>G_CSET_A_2_Z</NAME>
-#define G_CSET_A_2_Z   "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-</MACRO>
-<MACRO>
-<NAME>G_CSET_a_2_z</NAME>
-#define G_CSET_a_2_z   "abcdefghijklmnopqrstuvwxyz"
-</MACRO>
-<MACRO>
-<NAME>G_CSET_DIGITS</NAME>
-#define G_CSET_DIGITS  "0123456789"
-</MACRO>
-<MACRO>
-<NAME>G_CSET_LATINC</NAME>
-#define G_CSET_LATINC  "\300\301\302\303\304\305\306"\
-                       "\307\310\311\312\313\314\315\316\317\320"\
-                       "\321\322\323\324\325\326"\
-                       "\330\331\332\333\334\335\336"
-</MACRO>
-<MACRO>
-<NAME>G_CSET_LATINS</NAME>
-#define G_CSET_LATINS  "\337\340\341\342\343\344\345\346"\
-                       "\347\350\351\352\353\354\355\356\357\360"\
-                       "\361\362\363\364\365\366"\
-                       "\370\371\372\373\374\375\376\377"
-</MACRO>
-<ENUM>
-<NAME>GErrorType</NAME>
-typedef enum
-{
-  G_ERR_UNKNOWN,
-  G_ERR_UNEXP_EOF,
-  G_ERR_UNEXP_EOF_IN_STRING,
-  G_ERR_UNEXP_EOF_IN_COMMENT,
-  G_ERR_NON_DIGIT_IN_CONST,
-  G_ERR_DIGIT_RADIX,
-  G_ERR_FLOAT_RADIX,
-  G_ERR_FLOAT_MALFORMED
-} GErrorType;
-</ENUM>
-<ENUM>
-<NAME>GTokenType</NAME>
-typedef enum
-{
-  G_TOKEN_EOF                  =   0,
-  
-  G_TOKEN_LEFT_PAREN           = '(',
-  G_TOKEN_RIGHT_PAREN          = ')',
-  G_TOKEN_LEFT_CURLY           = '{',
-  G_TOKEN_RIGHT_CURLY          = '}',
-  G_TOKEN_LEFT_BRACE           = '[',
-  G_TOKEN_RIGHT_BRACE          = ']',
-  G_TOKEN_EQUAL_SIGN           = '=',
-  G_TOKEN_COMMA                        = ',',
-  
-  G_TOKEN_NONE                 = 256,
-  
-  G_TOKEN_ERROR,
-  
-  G_TOKEN_CHAR,
-  G_TOKEN_BINARY,
-  G_TOKEN_OCTAL,
-  G_TOKEN_INT,
-  G_TOKEN_HEX,
-  G_TOKEN_FLOAT,
-  G_TOKEN_STRING,
-  
-  G_TOKEN_SYMBOL,
-  G_TOKEN_IDENTIFIER,
-  G_TOKEN_IDENTIFIER_NULL,
-  
-  G_TOKEN_COMMENT_SINGLE,
-  G_TOKEN_COMMENT_MULTI,
-  G_TOKEN_LAST
-} GTokenType;
-</ENUM>
-<UNION>
-<NAME>GTokenValue</NAME>
-union GTokenValue
-{
-  gpointer     v_symbol;
-  gchar                *v_identifier;
-  gulong       v_binary;
-  gulong       v_octal;
-  gulong       v_int;
-  gdouble      v_float;
-  gulong       v_hex;
-  gchar                *v_string;
-  gchar                *v_comment;
-  guchar       v_char;
-  guint                v_error;
-};
-</UNION>
-<STRUCT>
-<NAME>GScannerConfig</NAME>
-struct GScannerConfig
-{
-  /* Character sets
-   */
-  gchar                *cset_skip_characters;          /* default: " \t\n" */
-  gchar                *cset_identifier_first;
-  gchar                *cset_identifier_nth;
-  gchar                *cpair_comment_single;          /* default: "#\n" */
-  
-  /* Should symbol lookup work case sensitive?
-   */
-  guint                case_sensitive : 1;
-  
-  /* Boolean values to be adjusted "on the fly"
-   * to configure scanning behaviour.
-   */
-  guint                skip_comment_multi : 1;         /* C like comment */
-  guint                skip_comment_single : 1;        /* single line comment */
-  guint                scan_comment_multi : 1;         /* scan multi line comments? */
-  guint                scan_identifier : 1;
-  guint                scan_identifier_1char : 1;
-  guint                scan_identifier_NULL : 1;
-  guint                scan_symbols : 1;
-  guint                scan_binary : 1;
-  guint                scan_octal : 1;
-  guint                scan_float : 1;
-  guint                scan_hex : 1;                   /* `0x0ff0' */
-  guint                scan_hex_dollar : 1;            /* `$0ff0' */
-  guint                scan_string_sq : 1;             /* string: 'anything' */
-  guint                scan_string_dq : 1;             /* string: "\\-escapes!\n" */
-  guint                numbers_2_int : 1;              /* bin, octal, hex => int */
-  guint                int_2_float : 1;                /* int => G_TOKEN_FLOAT? */
-  guint                identifier_2_string : 1;
-  guint                char_2_token : 1;               /* return G_TOKEN_CHAR? */
-  guint                symbol_2_token : 1;
-  guint                scope_0_fallback : 1;           /* try scope 0 on lookups? */
-};
-</STRUCT>
-<STRUCT>
-<NAME>GScanner</NAME>
-struct GScanner
-{
-  /* unused fields */
-  gpointer             user_data;
-  guint                        max_parse_errors;
-  
-  /* g_scanner_error() increments this field */
-  guint                        parse_errors;
-  
-  /* name of input stream, featured by the default message handler */
-  const gchar          *input_name;
-  
-  /* data pointer for derived structures */
-  gpointer             derived_data;
-  
-  /* link into the scanner configuration */
-  GScannerConfig       *config;
-  
-  /* fields filled in after g_scanner_get_next_token() */
-  GTokenType           token;
-  GTokenValue          value;
-  guint                        line;
-  guint                        position;
-  
-  /* fields filled in after g_scanner_peek_next_token() */
-  GTokenType           next_token;
-  GTokenValue          next_value;
-  guint                        next_line;
-  guint                        next_position;
-  
-  /* to be considered private */
-  GHashTable           *symbol_table;
-  gint                 input_fd;
-  const gchar          *text;
-  const gchar          *text_end;
-  gchar                        *buffer;
-  guint                        scope_id;
-  
-  /* handler function for _warn and _error */
-  GScannerMsgFunc      msg_handler;
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_scanner_new</NAME>
-<RETURNS>GScanner *</RETURNS>
-GScannerConfig *config_templ
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_destroy</NAME>
-<RETURNS>void  </RETURNS>
-GScanner       *scanner
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_input_file</NAME>
-<RETURNS>void  </RETURNS>
-GScanner       *scanner,gint           input_fd
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_sync_file_offset</NAME>
-<RETURNS>void  </RETURNS>
-GScanner       *scanner
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_input_text</NAME>
-<RETURNS>void  </RETURNS>
-GScanner       *scanner,const  gchar   *text,guint             text_len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_get_next_token</NAME>
-<RETURNS>GTokenType    </RETURNS>
-GScanner       *scanner
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_peek_next_token</NAME>
-<RETURNS>GTokenType    </RETURNS>
-GScanner       *scanner
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_cur_token</NAME>
-<RETURNS>GTokenType    </RETURNS>
-GScanner       *scanner
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_cur_value</NAME>
-<RETURNS>GTokenValue   </RETURNS>
-GScanner       *scanner
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_cur_line</NAME>
-<RETURNS>guint         </RETURNS>
-GScanner       *scanner
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_cur_position</NAME>
-<RETURNS>guint         </RETURNS>
-GScanner       *scanner
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_eof</NAME>
-<RETURNS>gboolean      </RETURNS>
-GScanner       *scanner
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_set_scope</NAME>
-<RETURNS>guint         </RETURNS>
-GScanner       *scanner,guint           scope_id
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_scope_add_symbol</NAME>
-<RETURNS>void  </RETURNS>
-GScanner       *scanner,guint           scope_id,const gchar   *symbol,gpointer        value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_scope_remove_symbol</NAME>
-<RETURNS>void  </RETURNS>
-GScanner       *scanner,guint           scope_id,const gchar   *symbol
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_scope_lookup_symbol</NAME>
-<RETURNS>gpointer      </RETURNS>
-GScanner       *scanner,guint           scope_id,const gchar   *symbol
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_scope_foreach_symbol</NAME>
-<RETURNS>void  </RETURNS>
-GScanner       *scanner,guint           scope_id,GHFunc                 func,gpointer   user_data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_lookup_symbol</NAME>
-<RETURNS>gpointer      </RETURNS>
-GScanner       *scanner,const gchar    *symbol
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_unexp_token</NAME>
-<RETURNS>void  </RETURNS>
-GScanner       *scanner,GTokenType     expected_token,const gchar      *identifier_spec,const gchar    *symbol_spec,const gchar        *symbol_name,const gchar        *message,gint            is_error
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_error</NAME>
-<RETURNS>void  </RETURNS>
-GScanner       *scanner,const gchar    *format,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_warn</NAME>
-<RETURNS>void  </RETURNS>
-GScanner       *scanner,const gchar    *format,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_stat_mode</NAME>
-<RETURNS>gint  </RETURNS>
-const gchar    *filename
-</FUNCTION>
-<MACRO>
-<NAME>g_scanner_add_symbol</NAME>
-#define                g_scanner_add_symbol( scanner, symbol, value )  G_STMT_START { \
-  g_scanner_scope_add_symbol ((scanner), 0, (symbol), (value)); \
-} G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_scanner_remove_symbol</NAME>
-#define                g_scanner_remove_symbol( scanner, symbol )      G_STMT_START { \
-  g_scanner_scope_remove_symbol ((scanner), 0, (symbol)); \
-} G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>g_scanner_foreach_symbol</NAME>
-#define                g_scanner_foreach_symbol( scanner, func, data ) G_STMT_START { \
-  g_scanner_scope_foreach_symbol ((scanner), 0, (func), (data)); \
-} G_STMT_END
-</MACRO>
-<FUNCTION>
-<NAME>g_scanner_freeze_symbol_table</NAME>
-<RETURNS>void  </RETURNS>
-GScanner       *scanner
-</FUNCTION>
-<FUNCTION>
-<NAME>g_scanner_thaw_symbol_table</NAME>
-<RETURNS>void  </RETURNS>
-GScanner       *scanner
-</FUNCTION>
-<STRUCT>
-<NAME>GCompletion</NAME>
-struct GCompletion
-{
-  GList* items;
-  GCompletionFunc func;
-  
-  gchar* prefix;
-  GList* cache;
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_completion_new</NAME>
-<RETURNS>GCompletion *</RETURNS>
-GCompletionFunc func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_completion_add_items</NAME>
-<RETURNS>void  </RETURNS>
-GCompletion*   cmp,GList*              items
-</FUNCTION>
-<FUNCTION>
-<NAME>g_completion_remove_items</NAME>
-<RETURNS>void  </RETURNS>
-GCompletion*   cmp,GList*              items
-</FUNCTION>
-<FUNCTION>
-<NAME>g_completion_clear_items</NAME>
-<RETURNS>void  </RETURNS>
-GCompletion*   cmp
-</FUNCTION>
-<FUNCTION>
-<NAME>g_completion_complete</NAME>
-<RETURNS>GList *</RETURNS>
-GCompletion*   cmp,gchar*              prefix,gchar**          new_prefix
-</FUNCTION>
-<FUNCTION>
-<NAME>g_completion_free</NAME>
-<RETURNS>void  </RETURNS>
-GCompletion*   cmp
-</FUNCTION>
-<TYPEDEF>
-<NAME>GDateYear</NAME>
-typedef guint16 GDateYear;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>GDateDay</NAME>
-typedef guint8  GDateDay;   /* day of the month */
-</TYPEDEF>
-<STRUCT>
-<NAME>GDate</NAME>
-</STRUCT>
-<ENUM>
-<NAME>GDateDMY</NAME>
-typedef enum
-{
-  G_DATE_DAY   = 0,
-  G_DATE_MONTH = 1,
-  G_DATE_YEAR  = 2
-} GDateDMY;
-</ENUM>
-<ENUM>
-<NAME>GDateWeekday</NAME>
-typedef enum
-{
-  G_DATE_BAD_WEEKDAY  = 0,
-  G_DATE_MONDAY       = 1,
-  G_DATE_TUESDAY      = 2,
-  G_DATE_WEDNESDAY    = 3,
-  G_DATE_THURSDAY     = 4,
-  G_DATE_FRIDAY       = 5,
-  G_DATE_SATURDAY     = 6,
-  G_DATE_SUNDAY       = 7
-} GDateWeekday;
-</ENUM>
-<ENUM>
-<NAME>GDateMonth</NAME>
-typedef enum
-{
-  G_DATE_BAD_MONTH = 0,
-  G_DATE_JANUARY   = 1,
-  G_DATE_FEBRUARY  = 2,
-  G_DATE_MARCH     = 3,
-  G_DATE_APRIL     = 4,
-  G_DATE_MAY       = 5,
-  G_DATE_JUNE      = 6,
-  G_DATE_JULY      = 7,
-  G_DATE_AUGUST    = 8,
-  G_DATE_SEPTEMBER = 9,
-  G_DATE_OCTOBER   = 10,
-  G_DATE_NOVEMBER  = 11,
-  G_DATE_DECEMBER  = 12
-} GDateMonth;
-</ENUM>
-<MACRO>
-<NAME>G_DATE_BAD_JULIAN</NAME>
-#define G_DATE_BAD_JULIAN 0U
-</MACRO>
-<MACRO>
-<NAME>G_DATE_BAD_DAY</NAME>
-#define G_DATE_BAD_DAY    0U
-</MACRO>
-<MACRO>
-<NAME>G_DATE_BAD_YEAR</NAME>
-#define G_DATE_BAD_YEAR   0U
-</MACRO>
-<STRUCT>
-<NAME>GDate</NAME>
-struct GDate
-{ 
-  guint julian_days : 32; /* julian days representation - we use a
-                           *  bitfield hoping that 64 bit platforms
-                           *  will pack this whole struct in one big
-                           *  int 
-                           */
-
-  guint julian : 1;    /* julian is valid */
-  guint dmy    : 1;    /* dmy is valid */
-
-  /* DMY representation */
-  guint day    : 6;  
-  guint month  : 4; 
-  guint year   : 16; 
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_date_new</NAME>
-<RETURNS>GDate *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_new_dmy</NAME>
-<RETURNS>GDate *</RETURNS>
-GDateDay     day,GDateMonth   month,GDateYear    year
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_new_julian</NAME>
-<RETURNS>GDate *</RETURNS>
-guint32      julian_day
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_free</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_valid</NAME>
-<RETURNS>gboolean  </RETURNS>
-GDate       *date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_valid_day</NAME>
-<RETURNS>gboolean  </RETURNS>
-GDateDay     day
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_valid_month</NAME>
-<RETURNS>gboolean  </RETURNS>
-GDateMonth   month
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_valid_year</NAME>
-<RETURNS>gboolean  </RETURNS>
-GDateYear    year
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_valid_weekday</NAME>
-<RETURNS>gboolean  </RETURNS>
-GDateWeekday weekday
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_valid_julian</NAME>
-<RETURNS>gboolean  </RETURNS>
-guint32      julian_date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_valid_dmy</NAME>
-<RETURNS>gboolean  </RETURNS>
-GDateDay     day,GDateMonth   month,GDateYear    year
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_weekday</NAME>
-<RETURNS>GDateWeekday  </RETURNS>
-GDate       *date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_month</NAME>
-<RETURNS>GDateMonth  </RETURNS>
-GDate       *date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_year</NAME>
-<RETURNS>GDateYear  </RETURNS>
-GDate       *date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_day</NAME>
-<RETURNS>GDateDay  </RETURNS>
-GDate       *date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_julian</NAME>
-<RETURNS>guint32  </RETURNS>
-GDate       *date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_day_of_year</NAME>
-<RETURNS>guint  </RETURNS>
-GDate       *date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_monday_week_of_year</NAME>
-<RETURNS>guint  </RETURNS>
-GDate      *date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_sunday_week_of_year</NAME>
-<RETURNS>guint  </RETURNS>
-GDate      *date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_clear</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,guint        n_dates
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_set_parse</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,const gchar *str
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_set_time</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,GTime        time
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_set_month</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,GDateMonth   month
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_set_day</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,GDateDay     day
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_set_year</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,GDateYear    year
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_set_dmy</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,GDateDay     day,GDateMonth   month,GDateYear    y
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_set_julian</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,guint32      julian_date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_is_first_of_month</NAME>
-<RETURNS>gboolean  </RETURNS>
-GDate       *date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_is_last_of_month</NAME>
-<RETURNS>gboolean  </RETURNS>
-GDate       *date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_add_days</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,guint        n_days
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_subtract_days</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,guint        n_days
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_add_months</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,guint        n_months
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_subtract_months</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,guint        n_months
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_add_years</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,guint        n_years
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_subtract_years</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,guint        n_years
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_is_leap_year</NAME>
-<RETURNS>gboolean  </RETURNS>
-GDateYear    year
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_days_in_month</NAME>
-<RETURNS>guint8  </RETURNS>
-GDateMonth   month,GDateYear    year
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_monday_weeks_in_year</NAME>
-<RETURNS>guint8  </RETURNS>
-GDateYear    year
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_sunday_weeks_in_year</NAME>
-<RETURNS>guint8  </RETURNS>
-GDateYear    year
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_compare</NAME>
-<RETURNS>gint  </RETURNS>
-GDate       *lhs,GDate       *rhs
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_to_struct_tm</NAME>
-<RETURNS>void  </RETURNS>
-GDate       *date,struct tm   *tm
-</FUNCTION>
-<FUNCTION>
-<NAME>g_date_strftime</NAME>
-<RETURNS>gsize  </RETURNS>
-gchar       *s,gsize        slen,const gchar *format,GDate       *date
-</FUNCTION>
-<FUNCTION>
-<NAME>g_relation_new</NAME>
-<RETURNS>GRelation *</RETURNS>
-gint       fields
-</FUNCTION>
-<FUNCTION>
-<NAME>g_relation_destroy</NAME>
-<RETURNS>void  </RETURNS>
-GRelation   *relation
-</FUNCTION>
-<FUNCTION>
-<NAME>g_relation_index</NAME>
-<RETURNS>void  </RETURNS>
-GRelation   *relation,gint         field,GHashFunc    hash_func,GCompareFunc key_compare_func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_relation_insert</NAME>
-<RETURNS>void  </RETURNS>
-GRelation   *relation,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_relation_delete</NAME>
-<RETURNS>gint  </RETURNS>
-GRelation   *relation,gconstpointer  key,gint      field
-</FUNCTION>
-<FUNCTION>
-<NAME>g_relation_select</NAME>
-<RETURNS>GTuples *</RETURNS>
-GRelation   *relation,gconstpointer  key,gint      field
-</FUNCTION>
-<FUNCTION>
-<NAME>g_relation_count</NAME>
-<RETURNS>gint  </RETURNS>
-GRelation   *relation,gconstpointer  key,gint      field
-</FUNCTION>
-<FUNCTION>
-<NAME>g_relation_exists</NAME>
-<RETURNS>gboolean  </RETURNS>
-GRelation   *relation,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_relation_print</NAME>
-<RETURNS>void  </RETURNS>
-GRelation   *relation
-</FUNCTION>
-<FUNCTION>
-<NAME>g_tuples_destroy</NAME>
-<RETURNS>void  </RETURNS>
-GTuples           *tuples
-</FUNCTION>
-<FUNCTION>
-<NAME>g_tuples_index</NAME>
-<RETURNS>gpointer  </RETURNS>
-GTuples           *tuples,gint     index,gint      field
-</FUNCTION>
-<FUNCTION>
-<NAME>g_rand_new_with_seed</NAME>
-<RETURNS>GRand *</RETURNS>
-guint32     seed
-</FUNCTION>
-<FUNCTION>
-<NAME>g_rand_new</NAME>
-<RETURNS>GRand *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_rand_free</NAME>
-<RETURNS>void  </RETURNS>
-GRand      *rand
-</FUNCTION>
-<FUNCTION>
-<NAME>g_rand_set_seed</NAME>
-<RETURNS>void  </RETURNS>
-GRand      *rand,guint32     seed
-</FUNCTION>
-<FUNCTION>
-<NAME>g_rand_int</NAME>
-<RETURNS>guint32  </RETURNS>
-GRand      *rand
-</FUNCTION>
-<FUNCTION>
-<NAME>g_rand_int_range</NAME>
-<RETURNS>gint32  </RETURNS>
-GRand      *rand,gint32      min,gint32      max
-</FUNCTION>
-<FUNCTION>
-<NAME>g_rand_double</NAME>
-<RETURNS>gdouble  </RETURNS>
-GRand      *rand
-</FUNCTION>
-<FUNCTION>
-<NAME>g_rand_double_range</NAME>
-<RETURNS>gdouble  </RETURNS>
-GRand      *rand,gdouble     min,gdouble     max
-</FUNCTION>
-<FUNCTION>
-<NAME>g_random_set_seed</NAME>
-<RETURNS>void  </RETURNS>
-guint32     seed
-</FUNCTION>
-<FUNCTION>
-<NAME>g_random_int</NAME>
-<RETURNS>guint32  </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_random_int_range</NAME>
-<RETURNS>gint32  </RETURNS>
-gint32      min,gint32      max
-</FUNCTION>
-<FUNCTION>
-<NAME>g_random_double</NAME>
-<RETURNS>gdouble  </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_random_double_range</NAME>
-<RETURNS>gdouble  </RETURNS>
-gdouble     min,gdouble     max
-</FUNCTION>
-<FUNCTION>
-<NAME>g_spaced_primes_closest</NAME>
-<RETURNS>guint         </RETURNS>
-guint num
-</FUNCTION>
-<STRUCT>
-<NAME>GIOFuncs</NAME>
-</STRUCT>
-<ENUM>
-<NAME>GIOError</NAME>
-typedef enum
-{
-  G_IO_ERROR_NONE,
-  G_IO_ERROR_AGAIN,
-  G_IO_ERROR_INVAL,
-  G_IO_ERROR_UNKNOWN
-} GIOError;
-</ENUM>
-<ENUM>
-<NAME>GSeekType</NAME>
-typedef enum
-{
-  G_SEEK_CUR,
-  G_SEEK_SET,
-  G_SEEK_END
-} GSeekType;
-</ENUM>
-<ENUM>
-<NAME>GIOCondition</NAME>
-typedef enum
-{
-  G_IO_IN      GLIB_SYSDEF_POLLIN,
-  G_IO_OUT     GLIB_SYSDEF_POLLOUT,
-  G_IO_PRI     GLIB_SYSDEF_POLLPRI,
-  G_IO_ERR     GLIB_SYSDEF_POLLERR,
-  G_IO_HUP     GLIB_SYSDEF_POLLHUP,
-  G_IO_NVAL    GLIB_SYSDEF_POLLNVAL
-} GIOCondition;
-</ENUM>
-<STRUCT>
-<NAME>GIOChannel</NAME>
-struct GIOChannel
-{
-  guint channel_flags;
-  guint ref_count;
-  GIOFuncs *funcs;
-};
-</STRUCT>
-<USER_FUNCTION>
-<NAME>GIOFunc</NAME>
-<RETURNS>gboolean </RETURNS>
-GIOChannel   *source,
-                            GIOCondition  condition,
-                            gpointer      data
-</USER_FUNCTION>
-<STRUCT>
-<NAME>GIOFuncs</NAME>
-struct GIOFuncs
-{
-  GIOError (*io_read)   (GIOChannel    *channel, 
-                        gchar          *buf, 
-                        guint           count,
-                        guint          *bytes_read);
-  GIOError (*io_write)  (GIOChannel    *channel, 
-                        gchar          *buf, 
-                        guint           count,
-                        guint          *bytes_written);
-  GIOError (*io_seek)   (GIOChannel    *channel, 
-                        gint            offset, 
-                        GSeekType       type);
-  void (*io_close)      (GIOChannel    *channel);
-  guint (*io_add_watch) (GIOChannel     *channel,
-                        gint            priority,
-                        GIOCondition    condition,
-                        GIOFunc         func,
-                        gpointer        user_data,
-                        GDestroyNotify  notify);
-  void (*io_free)       (GIOChannel    *channel);
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_io_channel_init</NAME>
-<RETURNS>void  </RETURNS>
-GIOChannel    *channel
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_channel_ref</NAME>
-<RETURNS>void  </RETURNS>
-GIOChannel    *channel
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_channel_unref</NAME>
-<RETURNS>void  </RETURNS>
-GIOChannel    *channel
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_channel_read</NAME>
-<RETURNS>GIOError  </RETURNS>
-GIOChannel    *channel,gchar         *buf,guint          count,guint         *bytes_read
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_channel_write</NAME>
-<RETURNS>GIOError  </RETURNS>
-GIOChannel    *channel,gchar         *buf,guint          count,guint         *bytes_written
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_channel_seek</NAME>
-<RETURNS>GIOError  </RETURNS>
-GIOChannel    *channel,gint           offset,GSeekType      type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_channel_close</NAME>
-<RETURNS>void  </RETURNS>
-GIOChannel    *channel
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_add_watch_full</NAME>
-<RETURNS>guint  </RETURNS>
-GIOChannel    *channel,gint           priority,GIOCondition   condition,GIOFunc        func,gpointer       user_data,GDestroyNotify notify
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_add_watch</NAME>
-<RETURNS>guint  </RETURNS>
-GIOChannel    *channel,GIOCondition   condition,GIOFunc        func,gpointer       user_data
-</FUNCTION>
-<STRUCT>
-<NAME>GTimeVal</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GSourceFuncs</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GMainLoop</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTimeVal</NAME>
-struct GTimeVal
-{
-  glong tv_sec;
-  glong tv_usec;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GSourceFuncs</NAME>
-struct GSourceFuncs
-{
-  gboolean (*prepare)  (gpointer  source_data, 
-                       GTimeVal *current_time,
-                       gint     *timeout,
-                       gpointer  user_data);
-  gboolean (*check)    (gpointer  source_data,
-                       GTimeVal *current_time,
-                       gpointer  user_data);
-  gboolean (*dispatch) (gpointer  source_data, 
-                       GTimeVal *dispatch_time,
-                       gpointer  user_data);
-  GDestroyNotify destroy;
-};
-</STRUCT>
-<MACRO>
-<NAME>G_PRIORITY_HIGH</NAME>
-#define G_PRIORITY_HIGH            -100
-</MACRO>
-<MACRO>
-<NAME>G_PRIORITY_DEFAULT</NAME>
-#define G_PRIORITY_DEFAULT          0
-</MACRO>
-<MACRO>
-<NAME>G_PRIORITY_HIGH_IDLE</NAME>
-#define G_PRIORITY_HIGH_IDLE        100
-</MACRO>
-<MACRO>
-<NAME>G_PRIORITY_DEFAULT_IDLE</NAME>
-#define G_PRIORITY_DEFAULT_IDLE     200
-</MACRO>
-<MACRO>
-<NAME>G_PRIORITY_LOW</NAME>
-#define G_PRIORITY_LOW             300
-</MACRO>
-<USER_FUNCTION>
-<NAME>GSourceFunc</NAME>
-<RETURNS>gboolean </RETURNS>
-gpointer data
-</USER_FUNCTION>
-<FUNCTION>
-<NAME>g_source_add</NAME>
-<RETURNS>guint  </RETURNS>
-gint           priority,gboolean       can_recurse,GSourceFuncs  *funcs,gpointer       source_data,gpointer       user_data,GDestroyNotify notify
-</FUNCTION>
-<FUNCTION>
-<NAME>g_source_remove</NAME>
-<RETURNS>gboolean  </RETURNS>
-guint          tag
-</FUNCTION>
-<FUNCTION>
-<NAME>g_source_remove_by_user_data</NAME>
-<RETURNS>gboolean  </RETURNS>
-gpointer       user_data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_source_remove_by_source_data</NAME>
-<RETURNS>gboolean  </RETURNS>
-gpointer       source_data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_source_remove_by_funcs_user_data</NAME>
-<RETURNS>gboolean  </RETURNS>
-GSourceFuncs  *funcs,gpointer       user_data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_get_current_time</NAME>
-<RETURNS>void  </RETURNS>
-GTimeVal       *result
-</FUNCTION>
-<FUNCTION>
-<NAME>g_main_new</NAME>
-<RETURNS>GMainLoop *</RETURNS>
-gboolean        is_running
-</FUNCTION>
-<FUNCTION>
-<NAME>g_main_run</NAME>
-<RETURNS>void  </RETURNS>
-GMainLoop      *loop
-</FUNCTION>
-<FUNCTION>
-<NAME>g_main_quit</NAME>
-<RETURNS>void  </RETURNS>
-GMainLoop      *loop
-</FUNCTION>
-<FUNCTION>
-<NAME>g_main_destroy</NAME>
-<RETURNS>void  </RETURNS>
-GMainLoop      *loop
-</FUNCTION>
-<FUNCTION>
-<NAME>g_main_is_running</NAME>
-<RETURNS>gboolean      </RETURNS>
-GMainLoop      *loop
-</FUNCTION>
-<FUNCTION>
-<NAME>g_main_iteration</NAME>
-<RETURNS>gboolean      </RETURNS>
-gboolean       may_block
-</FUNCTION>
-<FUNCTION>
-<NAME>g_main_pending</NAME>
-<RETURNS>gboolean      </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_timeout_add_full</NAME>
-<RETURNS>guint         </RETURNS>
-gint           priority,guint          interval,GSourceFunc    function,gpointer       data,GDestroyNotify notify
-</FUNCTION>
-<FUNCTION>
-<NAME>g_timeout_add</NAME>
-<RETURNS>guint         </RETURNS>
-guint          interval,GSourceFunc    function,gpointer       data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_idle_add</NAME>
-<RETURNS>guint         </RETURNS>
-GSourceFunc    function,gpointer       data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_idle_add_full</NAME>
-<RETURNS>guint         </RETURNS>
-gint           priority,GSourceFunc    function,gpointer       data,GDestroyNotify destroy
-</FUNCTION>
-<FUNCTION>
-<NAME>g_idle_remove_by_data</NAME>
-<RETURNS>gboolean      </RETURNS>
-gpointer       data
-</FUNCTION>
-<STRUCT>
-<NAME>GPollFD</NAME>
-</STRUCT>
-<USER_FUNCTION>
-<NAME>GPollFunc</NAME>
-<RETURNS>gint </RETURNS>
-GPollFD *ufds,
-                                guint    nfsd,
-                                gint     timeout
-</USER_FUNCTION>
-<STRUCT>
-<NAME>GPollFD</NAME>
-struct GPollFD
-{
-  gint         fd;
-  gushort      events;
-  gushort      revents;
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_main_add_poll</NAME>
-<RETURNS>void  </RETURNS>
-GPollFD    *fd,gint        priority
-</FUNCTION>
-<FUNCTION>
-<NAME>g_main_remove_poll</NAME>
-<RETURNS>void  </RETURNS>
-GPollFD    *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>g_main_set_poll_func</NAME>
-<RETURNS>void  </RETURNS>
-GPollFunc   func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_main_win32_get_poll_func</NAME>
-<RETURNS>GPollFunc  </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_channel_unix_new</NAME>
-<RETURNS>GIOChannel *</RETURNS>
-int         fd
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_channel_unix_get_fd</NAME>
-<RETURNS>gint  </RETURNS>
-GIOChannel *channel
-</FUNCTION>
-<MACRO>
-<NAME>G_WIN32_MSG_HANDLE</NAME>
-#define G_WIN32_MSG_HANDLE 19981206
-</MACRO>
-<FUNCTION>
-<NAME>g_io_channel_win32_make_pollfd</NAME>
-<RETURNS>void  </RETURNS>
-GIOChannel   *channel,GIOCondition  condition,GPollFD      *fd
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_channel_win32_poll</NAME>
-<RETURNS>gint  </RETURNS>
-GPollFD    *fds,gint        n_fds,gint        timeout
-</FUNCTION>
-<FUNCTION>
-<NAME>g_main_poll_win32_msg_add</NAME>
-<RETURNS>void  </RETURNS>
-gint        priority,GPollFD    *fd,guint       hwnd
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_channel_win32_new_messages</NAME>
-<RETURNS>GIOChannel  *</RETURNS>
-guint hwnd
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_channel_win32_new_fd</NAME>
-<RETURNS>GIOChannel *</RETURNS>
-int         fd
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_channel_win32_get_fd</NAME>
-<RETURNS>gint  </RETURNS>
-GIOChannel *channel
-</FUNCTION>
-<FUNCTION>
-<NAME>g_io_channel_win32_new_stream_socket</NAME>
-<RETURNS>GIOChannel  *</RETURNS>
-int socket
-</FUNCTION>
-<MACRO>
-<NAME>MAXPATHLEN</NAME>
-#  define MAXPATHLEN 1024
-</MACRO>
-<TYPEDEF>
-<NAME>pid_t</NAME>
-typedef int pid_t;
-</TYPEDEF>
-<MACRO>
-<NAME>pipe</NAME>
-#define pipe(phandles) _pipe (phandles, 4096, _O_BINARY)
-</MACRO>
-<MACRO>
-<NAME>ftruncate</NAME>
-#    define ftruncate(fd, size)        g_win32_ftruncate (fd, size)
-</MACRO>
-<MACRO>
-<NAME>opendir</NAME>
-#    define opendir            g_win32_opendir
-</MACRO>
-<MACRO>
-<NAME>readdir</NAME>
-#    define readdir            g_win32_readdir
-</MACRO>
-<MACRO>
-<NAME>rewinddir</NAME>
-#    define rewinddir          g_win32_rewinddir
-</MACRO>
-<MACRO>
-<NAME>closedir</NAME>
-#    define closedir           g_win32_closedir
-</MACRO>
-<MACRO>
-<NAME>NAME_MAX</NAME>
-#    define NAME_MAX 255
-</MACRO>
-<FUNCTION>
-<NAME>g_win32_ftruncate</NAME>
-<RETURNS>int   </RETURNS>
-gint            f,guint                 size
-</FUNCTION>
-<FUNCTION>
-<NAME>g_win32_opendir</NAME>
-<RETURNS>DIR *</RETURNS>
-const gchar    *dirname
-</FUNCTION>
-<FUNCTION>
-<NAME>g_win32_rewinddir</NAME>
-<RETURNS>void  </RETURNS>
-DIR            *dir
-</FUNCTION>
-<FUNCTION>
-<NAME>g_win32_closedir</NAME>
-<RETURNS>gint  </RETURNS>
-DIR            *dir
-</FUNCTION>
-<FUNCTION>
-<NAME>g_win32_getlocale</NAME>
-<RETURNS>gchar  *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_win32_error_message</NAME>
-<RETURNS>gchar  *</RETURNS>
-gint error
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_error_quark</NAME>
-<RETURNS>GQuark  </RETURNS>
-
-</FUNCTION>
-<MACRO>
-<NAME>G_THREAD_ERROR</NAME>
-#define G_THREAD_ERROR g_thread_error_quark()
-</MACRO>
-<ENUM>
-<NAME>GThreadError</NAME>
-typedef enum
-{
-  G_THREAD_ERROR_AGAIN /* Resource temporarily unavailable */
-} GThreadError;
-</ENUM>
-<USER_FUNCTION>
-<NAME>GThreadFunc</NAME>
-<RETURNS>void </RETURNS>
-gpointer       value
-</USER_FUNCTION>
-<ENUM>
-<NAME>GThreadPriority</NAME>
-typedef enum
-{
-    G_THREAD_PRIORITY_LOW,
-    G_THREAD_PRIORITY_NORMAL,
-    G_THREAD_PRIORITY_HIGH,
-    G_THREAD_PRIORITY_URGENT
-} GThreadPriority;
-</ENUM>
-<STRUCT>
-<NAME>GThread</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GThread</NAME>
-struct GThread
-{
-  GThreadPriority priority;
-  gboolean bound;
-  gboolean joinable;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GMutex</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GCond</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GPrivate</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GStaticPrivate</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GAsyncQueue</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GThreadPool</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GThreadFunctions</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GThreadFunctions</NAME>
-struct GThreadFunctions
-{
-  GMutex*  (*mutex_new)           (void);
-  void     (*mutex_lock)          (GMutex              *mutex);
-  gboolean (*mutex_trylock)       (GMutex              *mutex);
-  void     (*mutex_unlock)        (GMutex              *mutex);
-  void     (*mutex_free)          (GMutex              *mutex);
-  GCond*   (*cond_new)            (void);
-  void     (*cond_signal)         (GCond               *cond);
-  void     (*cond_broadcast)      (GCond               *cond);
-  void     (*cond_wait)           (GCond               *cond,
-                                  GMutex               *mutex);
-  gboolean (*cond_timed_wait)     (GCond               *cond,
-                                  GMutex               *mutex, 
-                                  GTimeVal             *end_time);
-  void      (*cond_free)          (GCond               *cond);
-  GPrivate* (*private_new)        (GDestroyNotify       destructor);
-  gpointer  (*private_get)        (GPrivate            *private_key);
-  void      (*private_set)        (GPrivate            *private_key,
-                                  gpointer              data);
-  void      (*thread_create)      (GThreadFunc                  thread_func,
-                                  gpointer              arg,
-                                  gulong                stack_size,
-                                  gboolean              joinable,
-                                  gboolean              bound,
-                                  GThreadPriority       priority,
-                                  gpointer              thread,
-                                  GError              **error);
-  void      (*thread_yield)       (void);
-  void      (*thread_join)        (gpointer             thread);
-  void      (*thread_exit)        (void);
-  void      (*thread_set_priority)(gpointer             thread, 
-                                  GThreadPriority       priority);
-  void      (*thread_self)        (gpointer              thread);
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_thread_init</NAME>
-<RETURNS>void  </RETURNS>
-GThreadFunctions       *vtable
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_mutex_get_mutex_impl</NAME>
-<RETURNS>GMutex *</RETURNS>
-GMutex **mutex
-</FUNCTION>
-<MACRO>
-<NAME>G_THREAD_UF</NAME>
-#define G_THREAD_UF(name, arglist) \
-    (*g_thread_functions_for_glib_use . name) arglist
-</MACRO>
-<MACRO>
-<NAME>G_THREAD_CF</NAME>
-#define G_THREAD_CF(name, fail, arg) \
-    (g_thread_supported () ? G_THREAD_UF (name, arg) : (fail))
-</MACRO>
-<MACRO>
-<NAME>g_thread_supported</NAME>
-#define        g_thread_supported()    (g_threads_got_initialized)
-</MACRO>
-<MACRO>
-<NAME>g_mutex_new</NAME>
-#define g_mutex_new()            G_THREAD_UF (mutex_new,      ())
-</MACRO>
-<MACRO>
-<NAME>g_mutex_lock</NAME>
-#define g_mutex_lock(mutex)      G_THREAD_CF (mutex_lock,     (void)0, (mutex))
-</MACRO>
-<MACRO>
-<NAME>g_mutex_trylock</NAME>
-#define g_mutex_trylock(mutex)   G_THREAD_CF (mutex_trylock,  TRUE,    (mutex))
-</MACRO>
-<MACRO>
-<NAME>g_mutex_unlock</NAME>
-#define g_mutex_unlock(mutex)    G_THREAD_CF (mutex_unlock,   (void)0, (mutex))
-</MACRO>
-<MACRO>
-<NAME>g_mutex_free</NAME>
-#define g_mutex_free(mutex)      G_THREAD_CF (mutex_free,     (void)0, (mutex))
-</MACRO>
-<MACRO>
-<NAME>g_cond_new</NAME>
-#define g_cond_new()             G_THREAD_UF (cond_new,       ())
-</MACRO>
-<MACRO>
-<NAME>g_cond_signal</NAME>
-#define g_cond_signal(cond)      G_THREAD_CF (cond_signal,    (void)0, (cond))
-</MACRO>
-<MACRO>
-<NAME>g_cond_broadcast</NAME>
-#define g_cond_broadcast(cond)   G_THREAD_CF (cond_broadcast, (void)0, (cond))
-</MACRO>
-<MACRO>
-<NAME>g_cond_wait</NAME>
-#define g_cond_wait(cond, mutex) G_THREAD_CF (cond_wait,      (void)0, (cond, \
-                                                                        mutex))
-</MACRO>
-<MACRO>
-<NAME>g_cond_free</NAME>
-#define g_cond_free(cond)        G_THREAD_CF (cond_free,      (void)0, (cond))
-</MACRO>
-<MACRO>
-<NAME>g_cond_timed_wait</NAME>
-#define g_cond_timed_wait(cond, mutex, abs_time) G_THREAD_CF (cond_timed_wait, \
-                                                              TRUE, \
-                                                              (cond, mutex, \
-                                                              abs_time))
-</MACRO>
-<MACRO>
-<NAME>g_private_new</NAME>
-#define g_private_new(destructor)        G_THREAD_UF (private_new, (destructor))
-</MACRO>
-<MACRO>
-<NAME>g_private_get</NAME>
-#define g_private_get(private_key)       G_THREAD_CF (private_get, \
-                                                       ((gpointer)private_key), \
-                                                       (private_key))
-</MACRO>
-<MACRO>
-<NAME>g_private_set</NAME>
-#define g_private_set(private_key, value) G_THREAD_CF (private_set, \
-                                                       (void) (private_key = \
-                                                        (GPrivate*) (value)), \
-                                                       (private_key, value))
-</MACRO>
-<MACRO>
-<NAME>g_thread_yield</NAME>
-#define g_thread_yield()              G_THREAD_CF (thread_yield, (void)0, ())
-</MACRO>
-<MACRO>
-<NAME>g_thread_exit</NAME>
-#define g_thread_exit()               G_THREAD_CF (thread_exit, (void)0, ())
-</MACRO>
-<FUNCTION>
-<NAME>g_thread_create</NAME>
-<RETURNS>GThread *</RETURNS>
-GThreadFunc             thread_func,gpointer            arg,gulong              stack_size,gboolean             joinable,gboolean               bound,GThreadPriority   priority,GError               **error
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_self</NAME>
-<RETURNS>GThread *</RETURNS>
-
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_join</NAME>
-<RETURNS>void  </RETURNS>
-GThread *thread
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_set_priority</NAME>
-<RETURNS>void  </RETURNS>
-GThread         *thread,GThreadPriority  priority
-</FUNCTION>
-<MACRO>
-<NAME>g_static_mutex_lock</NAME>
-#define g_static_mutex_lock(mutex) \
-    g_mutex_lock (g_static_mutex_get_mutex (mutex))
-</MACRO>
-<MACRO>
-<NAME>g_static_mutex_trylock</NAME>
-#define g_static_mutex_trylock(mutex) \
-    g_mutex_trylock (g_static_mutex_get_mutex (mutex))
-</MACRO>
-<MACRO>
-<NAME>g_static_mutex_unlock</NAME>
-#define g_static_mutex_unlock(mutex) \
-    g_mutex_unlock (g_static_mutex_get_mutex (mutex)) 
-</MACRO>
-<STRUCT>
-<NAME>GStaticPrivate</NAME>
-struct GStaticPrivate
-{
-  guint index;
-};
-</STRUCT>
-<MACRO>
-<NAME>G_STATIC_PRIVATE_INIT</NAME>
-#define G_STATIC_PRIVATE_INIT { 0 }
-</MACRO>
-<FUNCTION>
-<NAME>g_static_private_get</NAME>
-<RETURNS>gpointer  </RETURNS>
-GStaticPrivate *private_key
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_private_set</NAME>
-<RETURNS>void  </RETURNS>
-GStaticPrivate *private_key,gpointer            data,GDestroyNotify    notify
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_private_get_for_thread</NAME>
-<RETURNS>gpointer  </RETURNS>
-GStaticPrivate *private_key,GThread        *thread
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_private_set_for_thread</NAME>
-<RETURNS>void  </RETURNS>
-GStaticPrivate *private_key,GThread        *thread,gpointer        data,GDestroyNotify  notify
-</FUNCTION>
-<STRUCT>
-<NAME>GStaticRecMutex</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GStaticRecMutex</NAME>
-struct GStaticRecMutex
-{
-  GStaticMutex mutex;
-  unsigned int depth;
-  GSystemThread owner;
-};
-</STRUCT>
-<MACRO>
-<NAME>G_STATIC_REC_MUTEX_INIT</NAME>
-#define G_STATIC_REC_MUTEX_INIT { G_STATIC_MUTEX_INIT }
-</MACRO>
-<FUNCTION>
-<NAME>g_static_rec_mutex_lock</NAME>
-<RETURNS>void  </RETURNS>
-GStaticRecMutex *mutex
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_rec_mutex_trylock</NAME>
-<RETURNS>gboolean  </RETURNS>
-GStaticRecMutex *mutex
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_rec_mutex_unlock</NAME>
-<RETURNS>void  </RETURNS>
-GStaticRecMutex *mutex
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_rec_mutex_lock_full</NAME>
-<RETURNS>void  </RETURNS>
-GStaticRecMutex *mutex,guint            depth
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_rec_mutex_unlock_full</NAME>
-<RETURNS>guint  </RETURNS>
-GStaticRecMutex *mutex
-</FUNCTION>
-<STRUCT>
-<NAME>GStaticRWLock</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GStaticRWLock</NAME>
-struct GStaticRWLock
-{
-  GStaticMutex mutex; 
-  GCond *read_cond;
-  GCond *write_cond;
-  guint read_counter;
-  gboolean write;
-  guint want_to_write;
-};
-</STRUCT>
-<MACRO>
-<NAME>G_STATIC_RW_LOCK_INIT</NAME>
-#define G_STATIC_RW_LOCK_INIT { G_STATIC_MUTEX_INIT, NULL, NULL, 0, FALSE, FALSE }
-</MACRO>
-<FUNCTION>
-<NAME>g_static_rw_lock_reader_lock</NAME>
-<RETURNS>void  </RETURNS>
-GStaticRWLock* lock
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_rw_lock_reader_trylock</NAME>
-<RETURNS>gboolean  </RETURNS>
-GStaticRWLock* lock
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_rw_lock_reader_unlock</NAME>
-<RETURNS>void  </RETURNS>
-GStaticRWLock* lock
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_rw_lock_writer_lock</NAME>
-<RETURNS>void  </RETURNS>
-GStaticRWLock* lock
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_rw_lock_writer_trylock</NAME>
-<RETURNS>gboolean  </RETURNS>
-GStaticRWLock* lock
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_rw_lock_writer_unlock</NAME>
-<RETURNS>void  </RETURNS>
-GStaticRWLock* lock
-</FUNCTION>
-<FUNCTION>
-<NAME>g_static_rw_lock_free</NAME>
-<RETURNS>void  </RETURNS>
-GStaticRWLock* lock
-</FUNCTION>
-<FUNCTION>
-<NAME>glib_dummy_decl</NAME>
-<RETURNS>void  </RETURNS>
-void
-</FUNCTION>
-<MACRO>
-<NAME>G_LOCK_NAME</NAME>
-#define G_LOCK_NAME(name)              g__ ## name ## _lock
-</MACRO>
-<MACRO>
-<NAME>G_LOCK_DEFINE_STATIC</NAME>
-#  define G_LOCK_DEFINE_STATIC(name)   static G_LOCK_DEFINE (name)
-</MACRO>
-<MACRO>
-<NAME>G_LOCK_DEFINE</NAME>
-#  define G_LOCK_DEFINE(name)          \
-    GStaticMutex G_LOCK_NAME (name) = G_STATIC_MUTEX_INIT 
-</MACRO>
-<MACRO>
-<NAME>G_LOCK_EXTERN</NAME>
-#  define G_LOCK_EXTERN(name)          extern GStaticMutex G_LOCK_NAME (name)
-</MACRO>
-<MACRO>
-<NAME>G_LOCK</NAME>
-#    define G_LOCK(name)               G_STMT_START{             \
-        g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,                          \
-              "file %s: line %d (%s): locking: %s ",             \
-              __FILE__,        __LINE__, G_GNUC_PRETTY_FUNCTION, \
-               #name);                                            \
-        g_static_mutex_lock (&G_LOCK_NAME (name));                \
-     }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>G_UNLOCK</NAME>
-#    define G_UNLOCK(name)             G_STMT_START{             \
-        g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,                          \
-              "file %s: line %d (%s): unlocking: %s ",           \
-              __FILE__,        __LINE__, G_GNUC_PRETTY_FUNCTION, \
-               #name);                                            \
-       g_static_mutex_unlock (&G_LOCK_NAME (name));               \
-     }G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>G_TRYLOCK</NAME>
-#    define G_TRYLOCK(name)                                      \
-        (g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG,                 \
-              "file %s: line %d (%s): try locking: %s ",         \
-              __FILE__,        __LINE__, G_GNUC_PRETTY_FUNCTION, \
-               #name), g_static_mutex_trylock (&G_LOCK_NAME (name)))
-</MACRO>
-<MACRO>
-<NAME>G_LOCK</NAME>
-#    define G_LOCK(name) g_static_mutex_lock      (&G_LOCK_NAME (name)) 
-</MACRO>
-<MACRO>
-<NAME>G_UNLOCK</NAME>
-#    define G_UNLOCK(name) g_static_mutex_unlock   (&G_LOCK_NAME (name))
-</MACRO>
-<MACRO>
-<NAME>G_TRYLOCK</NAME>
-#    define G_TRYLOCK(name) g_static_mutex_trylock (&G_LOCK_NAME (name))
-</MACRO>
-<MACRO>
-<NAME>G_LOCK_DEFINE_STATIC</NAME>
-#  define G_LOCK_DEFINE_STATIC(name)   extern void glib_dummy_decl (void)
-</MACRO>
-<MACRO>
-<NAME>G_LOCK_DEFINE</NAME>
-#  define G_LOCK_DEFINE(name)          extern void glib_dummy_decl (void)
-</MACRO>
-<MACRO>
-<NAME>G_LOCK_EXTERN</NAME>
-#  define G_LOCK_EXTERN(name)          extern void glib_dummy_decl (void)
-</MACRO>
-<MACRO>
-<NAME>G_LOCK</NAME>
-#  define G_LOCK(name)
-</MACRO>
-<MACRO>
-<NAME>G_UNLOCK</NAME>
-#  define G_UNLOCK(name)
-</MACRO>
-<MACRO>
-<NAME>G_TRYLOCK</NAME>
-#  define G_TRYLOCK(name)              (TRUE)
-</MACRO>
-<FUNCTION>
-<NAME>g_async_queue_new</NAME>
-<RETURNS>GAsyncQueue *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_lock</NAME>
-<RETURNS>void  </RETURNS>
-GAsyncQueue *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_unlock</NAME>
-<RETURNS>void  </RETURNS>
-GAsyncQueue *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_ref</NAME>
-<RETURNS>void  </RETURNS>
-GAsyncQueue *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_ref_unlocked</NAME>
-<RETURNS>void  </RETURNS>
-GAsyncQueue *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_unref</NAME>
-<RETURNS>void  </RETURNS>
-GAsyncQueue *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_unref_and_unlock</NAME>
-<RETURNS>void  </RETURNS>
-GAsyncQueue *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_push</NAME>
-<RETURNS>void  </RETURNS>
-GAsyncQueue *queue,gpointer     data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_push_unlocked</NAME>
-<RETURNS>void  </RETURNS>
-GAsyncQueue *queue,gpointer     data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_pop</NAME>
-<RETURNS>gpointer  </RETURNS>
-GAsyncQueue *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_pop_unlocked</NAME>
-<RETURNS>gpointer  </RETURNS>
-GAsyncQueue *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_try_pop</NAME>
-<RETURNS>gpointer  </RETURNS>
-GAsyncQueue *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_try_pop_unlocked</NAME>
-<RETURNS>gpointer  </RETURNS>
-GAsyncQueue *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_timed_pop</NAME>
-<RETURNS>gpointer  </RETURNS>
-GAsyncQueue *queue,GTimeVal    *end_time
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_timed_pop_unlocked</NAME>
-<RETURNS>gpointer  </RETURNS>
-GAsyncQueue *queue,GTimeVal    *end_time
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_length</NAME>
-<RETURNS>gint  </RETURNS>
-GAsyncQueue *queue
-</FUNCTION>
-<FUNCTION>
-<NAME>g_async_queue_length_unlocked</NAME>
-<RETURNS>gint  </RETURNS>
-GAsyncQueue *queue
-</FUNCTION>
-<STRUCT>
-<NAME>GThreadPool</NAME>
-struct GThreadPool
-{
-  GFunc thread_func;
-  gulong stack_size;
-  gboolean bound; 
-  GThreadPriority priority;
-  gboolean exclusive;
-  gpointer user_data;
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_thread_pool_new</NAME>
-<RETURNS>GThreadPool *</RETURNS>
-GFunc            thread_func,gint             max_threads,gulong           stack_size,gboolean         bound,GThreadPriority  priority,gboolean         exclusive,gpointer         user_data,GError         **error
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_pool_push</NAME>
-<RETURNS>void  </RETURNS>
-GThreadPool     *pool,gpointer         data,GError         **error
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_pool_set_max_threads</NAME>
-<RETURNS>void  </RETURNS>
-GThreadPool     *pool,gint             max_threads,GError         **error
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_pool_get_max_threads</NAME>
-<RETURNS>gint  </RETURNS>
-GThreadPool     *pool
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_pool_get_num_threads</NAME>
-<RETURNS>guint  </RETURNS>
-GThreadPool     *pool
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_pool_unprocessed</NAME>
-<RETURNS>guint  </RETURNS>
-GThreadPool     *pool
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_pool_free</NAME>
-<RETURNS>void  </RETURNS>
-GThreadPool     *pool,gboolean         immediate,gboolean         wait
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_pool_set_max_unused_threads</NAME>
-<RETURNS>void  </RETURNS>
-gint      max_threads
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_pool_get_max_unused_threads</NAME>
-<RETURNS>gint  </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_pool_get_num_unused_threads</NAME>
-<RETURNS>guint  </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_thread_pool_stop_unused_threads</NAME>
-<RETURNS>void  </RETURNS>
-void
-</FUNCTION>
-<TYPEDEF>
-<NAME>gunichar</NAME>
-typedef guint32 gunichar;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gunichar2</NAME>
-typedef guint16 gunichar2;
-</TYPEDEF>
-<ENUM>
-<NAME>GUnicodeType</NAME>
-typedef enum {
-  G_UNICODE_CONTROL,
-  G_UNICODE_FORMAT,
-  G_UNICODE_UNASSIGNED,
-  G_UNICODE_PRIVATE_USE,
-  G_UNICODE_SURROGATE,
-  G_UNICODE_LOWERCASE_LETTER,
-  G_UNICODE_MODIFIER_LETTER,
-  G_UNICODE_OTHER_LETTER,
-  G_UNICODE_TITLECASE_LETTER,
-  G_UNICODE_UPPERCASE_LETTER,
-  G_UNICODE_COMBINING_MARK,
-  G_UNICODE_ENCLOSING_MARK,
-  G_UNICODE_NON_SPACING_MARK,
-  G_UNICODE_DECIMAL_NUMBER,
-  G_UNICODE_LETTER_NUMBER,
-  G_UNICODE_OTHER_NUMBER,
-  G_UNICODE_CONNECT_PUNCTUATION,
-  G_UNICODE_DASH_PUNCTUATION,
-  G_UNICODE_CLOSE_PUNCTUATION,
-  G_UNICODE_FINAL_PUNCTUATION,
-  G_UNICODE_INITIAL_PUNCTUATION,
-  G_UNICODE_OTHER_PUNCTUATION,
-  G_UNICODE_OPEN_PUNCTUATION,
-  G_UNICODE_CURRENCY_SYMBOL,
-  G_UNICODE_MODIFIER_SYMBOL,
-  G_UNICODE_MATH_SYMBOL,
-  G_UNICODE_OTHER_SYMBOL,
-  G_UNICODE_LINE_SEPARATOR,
-  G_UNICODE_PARAGRAPH_SEPARATOR,
-  G_UNICODE_SPACE_SEPARATOR
-} GUnicodeType;
-</ENUM>
-<FUNCTION>
-<NAME>g_get_charset</NAME>
-<RETURNS>gboolean  </RETURNS>
-char **charset
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_isalnum</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_isalpha</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_iscntrl</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_isdigit</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_isgraph</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_islower</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_isprint</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_ispunct</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_isspace</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_isupper</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_isxdigit</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_istitle</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_isdefined</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_iswide</NAME>
-<RETURNS>gboolean  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_toupper</NAME>
-<RETURNS>gunichar  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_tolower</NAME>
-<RETURNS>gunichar  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_totitle</NAME>
-<RETURNS>gunichar  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_digit_value</NAME>
-<RETURNS>gint  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_xdigit_value</NAME>
-<RETURNS>gint  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_type</NAME>
-<RETURNS>GUnicodeType  </RETURNS>
-gunichar c
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unicode_canonical_ordering</NAME>
-<RETURNS>void  </RETURNS>
-gunichar *string,size_t   len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unicode_canonical_decomposition</NAME>
-<RETURNS>gunichar  *</RETURNS>
-gunichar  ch,size_t   *result_len
-</FUNCTION>
-<MACRO>
-<NAME>GLIB_VAR</NAME>
-#      define GLIB_VAR __declspec(dllexport)
-</MACRO>
-<MACRO>
-<NAME>GLIB_VAR</NAME>
-#      define GLIB_VAR extern __declspec(dllimport)
-</MACRO>
-<MACRO>
-<NAME>GLIB_VAR</NAME>
-#    define GLIB_VAR extern
-</MACRO>
-<MACRO>
-<NAME>g_utf8_next_char</NAME>
-#define g_utf8_next_char(p) (char *)((p) + g_utf8_skip[*(guchar *)(p)])
-</MACRO>
-<FUNCTION>
-<NAME>g_utf8_get_char</NAME>
-<RETURNS>gunichar  </RETURNS>
-const gchar *p
-</FUNCTION>
-<FUNCTION>
-<NAME>g_utf8_offset_to_pointer</NAME>
-<RETURNS>gchar  *</RETURNS>
-const gchar *str,gint         offset
-</FUNCTION>
-<FUNCTION>
-<NAME>g_utf8_pointer_to_offset</NAME>
-<RETURNS>gint  </RETURNS>
-const gchar *str,const gchar *pos
-</FUNCTION>
-<FUNCTION>
-<NAME>g_utf8_prev_char</NAME>
-<RETURNS>gchar  *</RETURNS>
-const gchar *p
-</FUNCTION>
-<FUNCTION>
-<NAME>g_utf8_find_next_char</NAME>
-<RETURNS>gchar  *</RETURNS>
-const gchar *p,const gchar *bound
-</FUNCTION>
-<FUNCTION>
-<NAME>g_utf8_find_prev_char</NAME>
-<RETURNS>gchar  *</RETURNS>
-const gchar *str,const gchar *p
-</FUNCTION>
-<FUNCTION>
-<NAME>g_utf8_strlen</NAME>
-<RETURNS>gint  </RETURNS>
-const gchar *p,gint         max
-</FUNCTION>
-<FUNCTION>
-<NAME>g_utf8_strncpy</NAME>
-<RETURNS>gchar  *</RETURNS>
-gchar       *dest,const gchar *src,size_t       n
-</FUNCTION>
-<FUNCTION>
-<NAME>g_utf8_strchr</NAME>
-<RETURNS>gchar  *</RETURNS>
-const gchar *p,gunichar     ch
-</FUNCTION>
-<FUNCTION>
-<NAME>g_utf8_strrchr</NAME>
-<RETURNS>gchar  *</RETURNS>
-const gchar *p,gunichar     ch
-</FUNCTION>
-<FUNCTION>
-<NAME>g_utf8_to_utf16</NAME>
-<RETURNS>gunichar2  *</RETURNS>
-const gchar     *str,gint             len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_utf8_to_ucs4</NAME>
-<RETURNS>gunichar  *</RETURNS>
-const gchar     *str,gint             len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_utf16_to_ucs4</NAME>
-<RETURNS>gunichar  *</RETURNS>
-const gunichar2 *str,gint             len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_utf16_to_utf8</NAME>
-<RETURNS>gchar  *</RETURNS>
-const gunichar2 *str,gint             len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_ucs4_to_utf16</NAME>
-<RETURNS>gunichar  *</RETURNS>
-const gunichar  *str,gint             len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_ucs4_to_utf8</NAME>
-<RETURNS>gchar  *</RETURNS>
-const gunichar  *str,gint             len
-</FUNCTION>
-<FUNCTION>
-<NAME>g_unichar_to_utf8</NAME>
-<RETURNS>gint  </RETURNS>
-gunichar    c,char       *outbuf
-</FUNCTION>
-<MACRO>
-<NAME>GLIB_HAVE_SYS_POLL_H</NAME>
-#define GLIB_HAVE_SYS_POLL_H
-</MACRO>
-<MACRO>
-<NAME>G_MINFLOAT</NAME>
-#define G_MINFLOAT     FLT_MIN
-</MACRO>
-<MACRO>
-<NAME>G_MAXFLOAT</NAME>
-#define G_MAXFLOAT     FLT_MAX
-</MACRO>
-<MACRO>
-<NAME>G_MINDOUBLE</NAME>
-#define G_MINDOUBLE    DBL_MIN
-</MACRO>
-<MACRO>
-<NAME>G_MAXDOUBLE</NAME>
-#define G_MAXDOUBLE    DBL_MAX
-</MACRO>
-<MACRO>
-<NAME>G_MINSHORT</NAME>
-#define G_MINSHORT     SHRT_MIN
-</MACRO>
-<MACRO>
-<NAME>G_MAXSHORT</NAME>
-#define G_MAXSHORT     SHRT_MAX
-</MACRO>
-<MACRO>
-<NAME>G_MAXUSHORT</NAME>
-#define G_MAXUSHORT    USHRT_MAX
-</MACRO>
-<MACRO>
-<NAME>G_MININT</NAME>
-#define G_MININT       INT_MIN
-</MACRO>
-<MACRO>
-<NAME>G_MAXINT</NAME>
-#define G_MAXINT       INT_MAX
-</MACRO>
-<MACRO>
-<NAME>G_MAXUINT</NAME>
-#define G_MAXUINT      UINT_MAX
-</MACRO>
-<MACRO>
-<NAME>G_MINLONG</NAME>
-#define G_MINLONG      LONG_MIN
-</MACRO>
-<MACRO>
-<NAME>G_MAXLONG</NAME>
-#define G_MAXLONG      LONG_MAX
-</MACRO>
-<MACRO>
-<NAME>G_MAXULONG</NAME>
-#define G_MAXULONG     ULONG_MAX
-</MACRO>
-<TYPEDEF>
-<NAME>gint8</NAME>
-typedef signed char gint8;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>guint8</NAME>
-typedef unsigned char guint8;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gint16</NAME>
-typedef signed short gint16;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>guint16</NAME>
-typedef unsigned short guint16;
-</TYPEDEF>
-<MACRO>
-<NAME>G_GINT16_FORMAT</NAME>
-#define G_GINT16_FORMAT "hi"
-</MACRO>
-<MACRO>
-<NAME>G_GUINT16_FORMAT</NAME>
-#define G_GUINT16_FORMAT "hu"
-</MACRO>
-<TYPEDEF>
-<NAME>gint32</NAME>
-typedef signed int gint32;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>guint32</NAME>
-typedef unsigned int guint32;
-</TYPEDEF>
-<MACRO>
-<NAME>G_GINT32_FORMAT</NAME>
-#define G_GINT32_FORMAT "i"
-</MACRO>
-<MACRO>
-<NAME>G_GUINT32_FORMAT</NAME>
-#define G_GUINT32_FORMAT "u"
-</MACRO>
-<MACRO>
-<NAME>G_HAVE_GINT64</NAME>
-#define G_HAVE_GINT64 1
-</MACRO>
-<TYPEDEF>
-<NAME>gint64</NAME>
-G_GNUC_EXTENSION typedef signed long long gint64;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>guint64</NAME>
-G_GNUC_EXTENSION typedef unsigned long long guint64;
-</TYPEDEF>
-<MACRO>
-<NAME>G_GINT64_FORMAT</NAME>
-#define G_GINT64_FORMAT "lli"
-</MACRO>
-<MACRO>
-<NAME>G_GUINT64_FORMAT</NAME>
-#define G_GUINT64_FORMAT "llu"
-</MACRO>
-<MACRO>
-<NAME>G_GINT64_CONSTANT</NAME>
-#define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL))
-</MACRO>
-<TYPEDEF>
-<NAME>gssize</NAME>
-typedef gint32  gssize;
-</TYPEDEF>
-<TYPEDEF>
-<NAME>gsize</NAME>
-typedef guint32 gsize;
-</TYPEDEF>
-<MACRO>
-<NAME>GPOINTER_TO_INT</NAME>
-#define GPOINTER_TO_INT(p)     ((gint)   (p))
-</MACRO>
-<MACRO>
-<NAME>GPOINTER_TO_UINT</NAME>
-#define GPOINTER_TO_UINT(p)    ((guint)  (p))
-</MACRO>
-<MACRO>
-<NAME>GINT_TO_POINTER</NAME>
-#define GINT_TO_POINTER(i)     ((gpointer)  (i))
-</MACRO>
-<MACRO>
-<NAME>GUINT_TO_POINTER</NAME>
-#define GUINT_TO_POINTER(u)    ((gpointer)  (u))
-</MACRO>
-<MACRO>
-<NAME>g_ATEXIT</NAME>
-# define g_ATEXIT(proc)        (!atexit (proc))
-</MACRO>
-<MACRO>
-<NAME>g_ATEXIT</NAME>
-# define g_ATEXIT(proc)        (atexit (proc))
-</MACRO>
-<MACRO>
-<NAME>g_memmove</NAME>
-#define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>GLIB_MAJOR_VERSION</NAME>
-#define GLIB_MAJOR_VERSION 1
-</MACRO>
-<MACRO>
-<NAME>GLIB_MINOR_VERSION</NAME>
-#define GLIB_MINOR_VERSION 3
-</MACRO>
-<MACRO>
-<NAME>GLIB_MICRO_VERSION</NAME>
-#define GLIB_MICRO_VERSION 1
-</MACRO>
-<MACRO>
-<NAME>G_OS_UNIX</NAME>
-#define G_OS_UNIX
-</MACRO>
-<MACRO>
-<NAME>G_VA_COPY</NAME>
-#define G_VA_COPY      __va_copy
-</MACRO>
-<MACRO>
-<NAME>G_HAVE_INLINE</NAME>
-#define        G_HAVE_INLINE   1
-</MACRO>
-<MACRO>
-<NAME>G_HAVE_INLINE</NAME>
-#define G_HAVE_INLINE 1
-</MACRO>
-<MACRO>
-<NAME>G_HAVE___INLINE</NAME>
-#define G_HAVE___INLINE 1
-</MACRO>
-<MACRO>
-<NAME>G_HAVE___INLINE__</NAME>
-#define G_HAVE___INLINE__ 1
-</MACRO>
-<MACRO>
-<NAME>G_THREADS_ENABLED</NAME>
-#define G_THREADS_ENABLED
-</MACRO>
-<MACRO>
-<NAME>G_THREADS_IMPL_POSIX</NAME>
-#define G_THREADS_IMPL_POSIX
-</MACRO>
-<STRUCT>
-<NAME>GStaticMutex</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GStaticMutex</NAME>
-struct GStaticMutex
-{
-  struct _GMutex *runtime_mutex;
-  union {
-    char   pad[24];
-    double dummy_double;
-    void  *dummy_pointer;
-    long   dummy_long;
-  } aligned_pad_u;
-};
-</STRUCT>
-<MACRO>
-<NAME>G_STATIC_MUTEX_INIT</NAME>
-#define        G_STATIC_MUTEX_INIT     { NULL, { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} } }
-</MACRO>
-<MACRO>
-<NAME>g_static_mutex_get_mutex</NAME>
-#define        g_static_mutex_get_mutex(mutex)   (g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) :    g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
-</MACRO>
-<UNION>
-<NAME>GSystemThread</NAME>
-union GSystemThread
-{
-  char   data[4];
-  double dummy_double;
-  void  *dummy_pointer;
-  long   dummy_long;
-};
-</UNION>
-<MACRO>
-<NAME>GINT16_TO_LE</NAME>
-#define GINT16_TO_LE(val)      ((gint16) (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT16_TO_LE</NAME>
-#define GUINT16_TO_LE(val)     ((guint16) (val))
-</MACRO>
-<MACRO>
-<NAME>GINT16_TO_BE</NAME>
-#define GINT16_TO_BE(val)      ((gint16) GUINT16_SWAP_LE_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT16_TO_BE</NAME>
-#define GUINT16_TO_BE(val)     (GUINT16_SWAP_LE_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GINT32_TO_LE</NAME>
-#define GINT32_TO_LE(val)      ((gint32) (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT32_TO_LE</NAME>
-#define GUINT32_TO_LE(val)     ((guint32) (val))
-</MACRO>
-<MACRO>
-<NAME>GINT32_TO_BE</NAME>
-#define GINT32_TO_BE(val)      ((gint32) GUINT32_SWAP_LE_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT32_TO_BE</NAME>
-#define GUINT32_TO_BE(val)     (GUINT32_SWAP_LE_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GINT64_TO_LE</NAME>
-#define GINT64_TO_LE(val)      ((gint64) (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT64_TO_LE</NAME>
-#define GUINT64_TO_LE(val)     ((guint64) (val))
-</MACRO>
-<MACRO>
-<NAME>GINT64_TO_BE</NAME>
-#define GINT64_TO_BE(val)      ((gint64) GUINT64_SWAP_LE_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT64_TO_BE</NAME>
-#define GUINT64_TO_BE(val)     (GUINT64_SWAP_LE_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GLONG_TO_LE</NAME>
-#define GLONG_TO_LE(val)       ((glong) GINT32_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GULONG_TO_LE</NAME>
-#define GULONG_TO_LE(val)      ((gulong) GUINT32_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GLONG_TO_BE</NAME>
-#define GLONG_TO_BE(val)       ((glong) GINT32_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GULONG_TO_BE</NAME>
-#define GULONG_TO_BE(val)      ((gulong) GUINT32_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GINT_TO_LE</NAME>
-#define GINT_TO_LE(val)                ((gint) GINT32_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT_TO_LE</NAME>
-#define GUINT_TO_LE(val)       ((guint) GUINT32_TO_LE (val))
-</MACRO>
-<MACRO>
-<NAME>GINT_TO_BE</NAME>
-#define GINT_TO_BE(val)                ((gint) GINT32_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>GUINT_TO_BE</NAME>
-#define GUINT_TO_BE(val)       ((guint) GUINT32_TO_BE (val))
-</MACRO>
-<MACRO>
-<NAME>G_BYTE_ORDER</NAME>
-#define G_BYTE_ORDER G_LITTLE_ENDIAN
-</MACRO>
-<MACRO>
-<NAME>GLIB_SYSDEF_POLLIN</NAME>
-#define GLIB_SYSDEF_POLLIN =1
-</MACRO>
-<MACRO>
-<NAME>GLIB_SYSDEF_POLLOUT</NAME>
-#define GLIB_SYSDEF_POLLOUT =4
-</MACRO>
-<MACRO>
-<NAME>GLIB_SYSDEF_POLLPRI</NAME>
-#define GLIB_SYSDEF_POLLPRI =2
-</MACRO>
-<MACRO>
-<NAME>GLIB_SYSDEF_POLLERR</NAME>
-#define GLIB_SYSDEF_POLLERR =8
-</MACRO>
-<MACRO>
-<NAME>GLIB_SYSDEF_POLLHUP</NAME>
-#define GLIB_SYSDEF_POLLHUP =16
-</MACRO>
-<MACRO>
-<NAME>GLIB_SYSDEF_POLLNVAL</NAME>
-#define GLIB_SYSDEF_POLLNVAL =32
-</MACRO>
-<VARIABLE>
-<NAME>g_log_domain_gmodule</NAME>
-extern const char      *g_log_domain_gmodule;
-</VARIABLE>
-<MACRO>
-<NAME>G_MODULE_IMPORT</NAME>
-#define        G_MODULE_IMPORT         extern
-</MACRO>
-<MACRO>
-<NAME>G_MODULE_EXPORT</NAME>
-#  define      G_MODULE_EXPORT         __declspec(dllexport)
-</MACRO>
-<MACRO>
-<NAME>G_MODULE_EXPORT</NAME>
-#  define      G_MODULE_EXPORT
-</MACRO>
-<ENUM>
-<NAME>GModuleFlags</NAME>
-typedef enum
-{
-  G_MODULE_BIND_LAZY   = 1 << 0,
-  G_MODULE_BIND_MASK   = 0x01
-} GModuleFlags;
-</ENUM>
-<STRUCT>
-<NAME>GModule</NAME>
-</STRUCT>
-<USER_FUNCTION>
-<NAME>GModuleCheckInit</NAME>
-<RETURNS>const gchar *</RETURNS>
-GModule        *module
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GModuleUnload</NAME>
-<RETURNS>void </RETURNS>
-GModule        *module
-</USER_FUNCTION>
-<FUNCTION>
-<NAME>g_module_supported</NAME>
-<RETURNS>gboolean      </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_module_open</NAME>
-<RETURNS>GModule *</RETURNS>
-const gchar            *file_name,GModuleFlags  flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_module_close</NAME>
-<RETURNS>gboolean      </RETURNS>
-GModule                *module
-</FUNCTION>
-<FUNCTION>
-<NAME>g_module_make_resident</NAME>
-<RETURNS>void  </RETURNS>
-GModule                *module
-</FUNCTION>
-<FUNCTION>
-<NAME>g_module_error</NAME>
-<RETURNS>gchar *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_module_symbol</NAME>
-<RETURNS>gboolean      </RETURNS>
-GModule                *module,const gchar             *symbol_name,gpointer           *symbol
-</FUNCTION>
-<FUNCTION>
-<NAME>g_module_name</NAME>
-<RETURNS>gchar *</RETURNS>
-GModule                *module
-</FUNCTION>
-<FUNCTION>
-<NAME>g_module_build_path</NAME>
-<RETURNS>gchar *</RETURNS>
-const gchar            *directory,const gchar          *module_name
-</FUNCTION>
-<MACRO>
-<NAME>G_TYPE_IS_ENUM</NAME>
-#define G_TYPE_IS_ENUM(type)          (G_TYPE_FUNDAMENTAL (type) == G_TYPE_ENUM)
-</MACRO>
-<MACRO>
-<NAME>G_ENUM_CLASS</NAME>
-#define G_ENUM_CLASS(class)           (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_ENUM, GEnumClass))
-</MACRO>
-<MACRO>
-<NAME>G_IS_ENUM_CLASS</NAME>
-#define G_IS_ENUM_CLASS(class)        (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_ENUM))
-</MACRO>
-<MACRO>
-<NAME>G_ENUM_CLASS_TYPE</NAME>
-#define G_ENUM_CLASS_TYPE(class)       (G_TYPE_FROM_CLASS (class))
-</MACRO>
-<MACRO>
-<NAME>G_ENUM_CLASS_TYPE_NAME</NAME>
-#define G_ENUM_CLASS_TYPE_NAME(class)  (g_type_name (G_ENUM_TYPE (class)))
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_IS_FLAGS</NAME>
-#define G_TYPE_IS_FLAGS(type)         (G_TYPE_FUNDAMENTAL (type) == G_TYPE_FLAGS)
-</MACRO>
-<MACRO>
-<NAME>G_FLAGS_CLASS</NAME>
-#define G_FLAGS_CLASS(class)          (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_FLAGS, GFlagsClass))
-</MACRO>
-<MACRO>
-<NAME>G_IS_FLAGS_CLASS</NAME>
-#define G_IS_FLAGS_CLASS(class)        (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_FLAGS))
-</MACRO>
-<MACRO>
-<NAME>G_FLAGS_CLASS_TYPE</NAME>
-#define G_FLAGS_CLASS_TYPE(class)      (G_TYPE_FROM_CLASS (class))
-</MACRO>
-<MACRO>
-<NAME>G_FLAGS_CLASS_TYPE_NAME</NAME>
-#define G_FLAGS_CLASS_TYPE_NAME(class) (g_type_name (G_FLAGS_TYPE (class)))
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE_ENUM</NAME>
-#define G_IS_VALUE_ENUM(value)         (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_ENUM))
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE_FLAGS</NAME>
-#define G_IS_VALUE_FLAGS(value)        (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_FLAGS))
-</MACRO>
-<STRUCT>
-<NAME>GEnumClass</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GFlagsClass</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GEnumValue</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GFlagsValue</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GEnumValue</NAME>
-struct GEnumValue
-{
-  gint  value;
-  gchar *value_name;
-  gchar *value_nick;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GFlagsValue</NAME>
-struct GFlagsValue
-{
-  guint         value;
-  gchar *value_name;
-  gchar *value_nick;
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_enum_get_value</NAME>
-<RETURNS>GEnumValue *</RETURNS>
-GEnumClass     *enum_class,gint                 value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_enum_get_value_by_name</NAME>
-<RETURNS>GEnumValue *</RETURNS>
-GEnumClass     *enum_class,const gchar *name
-</FUNCTION>
-<FUNCTION>
-<NAME>g_enum_get_value_by_nick</NAME>
-<RETURNS>GEnumValue *</RETURNS>
-GEnumClass     *enum_class,const gchar *nick
-</FUNCTION>
-<FUNCTION>
-<NAME>g_flags_get_first_value</NAME>
-<RETURNS>GFlagsValue *</RETURNS>
-GFlagsClass    *flags_class,guint               value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_flags_get_value_by_name</NAME>
-<RETURNS>GFlagsValue *</RETURNS>
-GFlagsClass    *flags_class,const gchar        *name
-</FUNCTION>
-<FUNCTION>
-<NAME>g_flags_get_value_by_nick</NAME>
-<RETURNS>GFlagsValue *</RETURNS>
-GFlagsClass    *flags_class,const gchar        *nick
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_set_enum</NAME>
-<RETURNS>void  </RETURNS>
-GValue         *value,gint            v_enum
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_get_enum</NAME>
-<RETURNS>gint  </RETURNS>
-GValue         *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_set_flags</NAME>
-<RETURNS>void  </RETURNS>
-GValue         *value,guint           v_flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_get_flags</NAME>
-<RETURNS>guint  </RETURNS>
-GValue         *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_enum_register_static</NAME>
-<RETURNS>GType         </RETURNS>
-const gchar          *name,const GEnumValue  *const_static_values
-</FUNCTION>
-<FUNCTION>
-<NAME>g_flags_register_static</NAME>
-<RETURNS>GType         </RETURNS>
-const gchar          *name,const GFlagsValue *const_static_values
-</FUNCTION>
-<FUNCTION>
-<NAME>g_enum_complete_type_info</NAME>
-<RETURNS>void  </RETURNS>
-GType         g_enum_type,GTypeInfo          *info,const GEnumValue  *const_values
-</FUNCTION>
-<FUNCTION>
-<NAME>g_flags_complete_type_info</NAME>
-<RETURNS>void  </RETURNS>
-GType         g_flags_type,GTypeInfo         *info,const GFlagsValue *const_values
-</FUNCTION>
-<MACRO>
-<NAME>G_TYPE_IS_OBJECT</NAME>
-#define G_TYPE_IS_OBJECT(type)    (G_TYPE_FUNDAMENTAL (type) == G_TYPE_OBJECT)
-</MACRO>
-<MACRO>
-<NAME>G_OBJECT</NAME>
-#define G_OBJECT(object)          (G_IS_OBJECT (object) ? ((GObject*) (object)) : \
-                                   G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
-</MACRO>
-<MACRO>
-<NAME>G_OBJECT_CLASS</NAME>
-#define G_OBJECT_CLASS(class)     (G_IS_OBJECT_CLASS (class) ? ((GObjectClass*) (class)) : \
-                                   G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
-</MACRO>
-<MACRO>
-<NAME>G_IS_OBJECT</NAME>
-#define G_IS_OBJECT(object)       (((GObject*) (object)) != NULL && \
-                                   G_IS_OBJECT_CLASS (((GTypeInstance*) (object))->g_class))
-</MACRO>
-<MACRO>
-<NAME>G_IS_OBJECT_CLASS</NAME>
-#define G_IS_OBJECT_CLASS(class)   (((GTypeClass*) (class)) != NULL && \
-                                   G_TYPE_IS_OBJECT (((GTypeClass*) (class))->g_type))
-</MACRO>
-<MACRO>
-<NAME>G_OBJECT_GET_CLASS</NAME>
-#define G_OBJECT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_OBJECT, GObjectClass))
-</MACRO>
-<MACRO>
-<NAME>G_OBJECT_TYPE</NAME>
-#define G_OBJECT_TYPE(object)     (G_TYPE_FROM_INSTANCE (object))
-</MACRO>
-<MACRO>
-<NAME>G_OBJECT_TYPE_NAME</NAME>
-#define G_OBJECT_TYPE_NAME(object) (g_type_name (G_OBJECT_TYPE (object)))
-</MACRO>
-<MACRO>
-<NAME>G_OBJECT_CLASS_TYPE</NAME>
-#define G_OBJECT_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))
-</MACRO>
-<MACRO>
-<NAME>G_OBJECT_CLASS_NAME</NAME>
-#define G_OBJECT_CLASS_NAME(class) (g_type_name (G_OBJECT_CLASS_TYPE (class)))
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE_OBJECT</NAME>
-#define G_IS_VALUE_OBJECT(value)   (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_OBJECT))
-</MACRO>
-<MACRO>
-<NAME>G_NOTIFY_PRIORITY</NAME>
-#define        G_NOTIFY_PRIORITY          (G_PRIORITY_HIGH_IDLE + 20)
-</MACRO>
-<STRUCT>
-<NAME>GObject</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GObjectClass</NAME>
-</STRUCT>
-<USER_FUNCTION>
-<NAME>GObjectGetParamFunc</NAME>
-<RETURNS>void </RETURNS>
-GObject     *object,
-                                        guint        param_id,
-                                        GValue      *value,
-                                        GParamSpec  *pspec,
-                                        const gchar *trailer
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GObjectSetParamFunc</NAME>
-<RETURNS>void </RETURNS>
-GObject     *object,
-                                        guint        param_id,
-                                        GValue      *value,
-                                        GParamSpec  *pspec,
-                                        const gchar *trailer
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GObjectFinalizeFunc</NAME>
-<RETURNS>void </RETURNS>
-GObject     *object
-</USER_FUNCTION>
-<STRUCT>
-<NAME>GObject</NAME>
-struct GObject
-{
-  GTypeInstance g_type_instance;
-  
-  /*< private >*/
-  guint                ref_count;
-  GData               *qdata;
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_object_class_install_param</NAME>
-<RETURNS>void  </RETURNS>
-GObjectClass   *oclass,guint       param_id,GParamSpec    *pspec
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_class_find_param_spec</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-GObjectClass   *oclass,const gchar        *param_name
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_new</NAME>
-<RETURNS>gpointer  </RETURNS>
-GType      object_type,const gchar        *first_param_name,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_new_valist</NAME>
-<RETURNS>gpointer  </RETURNS>
-GType      object_type,const gchar        *first_param_name,va_list        var_args
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_set</NAME>
-<RETURNS>void  </RETURNS>
-GObject           *object,const gchar     *first_param_name,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_get</NAME>
-<RETURNS>void  </RETURNS>
-GObject           *object,const gchar     *first_param_name,...
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_set_valist</NAME>
-<RETURNS>void  </RETURNS>
-GObject           *object,const gchar     *first_param_name,va_list        var_args
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_get_valist</NAME>
-<RETURNS>void  </RETURNS>
-GObject           *object,const gchar     *first_param_name,va_list        var_args
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_set_param</NAME>
-<RETURNS>void  </RETURNS>
-GObject           *object,const gchar    *param_name,const GValue   *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_get_param</NAME>
-<RETURNS>void  </RETURNS>
-GObject           *object,const gchar    *param_name,GValue       *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_queue_param_changed</NAME>
-<RETURNS>void  </RETURNS>
-GObject           *object,const gchar     *param_name
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_ref</NAME>
-<RETURNS>GObject *</RETURNS>
-GObject           *object
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_unref</NAME>
-<RETURNS>void  </RETURNS>
-GObject           *object
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_get_qdata</NAME>
-<RETURNS>gpointer  </RETURNS>
-GObject           *object,GQuark           quark
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_set_qdata</NAME>
-<RETURNS>void  </RETURNS>
-GObject           *object,GQuark           quark,gpointer          data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_set_qdata_full</NAME>
-<RETURNS>void  </RETURNS>
-GObject           *object,GQuark           quark,gpointer          data,GDestroyNotify  destroy
-</FUNCTION>
-<FUNCTION>
-<NAME>g_object_steal_qdata</NAME>
-<RETURNS>gpointer  </RETURNS>
-GObject           *object,GQuark           quark
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_set_object</NAME>
-<RETURNS>void  </RETURNS>
-GValue         *value,GObject        *v_object
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_get_object</NAME>
-<RETURNS>GObject *</RETURNS>
-GValue         *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_dup_object</NAME>
-<RETURNS>GObject *</RETURNS>
-GValue         *value
-</FUNCTION>
-<MACRO>
-<NAME>G_WARN_INVALID_PARAM_ID</NAME>
-#define G_WARN_INVALID_PARAM_ID(object, param_id, pspec) \
-G_STMT_START { \
-  GObject *_object = (GObject*) (object); \
-  GParamSpec *_pspec = (GParamSpec*) (pspec); \
-  guint _param_id = (param_id); \
-  g_warning ("%s: invalid parameter id %u for \"%s\" of type `%s' in `%s'", \
-            G_STRLOC, \
-            _param_id, \
-            _pspec->name, \
-            g_type_name (G_PARAM_SPEC_TYPE (_pspec)), \
-            BSE_OBJECT_TYPE_NAME (_object)); \
-} G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_IS_PARAM</NAME>
-#define G_TYPE_IS_PARAM(type)          (G_TYPE_FUNDAMENTAL (type) == G_TYPE_PARAM)
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_TYPE</NAME>
-#define G_PARAM_SPEC_TYPE(pspec)       (G_TYPE_FROM_INSTANCE (pspec))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_TYPE_NAME</NAME>
-#define G_PARAM_SPEC_TYPE_NAME(pspec)  (g_type_name (G_PARAM_SPEC_TYPE (pspec)))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC</NAME>
-#define G_PARAM_SPEC(pspec)            (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC</NAME>
-#define G_IS_PARAM_SPEC(pspec)         (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_GET_CLASS</NAME>
-#define G_PARAM_SPEC_GET_CLASS(pspec)  (G_TYPE_INSTANCE_GET_CLASS ((pspec), G_TYPE_PARAM, GParamSpecClass))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_VALUE</NAME>
-#define        G_IS_PARAM_VALUE(pspec, value)  (g_type_is_a (G_VALUE_TYPE (value), G_PARAM_SPEC_VALUE_TYPE (pspec))) /* FIXME */
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_VALUE_TYPE</NAME>
-#define        G_PARAM_SPEC_VALUE_TYPE(pspec)  (G_PARAM_SPEC_GET_CLASS (pspec)->value_type)
-</MACRO>
-<ENUM>
-<NAME>GParamFlags</NAME>
-typedef enum
-{
-  G_PARAM_READABLE            = 1 << 0,
-  G_PARAM_WRITABLE            = 1 << 1,
-  G_PARAM_MASK                = 0x000f,
-  /* bits in the range 0xfff0 are reserved for 3rd party usage */
-  G_PARAM_USER_MASK           = 0xfff0
-} GParamFlags;
-</ENUM>
-<STRUCT>
-<NAME>GParamSpecClass</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpec</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpec</NAME>
-struct GParamSpec
-{
-  GTypeInstance  g_instance;
-
-  gchar         *name;
-  gchar         *nick;
-  gchar         *blurb;
-  GParamFlags    flags;
-
-  /*< private >*/
-  GType                 owner_type;
-  GData                *qdata;
-  guint          ref_count;
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_param_spec_ref</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-GParamSpec    *pspec
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_unref</NAME>
-<RETURNS>void  </RETURNS>
-GParamSpec    *pspec
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_get_qdata</NAME>
-<RETURNS>gpointer  </RETURNS>
-GParamSpec    *pspec,GQuark         quark
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_set_qdata</NAME>
-<RETURNS>void  </RETURNS>
-GParamSpec    *pspec,GQuark         quark,gpointer       data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_set_qdata_full</NAME>
-<RETURNS>void  </RETURNS>
-GParamSpec    *pspec,GQuark         quark,gpointer       data,GDestroyNotify destroy
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_steal_qdata</NAME>
-<RETURNS>gpointer  </RETURNS>
-GParamSpec    *pspec,GQuark         quark
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_value_set_default</NAME>
-<RETURNS>void  </RETURNS>
-GParamSpec    *pspec,GValue           *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_value_defaults</NAME>
-<RETURNS>gboolean      </RETURNS>
-GParamSpec    *pspec,GValue           *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_value_validate</NAME>
-<RETURNS>gboolean      </RETURNS>
-GParamSpec    *pspec,GValue           *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_values_cmp</NAME>
-<RETURNS>gint  </RETURNS>
-GParamSpec    *pspec,const GValue  *value1,const GValue  *value2
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_internal</NAME>
-<RETURNS>gpointer      </RETURNS>
-GType          param_type,const gchar   *name,const gchar   *nick,const gchar   *blurb,GParamFlags    flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_hash_table_new</NAME>
-<RETURNS>GHashTable *</RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_hash_table_insert</NAME>
-<RETURNS>void  </RETURNS>
-GHashTable    *hash_table,GParamSpec    *pspec,GType           owner_type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_hash_table_remove</NAME>
-<RETURNS>void  </RETURNS>
-GHashTable    *hash_table,GParamSpec    *pspec
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_hash_table_lookup</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-GHashTable    *hash_table,const gchar   *param_name,GType              owner_type,gboolean       try_ancestors,const gchar  **trailer
-</FUNCTION>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC_CHAR</NAME>
-#define G_IS_PARAM_SPEC_CHAR(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_CHAR))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_CHAR</NAME>
-#define G_PARAM_SPEC_CHAR(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_CHAR, GParamSpecChar))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC_UCHAR</NAME>
-#define G_IS_PARAM_SPEC_UCHAR(pspec)    (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UCHAR))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_UCHAR</NAME>
-#define G_PARAM_SPEC_UCHAR(pspec)       (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UCHAR, GParamSpecUChar))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC_BOOLEAN</NAME>
-#define G_IS_PARAM_SPEC_BOOLEAN(pspec)  (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOOLEAN))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_BOOLEAN</NAME>
-#define G_PARAM_SPEC_BOOLEAN(pspec)     (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOOLEAN, GParamSpecBoolean))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC_INT</NAME>
-#define G_IS_PARAM_SPEC_INT(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_INT</NAME>
-#define G_PARAM_SPEC_INT(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT, GParamSpecInt))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC_UINT</NAME>
-#define G_IS_PARAM_SPEC_UINT(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_UINT</NAME>
-#define G_PARAM_SPEC_UINT(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, GParamSpecUInt))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC_LONG</NAME>
-#define G_IS_PARAM_SPEC_LONG(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_LONG))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_LONG</NAME>
-#define G_PARAM_SPEC_LONG(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_LONG, GParamSpecLong))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC_ULONG</NAME>
-#define G_IS_PARAM_SPEC_ULONG(pspec)    (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ULONG))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_ULONG</NAME>
-#define G_PARAM_SPEC_ULONG(pspec)       (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ULONG, GParamSpecULong))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC_ENUM</NAME>
-#define G_IS_PARAM_SPEC_ENUM(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ENUM))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_ENUM</NAME>
-#define G_PARAM_SPEC_ENUM(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ENUM, GParamSpecEnum))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC_FLAGS</NAME>
-#define G_IS_PARAM_SPEC_FLAGS(pspec)    (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLAGS))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_FLAGS</NAME>
-#define G_PARAM_SPEC_FLAGS(pspec)       (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLAGS, GParamSpecFlags))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC_FLOAT</NAME>
-#define G_IS_PARAM_SPEC_FLOAT(pspec)    (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLOAT))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_FLOAT</NAME>
-#define G_PARAM_SPEC_FLOAT(pspec)       (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLOAT, GParamSpecFloat))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC_DOUBLE</NAME>
-#define G_IS_PARAM_SPEC_DOUBLE(pspec)   (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_DOUBLE))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_DOUBLE</NAME>
-#define G_PARAM_SPEC_DOUBLE(pspec)      (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_DOUBLE, GParamSpecDouble))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC_STRING</NAME>
-#define G_IS_PARAM_SPEC_STRING(pspec)   (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_STRING))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_STRING</NAME>
-#define G_PARAM_SPEC_STRING(pspec)      (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_STRING, GParamSpecString))
-</MACRO>
-<MACRO>
-<NAME>G_IS_PARAM_SPEC_OBJECT</NAME>
-#define G_IS_PARAM_SPEC_OBJECT(pspec)   (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OBJECT))
-</MACRO>
-<MACRO>
-<NAME>G_PARAM_SPEC_OBJECT</NAME>
-#define G_PARAM_SPEC_OBJECT(pspec)      (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OBJECT, GParamSpecObject))
-</MACRO>
-<STRUCT>
-<NAME>GParamSpecChar</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecUChar</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecBoolean</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecInt</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecUInt</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecLong</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecULong</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecEnum</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecFlags</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecFloat</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecDouble</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecString</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecObject</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecChar</NAME>
-struct GParamSpecChar
-{
-  GParamSpec    parent_instance;
-  
-  gint8         minimum;
-  gint8         maximum;
-  gint8         default_value;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecUChar</NAME>
-struct GParamSpecUChar
-{
-  GParamSpec    parent_instance;
-  
-  guint8        minimum;
-  guint8        maximum;
-  guint8        default_value;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecBoolean</NAME>
-struct GParamSpecBoolean
-{
-  GParamSpec    parent_instance;
-  
-  gboolean      default_value;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecInt</NAME>
-struct GParamSpecInt
-{
-  GParamSpec    parent_instance;
-  
-  gint          minimum;
-  gint          maximum;
-  gint          default_value;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecUInt</NAME>
-struct GParamSpecUInt
-{
-  GParamSpec    parent_instance;
-  
-  guint         minimum;
-  guint         maximum;
-  guint         default_value;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecLong</NAME>
-struct GParamSpecLong
-{
-  GParamSpec    parent_instance;
-  
-  glong         minimum;
-  glong         maximum;
-  glong         default_value;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecULong</NAME>
-struct GParamSpecULong
-{
-  GParamSpec    parent_instance;
-  
-  gulong        minimum;
-  gulong        maximum;
-  gulong        default_value;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecEnum</NAME>
-struct GParamSpecEnum
-{
-  GParamSpec    parent_instance;
-  
-  GEnumClass   *enum_class;
-  glong         default_value;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecFlags</NAME>
-struct GParamSpecFlags
-{
-  GParamSpec    parent_instance;
-  
-  GFlagsClass  *flags_class;
-  gulong        default_value;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecFloat</NAME>
-struct GParamSpecFloat
-{
-  GParamSpec    parent_instance;
-  
-  gfloat        minimum;
-  gfloat        maximum;
-  gfloat        default_value;
-  gfloat        epsilon;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecDouble</NAME>
-struct GParamSpecDouble
-{
-  GParamSpec    parent_instance;
-  
-  gdouble       minimum;
-  gdouble       maximum;
-  gdouble       default_value;
-  gdouble       epsilon;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecString</NAME>
-struct GParamSpecString
-{
-  GParamSpec    parent_instance;
-  
-  gchar        *default_value;
-  gchar        *cset_first;
-  gchar        *cset_nth;
-  gchar         substitutor;
-  guint         null_fold_if_empty : 1;
-  guint         ensure_non_null : 1;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GParamSpecObject</NAME>
-struct GParamSpecObject
-{
-  GParamSpec    parent_instance;
-  
-  GType         object_type;
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_param_spec_char</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,gint8           minimum,gint8           maximum,gint8           default_value,GParamFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_uchar</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,guint8          minimum,guint8          maximum,guint8          default_value,GParamFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_boolean</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,gboolean        default_value,GParamFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_int</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,gint            minimum,gint            maximum,gint            default_value,GParamFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_uint</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,guint           minimum,guint           maximum,guint           default_value,GParamFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_long</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,glong           minimum,glong           maximum,glong           default_value,GParamFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_ulong</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,gulong          minimum,gulong          maximum,gulong          default_value,GParamFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_enum</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,GType           enum_type,gint            default_value,GParamFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_flags</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,GType           flags_type,guint           default_value,GParamFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_float</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,gfloat          minimum,gfloat          maximum,gfloat          default_value,GParamFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_double</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,gdouble         minimum,gdouble         maximum,gdouble         default_value,GParamFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_string</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,const gchar    *default_value,GParamFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_string_c</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,const gchar    *default_value,GParamFlags     flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_param_spec_object</NAME>
-<RETURNS>GParamSpec *</RETURNS>
-const gchar    *name,const gchar    *nick,const gchar    *blurb,GType           object_type,GParamFlags     flags
-</FUNCTION>
-<VARIABLE>
-<NAME>g_log_domain_gobject</NAME>
-extern const char *g_log_domain_gobject;
-</VARIABLE>
-<MACRO>
-<NAME>G_TYPE_FUNDAMENTAL</NAME>
-#define G_TYPE_FUNDAMENTAL(type)                ((type) & 0xff)
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_FUNDAMENTAL_MAX</NAME>
-#define        G_TYPE_FUNDAMENTAL_MAX                  (0xff)
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_DERIVE_ID</NAME>
-#define G_TYPE_DERIVE_ID(ptype, branch_seqno)   (G_TYPE_FUNDAMENTAL (ptype) | ((branch_seqno) << 8))
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_BRANCH_SEQNO</NAME>
-#define G_TYPE_BRANCH_SEQNO(type)               ((type) >> 8)
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_FUNDAMENTAL_LAST</NAME>
-#define G_TYPE_FUNDAMENTAL_LAST                 ((GType) g_type_fundamental_last ())
-</MACRO>
-<ENUM>
-<NAME>GTypeFundamentals</NAME>
-typedef enum    /*< skip >*/
-{
-  /* standard types, introduced by g_type_init() */
-  G_TYPE_INVALID,
-  G_TYPE_NONE,
-  G_TYPE_INTERFACE,
-
-  /* GLib type ids */
-  G_TYPE_CHAR,
-  G_TYPE_UCHAR,
-  G_TYPE_BOOLEAN,
-  G_TYPE_INT,
-  G_TYPE_UINT,
-  G_TYPE_LONG,
-  G_TYPE_ULONG,
-  G_TYPE_ENUM,
-  G_TYPE_FLAGS,
-  G_TYPE_FLOAT,
-  G_TYPE_DOUBLE,
-  G_TYPE_STRING,
-  G_TYPE_PARAM,
-  G_TYPE_OBJECT,
-
-  /* the following reserved ids should vanish soon */
-  G_TYPE_GTK_BOXED,
-  G_TYPE_GTK_POINTER,
-  G_TYPE_GTK_SIGNAL,
-
-  /* reserved fundamental type ids,
-   * mail gtk-devel-list@redhat.com for reservations
-   */
-  G_TYPE_BSE_PROCEDURE,
-  G_TYPE_BSE_TIME,
-  G_TYPE_BSE_NOTE,
-  G_TYPE_BSE_DOTS,
-  G_TYPE_GLE_GOBJECT,
-
-  G_TYPE_LAST_RESERVED_FUNDAMENTAL,
-
-  /* derived type ids */
-  /* FIXME: G_TYPE_PARAM_INTERFACE */
-  G_TYPE_PARAM_CHAR             = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 1),
-  G_TYPE_PARAM_UCHAR            = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 2),
-  G_TYPE_PARAM_BOOLEAN          = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 3),
-  G_TYPE_PARAM_INT              = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 4),
-  G_TYPE_PARAM_UINT             = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 5),
-  G_TYPE_PARAM_LONG             = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 6),
-  G_TYPE_PARAM_ULONG            = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 7),
-  G_TYPE_PARAM_ENUM             = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 8),
-  G_TYPE_PARAM_FLAGS            = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 9),
-  G_TYPE_PARAM_FLOAT            = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 10),
-  G_TYPE_PARAM_DOUBLE           = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 11),
-  G_TYPE_PARAM_STRING           = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 12),
-  /* FIXME: G_TYPE_PARAM_PARAM */
-  G_TYPE_PARAM_OBJECT           = G_TYPE_DERIVE_ID (G_TYPE_PARAM, 13)
-} GTypeFundamentals;
-</ENUM>
-<MACRO>
-<NAME>G_TYPE_IS_INTERFACE</NAME>
-#define G_TYPE_IS_INTERFACE(type)               (G_TYPE_FUNDAMENTAL (type) == G_TYPE_INTERFACE)
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_IS_CLASSED</NAME>
-#define G_TYPE_IS_CLASSED(type)                 (g_type_check_flags ((type), G_TYPE_FLAG_CLASSED))
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_IS_INSTANTIATABLE</NAME>
-#define G_TYPE_IS_INSTANTIATABLE(type)          (g_type_check_flags ((type), G_TYPE_FLAG_INSTANTIATABLE))
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_IS_DERIVABLE</NAME>
-#define G_TYPE_IS_DERIVABLE(type)               (g_type_check_flags ((type), G_TYPE_FLAG_DERIVABLE))
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_IS_DEEP_DERIVABLE</NAME>
-#define G_TYPE_IS_DEEP_DERIVABLE(type)          (g_type_check_flags ((type), G_TYPE_FLAG_DEEP_DERIVABLE))
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_IS_PARAM</NAME>
-#define G_TYPE_IS_PARAM(type)                   (G_TYPE_FUNDAMENTAL (type) == G_TYPE_PARAM)
-</MACRO>
-<TYPEDEF>
-<NAME>GType</NAME>
-typedef guint32                         GType;
-</TYPEDEF>
-<STRUCT>
-<NAME>GValue</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTypePlugin</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTypePluginVTable</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTypeClass</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTypeInterface</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTypeInstance</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTypeInfo</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTypeFundamentalInfo</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GInterfaceInfo</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTypeValueTable</NAME>
-</STRUCT>
-<STRUCT>
-<NAME>GTypeInstance</NAME>
-struct GTypeInstance
-{
-  /*< private >*/
-  GTypeClass *g_class;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GTypeInterface</NAME>
-struct GTypeInterface
-{
-  /*< private >*/
-  GType g_type;         /* iface type */
-  GType g_instance_type;
-};
-</STRUCT>
-<MACRO>
-<NAME>G_TYPE_CHECK_INSTANCE_CAST</NAME>
-#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type)    (_G_TYPE_CIC ((instance), (g_type), c_type))
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_CHECK_CLASS_CAST</NAME>
-#define G_TYPE_CHECK_CLASS_CAST(g_class, g_type, c_type)        (_G_TYPE_CCC ((g_class), (g_type), c_type))
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_CHECK_INSTANCE_TYPE</NAME>
-#define G_TYPE_CHECK_INSTANCE_TYPE(instance, g_type)            (_G_TYPE_CIT ((instance), (g_type)))
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_CHECK_CLASS_TYPE</NAME>
-#define G_TYPE_CHECK_CLASS_TYPE(g_class, g_type)                (_G_TYPE_CCT ((g_class), (g_type)))
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_INSTANCE_GET_CLASS</NAME>
-#define G_TYPE_INSTANCE_GET_CLASS(instance, g_type, c_type)     (_G_TYPE_IGC ((instance), c_type))
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_FROM_INSTANCE</NAME>
-#define G_TYPE_FROM_INSTANCE(instance)                          (G_TYPE_FROM_CLASS (((GTypeInstance*) (instance))->g_class))
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_FROM_CLASS</NAME>
-#define G_TYPE_FROM_CLASS(g_class)                              (((GTypeClass*) (g_class))->g_type)
-</MACRO>
-<MACRO>
-<NAME>G_TYPE_FROM_INTERFACE</NAME>
-#define G_TYPE_FROM_INTERFACE(g_iface)                          (((GTypeInterface*) (g_iface))->g_type)
-</MACRO>
-<FUNCTION>
-<NAME>g_type_init</NAME>
-<RETURNS>void  </RETURNS>
-void
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_name</NAME>
-<RETURNS>gchar *</RETURNS>
-GType                   type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_qname</NAME>
-<RETURNS>GQuark  </RETURNS>
-GType                   type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_from_name</NAME>
-<RETURNS>GType  </RETURNS>
-const gchar            *name
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_parent</NAME>
-<RETURNS>GType  </RETURNS>
-GType                   type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_next_base</NAME>
-<RETURNS>GType  </RETURNS>
-GType                   type,GType                   base_type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_is_a</NAME>
-<RETURNS>gboolean  </RETURNS>
-GType                   type,GType                   is_a_type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_conforms_to</NAME>
-<RETURNS>gboolean  </RETURNS>
-GType                   type,GType                   iface_type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_fundamental_branch_last</NAME>
-<RETURNS>guint  </RETURNS>
-GType                   type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_class_ref</NAME>
-<RETURNS>gpointer  </RETURNS>
-GType                   type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_class_peek</NAME>
-<RETURNS>gpointer  </RETURNS>
-GType                   type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_class_unref</NAME>
-<RETURNS>void  </RETURNS>
-gpointer                g_class
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_class_peek_parent</NAME>
-<RETURNS>gpointer  </RETURNS>
-gpointer                g_class
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_interface_peek</NAME>
-<RETURNS>gpointer  </RETURNS>
-gpointer                instance_class,GType                   iface_type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_children</NAME>
-<RETURNS>GType *</RETURNS>
-GType                   type,guint                  *n_children
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_interfaces</NAME>
-<RETURNS>GType *</RETURNS>
-GType                   type,guint                  *n_interfaces
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_set_qdata</NAME>
-<RETURNS>void  </RETURNS>
-GType                   type,GQuark                  quark,gpointer                data
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_get_qdata</NAME>
-<RETURNS>gpointer  </RETURNS>
-GType                   type,GQuark                  quark
-</FUNCTION>
-<USER_FUNCTION>
-<NAME>GBaseInitFunc</NAME>
-<RETURNS>void </RETURNS>
-gpointer         g_class
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GBaseFinalizeFunc</NAME>
-<RETURNS>void </RETURNS>
-gpointer         g_class
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GClassInitFunc</NAME>
-<RETURNS>void </RETURNS>
-gpointer         g_class,
-                                             gpointer         class_data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GClassFinalizeFunc</NAME>
-<RETURNS>void </RETURNS>
-gpointer         g_class,
-                                             gpointer         class_data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GInstanceInitFunc</NAME>
-<RETURNS>void </RETURNS>
-GTypeInstance   *instance,
-                                             gpointer         g_class
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GInterfaceInitFunc</NAME>
-<RETURNS>void </RETURNS>
-gpointer         g_iface,
-                                             gpointer         iface_data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GInterfaceFinalizeFunc</NAME>
-<RETURNS>void </RETURNS>
-gpointer         g_iface,
-                                             gpointer         iface_data
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GTypePluginRef</NAME>
-<RETURNS>void </RETURNS>
-GTypePlugin     *plugin
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GTypePluginUnRef</NAME>
-<RETURNS>void </RETURNS>
-GTypePlugin     *plugin
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GTypePluginFillTypeInfo</NAME>
-<RETURNS>void </RETURNS>
-GTypePlugin     *plugin,
-                                              GType            g_type,
-                                              GTypeInfo       *info,
-                                             GTypeValueTable *value_table
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GTypePluginFillInterfaceInfo</NAME>
-<RETURNS>void </RETURNS>
-GTypePlugin     *plugin,
-                                              GType            interface_type,
-                                              GType            instance_type,
-                                              GInterfaceInfo  *info
-</USER_FUNCTION>
-<USER_FUNCTION>
-<NAME>GTypeClassCacheFunc</NAME>
-<RETURNS>gboolean </RETURNS>
-gpointer              cache_data,
-                                             GTypeClass      *g_class
-</USER_FUNCTION>
-<STRUCT>
-<NAME>GTypePlugin</NAME>
-struct GTypePlugin
-{
-  GTypePluginVTable     *vtable;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GTypePluginVTable</NAME>
-struct GTypePluginVTable
-{
-  GTypePluginRef                plugin_ref;
-  GTypePluginUnRef              plugin_unref;
-  GTypePluginFillTypeInfo       complete_type_info;
-  GTypePluginFillInterfaceInfo  complete_interface_info;
-};
-</STRUCT>
-<ENUM>
-<NAME>GTypeFlags</NAME>
-typedef enum    /*< skip >*/
-{
-  G_TYPE_FLAG_CLASSED           = (1 << 0),
-  G_TYPE_FLAG_INSTANTIATABLE    = (1 << 1),
-  G_TYPE_FLAG_DERIVABLE         = (1 << 2),
-  G_TYPE_FLAG_DEEP_DERIVABLE    = (1 << 3)
-} GTypeFlags;
-</ENUM>
-<STRUCT>
-<NAME>GTypeInfo</NAME>
-struct GTypeInfo
-{
-  /* interface types, classed types, instantiated types */
-  guint16                class_size;
-
-  GBaseInitFunc          base_init;
-  GBaseFinalizeFunc      base_finalize;
-
-  /* classed types, instantiated types */
-  GClassInitFunc         class_init;
-  GClassFinalizeFunc     class_finalize;
-  gconstpointer          class_data;
-
-  /* instantiated types */
-  guint16                instance_size;
-  guint16                n_preallocs;
-  GInstanceInitFunc      instance_init;
-
-  /* value handling */
-  const GTypeValueTable        *value_table;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GTypeFundamentalInfo</NAME>
-struct GTypeFundamentalInfo
-{
-  GTypeFlags             type_flags;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GInterfaceInfo</NAME>
-struct GInterfaceInfo
-{
-  GInterfaceInitFunc     interface_init;
-  GInterfaceFinalizeFunc interface_finalize;
-  gpointer               interface_data;
-};
-</STRUCT>
-<STRUCT>
-<NAME>GTypeValueTable</NAME>
-struct GTypeValueTable
-{
-  void   (*value_init)    (GValue       *value);
-  void   (*value_free)    (GValue       *value);
-  void   (*value_copy)    (const GValue *src_value,
-                          GValue       *dest_value);
-  /* varargs functionality (optional) */
-  guint    collect_type;
-  gchar* (*collect_value) (GValue       *value,
-                          guint         nth_value,
-                          GType        *collect_type,
-                          GTypeCValue  *collect_value);
-  guint    lcopy_type;
-  gchar* (*lcopy_value)   (const GValue *value,
-                          guint         nth_value,
-                          GType        *collect_type,
-                          GTypeCValue  *collect_value);
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_type_register_static</NAME>
-<RETURNS>GType  </RETURNS>
-GType                       parent_type,const gchar                *type_name,const GTypeInfo            *info
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_register_dynamic</NAME>
-<RETURNS>GType  </RETURNS>
-GType                       parent_type,const gchar                *type_name,GTypePlugin                *plugin
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_register_fundamental</NAME>
-<RETURNS>GType  </RETURNS>
-GType                       type_id,const gchar                *type_name,const GTypeInfo            *info,const GTypeFundamentalInfo *finfo
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_add_interface_static</NAME>
-<RETURNS>void  </RETURNS>
-GType                       instance_type,GType                       interface_type,GInterfaceInfo             *info
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_add_interface_dynamic</NAME>
-<RETURNS>void  </RETURNS>
-GType                       instance_type,GType                       interface_type,GTypePlugin                *plugin
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_class_is_a</NAME>
-<RETURNS>gboolean  </RETURNS>
-GTypeClass         *g_class,GType               is_a_type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_check_class_cast</NAME>
-<RETURNS>GTypeClass *</RETURNS>
-GTypeClass         *g_class,GType               is_a_type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_check_instance_cast</NAME>
-<RETURNS>GTypeInstance *</RETURNS>
-GTypeInstance      *instance,GType               iface_type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_instance_conforms_to</NAME>
-<RETURNS>gboolean  </RETURNS>
-GTypeInstance      *instance,GType               iface_type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_check_flags</NAME>
-<RETURNS>gboolean  </RETURNS>
-GType               type,GTypeFlags          flags
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_create_instance</NAME>
-<RETURNS>GTypeInstance *</RETURNS>
-GType               type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_free_instance</NAME>
-<RETURNS>void  </RETURNS>
-GTypeInstance      *instance
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_value_table_peek</NAME>
-<RETURNS>GTypeValueTable *</RETURNS>
-GType               type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_add_class_cache_func</NAME>
-<RETURNS>void  </RETURNS>
-gpointer            cache_data,GTypeClassCacheFunc cache_func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_remove_class_cache_func</NAME>
-<RETURNS>void  </RETURNS>
-gpointer            cache_data,GTypeClassCacheFunc cache_func
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_class_unref_uncached</NAME>
-<RETURNS>void  </RETURNS>
-gpointer            g_class
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_get_plugin</NAME>
-<RETURNS>GTypePlugin *</RETURNS>
-GType               type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_type_fundamental_last</NAME>
-<RETURNS>GType         </RETURNS>
-void
-</FUNCTION>
-<MACRO>
-<NAME>G_TYPE_IS_VALUE</NAME>
-#define        G_TYPE_IS_VALUE(type)           (g_type_value_table_peek (type) != NULL)
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE</NAME>
-#define        G_IS_VALUE(value)               (G_TYPE_IS_VALUE (G_VALUE_TYPE (value))) /* FIXME */
-</MACRO>
-<MACRO>
-<NAME>G_VALUE_TYPE</NAME>
-#define        G_VALUE_TYPE(value)             (G_TYPE_FROM_CLASS (value))
-</MACRO>
-<MACRO>
-<NAME>G_VALUE_TYPE_NAME</NAME>
-#define        G_VALUE_TYPE_NAME(value)        (g_type_name (G_VALUE_TYPE (value)))
-</MACRO>
-<USER_FUNCTION>
-<NAME>GValueExchange</NAME>
-<RETURNS>void </RETURNS>
-GValue *value1,
-                               GValue  *value2
-</USER_FUNCTION>
-<STRUCT>
-<NAME>GValue</NAME>
-struct GValue
-{
-  /*< private >*/
-  GType                g_type;
-
-  /* public for GTypeValueTable methods */
-  union {
-    gint       v_int;
-    guint      v_uint;
-    glong      v_long;
-    gulong     v_ulong;
-    gfloat     v_float;
-    gdouble    v_double;
-    gpointer   v_pointer;
-  } data[4];
-};
-</STRUCT>
-<FUNCTION>
-<NAME>g_value_init</NAME>
-<RETURNS>void  </RETURNS>
-GValue       *value,GType         g_type
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_copy</NAME>
-<RETURNS>void  </RETURNS>
-const GValue *src_value,GValue       *dest_value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_convert</NAME>
-<RETURNS>gboolean      </RETURNS>
-const GValue *src_value,GValue       *dest_value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_reset</NAME>
-<RETURNS>void  </RETURNS>
-GValue       *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_unset</NAME>
-<RETURNS>void  </RETURNS>
-GValue       *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_values_exchange</NAME>
-<RETURNS>gboolean  </RETURNS>
-GValue       *value1,GValue       *value2
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_types_exchangable</NAME>
-<RETURNS>gboolean  </RETURNS>
-GType         value_type1,GType         value_type2
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_register_exchange_func</NAME>
-<RETURNS>void  </RETURNS>
-GType         value_type1,GType         value_type2,GValueExchange func
-</FUNCTION>
-<UNION>
-<NAME>GTypeCValue</NAME>
-union GTypeCValue
-{
-  gint     v_int;
-  glong    v_long;
-  gdouble  v_double;
-  gpointer v_pointer;
-};
-</UNION>
-<MACRO>
-<NAME>G_VALUE_COLLECT</NAME>
-#define G_VALUE_COLLECT(value, var_args, __error)                                      \
-G_STMT_START {                                                                         \
-  GValue *_value = (value);                                                            \
-  GTypeValueTable *_vtable = g_type_value_table_peek (G_VALUE_TYPE (_value));          \
-  gchar *_error_msg = NULL;                                                            \
-  guint _collect_type = _vtable->collect_type;                                         \
-  guint _nth_value = 0;                                                                        \
-                                                                                        \
-  g_value_reset (_value);                                                              \
-  while (_collect_type && !_error_msg)                                                 \
-    {                                                                                  \
-      GTypeCValue _cvalue;                                                             \
-                                                                                        \
-      memset (&_cvalue, 0, sizeof (_cvalue));                                          \
-      switch (_collect_type)                                                           \
-       {                                                                               \
-       case G_VALUE_COLLECT_INT:                                                       \
-         _cvalue.v_int = va_arg ((var_args), gint);                                    \
-         break;                                                                        \
-       case G_VALUE_COLLECT_LONG:                                                      \
-         _cvalue.v_long = va_arg ((var_args), glong);                                  \
-         break;                                                                        \
-       case G_VALUE_COLLECT_DOUBLE:                                                    \
-         _cvalue.v_double = va_arg ((var_args), gdouble);                              \
-         break;                                                                        \
-       case G_VALUE_COLLECT_POINTER:                                                   \
-         _cvalue.v_pointer = va_arg ((var_args), gpointer);                            \
-         break;                                                                        \
-       default:                                                                        \
-         _error_msg  = g_strdup_printf ("%s: invalid collect type (%d) used for %s",   \
-                                        G_STRLOC,                                      \
-                                        _collect_type,                                 \
-                                        "G_VALUE_COLLECT()");                          \
-         continue;                                                                     \
-       }                                                                               \
-      _error_msg = _vtable->collect_value (_value,                                     \
-                                          _nth_value++,                                \
-                                          &_collect_type,                              \
-                                          &_cvalue);                                   \
-    }                                                                                  \
-  *(__error) = _error_msg;                                                             \
-} G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>G_VALUE_LCOPY</NAME>
-#define G_VALUE_LCOPY(value, var_args, __error)                                                \
-G_STMT_START {                                                                         \
-  GValue *_value = (value);                                                            \
-  GTypeValueTable *_vtable = g_type_value_table_peek (G_VALUE_TYPE (_value));          \
-  gchar *_error_msg = NULL;                                                            \
-  guint _lcopy_type = _vtable->lcopy_type;                                             \
-  guint _nth_value = 0;                                                                        \
-                                                                                        \
-  while (_lcopy_type && !_error_msg)                                                   \
-    {                                                                                  \
-      GTypeCValue _cvalue;                                                             \
-                                                                                        \
-      memset (&_cvalue, 0, sizeof (_cvalue));                                          \
-      switch (_lcopy_type)                                                             \
-       {                                                                               \
-       case G_VALUE_COLLECT_INT:                                                       \
-         _cvalue.v_int = va_arg ((var_args), gint);                                    \
-         break;                                                                        \
-       case G_VALUE_COLLECT_LONG:                                                      \
-         _cvalue.v_long = va_arg ((var_args), glong);                                  \
-         break;                                                                        \
-       case G_VALUE_COLLECT_DOUBLE:                                                    \
-         _cvalue.v_double = va_arg ((var_args), gdouble);                              \
-         break;                                                                        \
-       case G_VALUE_COLLECT_POINTER:                                                   \
-         _cvalue.v_pointer = va_arg ((var_args), gpointer);                            \
-         break;                                                                        \
-       default:                                                                        \
-         _error_msg  = g_strdup_printf ("%s: invalid collect type (%d) used for %s",   \
-                                        G_STRLOC,                                      \
-                                        _lcopy_type,                                   \
-                                        "G_VALUE_LCOPY()");                            \
-         continue;                                                                     \
-       }                                                                               \
-      _error_msg = _vtable->lcopy_value (_value,                                       \
-                                        _nth_value++,                                  \
-                                        &_lcopy_type,                                  \
-                                        &_cvalue);                                     \
-    }                                                                                  \
-  *(__error) = _error_msg;                                                             \
-} G_STMT_END
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE_CHAR</NAME>
-#define G_IS_VALUE_CHAR(value)          (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_CHAR))
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE_UCHAR</NAME>
-#define G_IS_VALUE_UCHAR(value)         (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_UCHAR))
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE_BOOLEAN</NAME>
-#define G_IS_VALUE_BOOLEAN(value)       (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_BOOLEAN))
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE_INT</NAME>
-#define G_IS_VALUE_INT(value)           (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_INT))
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE_UINT</NAME>
-#define G_IS_VALUE_UINT(value)          (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_UINT))
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE_LONG</NAME>
-#define G_IS_VALUE_LONG(value)          (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_LONG))
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE_ULONG</NAME>
-#define G_IS_VALUE_ULONG(value)         (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_ULONG))
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE_FLOAT</NAME>
-#define G_IS_VALUE_FLOAT(value)         (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_FLOAT))
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE_DOUBLE</NAME>
-#define G_IS_VALUE_DOUBLE(value)        (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_DOUBLE))
-</MACRO>
-<MACRO>
-<NAME>G_IS_VALUE_STRING</NAME>
-#define G_IS_VALUE_STRING(value)        (G_TYPE_CHECK_CLASS_TYPE ((value), G_TYPE_STRING))
-</MACRO>
-<FUNCTION>
-<NAME>g_value_set_char</NAME>
-<RETURNS>void  </RETURNS>
-GValue         *value,gint8           v_char
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_get_char</NAME>
-<RETURNS>gint8  </RETURNS>
-GValue         *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_set_uchar</NAME>
-<RETURNS>void  </RETURNS>
-GValue         *value,guint8          v_uchar
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_get_uchar</NAME>
-<RETURNS>guint8  </RETURNS>
-GValue         *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_set_boolean</NAME>
-<RETURNS>void  </RETURNS>
-GValue         *value,gboolean        v_boolean
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_get_boolean</NAME>
-<RETURNS>gboolean  </RETURNS>
-GValue         *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_set_int</NAME>
-<RETURNS>void  </RETURNS>
-GValue         *value,gint            v_int
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_get_int</NAME>
-<RETURNS>gint  </RETURNS>
-GValue         *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_set_uint</NAME>
-<RETURNS>void  </RETURNS>
-GValue         *value,guint           v_uint
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_get_uint</NAME>
-<RETURNS>guint  </RETURNS>
-GValue         *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_set_long</NAME>
-<RETURNS>void  </RETURNS>
-GValue         *value,glong           v_long
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_get_long</NAME>
-<RETURNS>glong  </RETURNS>
-GValue         *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_set_ulong</NAME>
-<RETURNS>void  </RETURNS>
-GValue         *value,gulong          v_ulong
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_get_ulong</NAME>
-<RETURNS>gulong  </RETURNS>
-GValue         *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_set_float</NAME>
-<RETURNS>void  </RETURNS>
-GValue         *value,gfloat          v_float
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_get_float</NAME>
-<RETURNS>gfloat  </RETURNS>
-GValue         *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_set_double</NAME>
-<RETURNS>void  </RETURNS>
-GValue         *value,gdouble         v_double
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_get_double</NAME>
-<RETURNS>gdouble  </RETURNS>
-GValue         *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_set_string</NAME>
-<RETURNS>void  </RETURNS>
-GValue         *value,const gchar    *v_string
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_get_string</NAME>
-<RETURNS>gchar *</RETURNS>
-GValue         *value
-</FUNCTION>
-<FUNCTION>
-<NAME>g_value_dup_string</NAME>
-<RETURNS>gchar *</RETURNS>
-GValue         *value
-</FUNCTION>
index cb0fc36..cec7a88 100644 (file)
@@ -4,16 +4,22 @@
 <!entity glib-Standard-Macros SYSTEM "sgml/macros.sgml">
 <!entity glib-Type-Conversion-Macros SYSTEM "sgml/type_conversion.sgml">
 <!entity glib-Byte-Order-Macros SYSTEM "sgml/byte_order.sgml">
+<!entity glib-Numerical-Definitions SYSTEM "sgml/numerical.sgml">
 <!entity glib-Miscellaneous-Macros SYSTEM "sgml/macros_misc.sgml">
 <!entity glib-Memory-Allocation SYSTEM "sgml/memory.sgml">
+<!entity glib-Error-Reporting SYSTEM "sgml/error_reporting.sgml">
 <!entity glib-Warnings-and-Assertions SYSTEM "sgml/warnings.sgml">
 <!entity glib-Message-Logging SYSTEM "sgml/messages.sgml">
 <!entity glib-Timers SYSTEM "sgml/timers.sgml">
 <!entity glib-String-Utility-Functions SYSTEM "sgml/string_utils.sgml">
+<!entity glib-Unicode-Manipulation SYSTEM "sgml/unicode.sgml">
+<!entity glib-Random-Numbers SYSTEM "sgml/random_numbers.sgml">
 <!entity glib-Miscellaneous-Utility-Functions SYSTEM "sgml/misc_utils.sgml">
 <!entity glib-Date-and-Time-Functions SYSTEM "sgml/date.sgml">
 <!entity glib-The-Main-Event-Loop SYSTEM "sgml/main.sgml">
 <!entity glib-Threads SYSTEM "sgml/threads.sgml">
+<!entity glib-Thread-Pools SYSTEM "sgml/thread_pools.sgml">
+<!entity glib-Async-Queues SYSTEM "sgml/async_queues.sgml">
 <!entity glib-IO-Channels SYSTEM "sgml/iochannels.sgml">
 <!entity glib-Hook-Functions SYSTEM "sgml/hooks.sgml">
 <!entity glib-Lexical-Scanner SYSTEM "sgml/scanner.sgml">
@@ -23,6 +29,8 @@
 <!entity glib-Memory-Chunks SYSTEM "sgml/memory_chunks.sgml">
 <!entity glib-Doubly-Linked-Lists SYSTEM "sgml/linked_lists_double.sgml">
 <!entity glib-Singly-Linked-Lists SYSTEM "sgml/linked_lists_single.sgml">
+<!entity glib-Double-ended-Queues SYSTEM "sgml/queue.sgml">
+<!entity glib-Trash-Stacks SYSTEM "sgml/trash_stack.sgml">
 <!entity glib-Hash-Tables SYSTEM "sgml/hash_tables.sgml">
 <!entity glib-Strings SYSTEM "sgml/strings.sgml">
 <!entity glib-String-Chunks SYSTEM "sgml/string_chunks.sgml">
@@ -50,6 +58,7 @@
     &glib-Standard-Macros;
     &glib-Type-Conversion-Macros;
     &glib-Byte-Order-Macros;
+    &glib-Numerical-Definitions;
     &glib-Miscellaneous-Macros;
   </chapter>
 
     <title>GLib Core Application Support</title>
     &glib-The-Main-Event-Loop;
     &glib-Threads;
+    &glib-Thread-Pools;
+    &glib-Async-Queues;
     &glib-Dynamic-Loading-of-Modules;
     &glib-Memory-Allocation;
     &glib-IO-Channels;
+    &glib-Error-Reporting;
     &glib-Warnings-and-Assertions;
     &glib-Message-Logging;
   </chapter>
@@ -67,7 +79,9 @@
   <chapter id="glib-utilities">
     <title>GLib Utilities</title>
     &glib-String-Utility-Functions;
+    &glib-Unicode-Manipulation;
     &glib-Date-and-Time-Functions;
+    &glib-Random-Numbers;   
     &glib-Hook-Functions;
     &glib-Miscellaneous-Utility-Functions;
     &glib-Lexical-Scanner;
@@ -81,6 +95,8 @@
     &glib-Memory-Chunks;
     &glib-Doubly-Linked-Lists;
     &glib-Singly-Linked-Lists;
+    &glib-Double-ended-Queues;
+    &glib-Trash-Stacks;
     &glib-Hash-Tables;
     &glib-Strings;
     &glib-String-Chunks;
index d810745..960b921 100644 (file)
@@ -39,10 +39,8 @@ gdouble
 gsize
 gssize
 
-<SUBSECTION>
-gstring
-
 <SUBSECTION Private>
+gstring
 gldouble
 </SECTION>
 
@@ -1136,7 +1134,7 @@ g_slist_pop_allocator
 </SECTION>
 
 <SECTION>
-<TITLE>Doubly-ended Queues</TITLE>
+<TITLE>Double-ended Queues</TITLE>
 <FILE>queue</FILE>
 
 GQueue
@@ -1504,9 +1502,6 @@ g_random_double_range
 <SECTION>
 <TITLE>Unicode Manipulation</TITLE>
 <FILE>unicode</FILE>
-
-<SECTION>
-<FILE>gunicode</FILE>
 gunichar
 gunichar2
 
@@ -1560,321 +1555,3 @@ g_ucs4_to_utf16
 g_ucs4_to_utf8
 g_unichar_to_utf8
 </SECTION>
-
-<SECTION>
-<TITLE>Type Information</TITLE>
-<FILE>types</FILE>
-GType
-G_TYPE_FUNDAMENTAL
-G_TYPE_FUNDAMENTAL_MAX
-G_TYPE_DERIVE_ID
-G_TYPE_BRANCH_SEQNO
-G_TYPE_FUNDAMENTAL_LAST
-GTypeFundamentals
-G_TYPE_IS_CLASSED
-G_TYPE_IS_INSTANTIATABLE
-G_TYPE_IS_DERIVABLE
-G_TYPE_IS_DEEP_DERIVABLE
-G_TYPE_IS_PARAM
-G_TYPE_IS_INTERFACE
-GTypePlugin
-GTypePluginVTable
-GTypeInterface
-GTypeInstance
-GTypeInfo
-GTypeFundamentalInfo
-GInterfaceInfo
-GTypeValueTable
-<TITLE>GType</TITLE>
-G_TYPE_CHECK_INSTANCE_CAST
-G_TYPE_CHECK_CLASS_CAST
-G_TYPE_CHECK_INSTANCE_TYPE
-G_TYPE_CHECK_CLASS_TYPE
-G_TYPE_INSTANCE_GET_CLASS
-G_TYPE_FROM_INSTANCE
-G_TYPE_FROM_CLASS
-G_TYPE_FROM_INTERFACE
-g_type_init
-g_type_name
-g_type_qname
-g_type_from_name
-g_type_parent
-g_type_next_base
-g_type_is_a
-g_type_conforms_to
-g_type_fundamental_branch_last
-g_type_class_ref
-g_type_class_peek
-g_type_class_unref
-g_type_class_peek_parent
-g_type_interface_peek
-g_type_children
-g_type_interfaces
-g_type_set_qdata
-g_type_get_qdata
-GBaseInitFunc
-GBaseFinalizeFunc
-GClassInitFunc
-GClassFinalizeFunc
-GInstanceInitFunc
-GInterfaceInitFunc
-GInterfaceFinalizeFunc
-GTypePluginRef
-GTypePluginUnRef
-GTypePluginFillTypeInfo
-GTypePluginFillInterfaceInfo
-GTypeClassCacheFunc
-GTypeFlags
-g_type_register_static
-g_type_register_dynamic
-g_type_register_fundamental
-g_type_add_interface_static
-g_type_add_interface_dynamic
-g_type_class_is_a
-g_type_check_class_cast
-g_type_check_instance_cast
-g_type_instance_conforms_to
-g_type_check_flags
-g_type_create_instance
-g_type_free_instance
-g_type_value_table_peek
-g_type_add_class_cache_func
-g_type_remove_class_cache_func
-g_type_class_unref_uncached
-g_type_get_plugin
-g_type_fundamental_last
-
-<SUBSECTION Private>
-g_log_domain_gobject
-</SECTION>
-
-<SECTION>
-<TITLE>The Base Object Type</TITLE>
-<FILE>objects</FILE>
-GObject
-GObjectClass
-G_OBJECT
-G_OBJECT_GET_CLASS
-G_OBJECT_TYPE
-G_OBJECT_TYPE_NAME
-G_OBJECT_CLASS_TYPE
-G_OBJECT_CLASS_NAME
-G_IS_VALUE_OBJECT
-G_TYPE_IS_OBJECT
-G_IS_OBJECT
-G_OBJECT_CLASS
-G_IS_OBJECT_CLASS
-G_NOTIFY_PRIORITY
-GObjectGetParamFunc
-GObjectSetParamFunc
-GObjectFinalizeFunc
-g_object_class_install_param
-g_object_class_find_param_spec
-g_object_new
-g_object_new_valist
-g_object_set
-g_object_get
-g_object_set_valist
-g_object_get_valist
-g_object_set_param
-g_object_get_param
-g_object_queue_param_changed
-g_object_ref
-g_object_unref
-g_object_get_qdata
-g_object_set_qdata
-g_object_set_qdata_full
-g_object_steal_qdata
-g_value_set_object
-g_value_get_object
-g_value_dup_object
-G_WARN_INVALID_PARAM_ID
-</SECTION>
-
-<SECTION>
-<TITLE>Enumeration and Flag Types</TITLE>
-<FILE>enumerations_flags</FILE>
-GEnumClass
-GFlagsClass
-G_ENUM_CLASS_TYPE
-G_ENUM_CLASS_TYPE_NAME
-G_TYPE_IS_ENUM
-G_ENUM_CLASS
-G_IS_ENUM_CLASS
-G_TYPE_IS_FLAGS
-G_FLAGS_CLASS
-G_IS_FLAGS_CLASS
-G_FLAGS_CLASS_TYPE
-G_FLAGS_CLASS_TYPE_NAME
-G_IS_VALUE_ENUM
-G_IS_VALUE_FLAGS
-GEnumValue
-GFlagsValue
-g_enum_get_value
-g_enum_get_value_by_name
-g_enum_get_value_by_nick
-g_flags_get_first_value
-g_flags_get_value_by_name
-g_flags_get_value_by_nick
-g_value_set_enum
-g_value_get_enum
-g_value_set_flags
-g_value_get_flags
-g_enum_register_static
-g_flags_register_static
-g_enum_complete_type_info
-g_flags_complete_type_info
-</SECTION>
-
-<SECTION>
-<TITLE>Generic values</TITLE>
-<FILE>generic_values</FILE>
-G_VALUE_TYPE
-G_VALUE_TYPE_NAME
-G_TYPE_IS_VALUE
-G_IS_VALUE
-GValueExchange
-GValue
-g_value_init
-g_value_copy
-g_value_convert
-g_value_reset
-g_value_unset
-g_values_exchange
-g_value_types_exchangable
-g_value_register_exchange_func
-</SECTION>
-
-<SECTION>
-<TITLE>Standard value types</TITLE>
-<FILE>value_types</FILE>
-G_IS_VALUE_CHAR
-G_IS_VALUE_UCHAR
-G_IS_VALUE_BOOLEAN
-G_IS_VALUE_INT
-G_IS_VALUE_UINT
-G_IS_VALUE_LONG
-G_IS_VALUE_ULONG
-G_IS_VALUE_FLOAT
-G_IS_VALUE_DOUBLE
-G_IS_VALUE_STRING
-g_value_set_char
-g_value_get_char
-g_value_set_uchar
-g_value_get_uchar
-g_value_set_boolean
-g_value_get_boolean
-g_value_set_int
-g_value_get_int
-g_value_set_uint
-g_value_get_uint
-g_value_set_long
-g_value_get_long
-g_value_set_ulong
-g_value_get_ulong
-g_value_set_float
-g_value_get_float
-g_value_set_double
-g_value_get_double
-g_value_set_string
-g_value_get_string
-g_value_dup_string
-</SECTION>
-
-<SECTION>
-<TITLE>Object Parameter Specifications</TITLE>
-<FILE>param_specs</FILE>
-GParamSpec
-GParamSpecClass
-G_PARAM_SPEC_TYPE
-G_PARAM_SPEC_TYPE_NAME
-G_PARAM_SPEC
-G_IS_PARAM_SPEC
-G_PARAM_SPEC_GET_CLASS
-G_IS_PARAM_VALUE
-G_PARAM_SPEC_VALUE_TYPE
-G_TYPE_IS_PARAM
-GParamFlags
-g_param_spec_ref
-g_param_spec_unref
-g_param_spec_get_qdata
-g_param_spec_set_qdata
-g_param_spec_set_qdata_full
-g_param_spec_steal_qdata
-g_param_value_set_default
-g_param_value_defaults
-g_param_value_validate
-g_param_values_cmp
-g_param_spec_internal
-g_param_spec_hash_table_new
-g_param_spec_hash_table_insert
-g_param_spec_hash_table_remove
-g_param_spec_hash_table_lookup
-</SECTION>
-
-<SECTION>
-<TITLE>Standard Parameter Types</TITLE>
-<FILE>standard_params</FILE>
-G_IS_PARAM_SPEC_CHAR
-G_PARAM_SPEC_CHAR
-G_IS_PARAM_SPEC_UCHAR
-G_PARAM_SPEC_UCHAR
-G_IS_PARAM_SPEC_BOOLEAN
-G_PARAM_SPEC_BOOLEAN
-G_IS_PARAM_SPEC_INT
-G_PARAM_SPEC_INT
-G_IS_PARAM_SPEC_UINT
-G_PARAM_SPEC_UINT
-G_IS_PARAM_SPEC_LONG
-G_PARAM_SPEC_LONG
-G_IS_PARAM_SPEC_ULONG
-G_PARAM_SPEC_ULONG
-G_IS_PARAM_SPEC_ENUM
-G_PARAM_SPEC_ENUM
-G_IS_PARAM_SPEC_FLAGS
-G_PARAM_SPEC_FLAGS
-G_IS_PARAM_SPEC_FLOAT
-G_PARAM_SPEC_FLOAT
-G_IS_PARAM_SPEC_DOUBLE
-G_PARAM_SPEC_DOUBLE
-G_IS_PARAM_SPEC_STRING
-G_PARAM_SPEC_STRING
-G_IS_PARAM_SPEC_OBJECT
-G_PARAM_SPEC_OBJECT
-GParamSpecChar
-GParamSpecUChar
-GParamSpecBoolean
-GParamSpecInt
-GParamSpecUInt
-GParamSpecLong
-GParamSpecULong
-GParamSpecEnum
-GParamSpecFlags
-GParamSpecFloat
-GParamSpecDouble
-GParamSpecString
-GParamSpecObject
-g_param_spec_char
-g_param_spec_uchar
-g_param_spec_boolean
-g_param_spec_int
-g_param_spec_uint
-g_param_spec_long
-g_param_spec_ulong
-g_param_spec_enum
-g_param_spec_flags
-g_param_spec_float
-g_param_spec_double
-g_param_spec_string
-g_param_spec_string_c
-g_param_spec_object
-</SECTION>
-
-<SECTION>
-<TITLE>Varargs Value Collection</TITLE>
-<FILE>value_collection</FILE>
-GTypeCValue
-G_VALUE_COLLECT
-G_VALUE_LCOPY
-</SECTION>
-
diff --git a/docs/reference/glib/tmpl/async_queues.sgml b/docs/reference/glib/tmpl/async_queues.sgml
new file mode 100644 (file)
index 0000000..97a0f41
--- /dev/null
@@ -0,0 +1,172 @@
+<!-- ##### SECTION Title ##### -->
+Asynchronous Queues
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GAsyncQueue ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION g_async_queue_new ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION g_async_queue_lock ##### -->
+<para>
+
+</para>
+
+@queue: 
+
+
+<!-- ##### FUNCTION g_async_queue_unlock ##### -->
+<para>
+
+</para>
+
+@queue: 
+
+
+<!-- ##### FUNCTION g_async_queue_ref ##### -->
+<para>
+
+</para>
+
+@queue: 
+
+
+<!-- ##### FUNCTION g_async_queue_ref_unlocked ##### -->
+<para>
+
+</para>
+
+@queue: 
+
+
+<!-- ##### FUNCTION g_async_queue_unref ##### -->
+<para>
+
+</para>
+
+@queue: 
+
+
+<!-- ##### FUNCTION g_async_queue_unref_and_unlock ##### -->
+<para>
+
+</para>
+
+@queue: 
+
+
+<!-- ##### FUNCTION g_async_queue_push ##### -->
+<para>
+
+</para>
+
+@queue: 
+@data: 
+
+
+<!-- ##### FUNCTION g_async_queue_push_unlocked ##### -->
+<para>
+
+</para>
+
+@queue: 
+@data: 
+
+
+<!-- ##### FUNCTION g_async_queue_pop ##### -->
+<para>
+
+</para>
+
+@queue: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_async_queue_pop_unlocked ##### -->
+<para>
+
+</para>
+
+@queue: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_async_queue_try_pop ##### -->
+<para>
+
+</para>
+
+@queue: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_async_queue_try_pop_unlocked ##### -->
+<para>
+
+</para>
+
+@queue: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_async_queue_timed_pop ##### -->
+<para>
+
+</para>
+
+@queue: 
+@end_time: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_async_queue_timed_pop_unlocked ##### -->
+<para>
+
+</para>
+
+@queue: 
+@end_time: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_async_queue_length ##### -->
+<para>
+
+</para>
+
+@queue: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_async_queue_length_unlocked ##### -->
+<para>
+
+</para>
+
+@queue: 
+@Returns: 
+
+
diff --git a/docs/reference/glib/tmpl/error_reporting.sgml b/docs/reference/glib/tmpl/error_reporting.sgml
new file mode 100644 (file)
index 0000000..7bcc559
--- /dev/null
@@ -0,0 +1,107 @@
+<!-- ##### SECTION Title ##### -->
+Error Reporting
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GError ##### -->
+<para>
+
+</para>
+
+@domain: 
+@code: 
+@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_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_propagate_error ##### -->
+<para>
+
+</para>
+
+@dest: 
+@src: 
+
+
+<!-- ##### FUNCTION g_clear_error ##### -->
+<para>
+
+</para>
+
+@err: 
+
+
diff --git a/docs/reference/glib/tmpl/numerical.sgml b/docs/reference/glib/tmpl/numerical.sgml
new file mode 100644 (file)
index 0000000..4600f57
--- /dev/null
@@ -0,0 +1,100 @@
+<!-- ##### SECTION Title ##### -->
+Numerical Definitions
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO G_IEEE754_FLOAT_BIAS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO G_IEEE754_DOUBLE_BIAS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### UNION GFloatIEEE754 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### UNION GDoubleIEEE754 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO G_E ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO G_LN2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO G_LN10 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO G_PI ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO G_PI_2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO G_PI_4 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO G_SQRT2 ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO G_LOG_2_BASE_10 ##### -->
+<para>
+
+</para>
+
+
+
diff --git a/docs/reference/glib/tmpl/queue.sgml b/docs/reference/glib/tmpl/queue.sgml
new file mode 100644 (file)
index 0000000..72d95f2
--- /dev/null
@@ -0,0 +1,142 @@
+<!-- ##### SECTION Title ##### -->
+Double-ended Queues
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GQueue ##### -->
+<para>
+
+</para>
+
+@head: 
+@tail: 
+@length: 
+
+<!-- ##### FUNCTION g_queue_new ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION g_queue_free ##### -->
+<para>
+
+</para>
+
+@queue: 
+
+
+<!-- ##### FUNCTION g_queue_push_head ##### -->
+<para>
+
+</para>
+
+@queue: 
+@data: 
+
+
+<!-- ##### FUNCTION g_queue_push_tail ##### -->
+<para>
+
+</para>
+
+@queue: 
+@data: 
+
+
+<!-- ##### FUNCTION g_queue_pop_head ##### -->
+<para>
+
+</para>
+
+@queue: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_queue_pop_tail ##### -->
+<para>
+
+</para>
+
+@queue: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_queue_is_empty ##### -->
+<para>
+
+</para>
+
+@queue: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_queue_peek_head ##### -->
+<para>
+
+</para>
+
+@queue: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_queue_peek_tail ##### -->
+<para>
+
+</para>
+
+@queue: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_queue_push_head_link ##### -->
+<para>
+
+</para>
+
+@queue: 
+@link: 
+
+
+<!-- ##### FUNCTION g_queue_push_tail_link ##### -->
+<para>
+
+</para>
+
+@queue: 
+@link: 
+
+
+<!-- ##### FUNCTION g_queue_pop_head_link ##### -->
+<para>
+
+</para>
+
+@queue: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_queue_pop_tail_link ##### -->
+<para>
+
+</para>
+
+@queue: 
+@Returns: 
+
+
diff --git a/docs/reference/glib/tmpl/random_numbers.sgml b/docs/reference/glib/tmpl/random_numbers.sgml
new file mode 100644 (file)
index 0000000..233538f
--- /dev/null
@@ -0,0 +1,142 @@
+<!-- ##### SECTION Title ##### -->
+Random Numbers
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GRand ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION g_rand_new_with_seed ##### -->
+<para>
+
+</para>
+
+@seed: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_rand_new ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION g_rand_free ##### -->
+<para>
+
+</para>
+
+@rand: 
+
+
+<!-- ##### FUNCTION g_rand_set_seed ##### -->
+<para>
+
+</para>
+
+@rand: 
+@seed: 
+
+
+<!-- ##### FUNCTION g_rand_int ##### -->
+<para>
+
+</para>
+
+@rand: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_rand_int_range ##### -->
+<para>
+
+</para>
+
+@rand: 
+@min: 
+@max: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_rand_double ##### -->
+<para>
+
+</para>
+
+@rand: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_rand_double_range ##### -->
+<para>
+
+</para>
+
+@rand: 
+@min: 
+@max: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_random_set_seed ##### -->
+<para>
+
+</para>
+
+@seed: 
+
+
+<!-- ##### FUNCTION g_random_int ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION g_random_int_range ##### -->
+<para>
+
+</para>
+
+@min: 
+@max: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_random_double ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION g_random_double_range ##### -->
+<para>
+
+</para>
+
+@min: 
+@max: 
+@Returns: 
+
+
diff --git a/docs/reference/glib/tmpl/thread_pools.sgml b/docs/reference/glib/tmpl/thread_pools.sgml
new file mode 100644 (file)
index 0000000..fb1454b
--- /dev/null
@@ -0,0 +1,134 @@
+<!-- ##### SECTION Title ##### -->
+Thread Pools
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GThreadPool ##### -->
+<para>
+
+</para>
+
+@thread_func: 
+@stack_size: 
+@bound: 
+@priority: 
+@exclusive: 
+@user_data: 
+
+<!-- ##### FUNCTION g_thread_pool_new ##### -->
+<para>
+
+</para>
+
+@thread_func: 
+@max_threads: 
+@stack_size: 
+@bound: 
+@priority: 
+@exclusive: 
+@user_data: 
+@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>
+
+
+
diff --git a/docs/reference/glib/tmpl/trash_stack.sgml b/docs/reference/glib/tmpl/trash_stack.sgml
new file mode 100644 (file)
index 0000000..875d219
--- /dev/null
@@ -0,0 +1,61 @@
+<!-- ##### SECTION Title ##### -->
+Trash Stacks
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GTrashStack ##### -->
+<para>
+
+</para>
+
+@next: 
+
+<!-- ##### FUNCTION g_trash_stack_push ##### -->
+<para>
+
+</para>
+
+@stack_p: 
+@data_p: 
+
+
+<!-- ##### FUNCTION g_trash_stack_pop ##### -->
+<para>
+
+</para>
+
+@stack_p: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_trash_stack_peek ##### -->
+<para>
+
+</para>
+
+@stack_p: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_trash_stack_height ##### -->
+<para>
+
+</para>
+
+@stack_p: 
+@Returns: 
+
+
index fa276e0..e64242e 100644 (file)
@@ -1,5 +1,5 @@
 <!-- ##### SECTION Title ##### -->
-GType
+Basic Types
 
 <!-- ##### SECTION Short_Description ##### -->
 
@@ -16,746 +16,156 @@ GType
 </para>
 
 
-<!-- ##### TYPEDEF GType ##### -->
+<!-- ##### TYPEDEF gboolean ##### -->
 <para>
 
 </para>
 
 
-<!-- ##### MACRO G_TYPE_FUNDAMENTAL ##### -->
+<!-- ##### TYPEDEF gpointer ##### -->
 <para>
 
 </para>
 
-@type: 
 
-
-<!-- ##### MACRO G_TYPE_FUNDAMENTAL_MAX ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### MACRO G_TYPE_DERIVE_ID ##### -->
-<para>
-
-</para>
-
-@ptype: 
-@branch_seqno: 
-
-
-<!-- ##### MACRO G_TYPE_BRANCH_SEQNO ##### -->
-<para>
-
-</para>
-
-@type: 
-
-
-<!-- ##### MACRO G_TYPE_FUNDAMENTAL_LAST ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### ENUM GTypeFundamentals ##### -->
-<para>
-
-</para>
-
-@G_TYPE_INVALID: 
-@G_TYPE_NONE: 
-@G_TYPE_INTERFACE: 
-@G_TYPE_CHAR: 
-@G_TYPE_UCHAR: 
-@G_TYPE_BOOLEAN: 
-@G_TYPE_INT: 
-@G_TYPE_UINT: 
-@G_TYPE_LONG: 
-@G_TYPE_ULONG: 
-@G_TYPE_ENUM: 
-@G_TYPE_FLAGS: 
-@G_TYPE_FLOAT: 
-@G_TYPE_DOUBLE: 
-@G_TYPE_STRING: 
-@G_TYPE_PARAM: 
-@G_TYPE_OBJECT: 
-@G_TYPE_GTK_BOXED: 
-@G_TYPE_GTK_POINTER: 
-@G_TYPE_GTK_SIGNAL: 
-@G_TYPE_BSE_PROCEDURE: 
-@G_TYPE_BSE_TIME: 
-@G_TYPE_BSE_NOTE: 
-@G_TYPE_BSE_DOTS: 
-@G_TYPE_GLE_GOBJECT: 
-@G_TYPE_LAST_RESERVED_FUNDAMENTAL: 
-@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_ENUM: 
-@G_TYPE_PARAM_FLAGS: 
-@G_TYPE_PARAM_FLOAT: 
-@G_TYPE_PARAM_DOUBLE: 
-@G_TYPE_PARAM_STRING: 
-@G_TYPE_PARAM_OBJECT: 
-
-<!-- ##### 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_PARAM ##### -->
-<para>
-
-</para>
-
-@type: 
-
-
-<!-- ##### MACRO G_TYPE_IS_INTERFACE ##### -->
-<para>
-
-</para>
-
-@type: 
-
-
-<!-- ##### STRUCT GTypePlugin ##### -->
-<para>
-
-</para>
-
-@vtable: 
-
-<!-- ##### STRUCT GTypePluginVTable ##### -->
-<para>
-
-</para>
-
-@plugin_ref: 
-@plugin_unref: 
-@complete_type_info: 
-@complete_interface_info: 
-
-<!-- ##### STRUCT GTypeInterface ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### STRUCT GTypeInstance ##### -->
-<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: 
-@collect_type: 
-@collect_value: 
-@lcopy_type: 
-@lcopy_value: 
-
-<!-- ##### MACRO G_TYPE_CHECK_INSTANCE_CAST ##### -->
-<para>
-
-</para>
-
-@instance: 
-@g_type: 
-@c_type: 
-
-
-<!-- ##### MACRO G_TYPE_CHECK_CLASS_CAST ##### -->
-<para>
-
-</para>
-
-@g_class: 
-@g_type: 
-@c_type: 
-
-
-<!-- ##### MACRO G_TYPE_CHECK_INSTANCE_TYPE ##### -->
-<para>
-
-</para>
-
-@instance: 
-@g_type: 
-
-
-<!-- ##### MACRO G_TYPE_CHECK_CLASS_TYPE ##### -->
-<para>
-
-</para>
-
-@g_class: 
-@g_type: 
-
-
-<!-- ##### MACRO G_TYPE_INSTANCE_GET_CLASS ##### -->
-<para>
-
-</para>
-
-@instance: 
-@g_type: 
-@c_type: 
-
-
-<!-- ##### 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: 
-
-
-<!-- ##### FUNCTION g_type_init ##### -->
-<para>
-
-</para>
-
-
-
-<!-- ##### FUNCTION g_type_name ##### -->
-<para>
-
-</para>
-
-@type: 
-@Returns: 
-
-
-<!-- ##### FUNCTION g_type_qname ##### -->
+<!-- ##### TYPEDEF gconstpointer ##### -->
 <para>
 
 </para>
 
-@type: 
-@Returns: 
 
-
-<!-- ##### FUNCTION g_type_from_name ##### -->
-<para>
-
-</para>
-
-@name: 
-@Returns: 
-
-
-<!-- ##### FUNCTION g_type_parent ##### -->
-<para>
-
-</para>
-
-@type: 
-@Returns: 
-
-
-<!-- ##### FUNCTION g_type_next_base ##### -->
-<para>
-
-</para>
-
-@type: 
-@base_type: 
-@Returns: 
-
-
-<!-- ##### FUNCTION g_type_is_a ##### -->
-<para>
-
-</para>
-
-@type: 
-@is_a_type: 
-@Returns: 
-
-
-<!-- ##### FUNCTION g_type_conforms_to ##### -->
-<para>
-
-</para>
-
-@type: 
-@iface_type: 
-@Returns: 
-
-
-<!-- ##### FUNCTION g_type_fundamental_branch_last ##### -->
-<para>
-
-</para>
-
-@type: 
-@Returns: 
-
-
-<!-- ##### FUNCTION g_type_class_ref ##### -->
-<para>
-
-</para>
-
-@type: 
-@Returns: 
-
-
-<!-- ##### FUNCTION g_type_class_peek ##### -->
-<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_interface_peek ##### -->
-<para>
-
-</para>
-
-@instance_class: 
-@iface_type: 
-@Returns: 
-
-
-<!-- ##### FUNCTION g_type_children ##### -->
-<para>
-
-</para>
-
-@type: 
-@n_children: 
-@Returns: 
-
-
-<!-- ##### FUNCTION g_type_interfaces ##### -->
-<para>
-
-</para>
-
-@type: 
-@n_interfaces: 
-@Returns: 
-
-
-<!-- ##### FUNCTION g_type_set_qdata ##### -->
-<para>
-
-</para>
-
-@type: 
-@quark: 
-@data: 
-
-
-<!-- ##### FUNCTION g_type_get_qdata ##### -->
-<para>
-
-</para>
-
-@type: 
-@quark: 
-@Returns: 
-
-
-<!-- ##### 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 ##### -->
+<!-- ##### TYPEDEF gchar ##### -->
 <para>
 
 </para>
 
-@g_iface: 
-@iface_data: 
-
 
-<!-- ##### USER_FUNCTION GTypePluginRef ##### -->
+<!-- ##### TYPEDEF guchar ##### -->
 <para>
 
 </para>
 
-@plugin: 
-
 
-<!-- ##### USER_FUNCTION GTypePluginUnRef ##### -->
+<!-- ##### TYPEDEF gint ##### -->
 <para>
 
 </para>
 
-@plugin: 
 
-
-<!-- ##### USER_FUNCTION GTypePluginFillTypeInfo ##### -->
+<!-- ##### TYPEDEF guint ##### -->
 <para>
 
 </para>
 
-@plugin: 
-@g_type: 
-@info: 
-@value_table: 
-
 
-<!-- ##### USER_FUNCTION GTypePluginFillInterfaceInfo ##### -->
+<!-- ##### TYPEDEF gshort ##### -->
 <para>
 
 </para>
 
-@plugin: 
-@interface_type: 
-@instance_type: 
-@info: 
-
 
-<!-- ##### USER_FUNCTION GTypeClassCacheFunc ##### -->
+<!-- ##### TYPEDEF gushort ##### -->
 <para>
 
 </para>
 
-@cache_data: 
-@g_class: 
-@Returns: 
 
-
-<!-- ##### ENUM GTypeFlags ##### -->
+<!-- ##### TYPEDEF glong ##### -->
 <para>
 
 </para>
 
-@G_TYPE_FLAG_CLASSED: 
-@G_TYPE_FLAG_INSTANTIATABLE: 
-@G_TYPE_FLAG_DERIVABLE: 
-@G_TYPE_FLAG_DEEP_DERIVABLE: 
 
-<!-- ##### FUNCTION g_type_register_static ##### -->
+<!-- ##### TYPEDEF gulong ##### -->
 <para>
 
 </para>
 
-@parent_type: 
-@type_name: 
-@info: 
-@Returns: 
-
 
-<!-- ##### FUNCTION g_type_register_dynamic ##### -->
+<!-- ##### TYPEDEF gint8 ##### -->
 <para>
 
 </para>
 
-@parent_type: 
-@type_name: 
-@plugin: 
-@Returns: 
 
-
-<!-- ##### FUNCTION g_type_register_fundamental ##### -->
+<!-- ##### TYPEDEF guint8 ##### -->
 <para>
 
 </para>
 
-@type_id: 
-@type_name: 
-@info: 
-@finfo: 
-@Returns: 
-
 
-<!-- ##### FUNCTION g_type_add_interface_static ##### -->
+<!-- ##### TYPEDEF gint16 ##### -->
 <para>
 
 </para>
 
-@instance_type: 
-@interface_type: 
-@info: 
-
 
-<!-- ##### FUNCTION g_type_add_interface_dynamic ##### -->
+<!-- ##### TYPEDEF guint16 ##### -->
 <para>
 
 </para>
 
-@instance_type: 
-@interface_type: 
-@plugin: 
 
-
-<!-- ##### FUNCTION g_type_class_is_a ##### -->
+<!-- ##### TYPEDEF gint32 ##### -->
 <para>
 
 </para>
 
-@g_class: 
-@is_a_type: 
-@Returns: 
-
 
-<!-- ##### FUNCTION g_type_check_class_cast ##### -->
+<!-- ##### TYPEDEF guint32 ##### -->
 <para>
 
 </para>
 
-@g_class: 
-@is_a_type: 
-@Returns: 
 
-
-<!-- ##### FUNCTION g_type_check_instance_cast ##### -->
+<!-- ##### MACRO G_HAVE_GINT64 ##### -->
 <para>
 
 </para>
 
-@instance: 
-@iface_type: 
-@Returns: 
 
 
-<!-- ##### FUNCTION g_type_instance_conforms_to ##### -->
+<!-- ##### TYPEDEF gint64 ##### -->
 <para>
 
 </para>
 
-@instance: 
-@iface_type: 
-@Returns: 
-
 
-<!-- ##### FUNCTION g_type_check_flags ##### -->
+<!-- ##### TYPEDEF guint64 ##### -->
 <para>
 
 </para>
 
-@type: 
-@flags: 
-@Returns: 
-
 
-<!-- ##### FUNCTION g_type_create_instance ##### -->
+<!-- ##### MACRO G_GINT64_CONSTANT ##### -->
 <para>
 
 </para>
 
-@type: 
-@Returns: 
+@val: 
 
 
-<!-- ##### FUNCTION g_type_free_instance ##### -->
+<!-- ##### TYPEDEF gfloat ##### -->
 <para>
 
 </para>
 
-@instance: 
 
-
-<!-- ##### FUNCTION g_type_value_table_peek ##### -->
+<!-- ##### TYPEDEF gdouble ##### -->
 <para>
 
 </para>
 
-@type: 
-@Returns: 
-
 
-<!-- ##### FUNCTION g_type_add_class_cache_func ##### -->
+<!-- ##### TYPEDEF gsize ##### -->
 <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_get_plugin ##### -->
-<para>
-
-</para>
-
-@type: 
-@Returns: 
-
-
-<!-- ##### FUNCTION g_type_fundamental_last ##### -->
+<!-- ##### TYPEDEF gssize ##### -->
 <para>
 
 </para>
 
-@Returns: 
-
 
diff --git a/docs/reference/glib/tmpl/unicode.sgml b/docs/reference/glib/tmpl/unicode.sgml
new file mode 100644 (file)
index 0000000..db8cc03
--- /dev/null
@@ -0,0 +1,451 @@
+<!-- ##### SECTION Title ##### -->
+Unicode Manipulation
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF gunichar ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF gunichar2 ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION g_get_charset ##### -->
+<para>
+
+</para>
+
+@charset: 
+@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_isdigit ##### -->
+<para>
+
+</para>
+
+@c: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_unichar_isgraph ##### -->
+<para>
+
+</para>
+
+@c: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_unichar_islower ##### -->
+<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_isupper ##### -->
+<para>
+
+</para>
+
+@c: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_unichar_isxdigit ##### -->
+<para>
+
+</para>
+
+@c: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_unichar_istitle ##### -->
+<para>
+
+</para>
+
+@c: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_unichar_isdefined ##### -->
+<para>
+
+</para>
+
+@c: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_unichar_iswide ##### -->
+<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>
+
+</para>
+
+@G_UNICODE_CONTROL: 
+@G_UNICODE_FORMAT: 
+@G_UNICODE_UNASSIGNED: 
+@G_UNICODE_PRIVATE_USE: 
+@G_UNICODE_SURROGATE: 
+@G_UNICODE_LOWERCASE_LETTER: 
+@G_UNICODE_MODIFIER_LETTER: 
+@G_UNICODE_OTHER_LETTER: 
+@G_UNICODE_TITLECASE_LETTER: 
+@G_UNICODE_UPPERCASE_LETTER: 
+@G_UNICODE_COMBINING_MARK: 
+@G_UNICODE_ENCLOSING_MARK: 
+@G_UNICODE_NON_SPACING_MARK: 
+@G_UNICODE_DECIMAL_NUMBER: 
+@G_UNICODE_LETTER_NUMBER: 
+@G_UNICODE_OTHER_NUMBER: 
+@G_UNICODE_CONNECT_PUNCTUATION: 
+@G_UNICODE_DASH_PUNCTUATION: 
+@G_UNICODE_CLOSE_PUNCTUATION: 
+@G_UNICODE_FINAL_PUNCTUATION: 
+@G_UNICODE_INITIAL_PUNCTUATION: 
+@G_UNICODE_OTHER_PUNCTUATION: 
+@G_UNICODE_OPEN_PUNCTUATION: 
+@G_UNICODE_CURRENCY_SYMBOL: 
+@G_UNICODE_MODIFIER_SYMBOL: 
+@G_UNICODE_MATH_SYMBOL: 
+@G_UNICODE_OTHER_SYMBOL: 
+@G_UNICODE_LINE_SEPARATOR: 
+@G_UNICODE_PARAGRAPH_SEPARATOR: 
+@G_UNICODE_SPACE_SEPARATOR: 
+
+<!-- ##### FUNCTION g_unichar_type ##### -->
+<para>
+
+</para>
+
+@c: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_unicode_canonical_ordering ##### -->
+<para>
+
+</para>
+
+@string: 
+@len: 
+
+
+<!-- ##### FUNCTION g_unicode_canonical_decomposition ##### -->
+<para>
+
+</para>
+
+@ch: 
+@result_len: 
+@Returns: 
+
+
+<!-- ##### MACRO g_utf8_next_char ##### -->
+<para>
+
+</para>
+
+@p: 
+
+
+<!-- ##### FUNCTION g_utf8_get_char ##### -->
+<para>
+
+</para>
+
+@p: 
+@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: 
+@c: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_utf8_strrchr ##### -->
+<para>
+
+</para>
+
+@p: 
+@c: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_utf8_to_utf16 ##### -->
+<para>
+
+</para>
+
+@str: 
+@len: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_utf8_to_ucs4 ##### -->
+<para>
+
+</para>
+
+@str: 
+@len: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_utf16_to_ucs4 ##### -->
+<para>
+
+</para>
+
+@str: 
+@len: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_utf16_to_utf8 ##### -->
+<para>
+
+</para>
+
+@str: 
+@len: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_ucs4_to_utf16 ##### -->
+<para>
+
+</para>
+
+@str: 
+@len: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_ucs4_to_utf8 ##### -->
+<para>
+
+</para>
+
+@str: 
+@len: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_unichar_to_utf8 ##### -->
+<para>
+
+</para>
+
+@c: 
+@outbuf: 
+@Returns: 
+
+
diff --git a/docs/reference/gobject/.cvsignore b/docs/reference/gobject/.cvsignore
new file mode 100644 (file)
index 0000000..8702e77
--- /dev/null
@@ -0,0 +1,5 @@
+gobject-decl.txt
+gobject-unused.txt
+gobject-decl-list.txt
+html
+sgml
\ No newline at end of file
diff --git a/docs/reference/gobject/Makefile.am b/docs/reference/gobject/Makefile.am
new file mode 100644 (file)
index 0000000..451cdad
--- /dev/null
@@ -0,0 +1,95 @@
+## Process this file with automake to produce Makefile.in
+
+# The name of the module.
+DOC_MODULE=gobject
+
+# The top-level SGML file.
+DOC_MAIN_SGML_FILE=gobject-docs.sgml
+
+# The directory containing the source code (if it contains documentation).
+DOC_SOURCE_DIR=$(top_srcdir)/gobject
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+tmpl_sources =                         \
+       tmpl/enumerations_flags.sgml    \
+       tmpl/generic_values.sgml        \
+       tmpl/gobject-unused.sgml        \
+       tmpl/objects.sgml               \
+       tmpl/param_specs.sgml           \
+       tmpl/standard_params.sgml       \
+       tmpl/types.sgml                 \
+       tmpl/value_collection.sgml      \
+       tmpl/value_types.sgml
+
+gobject_docdir = $(HTML_DIR)
+gobject_doc_DATA =                     \
+       gobject-sections.txt
+
+
+EXTRA_DIST =                           \
+       $(gobject_doc_DATA)
+
+if ENABLE_GTK_DOC
+all-local: html/index.html
+
+gobject-decl.txt: 
+       $(MAKE) scan
+
+$(tmpl_sources): gobject-decl.txt gobject-sections.txt
+       $(MAKE) templates
+
+sgml/gobject-doc.bottom: $(tmpl_sources) gobject-decl.txt
+       $(MAKE) sgml
+
+html/index.html: sgml/gobject-doc.bottom
+       $(MAKE) html
+endif
+
+scan:
+       -(cd $(srcdir) \
+       && gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) )
+
+templates:
+       cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
+
+sgml:
+       cd $(srcdir) \
+       && gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
+
+html:
+       test -d $(srcdir)/html || mkdir $(srcdir)/html
+       -cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+       @echo '-- Fixing Crossreferences'
+       gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) --extra-dir=$(srcdir)/../glib/html
+
+clean-local:
+       rm -f *~ *.bak *.signals *-unused.txt
+
+maintainer-clean-local: clean
+       cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+
+install-data-local:
+       $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
+       (installfiles=`echo $(srcdir)/html/*.html`; \
+       if test "$$installfiles" = '$(srcdir)/html/*.html'; \
+       then echo '-- Nothing to install' ; \
+       else \
+         for i in $$installfiles; do \
+           echo '-- Installing '$$i ; \
+           $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
+         done; \
+         echo '-- Installing $(srcdir)/html/index.sgml' ; \
+         $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
+       fi)
+
+dist-hook:
+       mkdir $(distdir)/html
+       mkdir $(distdir)/sgml
+       mkdir $(distdir)/tmpl
+       -cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(distdir)/html
+       -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
+       -cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
+       -cp $(srcdir)/sgml/*.bottom $(srcdir)/sgml/*.top $(distdir)/sgml
+
+.PHONY : html sgml templates scan
diff --git a/docs/reference/gobject/gobject-docs.sgml b/docs/reference/gobject/gobject-docs.sgml
new file mode 100644 (file)
index 0000000..bd33706
--- /dev/null
@@ -0,0 +1,28 @@
+<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
+<!entity gobject-enumerations-flags SYSTEM "sgml/enumerations_flags.sgml">
+<!entity gobject-generic-values SYSTEM "sgml/generic_values.sgml">
+<!entity gobject-objects SYSTEM "sgml/objects.sgml">
+<!entity gobject-param-specs SYSTEM "sgml/param_specs.sgml">
+<!entity gobject-standard-params SYSTEM "sgml/standard_params.sgml">
+<!entity gobject-types SYSTEM "sgml/types.sgml">
+<!entity gobject-value-collection SYSTEM "sgml/value_collection.sgml">
+<!entity gobject-value-types SYSTEM "sgml/value_types.sgml">
+]>
+<book id="index">
+  <bookinfo>
+    <title>GObject Reference Manual</title>
+  </bookinfo>
+
+  <reference>
+    <title>API Reference</title>
+
+         &gobject-types;
+         &gobject-objects;
+         &gobject-enumerations-flags;
+         &gobject-generic-values;
+         &gobject-value-types;
+         &gobject-value-collection;
+         &gobject-param-specs;
+         &gobject-standard-params;
+
+</book>
\ No newline at end of file
diff --git a/docs/reference/gobject/gobject-sections.txt b/docs/reference/gobject/gobject-sections.txt
new file mode 100644 (file)
index 0000000..e874ae2
--- /dev/null
@@ -0,0 +1,318 @@
+<INCLUDE>gobject.h</INCLUDE>
+
+<SECTION>
+<TITLE>Type Information</TITLE>
+<FILE>types</FILE>
+GType
+G_TYPE_FUNDAMENTAL
+G_TYPE_FUNDAMENTAL_MAX
+G_TYPE_DERIVE_ID
+G_TYPE_BRANCH_SEQNO
+G_TYPE_FUNDAMENTAL_LAST
+GTypeFundamentals
+G_TYPE_IS_CLASSED
+G_TYPE_IS_INSTANTIATABLE
+G_TYPE_IS_DERIVABLE
+G_TYPE_IS_DEEP_DERIVABLE
+G_TYPE_IS_INTERFACE
+GTypePlugin
+GTypePluginVTable
+GTypeInterface
+GTypeInstance
+GTypeInfo
+GTypeFundamentalInfo
+GInterfaceInfo
+GTypeValueTable
+<TITLE>GType</TITLE>
+G_TYPE_CHECK_INSTANCE_CAST
+G_TYPE_CHECK_CLASS_CAST
+G_TYPE_CHECK_INSTANCE_TYPE
+G_TYPE_CHECK_CLASS_TYPE
+G_TYPE_INSTANCE_GET_CLASS
+G_TYPE_FROM_INSTANCE
+G_TYPE_FROM_CLASS
+G_TYPE_FROM_INTERFACE
+g_type_init
+g_type_name
+g_type_qname
+g_type_from_name
+g_type_parent
+g_type_next_base
+g_type_is_a
+g_type_conforms_to
+g_type_fundamental_branch_last
+g_type_class_ref
+g_type_class_peek
+g_type_class_unref
+g_type_class_peek_parent
+g_type_interface_peek
+g_type_children
+g_type_interfaces
+g_type_set_qdata
+g_type_get_qdata
+GBaseInitFunc
+GBaseFinalizeFunc
+GClassInitFunc
+GClassFinalizeFunc
+GInstanceInitFunc
+GInterfaceInitFunc
+GInterfaceFinalizeFunc
+GTypePluginRef
+GTypePluginUnRef
+GTypePluginFillTypeInfo
+GTypePluginFillInterfaceInfo
+GTypeClassCacheFunc
+GTypeFlags
+g_type_register_static
+g_type_register_dynamic
+g_type_register_fundamental
+g_type_add_interface_static
+g_type_add_interface_dynamic
+g_type_class_is_a
+g_type_check_class_cast
+g_type_check_instance_cast
+g_type_instance_conforms_to
+g_type_check_flags
+g_type_create_instance
+g_type_free_instance
+g_type_value_table_peek
+g_type_add_class_cache_func
+g_type_remove_class_cache_func
+g_type_class_unref_uncached
+g_type_get_plugin
+g_type_fundamental_last
+
+<SUBSECTION Private>
+g_log_domain_gobject
+</SECTION>
+
+<SECTION>
+<TITLE>The Base Object Type</TITLE>
+<FILE>objects</FILE>
+GObject
+GObjectClass
+G_OBJECT
+G_OBJECT_GET_CLASS
+G_OBJECT_TYPE
+G_OBJECT_TYPE_NAME
+G_OBJECT_CLASS_TYPE
+G_OBJECT_CLASS_NAME
+G_IS_VALUE_OBJECT
+G_TYPE_IS_OBJECT
+G_IS_OBJECT
+G_OBJECT_CLASS
+G_IS_OBJECT_CLASS
+G_NOTIFY_PRIORITY
+GObjectGetParamFunc
+GObjectSetParamFunc
+GObjectFinalizeFunc
+g_object_class_install_param
+g_object_class_find_param_spec
+g_object_new
+g_object_new_valist
+g_object_set
+g_object_get
+g_object_set_valist
+g_object_get_valist
+g_object_set_param
+g_object_get_param
+g_object_queue_param_changed
+g_object_ref
+g_object_unref
+g_object_get_qdata
+g_object_set_qdata
+g_object_set_qdata_full
+g_object_steal_qdata
+g_value_set_object
+g_value_get_object
+g_value_dup_object
+G_WARN_INVALID_PARAM_ID
+</SECTION>
+
+<SECTION>
+<TITLE>Enumeration and Flag Types</TITLE>
+<FILE>enumerations_flags</FILE>
+GEnumClass
+GFlagsClass
+G_ENUM_CLASS_TYPE
+G_ENUM_CLASS_TYPE_NAME
+G_TYPE_IS_ENUM
+G_ENUM_CLASS
+G_IS_ENUM_CLASS
+G_TYPE_IS_FLAGS
+G_FLAGS_CLASS
+G_IS_FLAGS_CLASS
+G_FLAGS_CLASS_TYPE
+G_FLAGS_CLASS_TYPE_NAME
+G_IS_VALUE_ENUM
+G_IS_VALUE_FLAGS
+GEnumValue
+GFlagsValue
+g_enum_get_value
+g_enum_get_value_by_name
+g_enum_get_value_by_nick
+g_flags_get_first_value
+g_flags_get_value_by_name
+g_flags_get_value_by_nick
+g_value_set_enum
+g_value_get_enum
+g_value_set_flags
+g_value_get_flags
+g_enum_register_static
+g_flags_register_static
+g_enum_complete_type_info
+g_flags_complete_type_info
+</SECTION>
+
+<SECTION>
+<TITLE>Generic values</TITLE>
+<FILE>generic_values</FILE>
+G_VALUE_TYPE
+G_VALUE_TYPE_NAME
+G_TYPE_IS_VALUE
+G_IS_VALUE
+GValueExchange
+GValue
+g_value_init
+g_value_copy
+g_value_convert
+g_value_reset
+g_value_unset
+g_values_exchange
+g_value_types_exchangable
+g_value_register_exchange_func
+</SECTION>
+
+<SECTION>
+<TITLE>Standard value types</TITLE>
+<FILE>value_types</FILE>
+G_IS_VALUE_CHAR
+G_IS_VALUE_UCHAR
+G_IS_VALUE_BOOLEAN
+G_IS_VALUE_INT
+G_IS_VALUE_UINT
+G_IS_VALUE_LONG
+G_IS_VALUE_ULONG
+G_IS_VALUE_FLOAT
+G_IS_VALUE_DOUBLE
+G_IS_VALUE_STRING
+g_value_set_char
+g_value_get_char
+g_value_set_uchar
+g_value_get_uchar
+g_value_set_boolean
+g_value_get_boolean
+g_value_set_int
+g_value_get_int
+g_value_set_uint
+g_value_get_uint
+g_value_set_long
+g_value_get_long
+g_value_set_ulong
+g_value_get_ulong
+g_value_set_float
+g_value_get_float
+g_value_set_double
+g_value_get_double
+g_value_set_string
+g_value_get_string
+g_value_dup_string
+</SECTION>
+
+<SECTION>
+<TITLE>Object Parameter Specifications</TITLE>
+<FILE>param_specs</FILE>
+GParamSpec
+GParamSpecClass
+G_PARAM_SPEC_TYPE
+G_PARAM_SPEC_TYPE_NAME
+G_PARAM_SPEC
+G_IS_PARAM_SPEC
+G_PARAM_SPEC_GET_CLASS
+G_IS_PARAM_VALUE
+G_PARAM_SPEC_VALUE_TYPE
+G_TYPE_IS_PARAM
+GParamFlags
+g_param_spec_ref
+g_param_spec_unref
+g_param_spec_get_qdata
+g_param_spec_set_qdata
+g_param_spec_set_qdata_full
+g_param_spec_steal_qdata
+g_param_value_set_default
+g_param_value_defaults
+g_param_value_validate
+g_param_values_cmp
+g_param_spec_internal
+g_param_spec_hash_table_new
+g_param_spec_hash_table_insert
+g_param_spec_hash_table_remove
+g_param_spec_hash_table_lookup
+</SECTION>
+
+<SECTION>
+<TITLE>Standard Parameter Types</TITLE>
+<FILE>standard_params</FILE>
+G_IS_PARAM_SPEC_CHAR
+G_PARAM_SPEC_CHAR
+G_IS_PARAM_SPEC_UCHAR
+G_PARAM_SPEC_UCHAR
+G_IS_PARAM_SPEC_BOOLEAN
+G_PARAM_SPEC_BOOLEAN
+G_IS_PARAM_SPEC_INT
+G_PARAM_SPEC_INT
+G_IS_PARAM_SPEC_UINT
+G_PARAM_SPEC_UINT
+G_IS_PARAM_SPEC_LONG
+G_PARAM_SPEC_LONG
+G_IS_PARAM_SPEC_ULONG
+G_PARAM_SPEC_ULONG
+G_IS_PARAM_SPEC_ENUM
+G_PARAM_SPEC_ENUM
+G_IS_PARAM_SPEC_FLAGS
+G_PARAM_SPEC_FLAGS
+G_IS_PARAM_SPEC_FLOAT
+G_PARAM_SPEC_FLOAT
+G_IS_PARAM_SPEC_DOUBLE
+G_PARAM_SPEC_DOUBLE
+G_IS_PARAM_SPEC_STRING
+G_PARAM_SPEC_STRING
+G_IS_PARAM_SPEC_OBJECT
+G_PARAM_SPEC_OBJECT
+GParamSpecChar
+GParamSpecUChar
+GParamSpecBoolean
+GParamSpecInt
+GParamSpecUInt
+GParamSpecLong
+GParamSpecULong
+GParamSpecEnum
+GParamSpecFlags
+GParamSpecFloat
+GParamSpecDouble
+GParamSpecString
+GParamSpecObject
+g_param_spec_char
+g_param_spec_uchar
+g_param_spec_boolean
+g_param_spec_int
+g_param_spec_uint
+g_param_spec_long
+g_param_spec_ulong
+g_param_spec_enum
+g_param_spec_flags
+g_param_spec_float
+g_param_spec_double
+g_param_spec_string
+g_param_spec_string_c
+g_param_spec_object
+</SECTION>
+
+<SECTION>
+<TITLE>Varargs Value Collection</TITLE>
+<FILE>value_collection</FILE>
+GTypeCValue
+G_VALUE_COLLECT
+G_VALUE_LCOPY
+</SECTION>
+
diff --git a/docs/reference/gobject/tmpl/enumerations_flags.sgml b/docs/reference/gobject/tmpl/enumerations_flags.sgml
new file mode 100644 (file)
index 0000000..0c03fc6
--- /dev/null
@@ -0,0 +1,280 @@
+<!-- ##### SECTION Title ##### -->
+Enumeration and Flag Types
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GEnumClass ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GFlagsClass ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### 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: 
+
+
+<!-- ##### MACRO G_IS_VALUE_ENUM ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### MACRO G_IS_VALUE_FLAGS ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### 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_value_set_enum ##### -->
+<para>
+
+</para>
+
+@value: 
+@v_enum: 
+
+
+<!-- ##### FUNCTION g_value_get_enum ##### -->
+<para>
+
+</para>
+
+@value: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_set_flags ##### -->
+<para>
+
+</para>
+
+@value: 
+@v_flags: 
+
+
+<!-- ##### FUNCTION g_value_get_flags ##### -->
+<para>
+
+</para>
+
+@value: 
+@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: 
+
+
diff --git a/docs/reference/gobject/tmpl/generic_values.sgml b/docs/reference/gobject/tmpl/generic_values.sgml
new file mode 100644 (file)
index 0000000..18f2a2f
--- /dev/null
@@ -0,0 +1,139 @@
+<!-- ##### SECTION Title ##### -->
+Generic values
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### 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_IS_VALUE ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### USER_FUNCTION GValueExchange ##### -->
+<para>
+
+</para>
+
+@value1: 
+@value2: 
+
+
+<!-- ##### STRUCT GValue ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION g_value_init ##### -->
+<para>
+
+</para>
+
+@value: 
+@g_type: 
+
+
+<!-- ##### FUNCTION g_value_copy ##### -->
+<para>
+
+</para>
+
+@src_value: 
+@dest_value: 
+
+
+<!-- ##### FUNCTION g_value_convert ##### -->
+<para>
+
+</para>
+
+@src_value: 
+@dest_value: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_reset ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### FUNCTION g_value_unset ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### FUNCTION g_values_exchange ##### -->
+<para>
+
+</para>
+
+@value1: 
+@value2: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_types_exchangable ##### -->
+<para>
+
+</para>
+
+@value_type1: 
+@value_type2: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_register_exchange_func ##### -->
+<para>
+
+</para>
+
+@value_type1: 
+@value_type2: 
+@func: 
+
+
diff --git a/docs/reference/gobject/tmpl/gobject-unused.sgml b/docs/reference/gobject/tmpl/gobject-unused.sgml
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/docs/reference/gobject/tmpl/objects.sgml b/docs/reference/gobject/tmpl/objects.sgml
new file mode 100644 (file)
index 0000000..ee2a7d2
--- /dev/null
@@ -0,0 +1,364 @@
+<!-- ##### SECTION Title ##### -->
+The Base Object Type
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GObject ##### -->
+<para>
+
+</para>
+
+@g_type_instance: 
+
+<!-- ##### STRUCT GObjectClass ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO G_OBJECT ##### -->
+<para>
+
+</para>
+
+@object: 
+
+
+<!-- ##### 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: 
+
+
+<!-- ##### MACRO G_IS_VALUE_OBJECT ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### MACRO G_TYPE_IS_OBJECT ##### -->
+<para>
+
+</para>
+
+@type: 
+
+
+<!-- ##### MACRO G_IS_OBJECT ##### -->
+<para>
+
+</para>
+
+@object: 
+
+
+<!-- ##### MACRO G_OBJECT_CLASS ##### -->
+<para>
+
+</para>
+
+@class: 
+
+
+<!-- ##### MACRO G_IS_OBJECT_CLASS ##### -->
+<para>
+
+</para>
+
+@class: 
+
+
+<!-- ##### MACRO G_NOTIFY_PRIORITY ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### USER_FUNCTION GObjectGetParamFunc ##### -->
+<para>
+
+</para>
+
+@object: 
+@param_id: 
+@value: 
+@pspec: 
+@trailer: 
+
+
+<!-- ##### USER_FUNCTION GObjectSetParamFunc ##### -->
+<para>
+
+</para>
+
+@object: 
+@param_id: 
+@value: 
+@pspec: 
+@trailer: 
+
+
+<!-- ##### USER_FUNCTION GObjectFinalizeFunc ##### -->
+<para>
+
+</para>
+
+@object: 
+
+
+<!-- ##### FUNCTION g_object_class_install_param ##### -->
+<para>
+
+</para>
+
+@oclass: 
+@param_id: 
+@pspec: 
+
+
+<!-- ##### FUNCTION g_object_class_find_param_spec ##### -->
+<para>
+
+</para>
+
+@oclass: 
+@param_name: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_object_new ##### -->
+<para>
+
+</para>
+
+@object_type: 
+@first_param_name: 
+@Varargs: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_object_new_valist ##### -->
+<para>
+
+</para>
+
+@object_type: 
+@first_param_name: 
+@var_args: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_object_set ##### -->
+<para>
+
+</para>
+
+@object: 
+@first_param_name: 
+@Varargs: 
+
+
+<!-- ##### FUNCTION g_object_get ##### -->
+<para>
+
+</para>
+
+@object: 
+@first_param_name: 
+@Varargs: 
+
+
+<!-- ##### FUNCTION g_object_set_valist ##### -->
+<para>
+
+</para>
+
+@object: 
+@first_param_name: 
+@var_args: 
+
+
+<!-- ##### FUNCTION g_object_get_valist ##### -->
+<para>
+
+</para>
+
+@object: 
+@first_param_name: 
+@var_args: 
+
+
+<!-- ##### FUNCTION g_object_set_param ##### -->
+<para>
+
+</para>
+
+@object: 
+@param_name: 
+@value: 
+
+
+<!-- ##### FUNCTION g_object_get_param ##### -->
+<para>
+
+</para>
+
+@object: 
+@param_name: 
+@value: 
+
+
+<!-- ##### FUNCTION g_object_queue_param_changed ##### -->
+<para>
+
+</para>
+
+@object: 
+@param_name: 
+
+
+<!-- ##### FUNCTION g_object_ref ##### -->
+<para>
+
+</para>
+
+@object: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_object_unref ##### -->
+<para>
+
+</para>
+
+@object: 
+
+
+<!-- ##### 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_value_set_object ##### -->
+<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_WARN_INVALID_PARAM_ID ##### -->
+<para>
+
+</para>
+
+@object: 
+@param_id: 
+@pspec: 
+
+
diff --git a/docs/reference/gobject/tmpl/param_specs.sgml b/docs/reference/gobject/tmpl/param_specs.sgml
new file mode 100644 (file)
index 0000000..7ce7b09
--- /dev/null
@@ -0,0 +1,261 @@
+<!-- ##### SECTION Title ##### -->
+Object Parameter Specifications
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GParamSpec ##### -->
+<para>
+
+</para>
+
+@g_instance: 
+@name: 
+@nick: 
+@blurb: 
+@flags: 
+
+<!-- ##### STRUCT GParamSpecClass ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO G_PARAM_SPEC_TYPE ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_TYPE_NAME ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_GET_CLASS ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_VALUE ##### -->
+<para>
+
+</para>
+
+@pspec: 
+@value: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_VALUE_TYPE ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_TYPE_IS_PARAM ##### -->
+<para>
+
+</para>
+
+@type: 
+
+
+<!-- ##### ENUM GParamFlags ##### -->
+<para>
+
+</para>
+
+@G_PARAM_READABLE: 
+@G_PARAM_WRITABLE: 
+@G_PARAM_MASK: 
+@G_PARAM_USER_MASK: 
+
+<!-- ##### FUNCTION g_param_spec_ref ##### -->
+<para>
+
+</para>
+
+@pspec: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_unref ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### 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_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_values_cmp ##### -->
+<para>
+
+</para>
+
+@pspec: 
+@value1: 
+@value2: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_internal ##### -->
+<para>
+
+</para>
+
+@param_type: 
+@name: 
+@nick: 
+@blurb: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_hash_table_new ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_hash_table_insert ##### -->
+<para>
+
+</para>
+
+@hash_table: 
+@pspec: 
+@owner_type: 
+
+
+<!-- ##### FUNCTION g_param_spec_hash_table_remove ##### -->
+<para>
+
+</para>
+
+@hash_table: 
+@pspec: 
+
+
+<!-- ##### FUNCTION g_param_spec_hash_table_lookup ##### -->
+<para>
+
+</para>
+
+@hash_table: 
+@param_name: 
+@owner_type: 
+@try_ancestors: 
+@trailer: 
+@Returns: 
+
+
diff --git a/docs/reference/gobject/tmpl/standard_params.sgml b/docs/reference/gobject/tmpl/standard_params.sgml
new file mode 100644 (file)
index 0000000..5d29735
--- /dev/null
@@ -0,0 +1,555 @@
+<!-- ##### SECTION Title ##### -->
+Standard Parameter Types
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_CHAR ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_CHAR ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_UCHAR ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_UCHAR ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_BOOLEAN ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_BOOLEAN ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_INT ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_INT ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_UINT ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_UINT ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_LONG ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_LONG ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_ULONG ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_ULONG ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_ENUM ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_ENUM ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_FLAGS ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_FLAGS ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_FLOAT ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_FLOAT ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_DOUBLE ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_DOUBLE ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_STRING ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_STRING ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_IS_PARAM_SPEC_OBJECT ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### MACRO G_PARAM_SPEC_OBJECT ##### -->
+<para>
+
+</para>
+
+@pspec: 
+
+
+<!-- ##### STRUCT GParamSpecChar ##### -->
+<para>
+
+</para>
+
+@parent_instance: 
+@minimum: 
+@maximum: 
+@default_value: 
+
+<!-- ##### STRUCT GParamSpecUChar ##### -->
+<para>
+
+</para>
+
+@parent_instance: 
+@minimum: 
+@maximum: 
+@default_value: 
+
+<!-- ##### STRUCT GParamSpecBoolean ##### -->
+<para>
+
+</para>
+
+@parent_instance: 
+@default_value: 
+
+<!-- ##### STRUCT GParamSpecInt ##### -->
+<para>
+
+</para>
+
+@parent_instance: 
+@minimum: 
+@maximum: 
+@default_value: 
+
+<!-- ##### STRUCT GParamSpecUInt ##### -->
+<para>
+
+</para>
+
+@parent_instance: 
+@minimum: 
+@maximum: 
+@default_value: 
+
+<!-- ##### STRUCT GParamSpecLong ##### -->
+<para>
+
+</para>
+
+@parent_instance: 
+@minimum: 
+@maximum: 
+@default_value: 
+
+<!-- ##### STRUCT GParamSpecULong ##### -->
+<para>
+
+</para>
+
+@parent_instance: 
+@minimum: 
+@maximum: 
+@default_value: 
+
+<!-- ##### STRUCT GParamSpecEnum ##### -->
+<para>
+
+</para>
+
+@parent_instance: 
+@enum_class: 
+@default_value: 
+
+<!-- ##### STRUCT GParamSpecFlags ##### -->
+<para>
+
+</para>
+
+@parent_instance: 
+@flags_class: 
+@default_value: 
+
+<!-- ##### STRUCT GParamSpecFloat ##### -->
+<para>
+
+</para>
+
+@parent_instance: 
+@minimum: 
+@maximum: 
+@default_value: 
+@epsilon: 
+
+<!-- ##### STRUCT GParamSpecDouble ##### -->
+<para>
+
+</para>
+
+@parent_instance: 
+@minimum: 
+@maximum: 
+@default_value: 
+@epsilon: 
+
+<!-- ##### STRUCT GParamSpecString ##### -->
+<para>
+
+</para>
+
+@parent_instance: 
+@default_value: 
+@cset_first: 
+@cset_nth: 
+@substitutor: 
+@null_fold_if_empty: 
+@ensure_non_null: 
+
+<!-- ##### STRUCT GParamSpecObject ##### -->
+<para>
+
+</para>
+
+@parent_instance: 
+@object_type: 
+
+<!-- ##### FUNCTION g_param_spec_char ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@minimum: 
+@maximum: 
+@default_value: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_uchar ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@minimum: 
+@maximum: 
+@default_value: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_boolean ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@default_value: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_int ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@minimum: 
+@maximum: 
+@default_value: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_uint ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@minimum: 
+@maximum: 
+@default_value: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_long ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@minimum: 
+@maximum: 
+@default_value: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_ulong ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@minimum: 
+@maximum: 
+@default_value: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_enum ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@enum_type: 
+@default_value: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_flags ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@flags_type: 
+@default_value: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_float ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@minimum: 
+@maximum: 
+@default_value: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_double ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@minimum: 
+@maximum: 
+@default_value: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_string ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@default_value: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_string_c ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@default_value: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_param_spec_object ##### -->
+<para>
+
+</para>
+
+@name: 
+@nick: 
+@blurb: 
+@object_type: 
+@flags: 
+@Returns: 
+
+
diff --git a/docs/reference/gobject/tmpl/types.sgml b/docs/reference/gobject/tmpl/types.sgml
new file mode 100644 (file)
index 0000000..dce9f4d
--- /dev/null
@@ -0,0 +1,753 @@
+<!-- ##### SECTION Title ##### -->
+GType
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF GType ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO G_TYPE_FUNDAMENTAL ##### -->
+<para>
+
+</para>
+
+@type: 
+
+
+<!-- ##### MACRO G_TYPE_FUNDAMENTAL_MAX ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO G_TYPE_DERIVE_ID ##### -->
+<para>
+
+</para>
+
+@ptype: 
+@branch_seqno: 
+
+
+<!-- ##### MACRO G_TYPE_BRANCH_SEQNO ##### -->
+<para>
+
+</para>
+
+@type: 
+
+
+<!-- ##### MACRO G_TYPE_FUNDAMENTAL_LAST ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM GTypeFundamentals ##### -->
+<para>
+
+</para>
+
+@G_TYPE_INVALID: 
+@G_TYPE_NONE: 
+@G_TYPE_INTERFACE: 
+@G_TYPE_CHAR: 
+@G_TYPE_UCHAR: 
+@G_TYPE_BOOLEAN: 
+@G_TYPE_INT: 
+@G_TYPE_UINT: 
+@G_TYPE_LONG: 
+@G_TYPE_ULONG: 
+@G_TYPE_ENUM: 
+@G_TYPE_FLAGS: 
+@G_TYPE_FLOAT: 
+@G_TYPE_DOUBLE: 
+@G_TYPE_STRING: 
+@G_TYPE_PARAM: 
+@G_TYPE_OBJECT: 
+@G_TYPE_GTK_BOXED: 
+@G_TYPE_GTK_POINTER: 
+@G_TYPE_GTK_SIGNAL: 
+@G_TYPE_BSE_PROCEDURE: 
+@G_TYPE_BSE_TIME: 
+@G_TYPE_BSE_NOTE: 
+@G_TYPE_BSE_DOTS: 
+@G_TYPE_GLE_GOBJECT: 
+@G_TYPE_LAST_RESERVED_FUNDAMENTAL: 
+@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_ENUM: 
+@G_TYPE_PARAM_FLAGS: 
+@G_TYPE_PARAM_FLOAT: 
+@G_TYPE_PARAM_DOUBLE: 
+@G_TYPE_PARAM_STRING: 
+@G_TYPE_PARAM_OBJECT: 
+
+<!-- ##### 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 GTypePlugin ##### -->
+<para>
+
+</para>
+
+@vtable: 
+
+<!-- ##### STRUCT GTypePluginVTable ##### -->
+<para>
+
+</para>
+
+@plugin_ref: 
+@plugin_unref: 
+@complete_type_info: 
+@complete_interface_info: 
+
+<!-- ##### STRUCT GTypeInterface ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GTypeInstance ##### -->
+<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: 
+@collect_type: 
+@collect_value: 
+@lcopy_type: 
+@lcopy_value: 
+
+<!-- ##### MACRO G_TYPE_CHECK_INSTANCE_CAST ##### -->
+<para>
+
+</para>
+
+@instance: 
+@g_type: 
+@c_type: 
+
+
+<!-- ##### MACRO G_TYPE_CHECK_CLASS_CAST ##### -->
+<para>
+
+</para>
+
+@g_class: 
+@g_type: 
+@c_type: 
+
+
+<!-- ##### MACRO G_TYPE_CHECK_INSTANCE_TYPE ##### -->
+<para>
+
+</para>
+
+@instance: 
+@g_type: 
+
+
+<!-- ##### MACRO G_TYPE_CHECK_CLASS_TYPE ##### -->
+<para>
+
+</para>
+
+@g_class: 
+@g_type: 
+
+
+<!-- ##### MACRO G_TYPE_INSTANCE_GET_CLASS ##### -->
+<para>
+
+</para>
+
+@instance: 
+@g_type: 
+@c_type: 
+
+
+<!-- ##### 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: 
+
+
+<!-- ##### FUNCTION g_type_init ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### 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_next_base ##### -->
+<para>
+
+</para>
+
+@type: 
+@base_type: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_is_a ##### -->
+<para>
+
+</para>
+
+@type: 
+@is_a_type: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_conforms_to ##### -->
+<para>
+
+</para>
+
+@type: 
+@iface_type: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_fundamental_branch_last ##### -->
+<para>
+
+</para>
+
+@type: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_class_ref ##### -->
+<para>
+
+</para>
+
+@type: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_class_peek ##### -->
+<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_interface_peek ##### -->
+<para>
+
+</para>
+
+@instance_class: 
+@iface_type: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_children ##### -->
+<para>
+
+</para>
+
+@type: 
+@n_children: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_interfaces ##### -->
+<para>
+
+</para>
+
+@type: 
+@n_interfaces: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_set_qdata ##### -->
+<para>
+
+</para>
+
+@type: 
+@quark: 
+@data: 
+
+
+<!-- ##### FUNCTION g_type_get_qdata ##### -->
+<para>
+
+</para>
+
+@type: 
+@quark: 
+@Returns: 
+
+
+<!-- ##### 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 GTypePluginRef ##### -->
+<para>
+
+</para>
+
+@plugin: 
+
+
+<!-- ##### USER_FUNCTION GTypePluginUnRef ##### -->
+<para>
+
+</para>
+
+@plugin: 
+
+
+<!-- ##### USER_FUNCTION GTypePluginFillTypeInfo ##### -->
+<para>
+
+</para>
+
+@plugin: 
+@g_type: 
+@info: 
+@value_table: 
+
+
+<!-- ##### USER_FUNCTION GTypePluginFillInterfaceInfo ##### -->
+<para>
+
+</para>
+
+@plugin: 
+@interface_type: 
+@instance_type: 
+@info: 
+
+
+<!-- ##### USER_FUNCTION GTypeClassCacheFunc ##### -->
+<para>
+
+</para>
+
+@cache_data: 
+@g_class: 
+@Returns: 
+
+
+<!-- ##### ENUM GTypeFlags ##### -->
+<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: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_register_dynamic ##### -->
+<para>
+
+</para>
+
+@parent_type: 
+@type_name: 
+@plugin: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_register_fundamental ##### -->
+<para>
+
+</para>
+
+@type_id: 
+@type_name: 
+@info: 
+@finfo: 
+@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_class_is_a ##### -->
+<para>
+
+</para>
+
+@g_class: 
+@is_a_type: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_check_class_cast ##### -->
+<para>
+
+</para>
+
+@g_class: 
+@is_a_type: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_check_instance_cast ##### -->
+<para>
+
+</para>
+
+@instance: 
+@iface_type: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_instance_conforms_to ##### -->
+<para>
+
+</para>
+
+@instance: 
+@iface_type: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_check_flags ##### -->
+<para>
+
+</para>
+
+@type: 
+@flags: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_create_instance ##### -->
+<para>
+
+</para>
+
+@type: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_free_instance ##### -->
+<para>
+
+</para>
+
+@instance: 
+
+
+<!-- ##### FUNCTION g_type_value_table_peek ##### -->
+<para>
+
+</para>
+
+@type: 
+@Returns: 
+
+
+<!-- ##### 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_get_plugin ##### -->
+<para>
+
+</para>
+
+@type: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_type_fundamental_last ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+
diff --git a/docs/reference/gobject/tmpl/value_collection.sgml b/docs/reference/gobject/tmpl/value_collection.sgml
new file mode 100644 (file)
index 0000000..2066012
--- /dev/null
@@ -0,0 +1,44 @@
+<!-- ##### SECTION Title ##### -->
+Varargs Value Collection
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### UNION GTypeCValue ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO G_VALUE_COLLECT ##### -->
+<para>
+
+</para>
+
+@value: 
+@var_args: 
+@__error: 
+
+
+<!-- ##### MACRO G_VALUE_LCOPY ##### -->
+<para>
+
+</para>
+
+@value: 
+@var_args: 
+@__error: 
+
+
diff --git a/docs/reference/gobject/tmpl/value_types.sgml b/docs/reference/gobject/tmpl/value_types.sgml
new file mode 100644 (file)
index 0000000..86bca6c
--- /dev/null
@@ -0,0 +1,287 @@
+<!-- ##### SECTION Title ##### -->
+Standard value types
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO G_IS_VALUE_CHAR ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### MACRO G_IS_VALUE_UCHAR ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### MACRO G_IS_VALUE_BOOLEAN ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### MACRO G_IS_VALUE_INT ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### MACRO G_IS_VALUE_UINT ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### MACRO G_IS_VALUE_LONG ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### MACRO G_IS_VALUE_ULONG ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### MACRO G_IS_VALUE_FLOAT ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### MACRO G_IS_VALUE_DOUBLE ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### MACRO G_IS_VALUE_STRING ##### -->
+<para>
+
+</para>
+
+@value: 
+
+
+<!-- ##### FUNCTION g_value_set_char ##### -->
+<para>
+
+</para>
+
+@value: 
+@v_char: 
+
+
+<!-- ##### FUNCTION g_value_get_char ##### -->
+<para>
+
+</para>
+
+@value: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_set_uchar ##### -->
+<para>
+
+</para>
+
+@value: 
+@v_uchar: 
+
+
+<!-- ##### FUNCTION g_value_get_uchar ##### -->
+<para>
+
+</para>
+
+@value: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_set_boolean ##### -->
+<para>
+
+</para>
+
+@value: 
+@v_boolean: 
+
+
+<!-- ##### FUNCTION g_value_get_boolean ##### -->
+<para>
+
+</para>
+
+@value: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_set_int ##### -->
+<para>
+
+</para>
+
+@value: 
+@v_int: 
+
+
+<!-- ##### FUNCTION g_value_get_int ##### -->
+<para>
+
+</para>
+
+@value: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_set_uint ##### -->
+<para>
+
+</para>
+
+@value: 
+@v_uint: 
+
+
+<!-- ##### FUNCTION g_value_get_uint ##### -->
+<para>
+
+</para>
+
+@value: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_set_long ##### -->
+<para>
+
+</para>
+
+@value: 
+@v_long: 
+
+
+<!-- ##### FUNCTION g_value_get_long ##### -->
+<para>
+
+</para>
+
+@value: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_set_ulong ##### -->
+<para>
+
+</para>
+
+@value: 
+@v_ulong: 
+
+
+<!-- ##### FUNCTION g_value_get_ulong ##### -->
+<para>
+
+</para>
+
+@value: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_set_float ##### -->
+<para>
+
+</para>
+
+@value: 
+@v_float: 
+
+
+<!-- ##### FUNCTION g_value_get_float ##### -->
+<para>
+
+</para>
+
+@value: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_set_double ##### -->
+<para>
+
+</para>
+
+@value: 
+@v_double: 
+
+
+<!-- ##### FUNCTION g_value_get_double ##### -->
+<para>
+
+</para>
+
+@value: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_set_string ##### -->
+<para>
+
+</para>
+
+@value: 
+@v_string: 
+
+
+<!-- ##### FUNCTION g_value_get_string ##### -->
+<para>
+
+</para>
+
+@value: 
+@Returns: 
+
+
+<!-- ##### FUNCTION g_value_dup_string ##### -->
+<para>
+
+</para>
+
+@value: 
+@Returns: 
+
+